WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(7)-Serial串口驱动

SMDK2410已经实现了串口驱动,因此不需要大的改动,其中PDD库位于/PUBLIC/COMMON/OAK/CSP/ARM/SAMSUNG/S3C2410X/SERIAL下,生成dll的驱动位于/PLATFORM/GEC2410/SRC/DRIVERS/SERIAL.
为了更好的研究串口驱动,我们把/PUBLIC/COMMON/OAK/CSP/ARM/SAMSUNG/S3C2410X/SERIAL目录复制到/PLATFORM/GEC2410/SRC/COMMON/S3C2410X/SERIAL,还是先介绍移植的工程,然后再来分析CE的串口驱动
1.修改source文件
(1)需要的组件都已经添加好了,首先修改PDD库的source:
把RELEASETYPE改成PLATFORM就好了.
TARGETNAME=s3c2410x_serial
RELEASETYPE=PLATFORM
TARGETTYPE=LIBRARY

INCLUDES=../inc

CDEFINES=$(CDEFINES) -DUSE_NEW_SERIAL_MODEL

SOURCES=pdds3c2410_ser.cpp
(2)修改dll的source文件,主要是修改RELEASETYPE,设置DLLENTRY,修改上面已经编译的s3c2410x_serial.lib的路径
WINCEOEM=1

TARGETNAME=serial_smdk2410
TARGETTYPE=DYNLINK
RELEASETYPE=PLATFORM
TARGETLIBS=$(_COMMONSDKROOT)/lib/$(_CPUINDPATH)/coredll.lib /
           $(_SYSGENOAKROOT)/lib/$(_CPUINDPATH)/ceddk.lib

SOURCELIBS=$(_TARGETPLATROOT)/lib/$(_CPUINDPATH)/s3c2410x_serial.lib /
           $(_SYSGENOAKROOT)/lib/$(_CPUINDPATH)/serpddcm.lib /
           $(_SYSGENOAKROOT)/lib/$(_CPUINDPATH)/com_mdd2.lib

DEFFILE=serial.def
DLLENTRY=DllEntry

SOURCES= ser_smdk2410.cpp
其实这两个文件夹可以整合到一起直接编译成一个dll,只需要将pdds3c2410_ser.cpp复制到/PLATFORM/GEC2410/SRC/DRIVERS/SERIAL,修改source文件,将pdds3c2410_ser.cpp添加到编译文件.
SOURCES= ser_smdk2410.cpp /
                  pdds3c2410_ser.cpp
这也是WinCE6.0 DEVICEEMULATOR BSP的串口文件目录结构.
2.这里使用的是UART0,UART1被用作调试串口,在移植eboot的时候讲过eboot不能使用UART0的原因就是被系统串口驱动占用了.
修改只需要这么多,注册表,bib文件都用原来的设置即可.
3.测试程序
我们需要写一个测试程序,来检验串口驱动是否工作正常.我们使用基本的SDK API来操作串口,即CreateFile,ReadFile,WriteFile等通用的API.当然也可以使用MFC下的串口控件.
(1)Open Port

(2)Read Port

(3)Write Port

(4)Close Port

(5)main

代码比较简单,先写字符串到串口,然后不停读串口,每次等待时间为1s,这是一个测试程序,要写一个真正的基于串口的应用程序,还需要考虑诸多方面,如读串口采用中断方式等.
在CE上运行该程序,PC上使用串口工具,可以收到数据,发送数据也能被CE接收到.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值