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/TMS320F28069:外设中断不会触发 BIOS Hwi

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/690331/rtos-tms320f28069-peripheral-interrupt-does-not-trigger-bios-hwi

器件型号:TMS320F28069

工具/软件:TI-RTOS

我正在尝试将非 BIOS 代码合并到 BIOS 中。  

我没有在代码中放置任何 PIE 初始化。

我使用.cfg 并为 SCI B Rx 端口创建了一个 Hwi ISR 函数。 发生 sci Rx 中断后、INT 标志不会触发 PIE 块。  未触发 ISR fxn。

SYS/BIOS 6.70.1.03

XDCtools 3.50.5.12.

CFG 脚本  

Hwi.zeroLatencyIERMask = 0;
hwi.dispatcherAutoNestingSupport = true;
hwi.dispatcherSwiSupport = true;
BIOS.logsEnabled = false;
var hwi0Params = new hwi.Params();
hwi0Params.instance.name ="hwi0";
hwi0Params.enableAck = true;
hwi0Params.enableInt = true;
program.global.hwi0 = Hwi.create (98、"&ScibReceive_isr"、hwi0Params);

ISR fxn

void ScibReceive_ISR (UArg 参数)

LOG_Info1 ("在中断#%d.\n"、arg 的 ScibReceive_ISR 中执行);

启用中断 标志后的 SCI 寄存器位状态

ScibRegs.SCIFFRX.bit.RXFFIENA=1
ScibRegs.SCIFFTX.bit.SCIFFENA=1
ScibRegs.SCIFFRX.bit.RXFFINT = 1.

我已经尝试 在  调试模式中手动启用相应的 PIE IFR 位。 ISR fxn 可以正常工作。

有人能帮我解决可能出现的问题吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我为复位和使能设置了 SCI reg、但它无法正常工作。

    void ScibReceive_ISR (UArg 参数)

    PushSciRxBufToRxQueue (&ScibRegs、&ScibRxQueue);// SCI 被接收、复位和启用。
    ScibRegs.SCIFFRX.bit.RXFFOVRCLR=1;//清除溢出标志
    ScibRegs.SCIFFRX.bit.RXFFINTCLR=1;//清除 SCI FIFO 中断标志
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看到您将此帖子标记为已解决。 您说它现在可以工作、还是仍然需要帮助?

    惠特尼