嵌入式系统技术应用与开发
上QQ阅读APP看书,第一时间看更新

2.2.1 ARM体系结构的存储器格式

2.2.1 ARM体系结构的存储器格式

在计算机中,内存可寻址的最小存储单位是字节。在内存中存储多字节数时存在字节顺序问题,即是高位字节在前,还是低位字节在前。不同的处理器采取的字节顺序可能不一样,Motorola的Power PC系列CPU和Intel的x86系列CPU是两个不同字节顺序的典型代表。Power PC系列中低地址存储最高有效字节,即所谓大端格式方式;x86系列中低地址存储最低有效字节,即所谓小端格式方式。

图2-5更清楚地说明大端格式和小端格式的区别。对于一个十六进制4字节数0x12345678,其最高有效字节是0x12,最低有效字节是0x78,存储的起始地址是0。在大端格式存储方式中,最高有效字节是0x12存储在最低地址处;而小端格式存储方式里最低地址处存储的是最低有效字节0x78。

图2-5 不同字节顺序的多字节数存储方式

a) 大端格式字节顺序的字节存储方式 b) 小端格式字节顺序的字节存储方式

嵌入式系统开发中,字节顺序的差异可能带来软件的兼容性问题,需要特别注意。在很多嵌入式处理中,大端格式和小端格式两种模式都可以支持,只不过需要对处理器设置相应的工作模式。