对于int型在CLA中为32位,而在CPU中为16位,很多外设寄存器的定义是用Uint16定义的,比如EPWM.h文件。然而很多时候会在CLA中访问这些寄存器,CLA与CPU如何实现Uint16数据类型的兼容的?
在E2E上面有些工程师给出:只要把f280xx_cla_typedefs.h文件定义放在device文件前面就可以?请问为什么?
而且在f28004x_cla_typedefs.h中存在预编译符号__TMS320C28XX_CLA__,按照《TMS320C28x Optimizing C/C++ Compiler》的解释,只要编译.cla的文件,__TMS320C28XX_CLA__就会被定义为1,如果按照这种思维,是否可以理解为:
对于使用CLA外设的情况下Uint16数据类型其实就是unsigned short,只不过被使用typedef从定义了,所以CPU和CLA编译器在编译的时候不会出现错误。
请专家对f280xx_cla_typedefs.h文件代码的功能和作用详细的解释一下啊!
谢谢