This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM3354:UART1/2随机插入0

Guru**** 2473270 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1449401/am3354-uart1-2-insert-0-randomly

器件型号:AM3354
主题中讨论的其他器件:TMDSSK3358

工具与软件:

Linux SDK7.03.00.005。  

/cfs-file/__key/communityserver-discussions-components-files/791/am335x_2D00_evmsk_2D00_cm.dts

在客户的系统中、使用6个0-5 UART、UART0作为控制台、UART2为460800bps、所有其他 UART 为115200bps。

测试方法:

#1。 将 UART1与 UART3连接、将 UART4与 UART5以115200bps 的速率连接。  UART2 TX 到 RX、速率为460800bps。  

#2。 UART2、速率为460800bps、其他 UART 为115200bps、 所有 TX 都短接至 RX 本身。  

约10s 测试、在 UART1和 UART2上有额外的0数据、测试代码将在检测到错误数据时停止。

#1。 硬件相同、测试方法相同、内核4.1的 SDK2.1和内核3.2的 SDK 1.0.0.3上没有此类问题  

#2。 该错误与 UART 端口计数相关:

  • 如果仅使用4个 UART1-4进行测试、则使用10个四轮测试30s、没有问题。
  • 使用5个 UART1-5进行测试、测试30s、测试10个循环、6个循环具有额外的0。
  • 仅在460800下测试 UART2、测试10轮、无问题。

