嵌入式系统4-嵌入式系统设计U-BOOT.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:85 大小:418KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

嵌入式系统4-嵌入式系统设计U-BOOT.pdf

嵌入式系统4-嵌入式系统设计U-BOOT.pdf

预览

免费试读已结束,剩余 75 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

嵌入式系统设计嵌入式系统设计BootloaderBootloaderUU--BOOTBOOTBankBank的划分的划分z面对不同速度、总线宽度的外设,通常,嵌入式处理器都把外部总线分成不同的Bank空间,对应不同的地址。z不同的Bank可以有不同的配置,或者对应的功能也不一样,支持的外设也不同。–S3C44B0的Bank0-5支持,ROM、SRAM等那些线性寻址的存储器或者外设;Bank6-7,还可以支持SDRAM、DRAM等。而且,每一个Bank都可以配置成8-32bit的总线,大端(bigendian)或者小端(littleendian)等嵌入式处理器的启动过程(嵌入式处理器的启动过程(11))z通常系统上电(或者复位)以后,程序从地址空间的0x0开始z即PC(程序计数器)指针,指向0x0。从这个地址开始读取指令并运行。通常这个地址对应的是Bank0嵌入式处理器的启动过程(嵌入式处理器的启动过程(22))z因为系统是从bank0上引导的,所以,在Bank0上连接保存有启动代码的FlashROM,这就是我们常说的BootROMBootloaderBootloader要实现的主要工作要实现的主要工作11z硬件系统自检z配置其他Bank或者端口、外设等工作模式z处理中系统的中断–在不支持remap的处理器中,中断必然要经过BootROM的空间,这时,BootROM需要处理的任务就是把固定的中断向量映射到一个可编程的中断处理子程序的地址BootloaderBootloader要实现的主要工作要实现的主要工作22z引导操作系统–系统配置完成以后,Bootloader需要把操作系统(或者其他程序)装载到SDRAM(就是系统的RAM区),然后,把PC指针指向程序的RAM空间,使操作系统启动,这就是引导。BootloaderBootloader要实现的主要工作要实现的主要工作33zFlash(BootROM)编程–对引导Flash(或者其他的非易失性存储器)编程,通过串口或者以太网口下载编译成功的操作系统或者应用程序,甚至BootROM本身。–要想实现BootROM的自编程,必须让Boot程序是在RAM中运行BootloaderBootloader的制作的制作zBootROM使用来配置系统启动的。没有BootROM,系统就不能配置,更不能启动。zBootROM可以自编程,但是,第一次系统启动用的BootROM是如何烧录的呢?–使用插座连接Flash配合编程器–通过ARM的JTAG接口BootloaderBootloaderBootloaderBootloader的概念的概念zBootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。z通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的BootLoader几乎是不可能的。尽管如此,我们仍然可以对BootLoader归纳出一些通用的概念来,以指导用户特定的BootLoader设计与实现。嵌入式系统离不开嵌入式系统离不开BootloaderBootloaderz每种CPU体系结构都有不同的BootLoader。z有些BootLoader也支持多种体系结构的CPU,比如U-Boot就同时支持ARM体系结构和MIPS体系结构。z除了依赖于CPU的体系结构外,BootLoader实际上也依赖于具体的嵌入式板级设备的配置。这也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一种CPU而构建的,要想让运行在一块板子上的BootLoader程序也能运行在另一块板子上,通常也都需要修改BootLoader的源程序。BootBootLoaderLoader的安装媒介的安装媒介z系统加电或复位后,所有的CPU通常都从某个由CPU制造商预先安排的地址上取指令。比如,基于ARM7TDMIcore的CPU在复位时通常都从地址0x00000000取它的第一条指令。z基于CPU构建的嵌入式系统通常都有某种类型的固态存储设备(比如:ROM、EEPROM或FLASH等)被映射到这个预先安排的地址上。因此在系统加电后,CPU将首先执行BootLoader程序。典型存储空间分配结构典型存储空间分配结构启动参数内核根文件系统bootloaderBlobBlob的存储器区域