Linux系统 ARM开发板 启动过程

发布网友 发布时间:2022-04-23 06:21

我来回答

1个回答

热心网友 时间:2022-05-04 08:29

开发板上电第一步是启动固件,固件是出厂时固化好的,固件的作用是初始化一下基本的 设备,以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中定义的追问你好,回答的非常清晰。请问Arm的启动都是从0地址开始?这个怎么理解?

追答就是固件里指定arm从0地址开始,而实际上没有设备是0地址的,只是通过启动方式开关选择后,将nand或者nor的首地址映射到这里的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com