TI中文支持网
TI专业的中文技术问题搜集分享网站

am335x 虚拟串口的波特率错误

Other Parts Discussed in Thread:AM3356

您好:

我使用am3356,ti-processor-sdk-linux-rt-am335x-evm-06.03.00.106的sdk,linux-rt-4.19.94+gitAUTOINC+a242ccf3f1-ga242ccf3f1的内核,sdk内置的pru_suart固件,

在dts中的PRU1中配置了两个串口,分别为/dev/ttySPRU3和/dev/ttySPRU4,串口输出数据用示波器看到输出波形正常,但是波特率误差较大,9600波特率实际看到的约为6K多。4800波特率看到的大约3K多。但是看linux驱动中的pru_suart.c,没有设置pru时钟频率的接口。目前没有修改pru固件的代码。

请问这个问题可能的原因在哪里呢?

Nancy Wang:

感谢您对TI产品的关注!为更加有效地解决您的问题,我需要询问更了解这款芯片的TI资深工程师,再为您解答,一旦得到回复会立即回复给您。

,

user4626959:

sdk的工具中带的/ti-processor-sdk-linux-rt-am335x-evm-06.03.00.106/linux-devkit/sysroots/armv7at2hf-neon-linux-gnueabi/lib/firmware

中的pru固件不包括pru_swuart-fw.elf,  sdk预制的根文件系统tisdk-rootfs-image-am335-evm.tar.zx中包含了pru_swuart-fw.elf固件,我使用的是这个固件,

目前没有找到这个固件的实现源码,不清楚内部的时间处理是否有问题。

,

Nancy Wang:

pru时钟频率使用默认频率。要对其进行修改,需要修改设备树中的几个属性。
波特率降低的较多,似乎与时钟频率无关。请问您是否有Beaglebone Black开发板,可使用am335x-boneblack-prusuart.dts测试看一下。
或者测试以下例程PRU Software\pru\examples\am335x\PRU_Hardware_UART有没有问题。
software-dl.ti.com/…/index_FDS.html

,

user4626959:

查看了设备树中的设置字段,没找到修改设备树的中关于pru时钟频率的属性。
目前没有beagle开发板,是使用的自己的设备。我的dbt就是用的am335x-boneblack-prusuart.dts,只是稍微改了几个管脚设置

赞(0)
未经允许不得转载:TI中文支持网 » am335x 虚拟串口的波特率错误
分享到: 更多 (0)