Part Number:TMS320F280049C
问题一:
我希望定义一个紧凑型的结构体类型,结构体成员可能包含16位、32位甚至64位变量,要求例化的结构体变量在存储空间上各成员变量之间的地址是连续的,也就是会出现非对齐的变量地址,请问如何实现?
问题二:
定义一个32位/64位指针变量,使该指针指向非对齐的地址(强制转换指针类型实现),测试发现访问该指针指向的数据,总是会变成相邻的前一个对齐地址指向的数据,是否C2000处理器本来就不支持非对齐内存操作?
Green Deng:
你好,可以看一下这个帖子,里面的回复有涉及到你的问题:
https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/918742/tms320f280049-unaligned-atomic-32-bit-memory-load
,
Chongming Ren:
谢谢你!看清楚了,C28x CPU不支持非对齐的数据操作,从ARM平台移植程序过来需要做兼容处理。