本文主要是介绍WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(4)-LCD驱动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(2)(3)两节中,我们实现了Eboot在Nor Flash和Nand Flash上运行.因为在烧写Eboot到Nor Flash比较快速(使用H_Jtag),Nand Flash将来就仅仅用来存放OS Image.
我们使用PB下载系统镜像到RAM中运行的方式来运行CE OS,待可以成功运行后在保存到Nand Flash中实现从Flash中加载到RAM中运行(这里的主要工作是实现BINFS,之后再详细介绍)
一、开发环境
编译器: Platform Builder 5.0
目标板: GEC2410 S3C2410A,NAND Flash:64M K9F1208,NOR Flash:2M SST39VF1601 SDRAM 64M,CS8900
二、移植步骤
SMDK2410的BSP已经实现了大部分的功能,通过PB下载,KITL支持,这些都不需要额外的工作了.OAL部分基本功能也都实现了,初始化什么的,不过还是值得好好看看源代码学习的.这里就不多说了,首先我们需要做的是修改LCD驱动
1.LCD驱动
需要修改的部分和之前EBoot做的修改是一样的,就是设置LCD控制器寄存器.
SMDK2410的驱动位于/WINCE500/PUBLIC/COMMON/OAK/CSP/ARM/SAMSUNG/S3C2410X/下,我们只需要把其复制到/WINCE500/PLATFORM/GEC2410/SRC/COMMON/下,这样我们就可以在其基础上进行修改了.
LCD驱动位于/DISPLAY/S3C2410X_LCD/下,修改s3c2410x_lcd.cpp的InitializeLCDRegisters函数,使用实际LCD所需参数即可.
2.添加LCD驱动到系统镜像中(NK.bin)
(1)修改dir文件,将S3C2410X添加进来
/GEC2410/SRC/COMMON/dir:
DIRS=/
smartmedia /
S3C2410X /
BOOTPART
/GEC2410/SRC/COMMON/S3C2410X/dir:
DIRS= /
display
#sdhc /
#serial /
#touch /
#wavedev /
#usb /
我们先仅仅添加LCD驱动,其他的之后在移植,因此先注释掉其他驱动
(2)修改LCD驱动的source文件,设置其编译方式,我们编译成dll,并放到Platform的target目录下,这会覆盖原来CSP目录下生成的dll
RELEASETYPE=PLATFORM
TARGETNAME=s3c2410x_lcd
TARGETTYPE=DYNLINK
(3)在platform.bib中添加该dll
; @CESYSGEN IF CE_MODULES_DISPLAY
IF BSP_NODISPLAY !
s3c2410x_lcd.dll $(_FLATRELEASEDIR)/s3c2410x_lcd.dll NK SH
ENDIF BSP_NODISPLAY !
; @CESYSGEN ENDIF CE_MODULES_DISPLAY
3.重新Sysgen,下载到开发板,就可以看到windows ce的资源浏览器了.
这篇关于WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(4)-LCD驱动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!