·上一文章:CC1100的无线数据通信与时分多址通信协议
·下一文章:Nucleus系统的移动终端录音功能设计
5 驱动程序的移植
SST39VF1601的驱动是在SST39VF400的拷贝的基础上修改的,主要改动部分如下:
RTL8019AS的驱动是在NS的DP89302A(都兼容NE2000)的拷贝基础上修改的,应该重点注意的是寄存器地址应该乘以2(因为地址线是从 A1开始的),由于该地址总线上还有LCD模块,为了两者能同时工作,总线宽度设置为16位,RTL8019AS的寄存器是8位的,写入和读取函数定义为 8位的,数据的读写视工作在8位DMA或16位DMA而定。
6 调试结果
SmartARM2200开发板上带有1块2 MB的Flash和1块16 MB的SRAM。
利用eCos的自带编译工具configtool对新建的SmartARM2200目标板进行编译,生成RedBoot的目标文件。然后通过AXD下载到目标板的SRAM中运行。此时的RedBoot应为RAM启动方式。刚开始调试的难度有点大,因为AXD不支持elf文件的下载,有些目标文件可以通过 objdump反汇编对照调试。
通过对RedBoot的常用命令的测试结果可以看出,本文提供的SmartARM2200的移植方案是成功的,ping命令正常,tftp下载正常。
结 语
RedBoot和U-boot都是优秀的bootloader程序,但RedBoot比U-boot的可移植性好。通过对RedBoot的移植可以熟悉 eCos系统的开发环境、configtool图形化配置工具、硬件抽象层HAL及驱动的移植,为进一步eCos系统开发打下基础。