1.1.1.ARM的成长史
ARM发展的里程碑1
1、ARM的前身为艾康电脑(Acorn),于1978年,于英国剑桥创立。
2、在1980年代晚期,苹果电脑开始与艾康电脑合作开发新版的ARM核心。
3、1985年开发出全球第一款商用RISC处理器,即ARM1.
4、1990年艾康电脑财务危机,受苹果和VLSI的投资,分割出独立子公司Advanced RISC Machines (ARM) ,ARM公司正式成立面世。
ARM发展的里程碑2
1、1991年,ARM推出第一款嵌入式RISC处理器,即ARM6
2、1993年,发布ARM7
3、1997年,发布ARM9TDMI
4、1999年,发布ARM9E
5、2001年,发布ARMv6架构
6、2002年,发布ARM11微架构
ARM发展的里程碑3
2004年,发布ARMv7架构的Cortex系列处理器,同时推出Cortex-M3
2005年,发布Cortex-A8处理器
2007年,发布Cortex-M1和Cortex-A9
2009年,实现Cortex-A9、发布Cortex-M0
2010年,推出Cortex-M4、成立Linaro,推出Cortex-A15 MPcore高性能处理器
ARM发展的里程碑4
2011年,推出Cortex-A7,ARMv8发布
2012年,开始64位处理器进程
1.1.2.ARM的商业模式和生态系统
ARM之前的半导体圈
1、Intel、AMD、Motorola、Zilog、VIA等
2、自己设计IC、自己生产芯片、自己销售。
ARM的商业模式
1、ARM只负责设计IC,并且出卖自己的设计IP(版权)。
2、ARM自己不生产芯片,而是把设计IP授权给其他半导体厂商来生产芯片。
3、严格地说,ARM并不是一家半导体厂商。
ARM的合作伙伴
国际大厂商:
SAMSUNG、TI、ST、
NXP、VLSI、Digital Semiconductor、 Sony、Qualcomm、HP、IBM······
中国授权厂商:
华为海思、全志、瑞芯微、MTK(中国台湾)
1.1.3.为什么是三星
三星主要的ARM CPU有哪些?
ARM7
44B0
ARM9
2440 2410 2416
ARM11
6410
A8
S5PV210
S5PC100
A9
4412
4418
1.1.4.先搞清楚各种版本号
ARM的型号命名问题
1、ARM7和ARMv7不是一回事
2、Cortex-A9比Cortex-A7更先出来
3、型号很乱,初学者分不清哪个是哪个,比较迷茫。
ARM的几种版本号
ARM内核版本号
ARMv7
ARM SoC版本号
Cortex-A8
芯片型号
S5PV210
ARM型号的发展历程
注意
ARM内核版本号和SoC版本号是由ARM确定的,而SoC型号是由半导体公司确定的。
Cortex系列后ARM产品线分割成3个系列,这个是市场细分的需要和选择。
ARM已经发布了一些64位架构如A53等,主要面向高性能服务器类应用。
ARM下一步重点发展方向是Cortex-M7,特点是低功耗,主要面向物联网终端。
1.1.5.SoC和CPU的区别and外设概念的引入
SoC和CPU
SoC = System on Chip
芯片的发展方向:从CPU到SoC
现在已经没有纯粹的CPU了,都是SoC
ARM出卖的内核其实就是CPU(当然还需要总线),各种外设是半导体厂商自己添加的。
外设(Peripheral)
外设就是外部设备
SoC中外设大部分都跑进去了
网卡、音频编解码等个别还经常在外面
芯片设计的趋势是更大集成度,近年甚至将音视频编解码、DDR都集成进SoC内做成所谓单芯片解决方案。如海思Hi3518E
裸机学习其实就是学习SoC的内核(CPU,表现为汇编指令集)和各种外设(如串口)
1.1.6.主流学习型主芯片介绍
三星
S3C44B0
S3C2440、S3C2410
S3C6410
S5PV210
Exynos4412 S5P4418
其他半导体厂商
Freescale i.MX5系列
TI Omap系列
Qualcomm 骁龙系列
全志科技A10 A20 A31 A33等
行业专用型SoC如华为海思HI3518系列
本课程的平台
SoC:三星S5PV210
开发板:九鼎科技X210
裸机实验方法:USB启动下载+SD卡启动
bootloader支持:uboot、xboot
操作系统支持:linux2.6.35、linux3.0.8、android2.3、android4.0.4
1.1.7.详细说说开发板这货
1.1.8.嵌入式和单片机的区别
芯片平台
主流的单片机平台:51、PIC、STM32、AVR、MSP430等
主流的嵌入式平台:ARM、PPC、MIPS
1.1.9.嵌入式学习和编程语言、英语水平的关系
1.1.10.嵌入式系统的构成特点和演进方向
1.1.11.何为交叉编译
1.1.12.CPU的设计原理、数据总线和地址总线
CPU和总线示意图
地址总线和数据总线
CPU通过地址总线寻址,然后通过数据总线与外部设备互换信息。
地址总线的位数决定CPU寻址范围;数据总线的位数决定CPU单次通信能交换的信息数量;
总线的速度决定CPU和外设互换信息的速度。
注意
CPU的地址总线位数和数据总线可以不同(典型代表就是51单片机),但是一般都相同。
CPU的位数指的是数据总线的位数。
32位CPU寻址的范围是4G,所以最多支持4G内存;
数据总线是32位的,所以内存是32位的好,所以编程最好用int···
1.1.13.为何需要Jlink、SD卡等辅助设备