打印

STM32的字对齐问题

[复制链接]
3389|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

帖子

0

粉丝