Linux 运行的时候是先把nand flash里面编译好的uImage完完全全的拷贝到RAM中,然后开始运行的吗

有没有可能uImage特别大,比ram都大,这样是不是就不能运行了呢,所以这个就和编译的时候是选择编译到内核还是编译成模块相关是吧,... 有没有可能uImage特别大,比ram都大,这样是不是就不能运行了呢,所以这个就和编译的时候是选择编译到内核还是编译成模块相关是吧, 展开
 我来答
百度网友b6ccf1ad54
2016-12-19 · TA获得超过4.2万个赞
知道顶级答主
回答量:6.7万
采纳率:100%
帮助的人:7876万
展开全部
一般是开发过程中是先把uboot载到nor中,然后通过nor中的uboot再把uboot跟linux 内核,根文件系统下到nandflash,它的最终位置应该是在nandflash。
至于nor跟nand有什么区别,nor里面的代码可以直接运行,不需要加载到RAM(内存),而nandflash里面的代码需要加载到RAM才能运行,nor的速度没有ram快,所以一般最终版本的代码应该下载到nand,系统启动的时候会自动拷贝nand里面的前面4k代码到ram中,你这4k的代码必须完成硬件初始化并且把其余的代码全部拷贝到ram中,ram运行速度当然比nor快,这就是为什么最终版本的代码应该放在nand的原因。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式