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.

[参考译文] PROCESSOR-SDK-J722S:J722S mcu10、如何打印任务外的日志?

Guru**** 2422660 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1537218/processor-sdk-j722s-j722s-mcu10-how-to-print-log-outside-task

器件型号:PROCESSOR-SDK-J722S


工具/软件:

尊敬的 TI 专家:  

 我正在使用 MCU SDK v11、example/mcan/mcan_loopback_interrupt 作为 start、 并想打印调试日志。

 使用`DebugP_log` API、可以打印示例代码。  但当我在其他地方使用此 API 时、它不起作用。

1.当处于像 App_mcanIntrISR 这样的 IRQ 回调中时,它不打印任何内容,但程序仍在运行。

2.在外部任务(例如调用 xTaskCreateStatic 之前)打印时 、应用程序未运行。

您能帮助我检查这个问题、以及如何解决这个问题吗?

谢谢。

  

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

    追加: 我已经看到了

    1.  https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-j722s/11_00_00_06/exports/docs/mcu_plus_sdk_j722s_11_00_00_12/docs/api_guide_j722s/KERNEL_DPL_DEBUG_PAGE.html ,它说不能在 IRQ 中工作,

    2.源代码, 它调用 SemaphoreP_pend 使线程安全。   因此、它可能不在任务函数之外工作。

    那么、在这 2 种情况下是否有方法打印调试信息?

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

    您好、

    1. 当处于 IRQ 回调(如 App_mcanIntrISR)时、它不打印任何内容、但程序仍在运行。

    在 ISR 中打印 App_mcanIntrISR 文件的方式应与打印调试日志的方式相同。 如果它没有打印任何内容、则可能未达到 MCAN ISR。

    2. 在外部任务(例如调用 xTaskCreateStatic 之前)打印时、 应用程序未运行。

    任务开始前您尝试打印哪些调试信息?

    2. 源代码时、 它调用 SemaphoreP_pend 以使线程安全。   因此、它可能在任务函数之外无法正常工作。

    是的、这是正确的、因此取决于您尝试打印的时间点。 您尝试在 DPL_init () 之后还是之前?

    谢谢、

    Neehar

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

    1.  

    在 ISR 中像 App_mcanIntrISR 一样打印应该与打印调试日志的方式相同。 如果它不打印任何内容、则可能未到达 MCAN ISR。

    请仔细检查一下、   

     

    它说不允许,  有什么遗漏?

    2.   

    是的、这是正确的、因此取决于您尝试打印的时间点。 您尝试在 DPL_init () 之后还是之前?

    [/报价]

    我 `S在任务创建之前调试一些,例如在  main 启动后的` ysty_init () 或 Board_init () 函数  期间,我只想在开发期间使用它,不想任何任务安全保护, 是否有任何 UART API TX 函数直接向 PC 发送数据?

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

    您好、

    我想在任务创建之前调试一些   问题、例如、在`Systy_init ()`或 board_init () 函数启动 main 后、  我只想在开发过程中使用它、不希望 有任何任务安全保护、是否有任何 UART API TX 函数直接将数据发送到 PC?

    只要 UART 驱动程序已正确初始化并打开、就可以在创建任务之前进行调试。   对 MCU+SDK 示例初始化 UART 的两个函数调用包括 System_init () Drivers_uartOpen () 中的 Drivers_uartInit ()(在 main.c 的开头) 如果您从 mcan_loopback_interrupt 示例中移动这些函数调用的逻辑、您将能够事先打印调试日志。

    您可以在[MCU+SDK]/examples/drivers/mcan/mcan_loopback_interrupt/j722s-evm /[core]/ti-arm-clang 中查看这些函数实现

    谢谢、

    Neehar