ARM CPU大小端

发布者:温馨阳光最新更新时间:2020-02-17 来源: eefocus关键字:ARM  CPU  大小端 手机看文章 扫描二维码
随时随地手机看文章

ARM CPU大小端:

大端模式:低位字节存在高地址上,高位字节存在低地址上 
小端模式:高位字节存在高地址上,低位字节存在低地址上

 


STM32属于小端模式,简单的说,比如u32 temp=0X12345678;
假设temp地址在0X2000 0010.
那么在内存里面,存放就变成了:
地址              |            HEX         |
0X2000 0010  |  78   56   43  12  |

CPU到底是大端还是小端,可以通过如下代码测试:


//CPU大小端

//0,小端模式;1,大端模式.

static u8 cpu_endian;


//获取CPU大小端模式,结果保存在cpu_endian里面

void find_cpu_endian(void)

 int x=1;

 if(*(char*)&x==1)cpu_endian=0; //小端模式 

 else cpu_endian=1;    //大端模式  

}


以上测试,在STM32上,你会得到cpu_endian=0,也就是小端模式.

小端模式的测试,一般arm都默认是小端方式

来看看大端模式的测试:

以上测试图片来自百度百科。也感谢正点原子。

关键字:ARM  CPU  大小端 引用地址:ARM CPU大小端

上一篇:libxml2 ARM 交叉编译
下一篇:ARM学习笔记15——串口通信基本原理

推荐阅读最新更新时间:2024-11-10 05:29

