永发信息网

在mini2440中把uboot放到norflash,内核,根文件系统,应用程序放在nandflash,系统如何启动?

答案:3  悬赏:80  手机版
解决时间 2021-12-01 14:20
  • 提问者网友:沦陷
  • 2021-12-01 01:25
在mini2440中把uboot放到norflash,内核,根文件系统,应用程序放在nandflash,系统如何启动?
最佳答案
  • 五星知识达人网友:罪歌
  • 2021-12-01 01:45
你去看下uboot的源码分析啊,如果uboot在norflash,可以直接运行的,不一定要拷贝到内存,只是运行速度没有内存快而已。具体如何拷贝内核,根文件系统你去看下源码分析吧,uboot的启动流程,拷贝内核很简单的,有个链接脚本里面指定内核拷贝地址,然后用指针一个一个复制过去就是了。。。。它们都是用拷贝的啦。。。追问uboot的启动流程,拷贝内核很简单的,有个链接脚本里面指定内核拷贝地址在哪里?望指点!谢谢追答你是想问那个链接脚本在哪里吗?格式是 .lds,应该是在 /cpu/ 下或者 /board/下吧 你找一下,具体的只能过几天我的电脑修回来了再帮你看看
全部回答
  • 1楼网友:鸠书
  • 2021-12-01 04:36
123123132132
  • 2楼网友:不想翻身的咸鱼
  • 2021-12-01 03:10
非常简单,mini2440从Nor启动后,CPU运行在0x00000000地址,这片地址实际对应NorFlash,因为NorFlash是一个Ramlike器件,所以读取数据方法更内存一样,在Uboot的启动文件start.s中,有一个一段代码实现NorFlash复制到SRAM的功能,复制代码完成后,通过指令,使用CPU跳到内存执行。这时候,Uboot通过另外的代码,实际是Nand subsystem部分,把kernel从Nand读到内存上,再通过指令,然后CPU跳到Kernel入口地址执行。
一旦Kernel跑起来,Kernel通过Uboot传递CMDLINE就可发现到根文件系统的分区了。所以根文件再通过一些列复杂的机制,最终把文件系统挂入系统中。
要完全了解这个过程,必须要完完整整地把Uboot和Kernel移植一遍才知道。
最后补充一下,mini2440上使用Uboot、supervivi,vivi之类的Bootloader实际功能都差不多。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