ARM体系架构

一、ARM体系

1、目标

  1. 能够看懂简单的汇编代码

  2. 学会如何去看原理图、电路图、芯片手册

  3. 学会如何使用软件去控制硬件的思想


二、ARM相关概念

1、ARM是什么

ARM是一家公司
ARM可以代表一类处理器的统称
ARM代表一种技术(指令集)
1. 架构

随着ARM产品不断更新 ARM指令也是随之增加 ARM指令集也有不同的命令

**ARM架构:**ARMV1~ARMV6(已经被淘汰)、ARMV7~V8(目前市场使用较多的版本)、ARMv9

2. SOC

soc:system on chip

ARM公司不生产芯片 也不出售芯片 只出售芯片架构(内核)

芯片厂商在内核的基础上 增加一些外设 发布一款芯片 这些芯片统称为SOC

3. 拓展

MPU:Microprocessor Unit微处理器,高端处理器,运行linux操作系统

MCU:Microcontroller Unit微控制单元,运行裸机开发

CPU:Central Processing Unit中央处理器

GPU: graphics processing unit图形处理器

FPU:floating point unit 浮点处理单元

DSP :Digital Signal Processing 数字信号处理

FPGA: Field Programmable Gate Array 可编程逻辑阵列

MMU: Memory Management Unit内存管理单元


三、ARM发展史(Acorn RISC Machine)

1、里程碑1------ARM成立

ARM前身为艾康电脑(Acorn),于1978年,英国剑桥成立,大学的孵化物。

1980年代晚期,苹果开始与艾康合作,开发新版ARM核心。

1985年,艾康开发出全球第一款商用RISC处理器,即ARM1,针对于PC市场,还没有嵌入式呢! ! !

1990年,艾康财务危机,受苹果和VLSI (最早做超大规模集成电路的公司)的投资,成立独立子公司:Advanced RISC Machines ( ARM),ARM公司正式成立面世

2、里程碑2------入式RISC处理器

1991年,ARM推出第一款嵌入式RISC处理器, 即ARM6.

1993年,发布ARM7。

1997年,发布ARM9TDMI,三星2440基于此内核。

1999年,发布ARM9E,增强型ARM9。

2001年,ARMv6架构。

2002年,发布ARM11微架构。

3、里程碑3------微控制器

2004年,发布ARMv7架构的Cortex系列处理器,同时推出Cortex-M3.

2005年,发布Cortex-A8处理器.

2007年,发布Cortex-1M和Cortex-A9.

2009年,实现Cortex-A9、 发布Cortex-M0.

2010年,推出Cortex-M4(F)、成立Linaro.

(ARM公司牵头成立的公共组织,专门做ARM处理器在Linux平台上的一些软件的开发和移植)

推出Corex-A15 MPcore高性能处理器(性能比较高了,但是发热量很大哦).

4、里程碑4------64位微处理器时代

2011年,推出32位Cortex-A7处理器,ARMv8发布

2012年,开始推出64位处理器。推出Cortex-M0+、 ARM首款64位处理器架构Cortex-A53、 Cortex-A57 架构。全球第一款64位ARM手机iphone5s.

2013年,推出32位Cortex- A12处理器架构.

2014年,推出Cortex-M7(F) 微控制器架构; 32位Cortex- A17处理器架构.

2015年,推出64位Cortex-A35、 Cortex-A72 处理器架构.

2016年,推出Cortex-M23 、Cortex -M33(F)微控制器架构; 32位Cortex-A32 处理器架构; 64位Cortex-A73处理器架构.

2017年,推出64位Cortex-A55 、Cortex -A75处理器架构.

2018年,推出微控制器Cortex-M35P; 64位Cortex- A76处理器架构.


四、ARM产品分类

1、Cortex-A

高端处理器 可以运行操作系统(linux)比如目前市面上的手机、平板、电脑...

高通、联发科、三星、海思...面向简短的基于虚拟内存的操作系统和用户应用。

2、Cortex-R

主要针对实时性能要求比较高的场合 比如汽车电子、摄像/监控领域

实时处理要求可靠性、容错功能和实时响应的嵌入式系统 提供高性能解决方案

3、Cortex-M

主要用于物联网开发

针对低成本和低功耗MCU 和终端应用 一般不需要去跑操作系统(只需要运行裸机程序),必要时可以运行实时操作系统RTOS


五、系统组成

针对linux操作系统 同样具有和winodws下bios相同功能的存在 即uboot。uboot通常出厂自带 只需要使用其功能即可


所以我们的任务就是找到各个分区的镜像文件最终通过一定方式烧写到开发板

相关推荐
Lill_bin几秒前
分页查询在数据库中的好处
java·开发语言·数据库·python·oracle·性能优化
gallonyin9 分钟前
Linux Docker环境中解决中文字体乱码问题完整指南
linux·运维·docker
简 洁 冬冬12 分钟前
scp命令
linux
qq_3344078120 分钟前
docker安装mysql8
linux·运维·mysql·docker·容器
专科在努力!23 分钟前
STL中的deque(双端队列),存储结构与使用
开发语言·c++·stl
Cchengzu34 分钟前
百度23届秋招研发岗A卷
开发语言·数据库·c++
AI人H哥会Java40 分钟前
【JAVA】Java项目实战—Java EE项目:客户关系管理(CRM)系统
java·开发语言·spring boot·mysql
极客小张43 分钟前
基于STM32的智电表系统课题设计思路:python友好界面、ADC、UART串口、数据分析
c语言·python·stm32·单片机·数据分析·毕业设计·课程设计
快乐飒男1 小时前
C语言基础(结构体)
c语言·开发语言
A_New_World1 小时前
线程池、内存池 和 数据库连接池
linux·服务器·c++