ARM的合作恐导致Intel分裂?
与ARM的合作可能标志着处理器巨擘Intel将分裂为制造服务与技术销售两个部份的开始? 藉由将在10奈米FinFET制程技术全面支援ARM的IP,英特尔(Intel)在晶圆代工市场向台积电(TSMC)、三星(Samsung)以及Globalfoundries等同业叫阵;而Intel与ARM的合作,也可能标志着这家处理器巨擘终将分裂为制造服务与技术销售两个部份的开始,换句话说,那将是我们似曾相识的,Intel的最后结局。 短期看来,这桩合作案是承认了──至少在手机领域──ARM架构是王道,也是晶片开发商坚持在系统晶片中采用的;尽管Intel在过去砸了数十亿美元试图进军手机市场,该公司还是妥协了,并且让其晶圆代工业务与A
[半导体设计/制造]
基于ARM7软中断程序的设计
1 存储器部分原理 笔者在设计一项目时采用LPC2458。此CPU为ARM7内核,带512K字节的片内FLASH,98k字节的片内RAM,支持片外LOCAL BUS总线,可从片外NOR FLASH启动CPU。由于代码量较大,程序放在片外的NOR FLASH中。且存在片外NOR FLASH在运行程序时,需对片外的NOR FLASH擦写的需求。图1为存储部分框图。 图1 存储部分原理框图 在设计中,片外NOR FLASH的大小为16M字节。其中2M规划为存放运行程序,剩余的空间用于产品运行日志,告警灯存储空间。因此存在着在程序运行时对片外NOR FLASH擦写的需求。如果程序正在正常运行的片外FLASH中去擦写
[单片机]
基于<font color='red'>ARM</font>7软中断程序的设计
基于ARM S3C44B0X的LED显示屏设计
1 、引言 LED 显示屏应用十分广泛,是信息传播的有效工具。在某井下矿采设备监测系统中选用了ARMS3C44B0X32 位单片机作为CPU,根据应用要求,监测系统的显示部分使用16 行的单色L ED 显示屏实时显示监测数据。由于系统外设较多,端口资源十分紧张,针对这种情况开发了一种四线驱动的显示屏电路设计方案,很好地解决了这个问题。 2、 常见的驱动电路设计及改进 在常见的显示驱动电路设计中,列控制一般采用串入并带锁存的移位寄存器如74HC595 ,将数据打入锁存器中,使寄存器各引脚呈现与锁存器相同的状态来选中需要点亮的列。行控制一般采用译码器电路如4/ 16 译码器74HC154 ,控制信号经译码后选中需要点亮的行。这种硬
[单片机]
基于<font color='red'>ARM</font> S3C44B0X的LED显示屏设计
GNU ARM汇编--(十六)bootloader与kernel之间
在 《GNU ARM汇编--(十五)linux下的printascii》 中已经初步分析了自己写的bootloader在引导kernel时候出现的commandline在bootloader和kernel之间传递的问题,今天终于解决了,并对参数传递有一些研究: 传递的参数为: view plain copy params- u1.s.page_size = LINUX_PAGE_SIZE; params- u1.s.nr_pages = (DRAM_SIZE LINUX_PAGE_SHIFT); params- commandline 设定为 noinitrd root
[单片机]
ARM7学习---GPIO笔记
学习51单片机也好还是ARM或是其他类型的MCU,首先也是最基础的还是需要了解其IO口特性和配置,最近学习ARM7,芯片型号是LPC2103,因为自己做了一块PCB板子,用J-LINK调试学习。以前一直不清楚GPIO是什么,因为学51的时候单片机引脚就叫IO口,但是学了AVR和ARM等以后发现,终于明白51的准双向口的含义,一般其他单片机,我用过的有AVR PIC 还有台湾的义隆单片机,合泰单片机等,其IO口都是双向的,需要进行配置才能作为输入输出口或是高阻态来使用。就是我们一般说的GPIO(General Purpose Input Output通用输入/输出)。现在针对于ARM7 LPC2103这个芯片来看,具体需要看datas
[单片机]
<font color='red'>ARM</font>7学习---GPIO笔记
(嵌入式)关于arm中的存储控制器(一)
实验目的: 由于开发板(JZ2440 V3)上电后从Nand flash启动CPU时,CPU会通过内部的硬件将Nand flash的前4K数据复制到称为“Steppingstone”的4K内部SRAM中(起始地址为0),然后跳到地址0开始执行。 这个实验我们先用汇编语言设置好S3C2440芯片内部的存储控制器,使外接的SDRAM可以操作使用:然后把程序本身从“Steppingstone”(即芯片内部的4K SRAM)复制到SDRAM处,最后跳到SDRAM中执行。 知识预备: 存储控制器(memory controller):它为CPU提供了访问外部设备所需的信号,这是一种通过总线方式来访问拓展的外设,在嵌入式中,这些拓展的
[单片机]
(嵌入式)关于<font color='red'>arm</font>中的存储控制器(一)
arm启动代码详解
基于ARM的芯片多数为复杂的片上系统,这种复杂系统里的多数硬件模块都是可配置的,需要由软件来设置其需要的工作状态。因此在用户的应用程序之前,需要由专门的一段代码来完成对系统的初始化。由于这类代码直接面对处理器内核和硬件控制器进行编程,一般都是用汇编语言。一般通用的内容包括: 中断向量表 初始化存储器系统 初始化堆栈 初始化有特殊要求的断口,设备 初始化用户程序执行环境 改变处理器模式 呼叫主应用程序 1. 中断向量表 ARM要求中断向量表必须放置在从0地址开始,连续8X4字节的空间内。 每当一个中断发生以后,ARM处理器便强制把PC指针置为向量表中对应中断类型的地址值。因为每个中断只占据向量表中1个字的存储空间,
[单片机]
inux之ARM (I.MX6ULL) EPIT定时器详解
定时器是最常用的外设,常常需要使用定时器来完成精准的定时功能, I.MX6U 提供了多种硬件定时器,有些定时器功能非常强大。我们从最基本的 EPIT 定时器开始,学习如何配置 EPIT 定时器,使其按照给定的时间,周期性的产生定时器中断,在定时器中断里面我们可以做其它的处理,比如翻转 LED 灯。 1、EPIT定时器简介 EPIT 的全称是: Enhanced Periodic Interrupt Timer,直译过来就是增强的周期中断定时器,它主要是完成周期性中断定时的。学过 STM32 的话应该知道, STM32 里面的定时器还有很多其它的功能,比如输入捕获、 PWM 输出等等。但是 I.MX6U 的 EPIT 定时器只是
[单片机]
inux之<font color='red'>ARM</font> (I.MX6ULL) EPIT定时器详解
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved