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.

[参考译文] RTOS:uartecho_MSP_EXP432P401R_tirtos_ccs 简单链接不起作用

Guru**** 2560390 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/597193/rtos-uartecho_msp_exp432p401r_tirtos_ccs-simple-link-not-working

工具/软件:TI-RTOS

您好!

我最近切换到了 simplelink。

我已经尝试过 uartcho、但代码堆栈位于:

UART_WRITE (UART、echoPrompt、sizeof (echoPrompt)); 

我使用 simplelink 1.30

感谢你的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能提供更多详细信息吗? 您是否从1.30 SDK 中导入了 UART Echo 示例? 什么不起作用:构建、加载、运行等?

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

    您好 Todd、

    我已导入  

    uartecho_MSP_EXP432P401R_tirtos_ccs 

    例如、我没有更改任何内容、代码将写入 COM 端口。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们以前没有看到过这个问题。 您能告诉我们以下版本吗
    - CCS (或 IAR)
    - XDCtools
    - Windows (或您使用的任何主机)
    -编译器

    您正在使用什么终端程序(例如 PuTTy 等)? 您是否在项目中阅读了 readme.html 以确保您拥有正确的波特率等

    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    -CSS:版本:7.1.0.00016
    -XDS110
    iMac OSX
    TI v16.9.1 LTS

    就像我了解的那样、终端版本或是否连接了 COM 端口的导线并不重要。

    UART 写入应该起作用。

    我还尝试更改了 COM 端口、但情况相同。

    在使用简单链接之前、我没有对 UART 有任何问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们将确认它正在使用 OSX。 同时,您能否查看 Tools->ROV->Task->CallStacks 并查看回显任务的调用堆栈?

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

    感谢您的快速响应。

    这是我目前所拥有的。

    从未达到 while 上的中断代码。

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

    您能否在 mainThread 函数中的第一个 UART_WRITE 和第一个 UART_Read 处设置断点。 然后,当您单击第一个断点时,附加 ROV->Tasks->CallStacks 图片。 例如:

    然后继续。 根据您的说法、您不会点击 UART_READ。 请暂停目标(Alt-F8)并获取相同的图片。 我想查看 UART_WRITE 阻止在哪个调用上。

    Todd

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

    写入时的第一个中断:

    恢复时:

    它可以是相同的堆栈数据。

    我还尝试将第二个断点放在读取上、但情况相同。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不知道为什么这不起作用? 其他示例是否有效? 您是否有另一个可以在上面尝试此操作的 LaunchPad? 是否禁用了看门狗(CCS 中的 GEL 文件通常会将其关闭)。

    是否可以删除所有断点、重新加载程序并运行它? 然后将其挂起并再次从 ROV 中发布 CallStack 视图。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我随附了一个全新的 MSP432、创建了一个新的工作区、导入了 UART 示例。

    代码仍然无法到达 while 代码中的读取部分。

    下面是运行和暂停的3个屏幕截图(我看到正在运行的线程接缝)

    我真的很喜欢 UART:/

    我尝试过的所有其他示例(SD、SPI、基本示例)都可以正常工作。

    谢谢!


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

    这种回溯更有意义。 在等待 ISR 运行并发布信号量的信号量上、UART_WRITE 被阻止。 现在、问题是 ISR 为什么不运行。 您如何通过电路板上的 USB 连接到 LaunchPad? 在该 USB 连接中应存在反向通道 UART。 您能否确认在 Mac 上看到它。 在 Windows 中、我将查看设备管理器并查看两个端口:一个用于仿真(在本例中为 COM6)、另一个用于反向通道 UART (在本例中为 COM5):

    您是否更改了 LaunchPad 上的任何跳线?

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

    我现在已将 TX 和 Rx 连接在一起(LOOP)进行测试、很遗憾、现在无法在 Mac 上使用 UART 调试器(存在错误、您只能选择 COMX 作为选项、但在 Mac 上、COM 端口被识别为 tty.UART)。 为解决此问题,我在需要时通过 TTL->USB 适配器连接了另一台 PC。


    但我很确定问题出在软件中。  

    这是我的最新测试结果:  

    测试1:  

    适用于 MSP432x 的 TI-RTOS -> TI 驱动程序示例-> UART 示例-> UART Echo。

    一切都正常、程序会写入回显提示符、并转到 while 循环、在该循环中按应有的方式进行循环(我在 TX-Rx 上有一个跳线)

    测试2:

    simplelink_MSP_432_SDK_1_30_00_40 -> MSP_EXP432P401R ->驱动程序-> uartecho -> tirtos -> css

    程序挂起、就像我已经写的那样。

    因此问题不在硬件中、或者至少不在电路板中。

    现在 simplelink 驱动程序或 Mac 中有问题吗? 我不知道:/

    感谢你的帮助

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

    您好!

    我已经能够在 Mac 上成功运行代码。  下面是我运行示例所遵循的步骤:

    1. 打开 CCS 并按照记录的过程导入新副本 uartecho 示例。
    2. 确保 Launchpad 上的仿真、RXD 和 TXD 引脚已跳线连接。  这样可确保 MSP432上的 UART 外设通过仿真器连接到 Mac (按照 Board.html 文件中所示的跳线进行操作)。
    3. 构建示例并将其加载到 MSP432器件中。
    4. 打开终端窗口并运行以下命令:"~$ ls /dev/tty *"。  这将显示连接到您的计算机的所有 TTY 设备的完整列表。  如上所述、UART 端口将枚举为"tty.usbmodemM432*"。  XDS110仿真器实际上会创建两个实例;您始终希望使用编号最小的实例。

    5. 在同一终端窗口中、使用屏幕程序进行串行通信。  我使用以下命令:"~$ screen /dev/tty.usbmodemM4321001 115200"。
    6. 运行示例。  您应该能够在创建的屏幕会话中键入字符、并在屏幕上看到它们回显。
    7. 完成后、使用以下命令退出屏幕会话:"Ctrl+a"、然后字母"k"。  然后确认您正在退出屏幕会话。

    请告诉我这是否有帮助、

    伊曼纽尔

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

    感谢您的详细回答。
    您能告诉我您的 OSX 版本、CCS 版本和 simplelink 版本吗?

    我已将示例导入控制台中、我可以看到2个 COM 端口并侦听、但遗憾的是、程序在第一次写入时仍然挂起。

    我已经在 Mac 专业版和 iMac 上测试了该示例。 在这两种情况下、我都尝试了新的安装+和新的 msp432板。


    谢谢你
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    伊曼纽尔今天外出。 他明天会回答。

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

    谢谢、

    我发现、写入函数在发送第一个字符后挂起。  

    我要附上下面的屏幕截图:

    库中必须存在问题。
    希望我们可以解决这个问题、这是我在投入生产之前需要实施的最后一个问题。

    Miha.

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

    感谢你的帮助