工具/软件:
您好、
我使用 mcu_plus_sdk_am64x_10_01_00_32来尝试 mcan_external_loopback_interrupt_am64x-evm_r5fss0-0_freeRTOS 示例、但在调试代码时、编译器块如下面的屏幕截图所示。 我没有显示任何调试日志。
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.
工具/软件:
您好、
我使用 mcu_plus_sdk_am64x_10_01_00_32来尝试 mcan_external_loopback_interrupt_am64x-evm_r5fss0-0_freeRTOS 示例、但在调试代码时、编译器块如下面的屏幕截图所示。 我没有显示任何调试日志。
尊敬的 Elbon:
该示例有一个单独的 Tx 和 Rx 应用:
您正在将应用程序的 Rx 端加载到内核 r5f0-0上并观察相应的日志、但未加载 Tx 应用程序、该应用程序应加载到 r5f0-1、这意味着没有数据发送到 MCAN0、因此测试未完成、并卡在等待来自 MCAN1的数据。 在调试器中、您需要分别从 r5fss0-0_freeRTOS 和 r5fss0-1_nortos 加载二进制文件、并运行两个内核、在这种情况下、您将能够运行此示例。 另请注意、要使此示例正常工作、您需要在外部连接 MCAN0和 MCAN1、请参阅: https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/11_00_00_15/exports/docs/api_guide_am64x/EXAMPLES_DRIVERS_MCAN_EXTERNAL_LOOPBACK_INTERRUPT.html
我遵循了这些步骤并获得了预期的结果:
此致、
会面。
您好、
我导入了工程 'system_freertos_nortos' 、其中包含两个项目文件: 'r5fss0-1_nortos' 和 'r5fss0-0_freertos' 。 我正在从这两个文件加载二进制文件 r5fss0-0_freeRTOS 和 r5fss0-1_nortos 工程 r5f0-0 和 r5f0-1 分别。 但是、我在控制台中看不到任何输出、如下面的屏幕截图所示。
尊敬的 Elbon:
您能否确认是否从 MCAN0到 MCAN1进行了外部连接?
[引述 userid="647888" url="~/support/processors-group/processors/f/processors-forum/1498197/processor-sdk-am64x-mcan-external-loopback-issue/5757008 #5757008"]但是、我在控制台中看不到任何输出、如下面的屏幕截图所示。
[/报价]您在 UART 终端中看到任何日志吗?
如果进行了正确的连接、那么您应该能够在 UART 终端中查看我在上一个响应中附加的日志、这个日志在我这边有效
此致、
会面。
尊敬的会议:
希望您做得好。
正如我提到的、当前设置对我来说不起作用。 我想使用 CAN 接收来自 A53内核的数据,并使用来自 R5内核的 IPC RPMsg 发送数据。 您能为我的设置建议一个解决方案吗?
目前、我正在测试该示例mcan_external_loopback_interrupt_am64x
、目的是集成 IPC RPMsg 代码。 但是、这个示例mcan_external_loopback_interrupt_am64x
对我来说不起作用。
如果您对我的工作有任何其他改进建议、我愿意听取他们的意见。
此致、
Elbon。
尊敬的 Elbon:
如果您在调试器中暂停执行、您看一下程序是卡在特定指令上还是在特定错误上? 您能尝试逐步浏览代码并识别问题吗?
我仍然怀疑程序本身存在任何问题、从我的回答中可以看出、我在 UART 终端和 CCS 控制台中都收到了日志。
您能否确认是否在启用 CCS 日志后重新编译了两个应用? 请使用 UART 终端进行一次检查、如果您在该主题上看到任何日志并附加相同的日志、可以参阅此链接、了解如何检查 UART 终端上的日志: AM64x MCU+ SDK:EVM Setup
此致、
会面。
这是 UART 模式下的输出:
您是从 Linux 还是 CCS 加载应用程序? 如果 Linux 和 MCAN 示例使用相同的 UART、则您可能无法查看日志。
它到达vTaskStartScheduler();
代码停止并停止执行的行。
执行没有停止、从调试窗口中可以看出 R5_0_0正在运行、因此我认为应用程序没有任何问题。 调试器不会在任何位置停止、因为您尚未设置任何断点。 验证应用程序是否正常工作的另一种方法是在中的此处设置断点 mcan_rx_only_interrupt.c 文件:
对于 r5f0-1上的 Tx 应用程序、可在 mcan_tx_only_interrupt.c 中设置断点、如下所示:
如果调试器在这些指令处停止、那么您可以验证应用程序是否正常工作、只是由于某种原因无法查看日志。
请注意、这两个应用都需要运行才能访问此处。
此致、
会面。
请注意、这两个应用程序都需要运行才能访问此处。
从调试器窗口似乎您这次没有加载 r5f0-1应用程序、您需要加载并运行这两个应用程序以使应用程序继续运行。
如果暂停执行、您可以看到程序当前处于哪个指令? 我想它将遵循中的指令 mcan_rx_only_interrupt.c 、 等待 Tx 数据、因为 r5f0-1上的 Tx 应用程序未运行:
是的,我认为调试器停止在这一行:
您是否也会运行 r5f0-1并检查、r5f0-0上的 Rx 应用程序在此处卡住、因为它正在等待从 r5f0-1应用程序接收消息。
另请确认外部连接是否按照此处所述正确完成: software-dl.ti.com/.../EXAMPLES_DRIVERS_MCAN_EXTERNAL_LOOPBACK_INTERRUPT.html
流程如下所示: