请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28075 香榭丽舍
我的客户正在通过以下功能读回 IFR 以进行诊断。 但我们会收到警告。 需要做些什么来处理此警告?

谢谢、
Brian
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.
香榭丽舍
我的客户正在通过以下功能读回 IFR 以进行诊断。 但我们会收到警告。 需要做些什么来处理此警告?

谢谢、
Brian
Brian、
虽然 IFR 将存储在 AL 寄存 器中、但您认为仍需要通知编译器 funIFR 将接受该值(即使我们知道它是这样)。 是否可以为 funIFR()函数尝试如下所示的操作:
__asm(" .def _funIFR\n"
" .global _funIFR\n"
"_funIFR:\n"
" PUSH IFR\n"
" POP AL\n"
" LRETR\n");
最棒的
Matthew
第 6.5.2 TMS320C28x 优化 C/C++编译器 v21.6.0.LTS 用户指南的__cregister 关键字 说明了如何通过__cregister 关键字访问 IFR,并具有以下示例代码:
extern cregister volatile unsigned int IFR;
extern cregister volatile unsigned int IER;
extern int x;
main()
{
IER = x;
IER |= 0x100;
printf("IER = %x\n", IER);
IFR &= 0x100;
IFR |= 0x100;
即应该能够尝试上述函数、而不是 funIFR 函数。
我尚未对此进行测试。