WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(2)-基于Nand Flash的Eboot

有了NBoot进行复制引导,Eboot就能运行在RAM中了,WinCE5.0自带SMDK2410 BSP与GEC2410硬件配置很接近,只要进行少量的修改就能运行在GEC2410上了。

一、开发环境
编译器: Platform Builder 5.0
目标板: GEC2410 S3C2410A,NAND Flash:64M K9F1208,NOR Flash:2M SST39VF1601 SDRAM 64M,CS8900


二、开始移植
1.Clone一个SMDK2410的BSP,并改名为GEC2410
2.GEC2410/src/bootloader/eboot/下为Eboot的代码,打开main.c,只有LCD和Eboot配置信息两块代码需要修改,网卡用的都是CS8900A,不需要修改,如果网卡不一样需要修改网卡驱动,网卡驱动在/WINCE500/PUBLIC/COMMON/OAK/DRIVERS/ETHDBG下
3.LCD驱动
由于LCD和原BSP中的不一样,相关参数需要修改,到板子自带的eboot中找到相应参数的数值

这样Eboot就可以显示一副图片了,要是想减少Eboot的尺寸,LCD这块也可不要

 
4.Eboot 配置信息
(1)函数ResetBootConfig中有Eboot配置的初始信息

(2)该信息保存在Flash中,由于Eboot目前保存在Nand Flash中,因此该信息也保存在Nand Flash中。
定义Eboot配置在Nand Flash中的位置大小,只需要一个Sector就可以了(512Bytes)

(3)原Eboot用的Nor Flash(AM29LV800),需要在OEMPlatformInit函数中注释掉AM29LV800_Init((UINT32)AMD_FLASH_START)的初始化函数
(4)实现ReadBootConfig和WriteBootConfig函数
我们用的NandFlash(K9F1208)的驱动已经有了,只需调用fmd下的flash读写函数即可。该库位于src/common/smartmedia/fmd/fmd.cpp


5.Debug Serial
为了不与之后的内核串口驱动冲突,Eboot使用UART1 38400bps的串口输出
代码位于src/kernel/oal/debug.c

三、移植结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值