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

2023-12-03 00:48

本文主要是介绍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接收到.

这篇关于WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(7)-Serial串口驱动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/447485

相关文章

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1

嵌入式Linux驱动中的异步通知机制详解

《嵌入式Linux驱动中的异步通知机制详解》:本文主要介绍嵌入式Linux驱动中的异步通知机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、异步通知的核心概念1. 什么是异步通知2. 异步通知的关键组件二、异步通知的实现原理三、代码示例分析1. 设备结构

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

如何使用C#串口通讯实现数据的发送和接收

《如何使用C#串口通讯实现数据的发送和接收》本文详细介绍了如何使用C#实现基于串口通讯的数据发送和接收,通过SerialPort类,我们可以轻松实现串口通讯,并结合事件机制实现数据的传递和处理,感兴趣... 目录1. 概述2. 关键技术点2.1 SerialPort类2.2 异步接收数据2.3 数据解析2.

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta