"); //-->
UART串口作为最为常用的工业设备接口之一被广泛且大量的应用,本文就基于Toradex ARM平台设备为例介绍WinCE下UART配置。
我们采用Colibri ARM核心板产品搭配Colibri开发板来进行测试,OS为Toradex官方发布的最新版WinCE,其中Colibri系列默认定义了三个串口,UART A, UART B和UART C,其中UART A用作调试串口使用,下面就分别针对不同SoC产品进行说明。
1). 基于NXP i.MX6Solo/DualLite的Colibri i.MX6产品
系统默认定义COM 1 – UART A (调试串口,全功能);COM 2 – UART B (支持Flow control);COM 3 – UART C;另外还支持额外的两个串口UART D和UART E,默认没有使能;所有串口默认均为DTE模式。
./ 使能UART D方法,请在注册表中添加下面内容并保存
-----------------------------
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM4]
"Order"=dword:00000002
"IoLen"=dword:000000d4
"IoBase"=dword:021f0000
"Index"=dword:00000004
"DeviceArrayIndex"=dword:00000003
"Prefix"="COM"
"Dll"="csp_serial.dll"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM4\Unimodem]
"DevConfig"=hex:10,00,00,00,05,00,00,00,10,01,00,00,00,4B,00,00,00,00,08,00,00,00,00,00,00
"DeviceType"=dword:00000000
"Tsp"="Unimodem.dll"
"FriendlyName"="COM4 UNIMODEM"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM4\Pinout_Default]
"colibripin_165"="altfn=3"
"colibripin_167"="altfn=3"
-----------------------------
./ 使能UART E方法,请在注册表中添加下面内容并保存
-----------------------------
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM5]
"Order"=dword:00000002
"IoLen"=dword:000000d4
"IoBase"=dword:021f4000
"Index"=dword:00000005
"DeviceArrayIndex"=dword:00000004
"Prefix"="COM"
"Dll"="csp_serial.dll"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM5\Unimodem]
"DevConfig"=hex:10,00,00,00,05,00,00,00,10,01,00,00,00,4B,00,00,00,00,08,00,00,00,00,00,00
"DeviceType"=dword:00000000
"Tsp"="Unimodem.dll"
"FriendlyName"="COM5 UNIMODEM"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM5\Pinout_Default]
"colibripin_169"="altfn=3"
"colibripin_171"="altfn=3"
-----------------------------
2). 基于NXP Vybrid的Colibri VF50/VF61产品
系统默认定义COM 1 – UART A (调试串口,全功能控制引脚需使用GPIO);COM 2 – UART B (支持Flow control);COM 3 – UART C;另外还支持额外的两个串口UART D和UART E,默认没有使能。
./ 使能UART D方法,请在注册表中添加下面内容并保存
-----------------------------
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\UARTD]
"DeviceArrayIndex"=dword:00000003
"Index"=dword:00000004
"Prefix"="COM"
"Dll"="vybrid_serial.dll"
"Order"=dword:00000001
"TXPIN"=dword:00000017
"TXAF"=dword:00000006
"RXPIN"=dword:0000001f
"RXAF"=dword:00000006
-----------------------------
./ 使能UART E方法,由于管脚和Colibir默认定义的SDHC接口冲突,因此需先关闭SDHC功能,请在注册表中修改下面内容并保存
-----------------------------
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\ESDHC]
"Dll"="_esdhc.dll"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\UARTE]
"DeviceArrayIndex"=dword:00000004
"Index"=dword:00000005
"Prefix"="COM"
"Dll"="vybrid_serial.dll"
"Order"=dword:00000001
"TXPIN"=dword:00000033
"TXAF"=dword:00000004
"RXPIN"=dword:00000035
"RXAF"=dword:00000004
-----------------------------
3). 基于nVidia Tegra的Colibri T20/T30产品
系统默认定义COM 1 – UART A (UART 1,调试串口,全功能串口);COM 2 – UART B (UART 4, 支持Flow control);COM 3 – IrDA (WinCE6) 或UART C (WEC7)(UART2);另外还支持额外的两个串口UART 3和UART 5,默认没有使能。
./ WinCE6下COM 3 设置为普通串口方法,注册表如下修改
-----------------------------
[HKLM\Drivers\BuiltIn\Serial3]
" IrConnected"=dword:00000000
[HKLM\Comm\IRSIR]
" ImagePath "=" _irsir.dll "
-----------------------------
./ UART3 Pin脚定义
SODIMM Pin 115 (GMI_A2) – UART3 TxD
SODIMM Pin 117(GMI_A3) – UART3 RxD
./ 使能UART 3方法,请在注册表中添加下面内容并保存
-----------------------------
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial4]
"DeviceArrayIndex"=dword:00000083
"Prefix"="COM"
"Dll"="libnvuart.dll"
"Order"=dword:00000004
"Index"=dword:00000004
"IClass"=hex(7):7b,00,41,00,33,00,32,00,39,00,34,00,32,00,42,00,37,00,2d,00,39,00,32,00,30,\
00,43,00,2d,00,34,00,38,00,36,00,62,00,2d,00,42,00,30,00,45,00,36,00,2d,00,\
39,00,32,00,41,00,37,00,30,00,32,00,41,00,39,00,39,00,42,00,33,00,35,00,7d,\
00,00,00,00,00
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial4\Unimodem]
"Tsp"="Unimodem.dll"
"DeviceType"=dword:00000000
"FriendlyName"="Serial on COM4:"
"DevConfig"=hex:10,00,00,00,05,00,00,00,10,01,00,00,00,4b,00,00,00,00,08,00,00,00,00,00,00
-----------------------------
./ UART5 Pin脚定义
SODIMM Pin 192 – UART5 TxD
SODIMM Pin 49 – UART5 RxD
./ 使能UART 5方法,由于管脚和Colibir默认定义的SDIO接口冲突,因此需先关闭SDIO功能,请在注册表中修改下面内容并保存
-----------------------------
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDIO]
"Dll"="_libnvsdio.dll"
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial5]
"DeviceArrayIndex"=dword:00000084
"Prefix"="COM"
"Dll"="libnvuart.dll"
"Order"=dword:00000004
"Index"=dword:00000005
"IClass"=hex(7):7b,00,41,00,33,00,32,00,39,00,34,00,32,00,42,00,37,00,2d,00,39,00,32,00,30,\
00,43,00,2d,00,34,00,38,00,36,00,62,00,2d,00,42,00,30,00,45,00,36,00,2d,00,\
39,00,32,00,41,00,37,00,30,00,32,00,41,00,39,00,39,00,42,00,33,00,35,00,7d,\
00,00,00,00,00
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial5\Unimodem]
"Tsp"="Unimodem.dll"
"DeviceType"=dword:00000000
"FriendlyName"="Serial on COM5:"
"DevConfig"=hex:10,00,00,00,05,00,00,00,10,01,00,00,00,4b,00,00,00,00,08,00,00,00,00,00,00
-----------------------------
4). 关于UART更详细的说明请见这里,另外如何调用Lib库来访问UART请见这里。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
嵌入式Linux预科班培训讲义 下载
请教:EC1-100P
第一讲、FPGA设计基础(视频下载)
数据中心的下一个胜负手:跳出AI芯片
bootrom 和vxworks能放在一块flash里么?
新型“智能”芯片可大幅节能提速
EP1SGX10CF672C6ES的“ES”代表什么?
《嵌入式系统设计》17-嵌入式系统设计U-BOOT(跳转到stage2的C入口点到嵌入式系统Bootloader)
《嵌入式系统设计》19-Linux嵌入式系统设计(开始到Linux Bootloader)
555交流电焊机空载节电装置电路
孙天泽老师《嵌入式Linux中的调试技术》PDF课件下载
《嵌入式系统设计》15-嵌入式系统设计U-BOOT(Bootloader的一些介绍)
小弟叫公司买了ML2870AHBZ060的片片,现在不用了,想出售
李菲菲的世界实验室筹集资金后估值达50亿美元
孙天泽老师《嵌入式Linux中的调试技术》实况视频下载
555发电机组自动停车装置电路
《嵌入式系统设计》14-1-划分及作业布置
马斯克确认特斯拉旗下自动驾驶无人出租车Cybercab 4月量产
8英寸晶圆产能趋紧,全球代工厂或将全面涨价
孙志夫老师《嵌入式Linux系统平台构建》PDF课件下载
《嵌入式系统设计》18-嵌入式系统设计U-BOOT(LILO到连接脚本文件)
中微公司2025年业绩亮眼,刻蚀设备收入大增
555小功率交流电机节电器电路
三星首次引入紫外层薄膜是在美国泰勒工厂
三星闪存,涨价100%
AI服务器「后来居上」谁有潜力?
555直流马达电焊机节电装置电路
DGK1型三相异步电机节电器电路
古尔曼:苹果全新Siri最快下月随iOS 26.4测试版亮相
vxworks问题,谢谢