·上一文章:华北工控BIS-6620在地铁信息发布系统中的应用
·下一文章:基于DSP的全桥移相控制感应加热电源研究
(1)跳转到C语言程序之后,首先定义初始化函数表,程序在lib-arm/board.e中,如下所示:
(2)初始化FLASH设备和显示FLASH设备信息;
(3)初始化系统内存分配函数;
(4)如果目标系统拥有NAND设备,则初始化NAND设备;
(5)初始化显示设备;
(6)初始化网络设备,填写IP地址、MAC地址等信息;
(7)开启中断处理;
(8)进入命令循环,接收用户从串口的命令输入。
3 U-Boot的移植方法
本文选用交叉编译环境arm-linux-gcc-2.95.3,选用U-Boot-1.1.4版本作为移植平台。为了使U-Boot支持新的开发板,一种简便的做法是在U-Boot已经支持的开发板中选择一种与目标板接近的,在其基础上进行修改。这里选用的是smdk2410的配置。
3.1 修改cpu/arm920t/start.S文件
Start.s是采用汇编语言编写的U-Boot程序入口代码,完成对底层硬件的初始化,其中有一个很重要的功能是从NAND FLASH中把Stage 2阶段的代码复制到SDRAM中。在此阶段,涉及到对NANDFLASH的读操作,在U-Boot中,没有对NANDFLASH读操作的驱动,采用以下方法实现:
通过调用board/smdk2410/nand_read.C中的nand_read_11函数将Stage 2阶段的代码复制到ram中。
3.2 修改board/smdk2410目录下文件
(1)增加对NANDFLASH的读驱动nand_read.c