嵌入式开发学习(1)<ARM体系结构>

SoC : 在cpu 里内嵌了很多外设,现在所说的cpu 实际上都是SoC。

32位cpu指的是数据总线是32位的。

32位的地址总线寻址范围是4G。2的32次方。

CISC complex instruction set computer 复杂指令集cpu:指令多,追寻一条指令完成一个操作的理念。Cpu设计复杂,但编译器简单,使用简单,功耗高,出现早,inter还在沿用。300多条指令。

RISC reduced instruction set computer 精简指令集cpu:设计理念是提供基本功能的指令集,具体任务由软件来完成。Cpu设计相对CISC简单,编译器复杂。功耗低,发热低。这是最近些年受欢迎的原因。30多条指令

发张趋势,CISC与RISC结合。

统一编址:把外设的寄存器当作内存来读写,从而以访问内存相同的方式来操作外设叫做IO与内存的统一编址。

独立编址:使用专门的cpu指令来访问某种特定的外设叫做IO与内存的独立编址。

冯诺依曼结构:程序与数据混一起,有安全隐患。

哈佛结构:程序与数据分开存储。程序编写复杂,相对冯诺依曼较安全,arm大多数体系结构属于哈佛结构。

软件编程控制硬件的关键-寄存器:属于硬件外设的组成部分。是cpu硬件设计者制定的,留作外设被程序控制的“活动开关”。使用软件编写控制某一硬件,其实就是编程读写该硬件的寄存器。

寄存器分为通用寄存器特殊寄存器,通用寄存器是cpu自带的,可以随便申请使用;特殊寄存器是某种外设的专用寄存器,在设计cpu 的时候,已经定义好其地址对应值的功能,程序不能改变。

C语言直接操作内存地址:int *p =(int *)Ox300000008100 ;  *p = 16;

ARM特点:

1、属于RISC架构cpu,常用指令大概有二三十条。

2、低功耗。非常适用于单片机、嵌入式,尤其是物联网领域;服务器等高性能领域目前还是intel主导。

3、ARM是统一编址的。大多数(M3 M4 M7 M0 ARM9 ARM11 A8 A9等)是属于32位架构。

4、属于哈佛结构:保证了ARM cpu运行的稳定性安全性。哈佛结构也决定了ARM裸机程序(使用实地址即物理地址)的连接比较麻烦,必须使用复杂的链接脚本告诉连接器如何组织程序;对于在OS上的应用不需要考虑这么多。

时间: 2024-10-14 21:50:16

嵌入式开发学习(1)<ARM体系结构>的相关文章

嵌入式开发学习笔记 ( java - c/c++ :从入门到入门 )

发现放到Blog之后排版全乱套了.. 已经把PDF上传到资源页了  http://download.csdn.net/detail/lyy289065406/8934637 那边排版好看一点...看官们随意吧 >...< · 目 录 导 航 1. 引言 1.1. 编写目的 1.2. 阅读范围 1.3. 声明 1.4. 缩写词/名词解释 1.5. 参考资料 2. 嵌入式开发学习笔记 2.1. 开发环境/测试环境 2.2. 开坑:提要 2.3. 入坑:JNI 2.3.1. navicate 接口定

嵌入式开发板丨ARM开发板 学习必备资料- 迅为电子

摘要: ARM开发板 迅为三星Exynos嵌入式开发平台超强GPS模块 iTOP-Exynos4412开发板采用 Exynos4412的主芯片,具有更高的主频和更丰富外设,配置 2GB 双通道 DDR3的内存及 16GB 存储,具有稳定性强.可靠性高,能适用于对性能和处理能力有更高要求的嵌入式系统应用场合. iTOP-Exynos4412开发板内置有无线 WIFI 模块.Bluetooth.GPS.Camera.3G等模组,支持 HDMI1.4(1080P/60Hz)显示,客户可以直接从开发平台

合理的嵌入式开发学习路线

嵌入式工程师一般分两种:一类是学电子工程.通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader.Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等.他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等). 另一类是学软件.计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发

嵌入式开发学习(4)&lt;ARM汇编指令集详解&gt;

数据传送指令: MOV 两个寄存器之间传递.例 MOV r1,r0,将寄存器r0中的内容赋值给r1. MVN 同MOV用法一样,区别是MOV是原值传递,而MVN是按位取反后传递. 算数运算指令: ADD SUB RSB ADC SBC RSC 逻辑指令: AND ORR EOR BIC BIC的用法:BIC r0,r1,#0x1f,将r1中的数的bit0到bit4清零后赋值给r0:为什么是bit0到bit4呢,这个是由#0x1f来决定,#0x1f有五个bit位是1.如写成#0xf,就有四个bit

嵌入式开发学习(3)&lt;ARM汇编指令集语法&gt;

汇编指令分为指令和伪指令 指令:针对于CPU设计的指令.作用在CPU上. 伪指令:针对于编译器设计的指令.作用在编译器上,用来知道编译过程,经过编译后伪指令最终不会生成机器码.要知道,汇编指令是机器指令的助记符,最终要通过编译器翻译成CPU能直接识别的由01组成的代码(机器码). LDR/STR架构: ARM采用RISC架构,CPU不能直接操作内存中的内容,而需要先将内存中的内容加载到CPU中的通用寄存器中才能被CPU处理. LDR(load register)指令将内存中的内容加载的通用寄存器

嵌入式开发学习(2)&lt;S5PV210启动过程详解&gt;

基本概念: 内存: SRAM  静态内存  特点:容量小.价格高,优点:不需要软件初始化,上电就能用. DRAM  动态内存  特点:容量大.价格低,缺点:上电不能用,需要软件初始化. 单片机中:内存需求量小,而且希望开发尽量简单,适合全部用SRAM. 嵌入式系统:内存需求量大,而且没有NorFlash等可启动介质.(介于单片机和PC机中间). PC机:内存需求量大,而且软件复杂,不在乎DRAM的初始化开销,适合全部用DRAM. 外存: NorFlash 容量小,价格高,可以和cpu总线式相连,

嵌入式开发学习(5)&lt;S5PV210开发板刷系统那点破事儿之二&gt;

刷系统:利用刷机工具,向开发板中烧录预先编译好的镜像.使之在开发板上跑起来. S5PV210厂家默认安装的是android4.0.4. 1.安装usb转串口驱动(如果电脑上有串口,则跳过这一步). 2.安装串口监听软件:secureCRT.超级终端.minicom(linux系统),我使用的cecureCRT.注意 3.打开secureCRT软件,按下图设置:(注意端口要与串口端口一致) 4.用串口线连接电脑与开发板. 5.打开开发板电源,可以看到secureCRT中有启动新输出,这就是开发板的

嵌入式开发学习(9)&lt;汇编写启动代码之设置栈和调用c语言&gt;

C语言运行时需要和栈的意义: "C语言运行时(runtime)"需要一定的条件,这些条件由汇编来提供.C语言运行时主要是需要栈 C语言与栈的关系:C语言中的局部变量都是用栈来实现的.如果我们汇编部分没有给C部分预先设置合理合法的栈地址,那么C代码中定义的局部变量就会落空,整个程序就死掉了. 我们平时在编写单片机程序(譬如51单片机)或者编写应用程序时并没有去设置栈,但是C程序还是可以运行的.原因是:在单片机中由硬件初始化时提供了一个默认可用的栈,在应用程序中我们编写的C程序其实并不是全

第0天-嵌入式开发学习路线规划与指导

教程链接:http://edu.51cto.com/course/course_id-2320.html 笔记: