要回答这个问题,需要考虑到各种因素,如Linux系统的复杂程度,ARM处理器的能力,学习ARM和Linux的时间,以及实际的实施时间。一般来说,如果你已经有一些Linux/ARM编程经验,并且你拥有一定的ARM处理器知识,那么可能需要几个星期的时间就可以搞定。 但是,如果你是一名初学者,可能需要数月的时间才能掌握完整的ARM和Linux知识,并能够正确地实施和调试。
开发板上电第一步是启动固件,固件是出厂时固化好的,固件的作用是初始化一下基本的 设备,以nand为例,固件irom初始化好sram后,将nand中的前4k的bootloader(一般为uboot)拷贝到sram中,sram再初始化另一些设备比如dram等等,然后运行剩下的bootloader,接下来就是引导linux内核的启动了。bios在开发板相当与irom部分功能和uboot的前4k,内存时钟会在uboot中初始化的。uboot先做一些准备(比如设svc模式,关看门狗、中断、mmu等),然后设置内核参数表,然后跳到内核的地址运行,内核一般是压缩的,需要先解压,入口是stext,是在arch/arm/kernel/vmlinux.lds.S中定义的欢迎分享,转载请注明来源:内存溢出
评论列表(0条)