【】ARM大小端格式,编译器决定还是CPU决定?
素材来源:网络
有读者问了这么一个问题: 大小端与编译器和操作系统有关吗?
其实大小端 主要由CPU决定 , 与编译器、操作系统这些没有直接关系 。
因为我以前学习的时候 , 有很长一段时间也是存在这样的疑问 。我觉得应该还有很多人都没搞明白 , 所以 , 今天来分享一下相关内容 。
一、关于大小端
关于大小端的解释网上很多教程 , 也不难理解 。
大端模式:是指数据的 高字节保存在内存的 低地址中;
小端模式:是指数据的 高字节保存在内存的 高地址中;
文章图片
文章图片
大小端模式:
字节顺序:
也可以参看我之前分享过的文章:你真的懂CPU大小端模式吗?
二、CPU是大小端存储的决定因素
可能部分初学者被一些外界信息给误导 , 从而有这样的疑惑 。
【【】ARM大小端格式,编译器决定还是CPU决定?】比如:
操作系统是大端还是小端存储?
Keil C51是大端模式 , 认为与编译器有关 。
你了解大小端之后 , 你会发现 , 大小端主要有用于存储的顺序 , 与存储器(硬件)关系比较大 , 编译器和操作系统仅仅是配合CPU编译好相应的代码 , 而不是决定大小端的因素 。
三、ARM大小端模式
ARM处理器默认是小端模式 , 但它是支持大端模式 。
我们在Cortex-M3手册中有这么一些描述: 在 Cortex-M3中 ,存储器系统支持 both 小端配置和大端配置 。
文章图片
文章图片
Cortex-M3 支持 both 小端模式和大端模式 。但是 , 单片机其它部分的设计 , 包括总线的连接 , 内存控制器以及外设的性质等 ,一定要先在单片机的数据手册上查清楚可以使用的端 。在绝大多数情况下 , 基于 CM3 的单片机都使用小端模式 。为了避免不必要的麻烦 , 基本清一色地使用小端模式 。
归根结底 , ARM的大小端模式还是与CPU有关 , 而与编译器和操作系统没有直接关系 。
明材料确认版权并支付稿酬或者删除内容 。
推荐阅读
- 「界面新闻」Karma将推出新车Revero GTE,续航达400英里
- ■SWARMOO贝壳王子·默ANC主动降噪耳机开箱体验
- 『搜狐新闻』SWARMOO贝壳王子·默ANC主动降噪耳机开箱体验
- 「聚成教育」Excel表格技巧—表格怎么清除格式
- 「C114通信网」ARM宣布加入O-RAN联盟 瞄准5G基础设施市场
- @ARM宣布加入O-RAN联盟 瞄准5G基础设施市场
- 「香港新天域互联」三星S8也成功刷入Win10 on ARM系统
- []10nm桌面端定档2022?大小核搭配?换用LGA 1700?
- 【方案】从芯片设计入手,ARM 为 AR/VR 发布『全面计算』SoC 解决方案
- 『用例』从芯片设计入手,ARM 为 AR/VR 发布『全面计算』SoC 解决方案
