NIOS 中 *(short *)&buf[1]=0x1234,buf没存储到正确数值
本帖最后由 sjx000000 于 2015-9-24 10:49 编辑*(short *)&buf_dd=0x1234;执行后得到:buf=0x34,buf=0x12。
按照取地址的运算是buf=0x34,buf=0x12,和运算结果不一样。取地址是buf,为什么是从buf_dd开始存数据,不是buf_dd。
有什么方法能实现吗? 这个是内存对齐的原因,你按short写就必须要两字节对齐,Nios又是小段格式,所以就很好理解你得出的结果。 jungleyang 发表于 2015-9-24 11:32
这个是内存对齐的原因,你按short写就必须要两字节对齐,Nios又是小段格式,所以就很好理解你得出的结果。 ...
在STM32 中没发现这种问题。nios 中能否通过设置或其他方式解决?
页:
[1]