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.

[参考译文] AM3358:AM3358上的 UART 传输出现问题/不一致、可能是由编译器导致的?

Guru**** 2551110 points
Other Parts Discussed in Thread: AM3358

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1297667/am3358-uart-transmission-stumbles-is-inconsistent-on-am3358-probably-caused-by-compiler

器件型号:AM3358

您好!

我在 Beagle Bone 上的一个复杂裸机应用程序中遇到问题、因为 UART 数据传输受到破坏。 更确切地说:在某些情况下(不确定具体条件)、UART 传输的单个位会花费太长的时间并损坏数据传输:

细红线表示单字节的边界。 这是在将上面的迹线与下面的迹线进行比较时发生的情况:

-第一个字节被正确传输

-在第二个字节中,停止位的长度在低位约为三倍->这是传输的问题

-在第三个字节中,最后一个数据位的长度在低位约为三倍 ->这是传输的问题

这都会导致用下面的浅蓝色线标记错误的字节长度。 在两种情况下、输出端的信号形状都很好、因此我认为外部硬件不存在问题。

最近我从编译器版本18LTS 切换到了 v20LTS、问题似乎消失了。 由于这不是正确的验证、而是更像是问题已解决的感觉、因此我的问题:

-编译器版本是否真的要对此行为负责?

-如果是,编译器 v20中的什么变化可能会修复这个问题?

谢谢!

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

    Michael、您好!

    感谢您的查询。

    由于某种原因、可能是为我分配的 TT 所对应的 AM3358器件型号所致。

    我正在检查谁可以支持该线程重新分配。

    在寻找合适的专家时、请预计会有一些延迟。

    此致、

    斯里尼瓦萨

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

    Michael、您好!

    我将重新分配给编译器团队以提供支持。

    此致、

    斯里尼瓦萨

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

    好的、我正在等待反馈!

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

    您好!

    -编译器版本是否真的要对此行为负责?

    -如果是,编译器 v20中的什么变化可能会修复这个问题?

    [/报价]

    很难判断这是否与编译器有关。 如果可以将两个编译器之间的差异缩小到一些代码段、则可以比较编译器生成的输出、并判断编译器是否有所不同。

    此致、

    建中市

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

    好的、但重点是:完全不清楚到底是什么导致了这种行为、因此几乎不可能在编译器输出中找到导致这种行为的确切位置。 一般而言、该行为似乎是其他东西的一些副作用、因此在最坏的情况下、比较 UART 相关代码毫无帮助。

    如上所述、我不确定编译器是否是真正的原因、这就是我 在此要求进行验证的原因。

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

    可以将项目拆分为两个库、一个使用 18LTS、另一个使用 v20LTS。 使用虚拟文件启动18LTS 库、然后逐个将文件添加到此库、直到出现问题。 这样,至少您可以找出有问题的文件。

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

    不幸的是、这是不可能的、因为整个软件都太复杂且彼此连接。 另一点是:问题_is_已经是其他东西的副作用。 因此、当发生这种情况时、只有在使用了其他(不明显相关)函数时才会发生。

    所以我们在这里有点绝望,关于一个可能原因的每一个提示、想法和粗略猜测都是欢迎的。

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

    您好!

    如果不知道问题的来源、我们在此无法为您提供帮助。 我建议指出问题的根源、而不是猜测可能的解决方案。  

    此致、

    建中市

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

    好的,然后让我重复这个问题:它是不可重现的。 它发生在其他无法识别的事物的副作用,因为它似乎与串行接口无关。 问题本身是一个(理论上)根本不可能发生的问题、因为它完全由硬件控制。

    那么、我们究竟该如何确定这一点呢? 当有一个简单的方法来识别问题时、我不会在这里提出这个问题!

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

    您好!

    抱歉、我们无法为您提供调试帮助。 实际上、正如 此处所宣布的、我们已停止为 AM335x 器件支持裸机软件开发

    此致、

    建中市

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

    好的;但这也不是我的问题! 我不需要裸机开发方面的一些帮助、这不是我所要求的! 您能不能这么客气并阅读原来的问题?

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

    您好!

    很抱歉耽误你的时间。 我知道您原来的问题是关于编译器。  

    -编译器版本是否真的要对此行为负责?

    -如果是,编译器 v20中的什么变化可能会修复这个问题?

    [/报价]

    如前所述、我们无法 根据您提供的信息来判断较新编译器可以产生哪些差异。

    此致、

    建中市