}
3 移植过程
在此使用的是创维特公司的EB44BO开发板,系统相关配置如下:
处理器:SamslJng S3C4BOX,工作频率60 MHz;
2个串口。4个可编程的LED以及14针JTAG接口。
为了降低移植的难度,在移植过程中,一般都是选择与目标处理器以及目标板最接近的一个版本进行移植。因此选择B2进行移植。从U—bo()t的官方网站上下载最新版的源代码,目前最高版本为1.3.3。移植主要修改的文件有:cptl/s3c44b0/start.s,board/dave/b2/lowlevel init.s,board/dave/b2/b2.c,board/dave/corn。mon/FLASH.c,include/configs/b2.h,board/dave/b2/config.mk。
3.1 cpu/s3c44b0/start.s文件
start.s是汇编语言编写的U-boot:程序入口代码,主要包括处理器内部各个寄存器的初始化以及代码的搬移。主要完成设置处理器状态、初始化中断、堆栈、内存控制器等,并确定是否需要对整个U-boot代码重定位,最终从FLASH中跳转到定位好的内存位置执行。下面对其中一些代码进行针对性的分析。
(1)设置WTCON=0x0,禁止看门狗定时器,避免处理器强行复位;
(2)设置INTMSK=Ox7ffffff,禁止所有中断,Bootloader的执行过程中不必要响应任何中断;
(3)根据嵌入式微处理器工作主频,修改宏CON-FIG 83C4480 CLCICK SPEED=60 MHz,使处理器能够正常工作;
(4)设置PLLCON=0x34031,PLLCON锁相环控制寄存器中储存有计算系统时钟的相关参数,为了产生正确的系统时钟,必须根据外接晶振频率和处理器工作主频确定各个倍频系数。
3.2 board/dave/b2/lowlevel init.S文件
该文件由汇编代码完成,主要包括SDRAM工作参数的设置,以及处理器内存控制器的初始化,参数需要根据SDRAM芯片资料进行设置。
3.3 board/dave/b2/b2.c文件
该文件中的代码主要是SDRAM的驱动程序,并完成了处理器各个I/O 口的初始化,根据具体的目标板进行适当的修改即可。
3.4 board/dave/common/FLASH.C
这个文件是FLASH的驱动程序。FLASH存储器的烧写与擦除一般不具有通用性,根据不同型号的存储器做出相应的修改。EB4480开发板采用的是Intel28F320C3B,总共71个块,1~8每块大小是8 KB,9~71每块大小是64 KB,它的特殊性决定了需要对