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
}
