ZHCACD3A march 2023 – april 2023 TMS320C28341 , TMS320C28342 , TMS320C28343 , TMS320C28343-Q1 , TMS320C28344 , TMS320C28345 , TMS320C28346 , TMS320C28346-Q1
在基于 C28x CPU 的项目中,不支持 8 位数据类型。char 为 16 位宽,uint8_t 和 INT8_t 类型不是由 C28x 编译器定义的。C2000Ware 将这些数据重映射到 uint16_t 和 int16_t 数据类型。有关数据类型的更多信息,请参阅 TMS320C28x 优化 C/C++ 编译器 v22.6.0.LTS 用户指南。
但是,C28x 编译器为字节访问提供了内在 __byte()。有关详细信息,请参阅 https://software-dl.ti.com/ccs/esd/documents/c2000_byte-accesses-with-the-c28x-cpu.html。
示例:
struct
{
uint8_t a;
uint8_t b;
uint16_t c;
} myStruct;
在 Arm 器件中,myStruct 的大小为 8 + 8 + 16 = 32 位。而在 C28x 中,大小为 16 + 16 + 16 = 48 位。
示例:
uint8_t a = 0xFF;
a += 1;
if (a == 0)
{
//Condition is true for Arm and false for C28x
}