第五讲 TI嵌入式处理器的启动及uBOOT分析.pdf
文本预览下载声明
基于Beagle Board嵌入式处理器的系统开发
TI嵌入式处理器的启动以及
uBOOT分析
2012/11/16 美国德州仪器 1
基于Beagle Board嵌入式处理器的系统开发
一、UBL源码结构分析
二、U-Boot源码框架内容分析
三、U-Boot 启动流程简要分析
2012/11/16 美国德州仪器 2
基于Beagle Board嵌入式处理器的系统开发
一、UBL源码结构分析
UBL源码在PSP包的flash_utils 目录下,里面的目录结构是
一个Common 目录和UBL所支持的各个平台的子目录。目
录结构如下:
2012/11/16 美国德州仪器 3
基于Beagle Board嵌入式处理器的系统开发
UBL 函数入口点是flash_utils 目录下的
Common/arch/arm926ejs/start.S 。
程序首先设置了堆栈
指针寄存器,然后将
main_entry地址赋值给
r0寄存器,也就是
main 的入口点赋值给
r0寄存器,然后将pc
指针指向main入口点,
程序跳到main 函数执
行。
2012/11/16 美国德州仪器 4
基于Beagle Board嵌入式处理器的系统开发
main首先执行LOCAL_boot 函数,然后执行gEntryPoint所
指向的内存地址处的程序,该处地址是在LOCAL_boot 函
数内部进行赋值的,是uboot从存储设备(NAND,NOR ,
SD)拷贝到内存的地址。
2012/11/16 美国德州仪器 5
基于Beagle Board嵌入式处理器的系统开发
LOCAL_boot 中,首先判断板子启动模式,也就是板子上
的拨码开关的设置,DEVICE_bootMode通过读取SYSTEM
控制寄存器来获取拨码开关的信息。
执行DEVICE_init执行板级初始化,包括电源、时钟、
DDR 、EMIF 、UART 、I2C 、TIMER等。
2012/11/16 美国德州仪器 6
基于Beagle Board嵌入式处理器的系统开发
根据不同的boot模式,执行将uboot镜像从不同存储设备拷
贝到内存的操作,此处通过NANDBOOT_copy来简单分析。
2012/11/16
显示全部