专家:你好!请教一下F28033CLA协处理器中用C语言写寄存器保护语句如何表达?在主CPU中我们使用的时EALLOW;EDIS语句
user151383853:
CLA 偏重于辅助计算,在要求的这方面的功能很弱,这些功能 CPU 能解决就行了,或者发消息给任务完成。
专家:你好!请教一下F28033CLA协处理器中用C语言写寄存器保护语句如何表达?在主CPU中我们使用的时EALLOW;EDIS语句
user151383853:
CLA 偏重于辅助计算,在要求的这方面的功能很弱,这些功能 CPU 能解决就行了,或者发消息给任务完成。
官方好象没有提到 CLA 能执行这类指令
专家:你好!请教一下F28033CLA协处理器中用C语言写寄存器保护语句如何表达?在主CPU中我们使用的时EALLOW;EDIS语句
囧:
你需要在CLA中配置PWM吗?还是ADC。CLA不支持EALLOW和EDIS的设置,推荐在主CPU中完成。
专家:你好!请教一下F28033CLA协处理器中用C语言写寄存器保护语句如何表达?在主CPU中我们使用的时EALLOW;EDIS语句
囧:
补充一下,在CLA的MSTF寄存器的11位的MEALLOW可以完成此功能。
专家:你好!请教一下F28033CLA协处理器中用C语言写寄存器保护语句如何表达?在主CPU中我们使用的时EALLOW;EDIS语句
user1880609:
回复 囧:
我本是打算在PWM中配置TZ事件,如EPwm1Regs.TZFRC.bit.OST = 1;因为TZ配置是需要寄存器保护的,但我发现在CLA中加入寄存器保护语句EALLOW;EDIS;CLA中断服务程序跑不起来;后来我安装CLA的datasheet上说的改为Cla1Regs._MSTF.bit.MEALLOW = 1;也是一样的情况
专家:你好!请教一下F28033CLA协处理器中用C语言写寄存器保护语句如何表达?在主CPU中我们使用的时EALLOW;EDIS语句
user1880609:
回复 囧:
再请教一个问题:在CLA中用C编写的if…else语句在编译时发现编译出来的汇编语句明显比在主CPU中编译出来的要多很多,这样会严重影响执行速度的,请问这是什么原因?谢谢!
专家:你好!请教一下F28033CLA协处理器中用C语言写寄存器保护语句如何表达?在主CPU中我们使用的时EALLOW;EDIS语句
囧:
回复 user1880609:
可能是编译器优化问题,尝试更改编译器优化等级可能会有改善,CLA的编译器是独立于主CPU的,所以同样的代码CLA的反汇编会和编译器不一样。
专家:你好!请教一下F28033CLA协处理器中用C语言写寄存器保护语句如何表达?在主CPU中我们使用的时EALLOW;EDIS语句
user1880609:
回复 囧:
我用的编译器已经是母线最新的版本了V6.2.4