STM32的字对齐问题

[复制链接]
4117|3
 楼主| seawwh 发表于 2008-8-4 11:26 | 显示全部楼层 |阅读模式
使用STM32的时候,定义一个32位或者16位字在奇地址,后续运算会有问题吗?
我试验了一下好像可以在奇地址。
  是否所有的ARM都可以定义在奇地址呢?

代码如下:

typedef  union {
   vu8  BB[4];
   vu32 WW; 
}  tIP;


tIP   AA  ,BB, *p;
u8    xBu[10]={ 1,2,3,4,5,6,7,8,9,10}; 

  p=(void *)&xBu[0];
  AA.WW=(*p).WW;  
  p=(void *)&xBu[1];
  BB.WW=(*p).WW;
香水城 发表于 2008-8-4 11:29 | 显示全部楼层

在STM32中,可以分配32位或者16位字在奇地址

不是所有的ARM都可以。
Again_gyf 发表于 2008-8-4 13:16 | 显示全部楼层

好象不可以吧!

记得在MSP430,ARM7里是不可以的!
测试了下在STM32可以的!呵呵
香水城 发表于 2008-8-4 13:26 | 显示全部楼层

也许楼主给的例子不在奇地址上,但Cortex-M3允许奇地址数据

你可以实际测试一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

145

主题

368

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部