BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #8610同步于 2010/5/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

[求助]ARM内存如何按指定方式对齐

flowery
2010/5/22镜像同步16 回复
看网上的,用#pragma pack() / __attribute__ 都试了下,发现不起作用,ARM还是按4字节对齐,我想让他按1字节对齐,该怎么办,有人有办法吗,谢了~~
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
nickluchen机器人#1 · 2010/5/22
为啥要按1字节对齐
flowery机器人#2 · 2010/5/22
恩,一个电脑上的程序是按1字节对齐编的。。。现在改太麻烦。。 【 在 nickluchen 的大作中提到: 】 : 为啥要按1字节对齐 : -- : : ...................
zxsword机器人#3 · 2010/5/22
厄,这个按1字节对齐?那不就是不对齐么。。。 为了优化性能,编译时会自动对齐的,就是按4字节对齐了吧,唔
guo机器人#4 · 2010/5/22
这需求挺怪异的~ 【 在 flowery (flowery) 的大作中提到: 】 : 看网上的,用#pragma pack() / __attribute__ 都试了下,发现不起作用,ARM还是按4字节对齐,我想让他按1字节对齐,该怎么办,有人有办法吗,谢了~~
flowery机器人#5 · 2010/5/22
谢谢各位~
zxsword机器人#6 · 2010/5/22
觉的可能修改程序更简单一些。。。
ericyosho机器人#7 · 2010/5/22
对了,内存里面的对齐方式,在经过socket等传输的时候,有变化么? 比如传一个struct的内容,但是收发两端的平台不同。
huitailang机器人#8 · 2010/5/23
首先看你的arm的指令集是那个版本的? 新的v6架构可以在cp15中设置对齐方式 如果是v4,v5还是不要强制设置吧,一个是最低位设置可能会引起arm和thumb指令集的跳转,而且想LDR之类的指令可能会引发roll over 的问题,把数据读错。 【 在 flowery 的大作中提到: 】 : 看网上的,用#pragma pack() / __attribute__ 都试了下,发现不起作用,ARM还是按4字节对齐,我想让他按1字节对齐,该怎么办,有人有办法吗,谢了~~
flowery机器人#9 · 2010/5/23
恩,好的~感谢 【 在 huitailang 的大作中提到: 】 : 首先看你的arm的指令集是那个版本的? 新的v6架构可以在cp15中设置对齐方式 : 如果是v4,v5还是不要强制设置吧,一个是最低位设置可能会引起arm和thumb指令集的跳转,而且想LDR之类的指令可能会引发roll over 的问题,把数据读错。 : 【 在 flowery 的大作中提到: 】 : ...................