请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28377S Thread 中讨论的其他器件:controlSUITE、 C2000WARE
工具/软件:TI C/C++编译器
我要将 CAN 例程从我们之前的 F28335处理器移植到 F28377S。 (不确定为什么在发布新一代 Delfino 时必须更改 CAN 硬件、但该问题已在论坛中得到解决)。 我将使用 CCS v7.3.0和 controlSUITE 3.4.6。
《技术手册》有一个注释: 建议只对 CAN 寄存器进行32位访问。 但是、在较高的优化级别、编译器可能会将32位访问拆分为两个16位访问、这会损坏寄存器值。 正在开发编译器修复程序。 同时、16位访问可被用作一个权变措施。
我使用的编译器是否修复了此问题? 我是否必须使用__byte_peripheral_32内在函数? 您是否有一个示例说明如何执行此操作? 您最适合使用哪组 controlSUITE 示例: 常用目录中的 F2837xS_CAN.c 或 common/driverlib 目录中的 CAN.c?