U-Boot 移植简介


U-boot的介绍
U-Boot 是一个依赖硬件的Moniter 引导程序。其主要任务就是在系统上电瞬间,初始化硬件设备,准备好软件环境,最后调用(跳转)到内核。所谓Moniter 实际上是一个增强型Bootloader,为了调试内核和软件提供了条件。

U-Boot源代码下载地址

选择U-Boot的理由
① 开放源码;
② 支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS,LynxOS;
③ 支持多个处理器系列,如PowerPC、ARM、x86、MIPS、XScale;
④ 较高的可靠性和稳定性;
④ 较高的可靠性和稳定性;
⑤ 高度灵活的功能设置,适合U-Boot 调试、操作系统不同引导要求、产品发布等;
⑥ 丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘等;
⑦ 较为丰富的开发调试文档与强大的网络技术支持

U-Boot 可支持的主要功能列表
* 系统引导 支持NFS 挂载、RAMDISK(压缩或非压缩)形式的根文件系统
* 支持NFS 挂载、从FLASH 中引导压缩或非压缩系统内核;
* 基本辅助功能 强大的操作系统接口功能;可灵活设置、传递多个关键参数给操作系统,适合系统在不同开发阶段的调试要求与产品发布,尤
* Linux支持最为强劲;
* 支持目标板环境参数多种存储方式,如FLASH、NVRAM、EEPROM;
* CRC32校验,可校验FLASH 中内核、RAMDISK镜像文件是否完好;
* 设备驱动 串口、SDRAM、FLASH、以太网、LCD、NVRAM、EEPROM、键盘、USB、PCMCIA、PCI、RTC 等驱动支持;
* 上电自检功能 SDRAM、FLASH 大小自动检测;SDRAM 故障检测;CPU型号;
* 特殊功能 XIP内核引导

U-Boot 移植关键点

1、 借鉴SMDK2410,U-Boot还没有对SMDK2440的支持

2、SDRAM的设置

3、堆栈设置

4、代码搬运(Nor-Flash--》SDRAM,Nand-Flash--》SDRAM)

5、时钟、串口设置

相关内容