一.U-boot实现的功能
1.初始化处理器及外围的硬件资源,
配置SDRAM控制器,为主程序提供运行环境,
串口初始化,提供交互终端
网络,传输镜像文件
其他I/O设备
2.执行系统自检,报告检测结果
3.引导操作系统
4.根据系统命令烧写惊醒文件;
1. 系统上电硬件复位,
2.CPU在默认地址读取第一条指令(一般是指00地址)。
3.执行BOOTLOADER;
三.初始化代码程序主要流程概述
1.定义程序进入点
2.设置异常向量表
3.初始化SDRAM控制器
4.设置各种堆栈指针寄存器
5.初始化各种关键的I/O设备
6.初始化C程序需要的存储器
7.必要的话使能终端
8.必要的话,改变处理器的运行模式
9.进入到C代码执行
四.NOR flash和Nand flash接口比较
1.NOR flash带有通用的SRAM接口,BOOTLOADER代码从ox000000000开始执行;
2.Nand flash使用复杂的I/O口来出行的存取数据;
3.判断启动模式和复制4K代码到SDRAM是有CPU制动执行的,不需要让人工干预;
4.S3C2440的地址空间映射SDRAM是从0x300000000开始的
五.Nand flash移植要点
1。明确CPU在系统复位时能否获得Nand flash中的指令
2。在初始化代码中实现Nand flash的搬移功能
3。阅读READ.nand,明确我们需要实现的Nand flash接口函数
4。参照CPU Nand flash控制器及Nand flash芯片的硬件手册,实现系统要求我们实现的接口函数
二.引导程序启动(ARM)