<返回更多

ARM架构

2021-05-18  CSDN  qq_41680432
加入收藏

一、SoC和CPU区别

1、 SOC = System on chip (硅片上有一个系统,也就是片上系统)

CPU = 运算器 + 控制器

SOC =运算器 + 控制器 + 集成到CPU内部的外设;就是在CPU内部把许多外设通过CPU内部总线集成到CPU内部。

芯片发展方向;从CPU到SOC

现在已经没有纯粹的CPU了,都是SOC

ARM出卖内核其实就是CPU(当然还有总线,为了让半导体厂商根据产品需求添加功能)的设计方案

各种外设是半导体厂商自己添加的。

2、外设(peripheral)

就是外部设备(这里的外部就是CPU的外部,当然这是以前的说法,现在的SOC就是高集成的CPU)

Soc中外设大部分都跑进了CPU和CPU做在一个硅片上(高度集成)

网卡、音视频编解码等个别还经常在外面。

芯片的设计趋势是更大集成度,近几年甚至将音视频编解码、DDR都集成进了 CPU内做。

裸机的学习其实就是学习CPU内核(CPU表现为汇编指令集)和各种外设如串口等控制器。

二、交叉编译工具链

1、两种开发模式

非嵌入式开发,A(类)机编写(源代码)、编译得到可执行程序,发部给A(类)机运行。

嵌入式开发,A(类)机编写(源代码)、编译得到可执行程序,发部给B(类)机运行。

A 类:笔计本电脑

B类:嵌入式开发板

2、为何使用交叉编译

嵌入式开发的CPU比较简单,本身无法搭建开发环境,有些甚至操作系统都没有。

交叉编译可以用高性能机器为低性能机器开发软件(包括裸机、系统和应用级软件)。

3、交叉编译的特点

必须使用专用(对应平台的)的交叉编译工具链。

由于执行程序不能在本地运行调试,因此必须配合一定手段(专用调试器、JTAG调试器、USB下载、串口下载、SD启动、网络共享等)

将可执行程序加载到目标嵌入式设备上运行及调试。

三、地址总线和数据总线

CPU通过地址总线寻址,然后通过数据总线与外部设备互换信息。

地址总线的位数决定CPU寻址范围;数据总线的位数决定CPU单次通信能交换的信息数量;

总线的速度决定CPU和外设互换信息的速度。

注意:

CPU的地址总线位数和数据总线位数可以不相同(典型代表就是51单片机),但一般都是相同的。

CPU的位数指的是数据总线的位数。

32位CPU的寻址范围是2的32次方4G,所以最多支持4G内存

数据总线是32位的,内存也是32位的,所以编程最好用int。

内存的计算方法:4G = 2exp32 相当于32根地址线。
	2exp10 =k;
	k exp 10 = m
	m exp 10 = g 
	例如计算32位空间:	2exp30=1G 再左移两位相相当于乖4,2exp30 乘4 =4G;

四、ARM版本号区分:

年深日久造就了一系列的ARM架构,要说明的是,架构版本号后的数字和发布日期的次序没有关系。

ARM的三种版本号

(架构)内核版本号、SoC版本号、芯片型号

ARMv7 内核版本号,v 是指 version

Cortex-A8 SoC版本号

S5PV210 芯片型号

ARMv7和ARM7不是一回事,前一个是内核版本号,后一个是SOC版本号,而且这两个没有对应关系。ARMv7内核版本号对就的是Cortex

系列的SOC版本号。

知道架构版本号就是(内核版本号)ARM内核版本号和Soc版本号是由ARM确定的,而芯片型号是由半导体公司(三星、华为)确定的;

ARMv7—Cortex三个产品对应了Cortex-A、Cortex-R、Cortex-M。后缀字母就是ARM的拆分。

m microcontroller 微控制器 就是单片机 STM32

a Application 应用级处理器 就是手机,平板电脑

r realtime 实时处理器 响应速度快,主要应用于工业,航天领域。

m: m0 m0+ m3 m4 m7

m0低功耗

m4填加了浮点运算

m7低功耗物联网应用

分成三种:是因为一个内核版本对应三部分SOC版本号。

————————————————

本文为CSDN博主「qq_41680432」的原创文章

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>