工控网首页
>

应用设计

>

ARM平台设备WinCE下UART配置

ARM平台设备WinCE下UART配置

我们采用Colibri ARM核心板产品搭配Colibri开发板来进行测试,OS为Toradex官方发布的最新版WinCE,其中Colibri系列默认定义了三个串口,UART A, UART B和UART C,其中UART A用作调试串口使用,下面就分别针对不同SoC产品进行说明。

1). 基于NXP i.MX6Solo/DualLiteColibrii.MX6产品

系统默认定义COM 1 – UART A (调试串口,全功能);COM 2 – UART B (支持Flowcontrol);COM 3 – UARTC;另外还支持额外的两个串口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"="COM4UNIMODEM"

[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"="COM5UNIMODEM"

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\COM5\Pinout_Default]

"colibripin_169"="altfn=3"

"colibripin_171"="altfn=3"

-----------------------------

2). 基于NXP VybridColibriVF50/VF61产品

系统默认定义COM 1 – UART A (调试串口,全功能控制引脚需使用GPIO);COM 2 – UARTB (支持Flow control);COM 3 – UART C;另外还支持额外的两个串口UARTD和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 TegraColibriT20/T30产品

系统默认定义COM 1 – UART A (UART 1,调试串口,全功能串口);COM 2 – UARTB (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) – UART3RxD

./ 使能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 onCOM4:"

"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 onCOM5:"

"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 系统上 Docker 容器的性能影响

上游优先 - Toradex 采用主线内核支持

NXP iMX8M Plus M7核心FreeRTOS开发

嵌入式Linux上使用Ramoops

使用容器编译Yocto镜像