在嵌入式系统中,引导加载程序用于初始化电路板并加载映像。通常,boot-loader 在第一阶段在 norflash 中运行,需要将自身(.txte+.date 代码)从 flash 复制到 ram,然后跳转到 ram 执行代码。
我的问题是:当将代码从闪存复制到 RAM 并启用缓存时,我们是否必须刷新数据缓存并使指令缓存无效?我发现 uboot 和其他 bootloader 执行了这个操作,但是如果我不这样做,系统仍然可以启动成功,为什么我们必须在将代码从 flash 复制到 ram 后刷新数据缓存?