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/TM4C1294NCPDT:在 HWI 上下文中调用函数

Guru**** 2575345 points
Other Parts Discussed in Thread: TM4C1294NCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/780772/rtos-tm4c1294ncpdt-calling-function-in-hwi-context

器件型号:TM4C1294NCPDT

工具/软件:TI-RTOS

您好!

我正在使用 TI-RTOS 在 TM4C1294NCPDT 上开发嵌入式应用。

是否可以在 TI-RTOS 的 HWI 上下文中调用函数?

如果是,则需要哪些设置和配置?

我也试图这样做,但我得到了一些断言。

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

    您好 Harshal、

    您要调用什么函数? 您可以查看 SYS/BIOS API 参考来查看调用上下文表。 例如、你不能从一个 Hwi 调用 Task_sleep。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我需要调用作为应用一部分的函数。 对于 I2C 驱动程序、提供在 Hwi 上下文中调用的回调函数。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在回调模式下、Hwi 调用 I2C_transfer 回调。 您的问题是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    与在 Hwi 上下文中调用函数的 I2C 驱动程序类似、我还想在 Hwi 上下文中调用函数、但它使我得到了断言。

    我需要弄清楚为什么会发生这种情况?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Patil、

    [引用 user="harshal Patil"]是否可以在 TI-RTOS 的 HWI 上下文中调用函数?

    是 的、即使对于不源自 TI-RTOS 任务处理程序的信标计时器调用、这也是有效的。

    [引用 user="harshal Patil"]如果是,则需要哪些设置和配置[/quot]

    安装或 加载 TI-RTOS M3模块 并配置 使用过的相同寄存中断(startup_ccs.c)。  

    回调 和中断处理程序 与 RTOS M3模块配合工作良好。

    将所有 INT 矢量移植到 M3模块后、不要忘记从工程编译中删除 startup_ccs.c。

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

    如果您在 I2C_transfer 中使用阻塞模式、则会遇到错误、因为它在 Hwi 中调用 Semaphore_pend (值不为零)。 这会导致断言、因为它不受支持。 您可以改用回调模式。 然后、您可以从 Hwi 调用 I2C_transfer。 传输完成后将调用您的回调。

    您不能使用 TI-RTOS 驱动程序、只能使用 driverlib。 我相信这正是 BP101所指的。

    Todd