UART 1和 UART 2在 SDK 默认值 am33xx-L4.dtsi 中配置了 DMA。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tony:

    感谢详细的报告。

    内核 UART 驱动程序8250_omap.c 是否代替了 omap-serial.c?

    客户是否在这些 UART 端口上运行了 serialstats 命令以查看是否存在任何错误?

    UART 上传输的数据/模式是什么? 我想看看我是否可以重现该问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否使用内核 UART 驱动程序8250_omap.c 来代替 omap-serial.c?

    是、我的配置是:
    未设置#CONFIG_SERIAL_OMAP
    CONFIG_SERIAL_8250_OMAP=y

    客户是否在这些 UART 端口上运行了 serialstats 命令以查看是否有错误?

    在文件系统中看不到序列统计信息、但在出现错误后运行命令"cat/proc/tty/driver/serial"、可以看到 OE (溢出错误)的值增加。

    在 UART 上传输的数据/模式是什么? 我想看看我是否能够重现问题

    传输的数据由两种数据包类型组成、大小为15和14字节、格式为8n1、附加测试代码、可在内核 v5.4上轻松复制。
    /cfs-file/__key/communityserver-discussions-components-files/791/5381.uart_5F00_test.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    文件系统中看不到串行统计数据、但在出错后运行命令"cat/proc/tty/driver/serial"、可以看到 OE 的值(溢出错误)增加。

    哪个 UART 端口具有 OE 错误、TX 端口还是 RX 端口?

    [报价用户 id="35100" url="~/support/processors-group/processors/f/processors-forum/1449401/am3354-uart1-2-insert-0-randomly ]UART 1和 UART 2在 SDK 默认 am33xx-L4.dtsi 中配置了 DMA [/QUOT]

    客户是否已尝试删除 DMA 配置以查看问题是否仍然出现?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    刘斌、您好!

    哪个 UART 端口具有 OE 错误、TX 端口还是 RX 端口?

    我无法确定 TX 或 RX 上是否发生错误、"cat/proc/tty/driver/serial" 日志喜欢:
    1:UART:8250 MMIO:0x48024000 IRQ:35 TX:2450000 Rx:2450000 OE:43 RTS|CTS|DTR|DSR  

    客户是否尝试删除 DMA 配置以查看问题是否仍然发生?

    删除 DMA config、后、我进行了五次测试、未出现任何错误。 在第六次测试中、Linux 系统遇到错误、但没有日志输出、并且串行端口和 Telnet 均无响应

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Xing:

    删除 DMA 配置后、我测试了五次且没有任何错误。

    最好是禁用 DMA。

    在第六次测试中、Linux 系统遇到错误、但没有日志输出、并且串行端口和 Telnet 均无响应

    该电路板是否具有 JTAG 以便您可以连接 CCS 查看正在发生什么情况?

    您能否在没有 UART DMA 的情况下尝试使用 SDK9.1内核看看它是否有任何问题?

    qi yu1 说:
    使用5个 UART0-4进行测试、测试30s、测试10轮、测试6轮具有额外的0。

    在此测试中、您是否对 UART0执行了任何操作? 这是 Linux 控制台、我假设您没有在此端口上执行回送测试、对吧?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bin、

    删除 DMA 配置并测试更多迭代后,发现系统在测试期间很容易挂起,没有错误日志,控制台中没有响应,没有以太网电缆断开和连接的日志。 您是否具有 SDK7.03.00.005版本的 UART 测试报告?  

    该电路板是否具有 JTAG 以便您可以连接 CCS 来查看最新情况?

    我需要一些时间来设置环境。

    您能否尝试使用不带 UART DMA 的 SDK9.1内核来查看是否有任何问题?

    好、我会尝试一下

    在本测试中、您对 UART0做了些什么吗? 这是 Linux 控制台、我假设您没有在此端口上执行回送测试、对吗?

    是、实际上、 在我没有 uart0的 UART 测试中、串行端口是 uart1~uart5 (调试控制台、Tony 在第一篇文章中更正了 UART 端口号)、您可以看到我的测试代码/cfs-file/__key/communityserver-discussions-components-files/791/5381.uart_5F00_test.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Xing:

    删除 DMA 配置并测试更多迭代后、发现系统在测试过程中很容易挂起、没有错误日志、控制台中没有响应、以太网电缆断开连接和连接时没有日志。

    UART 控制台似乎挂起、但我不确定原因。

    除了您的 UART 测试程序、您是否可以尝试使用 SDK rootfs 中提供的"serialcheck"程序来查看问题是否仍然发生?

    您是否有关于 SDK7.03.00.005版本的 UART 测试报告?  [报价]

    SDK 没有针对同时运行的多个 UART 的测试报告。

    确定、我将试用

    期待看到测试报告。

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bin、

    除了您的 UART 测试程序、您是否可以尝试使用 SDK rootfs 中提供的"serialcheck"程序来查看问题是否仍然发生?

    SDK7.03.00.005 (v5.4)

    无 UART DMA:

    通过使用 serialcheck、log (日志)、每个串行端口都有问题:

    root@am335x-evm:~# dd if=/dev/urandom of=uart1 count=1 bs=350000
    root@am335x-evm:~# dd if=/dev/urandom of=uart2 count=1 bs=350000
    root@am335x-evm:~# dd if=/dev/urandom of=uart3 count=1 bs=350000
    root@am335x-evm:~# serialcheck -b 115200 -d /dev/ttyS1 -f ./uart1 -l 5 -m r -k
    
    timeout, RX/TX: 0/0
    Needed 0 reads 0 writes Oh oh, inconsistency at pos 0 (0x0).
    
    Original sample:
    00000000: a4 6c 15 09 77 20 8b 64  a5 f5 a9 b1 98 b0 02 f8   .l..w .d........
    00000010: 83 09 d4 18 66 54 4a 18  be ee 03 86 05 3d 56 b1   ....fTJ......=V.
    00000020: 0a 49 c1 e9 8e 8a ca c7  ce 37 63 83 f0 4b e9 91   .I.......7c..K..
    
    Received sample:
    00000000: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
    00000010: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
    00000020: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
    loops 1 / 5
    
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 0 tx: 0 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0
    
    root@am335x-evm:~# serialcheck -b 115200 -d /dev/ttyS1 -f ./uart1 -l 5 -m d -k
    
    timeout, RX/TX: 339978/350000
    Needed 90 reads 1 writes Oh oh, inconsistency at pos 4017 (0xfb1).
    
    Original sample:
    00000f80: cb 75 5e 10 b4 ed 5d ed  fd 97 02 19 68 23 2d f0   .u^...].....h#-.
    00000f90: a0 ee ae b4 f6 fd d6 75  36 57 77 24 5b 3c 57 58   .......u6Ww$[<WX
    00000fa0: 77 a2 2a 09 13 74 c1 ba  9f a3 b1 83 a5 d9 d0 ab   w.*..t..........
    00000fb0: 48 92 7f 8d c1 3e bb a4  77 04 53 28 b0 4b d3 2d   H....>..w.S(.K.-
    00000fc0: 7e 38 aa 48 a8 30 4a a7  8f 8c 09 63 0c bf 11 47   ~8.H.0J....c...G
    00000fd0: cf 0f 79 86 69 c8 50 3f  6d 17 bd 6a 78 d3 bf af   ..y.i.P?m..jx...
    
    Received sample:
    00000f80: cb 75 5e 10 b4 ed 5d ed  fd 97 02 19 68 23 2d f0   .u^...].....h#-.
    00000f90: a0 ee ae b4 f6 fd d6 75  36 57 77 24 5b 3c 57 58   .......u6Ww$[<WX
    00000fa0: 77 a2 2a 09 13 74 c1 ba  9f a3 b1 83 a5 d9 d0 ab   w.*..t..........
    00000fb0: 48 00 92 7f 8d c1 3e bb  a4 77 04 53 28 b0 4b d3   H.....>..w.S(.K.
    00000fc0: 2d 7e 38 aa 48 a8 30 4a  a7 8f 8c 09 63 0c bf 11   -~8.H.0J....c...
    00000fd0: 47 cf 0f 79 86 69 c8 50  3f 6d 17 bd 6a 78 d3 bf   G..y.i.P?m..jx..
    loops 1 / 5
    
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 344722 tx: 350000 frame 0 ovr 5278 par: 0 brk: 0 buf_ovrr: 10022
    
    root@am335x-evm:~# serialcheck -b 115200 -d /dev/ttyS2 -f ./uart2 -l 5 -m d -k
    
    timeout, RX/TX: 339920/350000
    Needed 89 reads 1 writes Oh oh, inconsistency at pos 4017 (0xfb1).
    
    Original sample:
    00000f80: 2e ec 0c c7 b9 a7 3a de  95 95 c7 87 9b c9 c6 3b   ......:........;
    00000f90: 90 f5 ae 7f 2d fa f3 06  d8 50 fd c0 b6 b1 c7 8a   ....-....P......
    00000fa0: b9 87 41 ab 7a d6 07 f0  2e ac a4 3e 35 f3 e7 53   ..A.z......>5..S
    00000fb0: d5 c8 ff 2b aa 1f bd 24  cf 7f 37 0b af 4a 63 d8   ...+...$..7..Jc.
    00000fc0: 5e 30 a2 ea fb e8 17 d3  d7 7b 9d 5b 10 ff 4a 3f   ^0.......{.[..J?
    00000fd0: db 3a 9b 64 94 00 18 0e  84 e4 46 19 86 2a eb 7f   .:.d......F..*..
    
    Received sample:
    00000f80: 2e ec 0c c7 b9 a7 3a de  95 95 c7 87 9b c9 c6 3b   ......:........;
    00000f90: 90 f5 ae 7f 2d fa f3 06  d8 50 fd c0 b6 b1 c7 8a   ....-....P......
    00000fa0: b9 87 41 ab 7a d6 07 f0  2e ac a4 3e 35 f3 e7 53   ..A.z......>5..S
    00000fb0: d5 00 c8 ff 2b aa 1f bd  24 cf 7f 37 0b af 4a 63   ....+...$..7..Jc
    00000fc0: d8 5e 30 a2 ea fb e8 17  d3 d7 7b 9d 5b 10 ff 4a   .^0.......{.[..J
    00000fd0: 3f db 3a 9b 64 94 00 18  0e 84 e4 46 19 86 2a eb   ?.:.d......F..*.
    loops 1 / 5
    
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 344722 tx: 350000 frame 0 ovr 5278 par: 0 brk: 0 buf_ovrr: 10080
    
    

    2.UART DMA:

    uart1\2 PASS、但 uart3~5失败、log:

    root@am335x-evm:/run/media/mmcblk0p3# serialcheck -b 115200 -d /dev/ttyS1 -f ./uart1 -l 5 -m d -k
    Needed 106 reads 1 writes loops 5 / 5
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 1750000 tx: 1750000 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0
    root@am335x-evm:/run/media/mmcblk0p3# serialcheck -b 460800 -d /dev/ttyS2 -f ./uart1 -l 5 -m d -k
    Needed 100 reads 1 writes loops 5 / 5
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 1750000 tx: 1750000 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0
    root@am335x-evm:/run/media/mmcblk0p3# serialcheck -b 115200 -d /dev/ttyS3 -f ./uart1 -l 5 -m d -k
    
    timeout, RX/TX: 339921/350000
    Needed 90 reads 1 writes Oh oh, inconsistency at pos 4017 (0xfb1).
    
    Original sample:
    00000f80: cb 75 5e 10 b4 ed 5d ed  fd 97 02 19 68 23 2d f0   .u^...].....h#-.
    00000f90: a0 ee ae b4 f6 fd d6 75  36 57 77 24 5b 3c 57 58   .......u6Ww$[<WX
    00000fa0: 77 a2 2a 09 13 74 c1 ba  9f a3 b1 83 a5 d9 d0 ab   w.*..t..........
    00000fb0: 48 92 7f 8d c1 3e bb a4  77 04 53 28 b0 4b d3 2d   H....>..w.S(.K.-
    00000fc0: 7e 38 aa 48 a8 30 4a a7  8f 8c 09 63 0c bf 11 47   ~8.H.0J....c...G
    00000fd0: cf 0f 79 86 69 c8 50 3f  6d 17 bd 6a 78 d3 bf af   ..y.i.P?m..jx...
    
    Received sample:
    00000f80: cb 75 5e 10 b4 ed 5d ed  fd 97 02 19 68 23 2d f0   .u^...].....h#-.
    00000f90: a0 ee ae b4 f6 fd d6 75  36 57 77 24 5b 3c 57 58   .......u6Ww$[<WX
    00000fa0: 77 a2 2a 09 13 74 c1 ba  9f a3 b1 83 a5 d9 d0 ab   w.*..t..........
    00000fb0: 48 00 92 7f 8d c1 3e bb  a4 77 04 53 28 b0 4b d3   H.....>..w.S(.K.
    00000fc0: 2d 7e 38 aa 48 a8 30 4a  a7 8f 8c 09 63 0c bf 11   -~8.H.0J....c...
    00000fd0: 47 cf 0f 79 86 69 c8 50  3f 6d 17 bd 6a 78 d3 bf   G..y.i.P?m..jx..
    loops 1 / 5
    
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 344722 tx: 350000 frame 0 ovr 5278 par: 0 brk: 0 buf_ovrr: 10079
    root@am335x-evm:/run/media/mmcblk0p3# serialcheck -b 115200 -d /dev/ttyS4 -f ./uart1 -l 5 -m d -k
    
    timeout, RX/TX: 339920/350000
    Needed 89 reads 1 writes Oh oh, inconsistency at pos 4017 (0xfb1).
    
    Original sample:
    00000f80: cb 75 5e 10 b4 ed 5d ed  fd 97 02 19 68 23 2d f0   .u^...].....h#-.
    00000f90: a0 ee ae b4 f6 fd d6 75  36 57 77 24 5b 3c 57 58   .......u6Ww$[<WX
    00000fa0: 77 a2 2a 09 13 74 c1 ba  9f a3 b1 83 a5 d9 d0 ab   w.*..t..........
    00000fb0: 48 92 7f 8d c1 3e bb a4  77 04 53 28 b0 4b d3 2d   H....>..w.S(.K.-
    00000fc0: 7e 38 aa 48 a8 30 4a a7  8f 8c 09 63 0c bf 11 47   ~8.H.0J....c...G
    00000fd0: cf 0f 79 86 69 c8 50 3f  6d 17 bd 6a 78 d3 bf af   ..y.i.P?m..jx...
    
    Received sample:
    00000f80: cb 75 5e 10 b4 ed 5d ed  fd 97 02 19 68 23 2d f0   .u^...].....h#-.
    00000f90: a0 ee ae b4 f6 fd d6 75  36 57 77 24 5b 3c 57 58   .......u6Ww$[<WX
    00000fa0: 77 a2 2a 09 13 74 c1 ba  9f a3 b1 83 a5 d9 d0 ab   w.*..t..........
    00000fb0: 48 00 92 7f 8d c1 3e bb  a4 77 04 53 28 b0 4b d3   H.....>..w.S(.K.
    00000fc0: 2d 7e 38 aa 48 a8 30 4a  a7 8f 8c 09 63 0c bf 11   -~8.H.0J....c...
    00000fd0: 47 cf 0f 79 86 69 c8 50  3f 6d 17 bd 6a 78 d3 bf   G..y.i.P?m..jx..
    loops 1 / 5
    
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 344721 tx: 350000 frame 0 ovr 5279 par: 0 brk: 0 buf_ovrr: 10080
    root@am335x-evm:/run/media/mmcblk0p3# serialcheck -b 115200 -d /dev/ttyS5 -f ./uart1 -l 5 -m d -k
    timeout, RX/TX: 339917/350000
    Needed 90 reads 1 writes Oh oh, inconsistency at pos 4017 (0xfb1).
    
    Original sample:
    00000f80: cb 75 5e 10 b4 ed 5d ed  fd 97 02 19 68 23 2d f0   .u^...].....h#-.
    00000f90: a0 ee ae b4 f6 fd d6 75  36 57 77 24 5b 3c 57 58   .......u6Ww$[<WX
    00000fa0: 77 a2 2a 09 13 74 c1 ba  9f a3 b1 83 a5 d9 d0 ab   w.*..t..........
    00000fb0: 48 92 7f 8d c1 3e bb a4  77 04 53 28 b0 4b d3 2d   H....>..w.S(.K.-
    00000fc0: 7e 38 aa 48 a8 30 4a a7  8f 8c 09 63 0c bf 11 47   ~8.H.0J....c...G
    00000fd0: cf 0f 79 86 69 c8 50 3f  6d 17 bd 6a 78 d3 bf af   ..y.i.P?m..jx...
    
    Received sample:
    00000f80: cb 75 5e 10 b4 ed 5d ed  fd 97 02 19 68 23 2d f0   .u^...].....h#-.
    00000f90: a0 ee ae b4 f6 fd d6 75  36 57 77 24 5b 3c 57 58   .......u6Ww$[<WX
    00000fa0: 77 a2 2a 09 13 74 c1 ba  9f a3 b1 83 a5 d9 d0 ab   w.*..t..........
    00000fb0: 48 00 92 7f 8d c1 3e bb  a4 77 04 53 28 b0 4b d3   H.....>..w.S(.K.
    00000fc0: 2d 7e 38 aa 48 a8 30 4a  a7 8f 8c 09 63 0c bf 11   -~8.H.0J....c...
    00000fd0: 47 cf 0f 79 86 69 c8 50  3f 6d 17 bd 6a 78 d3 bf   G..y.i.P?m..jx..
    loops 1 / 5
    
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 344721 tx: 350000 frame 0 ovr 5279 par: 0 brk: 0 buf_ovrr: 10083

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Xing:

    请勿在序列检查中使用"-k"。 它启用 UART 内部环回、这不用于您的测试。 我从未使用过内部回扫、不知道为什么它会在您的测试中生成 TX/Rx 错误。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Bin、

    很抱歉延迟了响应。

    请勿在序列检查中使用"-k"。 它启用 UART 内部环回、这不用于您的测试。 我从未使用过内部回扫,不知道为什么它会在您的测试中生成 TX/Rx 错误。[/报价]

    如果不使用"-k"、serialcheck、将快速产生错误。

    root@am335x-evm:~# serialcheck -b 115200 -d /dev/ttyS1 -f ./uart1 -l 5 -m r
    
    timeout, RX/TX: 0/0
    Needed 0 reads 0 writes Oh oh, inconsistency at pos 0 (0x0).
    
    Original sample:
    00000000: a4 6c 15 09 77 20 8b 64  a5 f5 a9 b1 98 b0 02 f8   .l..w .d........
    00000010: 83 09 d4 18 66 54 4a 18  be ee 03 86 05 3d 56 b1   ....fTJ......=V.
    00000020: 0a 49 c1 e9 8e 8a ca c7  ce 37 63 83 f0 4b e9 91   .I.......7c..K..
    
    Received sample:
    00000000: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
    00000010: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
    00000020: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
    loops 1 / 5
    
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 0 tx: 0 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0

    下面是我的 UART 连接

    期待测试报告。

    我在5.10和6.1内核上遇到一些启动问题、解决这些问题需要一些时间。 如果您有一些空闲时间、或许可以帮我。
    e2e.ti.com/.../am3354-unhandled-fault-external-abort-on-non-linefetch-0x1028-at-0xf9e3e074

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Xing:

    如果不使用"-k"、、serialcheck将会快速产生错误。

    如果 SDK6.1内核也出现这种情况、我们将对此进行研究。

    我在5.10和6.1内核上遇到一些启动问题、解决这些问题需要一段时间。 如果您有一些空闲时间、或许可以帮我。
    e2e.ti.com/.../am3354-unhandled-fault-external-abort-on-non-linefetch-0x1028-at-0xf9e3e074

    我已经在线程中发布了一个内核补丁来禁用 RTC。 如果您可以使用该补丁引导至 Linux 并使用6.1内核运行 UART 测试、请告诉我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Xing:

    因此请求 Tony Tang 提供一个公共主板来 验证此问题、并在公共主板上复制了相同的 UART 问题(内核 v6.1)。

    从您提供的内核 devicetree 中、我想公共板是 TMDSSK3358 (https://www.ti.com/tool/TMDSSK3358)、并焊接了用于从这些 UART 引脚获取的导线?

    #2使用串行检查 同时测试三个 UART、失败

    请注意、3个 UART 也可能出现此问题。 我明天将尝试在 BeagleBone Black 上重现此问题、此电路板的连接器上有多个 UART 引脚。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Bin、

    [报价 userid="7730" url="~/support/processors-group/processors/f/processors-forum/1449401/am3354-uart1-2-insert-0-randomly/5578193 #5578193"]从您提供的内核器件中、我想公共电路板是 TMDSSK3358 (https://www.ti.com/tool/TMDSSK3358)、并焊接了用于获取这些 UART 引脚的导线?

    是的、没错

    如果您知道此问题、可以使用3UART 重现。 明天我将尝试在 BeagleBone Black 上重现此问题、该板的连接器上有多个 UART 引脚。[/QUOT]

    感谢您的帮助 、我们期待您的参与。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Bin、

    [报价 userid="7730" url="~/support/processors-group/processors/f/processors-forum/1449401/am3354-uart1-2-insert-0-randomly/5578193 #5578193"]从您提供的内核器件中、我想公共电路板是 TMDSSK3358 (https://www.ti.com/tool/TMDSSK3358)、并焊接了用于获取这些 UART 引脚的导线?

    是的、没错

    如果您知道此问题、可以使用3UART 重现。 明天我将尝试在 BeagleBone Black 上重现此问题、该板的连接器上有多个 UART 引脚。[/QUOT]

    感谢您的帮助 、我们期待您的参与。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Xing:

    我在 BBB 上启用 uart1/4/5、并看到内核6.1的问题。 但是、在 devicetre 中从 uart1中删除了"DMA"后、问题消失了。

    因此、要求 Tony Tang 提供一个公共主板来 验证此问题、并在公共主板上复制了相同的 UART 问题(内核 V6.1)。

    您是否使用 uart2 DMA 禁用进行了测试?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bin、

    我们的产品使用六个 UART(4x115200bps+1x460800bps+debug 1x115200bps)、并需要 UART 在插入或拔下 USB 或以太网电缆时正常工作。

    • 在内核 V3.2 (无 DMA 的 UART)上、、当插入或拔下 USB 或以太网电缆时、测试失败。 并且同样的测试在内核 v4.1上通过(使用 dma 的 uart0、2~不使用 dma 的 uart3~5)。

    因此、我认为删除 UART DMA 不是一个好的解决方案。

    您是否使用 uart2 DMA 禁用与否进行了测试?

    我有一项没有 UART DMA(内核 V6.1)的新测试并通过,但在插入或拔下 USB 或以太网电缆时,测试失败。

    通过日志:

    root@am335x-evm:~# serialcheck -b 460800 -d /dev/ttyS2 -f ./uart1 -l 5 -m d&
    [1] 571
    root@am335x-evm:~# serialcheck -b 115200 -d /dev/ttyS3 -f ./uart1 -l 5 -m d&
    [2] 572
    root@am335x-evm:~# Needed 86 reads 1 writes loops 1 / 5
    serialcheck -b 115200 -d /dev/ttyS4 -f ./uart1 -l 5 -m d&
    Needed 86 reads 1 writes loops 4 / 5
    Needed 86 reads 1 writes loops 5 / 5
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 1750000 tx: 1750000 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0
    Needed 90 reads 1 writes loops 5 / 5
    Needed 91 reads 1 writes loops 5 / 5
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 1750000 tx: 1750000 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0

    失败日志:

    root@am335x-evm:~# serialcheck -b 115200 -d /dev/ttyS4 -f ./uart1 -l 5 -m d&
    [1] 672
    root@am335x-evm:~# serialcheck -b 115200 -d /dev/ttyS3 -f ./uart1 -l 5 -m d&
    [2] 673
    root@am335x-evm:~# serialcheck -b 460800 -d /dev/ttyS2 -f ./uart1 -l 5 -m d&
    [3] 674
    Needed 86 reads 1 writes loops 2 / 5
    [  751.809820] cpsw-switch 4a100000.switch eth0: Link is Down
    Needed 97 reads 1 writes loops 3 / 5
    Needed 86 reads 1 writes loops 4 / 5
    Needed 86 reads 1 writes loops 5 / 5
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 1750000 tx: 1750000 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0
    [  771.722111] cpsw-switch 4a100000.switch eth0: Link is Up - 1Gbps/Full - flow control off
    [  779.006538] cpsw-switch 4a100000.switch eth0: Link is Down
    [  784.202104] cpsw-switch 4a100000.switch eth0: Link is Up - 1Gbps/Full - flow control off
    [  809.550442] usb 2-1: new high-speed USB device number 3 using musb-hdrc
    [  809.741742] usb-storage 2-1:1.0: USB Mass Storage device detected
    [  809.775405] scsi host0: usb-storage 2-1:1.0
    [  810.841871] scsi 0:0:0:0: Direct-Access     aigo     U210             2.00 PQ: 0 ANSI: 4
    [  810.863348] sd 0:0:0:0: [sda] 30720000 512-byte logical blocks: (15.7 GB/14.6 GiB)
    [  810.912538] sd 0:0:0:0: [sda] Write Protect is off
    [  810.931066] sd 0:0:0:0: [sda] No Caching mode page found
    [  810.936431] sd 0:0:0:0: [sda] Assuming drive cache: write through
    [  810.967182]  sda:
    [  810.981092] sd 0:0:0:0: [sda] Attached SCSI removable disk
    [  816.896688] usb 2-1: USB disconnect, device number 3
    [  856.750486] usb 2-1: new high-speed USB device number 4 using musb-hdrc
    [  856.942942] usb-storage 2-1:1.0: USB Mass Storage device detected
    [  856.975484] scsi host0: usb-storage 2-1:1.0
    [  858.042014] scsi 0:0:0:0: Direct-Access     aigo     U210             2.00 PQ: 0 ANSI: 4
    [  858.065277] sd 0:0:0:0: [sda] 30720000 512-byte logical blocks: (15.7 GB/14.6 GiB)
    [  858.094852] sd 0:0:0:0: [sda] Write Protect is off
    [  858.114211] sd 0:0:0:0: [sda] No Caching mode page found
    [  858.119635] sd 0:0:0:0: [sda] Assuming drive cache: write through
    [  858.142802]  sda:
    [  858.151651] sd 0:0:0:0: [sda] Attached SCSI removable disk
    
    timeout, RX/TX: 349998/350000
    Needed 120 reads 1 writes Oh oh, inconsistency at pos 343230 (0x53cbe).
    
    Original sample:
    00053c80: 53 d4 70 d8 6d 8d 5d 76  e0 36 56 55 31 de 10 6e   S.p.m.]v.6VU1..n
    00053c90: ef d7 3d 92 97 a2 61 60  6d 3b 75 4e 97 6f 19 fd   ..=...a`m;uN.o..
    00053ca0: 22 1d 2d d8 d3 88 37 4d  f1 8d 98 18 62 bc b1 94   ".-...7M....b...
    00053cb0: e8 6b 64 fd 8f 40 8f 0f  30 0f 7f e5 45 24 6c 92   .kd..@..0...E$l.
    00053cc0: e5 ba e7 b6 e3 5d 56 b4  17 a7 d2 70 66 c0 1a c5   .....]V....pf...
    00053cd0: 5e d3 d7 7f 46 c1 e8 6a  b0 3f d6 1f 86 26 a7 e1   ^...F..j.?...&..
    
    Received sample:
    00053c80: 53 d4 70 d8 6d 8d 5d 76  e0 36 56 55 31 de 10 6e   S.p.m.]v.6VU1..n
    00053c90: ef d7 3d 92 97 a2 61 60  6d 3b 75 4e 97 6f 19 fd   ..=...a`m;uN.o..
    00053ca0: 22 1d 2d d8 d3 88 37 4d  f1 8d 98 18 62 bc b1 94   ".-...7M....b...
    00053cb0: e8 6b 64 fd 8f 40 8f 0f  30 0f 7f e5 45 24 92 e5   .kd..@..0...E$..
    00053cc0: ba e7 b6 e3 5d 56 b4 17  a7 d2 70 66 c0 1a c5 5e   ....]V....pf...^
    00053cd0: d3 d7 7f 46 c1 e8 6a b0  3f d6 1f 86 26 a7 e1 92   ...F..j.?...&...
    loops 1 / 5
    
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 349998 tx: 350000 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0
    [  861.923605] usb 2-1: USB disconnect, device number 4
    timeout, RX/TX: 349999/350000
    Needed 144 reads 1 writes Oh oh, inconsistency at pos 16767 (0x417f).
    
    Original sample:
    00004140: 32 17 7c be 64 a0 dc 14  0e 49 42 e5 14 74 9c 63   2.|.d....IB..t.c
    00004150: 11 be af d6 69 3e c7 c2  b9 ae 07 e8 22 54 7d 26   ....i>......"T}&
    00004160: cb 57 44 54 d3 e3 26 75  22 c1 8c db 9a 27 b0 7f   .WDT..&u"....'..
    00004170: f7 ed 6f 36 17 4a 64 e9  5e 60 c0 52 aa ed e0 44   ..o6.Jd.^`.R...D
    00004180: 1f ed a3 30 ed bd 67 79  09 75 4e 5e 4d ac a9 53   ...0..gy.uN^M..S
    00004190: 7b 5b 29 ff 02 36 89 25  c0 18 b2 e6 a7 3b aa ae   {[)..6.%.....;..
    
    Received sample:
    00004140: 32 17 7c be 64 a0 dc 14  0e 49 42 e5 14 74 9c 63   2.|.d....IB..t.c
    00004150: 11 be af d6 69 3e c7 c2  b9 ae 07 e8 22 54 7d 26   ....i>......"T}&
    00004160: cb 57 44 54 d3 e3 26 75  22 c1 8c db 9a 27 b0 7f   .WDT..&u"....'..
    00004170: f7 ed 6f 36 17 4a 64 e9  5e 60 c0 52 aa ed e0 1f   ..o6.Jd.^`.R....
    00004180: ed a3 30 ed bd 67 79 09  75 4e 5e 4d ac a9 53 7b   ..0..gy.uN^M..S{
    00004190: 5b 29 ff 02 36 89 25 c0  18 b2 e6 a7 3b aa ae dd   [)..6.%.....;...
    loops 2 / 5
    
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 699999 tx: 700000 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Xing:

    新年快乐!

    [报价 userid="63495" url="~/support/processors-group/processors/f/processors-forum/1449401/am3354-uart1-2-insert-0-randomly/5580812 #5580812"]

    我们的产品使用六个 UART(4x115200bps+1x460800bps+debug 1x115200bps)、并需要 UART 在插入或拔下 USB 或以太网电缆时正常工作。

    • 在内核 V3.2 (无 DMA 的 UART)上、、当插入或拔下 USB 或以太网电缆时、测试失败。 并且同样的测试在内核 v4.1上通过(使用 dma 的 uart0、2~不使用 dma 的 uart3~5)。

    因此、我认为删除 UART DMA 不是一个好的解决方案。

    [报价]

    我理解这种情况、但以太网或 USB 导致 UART 中断的原因可能是内核系统级别的内核框架发生了变化、我认为在 AM335x 等单核器件上没有采用 SDK7.3或更高版本的可行解决方案。

    我在没有 UART DMA (内核 V6.1)的情况下进行了新测试并通过测试、但在插入或拔下 USB 或以太网电缆时失败。

    您能否在 AM335x RT Linux SDK v6.1中使用 RT 内核进行测试、以查看 UART 是否仍会被以太网或 USB 中断?

    PROCESSOR-SDK-LINUX-RT - AM335X

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Bin、

    祝你新年快乐!

    AM335x
    PROCESSOR-SDK-LINUX-RT

    谢谢、我来试一下。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Bin、

    AM335x
    PROCESSOR-SDK-LINUX-RT

    它通过了测试! 我将使用5个 UART 在我的电路板上进行测试。

    root@am335x-evm:~# serialcheck -b 115200 -d /dev/ttyS4 -f ./uart1 -l 5 -m d&
    [1] 655
    root@am335x-evm:~# serialcheck -b 115200 -d /dev/ttyS3 -f ./uart1 -l 5 -m d&
    [2] 657
    root@am335x-evm:~# serialcheck -b 460800 -d /dev/ttyS2 -f ./uart1 -l 5 -m d&
    [3] 659
    root@am335x-evm:~# [   89.633913] cpsw-switch 4a100000.switch eth0: Link is Down
    Needed 86 reads 1 writes loops 1 / 5
    [   92.706292] cpsw-switch 4a100000.switch eth0: Link is Up - 1Gbps/Full - flow control off
    Needed 86 reads 1 writes loops 2 / 5
    [   99.221486] usb 2-1: USB disconnect, device number 2
    serialcheck -b 460800 -d /dev/ttyS2 -f ./uart1 -l 5 -m d&[  100.205086] FAT-fs (sda): unable to read boot sector to mark fs as dirty
    Needed 86 reads 1 writes loops 3 / 5
    [  107.762889] usb 2-1: new high-speed USB device number 3 using musb-hdrc
    [  107.893139] usb-storage 2-1:1.0: USB Mass Storage device detected
    [  107.906093] scsi host0: usb-storage 2-1:1.0
    [  108.962319] scsi 0:0:0:0: Direct-Access     aigo     U210             2.00 PQ: 0 ANSI: 4
    [  108.976963] sd 0:0:0:0: [sda] 30720000 512-byte logical blocks: (15.7 GB/14.6 GiB)
    [  108.977366] sd 0:0:0:0: [sda] Write Protect is off
    [  108.977561] sd 0:0:0:0: [sda] No Caching mode page found
    [  108.977571] sd 0:0:0:0: [sda] Assuming drive cache: write through
    [  108.994406]  sda:
    [  108.998434] sd 0:0:0:0: [sda] Attached SCSI removable disk
    Needed 88 reads 1 writes loops 1 / 5
    Needed 86 reads 1 writes loops 4 / 5
    [  121.378894] cpsw-switch 4a100000.switch eth0: Link is Up - 1Gbps/Full - flow controlNeeded 86 reads 1 writes loops 5 / 5
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 1750000 tx: 1750000 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0
    [  125.473831] cpsw-switch 4a100000.switch eth0: Link is Down
    [  132.002903] usb 2-1: new high-speed USB device number 4 using musb-hdrc
    [  132.133106] usb-storage 2-1:1.0: USB Mass Storage device detected
    [  132.146180] scsi host0: usb-storage 2-1:1.0
    [  133.154695] scsi 0:0:0:0: Direct-Access     aigo     U210             2.00 PQ: 0 ANSI: 4
    [  133.168102] sd 0:0:0:0: [sda] 30720000 512-byte logical blocks: (15.7 GB/14.6 GiB)
    [  133.168645] sd 0:0:0:0: [sda] Write Protect is off
    [  133.170285] sd 0:0:0:0: [sda] No Caching mode page found
    [  133.170306] sd 0:0:0:0: [sda] Assuming drive cache: write through
    [  133.176269]  sda:
    Needed 86 reads 1 writes loops 2 / 5
    Needed 91 reads 1 writes loops 2 / 5
    [  141.521197] usb 2-1: USB disconnect, device number 4
    Needed 91 reads 1 writes loops 3 / 5
    [  180.770486] cpsw-switch 4a100000.switch eth0: Link is Up - 1Gbps/Full - flow control off
    Needed 90 reads 1 writes loops 5 / 5
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 1750000 tx: 1750000 frame 0 ovr 0 par: 0 brk: 0 buf_ovrNeeded 91 reads 1 writes loops 5 / 5
    cts: 0 dsr: 0 rng: 0 dcd: 0 rx: 1750000 tx: 1750000 frame 0 ovr 0 par: 0 brk: 0 buf_ovrr: 0
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Xing:

    太好了、感谢您的更新。 期待最终测试结果。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bin、

    AM335x
    PROCESSOR-SDK-LINUX-RT

    很抱歉延迟了响应。 它已通过电路板的测试。

    非常感谢您的帮助!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Xing:

    不用担心。 很高兴听到问题已解决。 感谢您的更新。