摘要: 简而言之: Big endian machine: It thinks the first byte it reads is the biggest. Little endian machine: It thinks the first byte it reads is the littlest. 举个例子,从内存地址0x0000开始有以下数据 0x00000x12 0x00010x34 0x00020xab 0x00030xcd 如果我们去读取一个地址为0x0000的四个字节变量,若字节序为big-endian,则读出 结果为0x1234abcd;若字节序位little-endian,则读出 阅读全文
posted @ 2011-03-30 10:41 Nigel-Wen 阅读(663) 评论(0) 推荐(0) 编辑
摘要: 首先说说,什么叫对齐。如果一个数据是从偶地址开始的连续存储,那么它就是半字对齐,否则就是非半字对齐;半字对齐的特征是bit0=0,其他位为任意 值。字对齐的特征是bit1=0,bit0=1,其他位为任意值。如果一个数据是以能被4 整除的地址开始的连续存储,那么它就是字对齐,否则就是非字对齐。举例说明四字节对齐: 对内存进行操作时,被访问的地址必须为4的倍数。如果分配到的地址的地址不是4的倍数时,CPU实际访问的地址还是按照字对齐的方式来操作。也就是自动屏蔽bit1和bit0. 用ADS的ARM C Complier下Optimization Level可能引起问题,其中的一个问题就是字节对齐的 阅读全文
posted @ 2011-03-30 10:15 Nigel-Wen 阅读(653) 评论(0) 推荐(0) 编辑