各位前辈,我最近在做一个项目,把原来逆变器控制平台的控制芯片28335换成28035,由于28335是浮点运算芯片,28035是定点运算芯片。再转换中,对于原来的程序有什么需要特别注意的?
在28035的datasheet中看到说32位浮点算术加速器,这个对于28035进行浮点运算有何作用?(可能我对浮点和定点运算的概念也是一知半解,还请各位前辈不吝赐教!)
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.
各位前辈,我最近在做一个项目,把原来逆变器控制平台的控制芯片28335换成28035,由于28335是浮点运算芯片,28035是定点运算芯片。再转换中,对于原来的程序有什么需要特别注意的?
在28035的datasheet中看到说32位浮点算术加速器,这个对于28035进行浮点运算有何作用?(可能我对浮点和定点运算的概念也是一知半解,还请各位前辈不吝赐教!)
打开工程属性到C2000 compiler选项下的processor options,查看右边窗口里的floating point unit的选项是否打开为fpu32.
floating point support确实是fpu32,是不是说明我原先的程序是运用了浮点的运算?另外,关于28035的datasheet中的32-bit floating math accelorator不能做浮点运算吗?需要对程序进行重新定标?
xiaodong li5 说:floating point support确实是fpu32,是不是说明我原先的程序是运用了浮点的运算?
那要看你程序里是否有定义float类型的数据,以及是否有FPU能够支持的指令对应的运算,同时你的编译选项里需要包含fpu32对应的library文件。
xiaodong li5 说:另外,关于28035的datasheet中的32-bit floating math accelorator不能做浮点运算吗?需要对程序进行重新定标?
CLA当然可以实现浮点运算,但它与FPU不同,是独立的处理单元,只能进行中断函数的处理,而FPU是与C28x CPU共用流水线的一个辅助单元,并不能单独工作,虽然它可以在中断或查询中处理浮点运算。简单来说,它们的设计初衷和使用方法有不同,因此使用上也有差异。