Thread 中讨论的其他器件:controlSUITE、 C2000WARE
工具/软件:TI C/C++编译器
大家好、
我正在使用 F28075并尝试了解字节外设的工作原理。 我的目标是使 DCAN 外设正常工作。
我只有一个示例代码位于 controlSUITE/DEVICE_SUPP支 架/F2807x 目录中。 我在论坛上看到用户提到了 C2000Ware。 我应该使用以下哪些库作为起点、其中一个库的维护效果比另一个库更好?
我有 TMS320F2807x 技术参考手册 、它在21.3.1章节中只提供了以下信息:
注意:CAN 模块使用一个特殊的寻址方案来支持字节访问。 这与 USB 模块上使用的寻址相同。 为了便于使用、建议只对 CAN 寄存器进行32位访问。 但是、在更高的优化级别、编译器可能会将32位访问拆分为两个连续的16位访问、这将损坏寄存器值。 正在开发编译器修复程序。 同时、16位访问可被用作一个权变措施。 低16位应写入寄存器的地址、高16位应写入寄存器的地址加2。
我正在禁用所有优化、因此我认为我可以强制执行32位访问(MOVL 指令)、但我不介意在必要时使用16位访问权的权变措施。 但是、我想知道对调试器和表达式窗口的影响是什么。 调试器是否能够显示 DCAN 寄存器的正确值?
3.我还有《TMS320C28x 优化 C/C++编译器 v18.1.0.LTS 用户指南》、我正在尝试理解第6.14.6."使用字节外设类型属性"一章、但我无法理解。 是否有更详细的解释?
这句话的意思是: "字节外设桥通过将地址视为字节地址来转换 CPU 和字节外设之间的地址。"? 这是否意味着当您对字节外设中的地址进行16位写入时、该值在8位处被截断?
谢谢、
皮埃尔