当前课程知识点:智能车制作:嵌入式系统 >  第二章 绪论 >  2.6 ARM历史与MKL25Z128 MCU >  Video

返回《智能车制作:嵌入式系统》慕课在线视频课程列表

Video在线视频

Video

下一节:Video

返回《智能车制作:嵌入式系统》慕课在线视频列表

Video课程教案、知识点、字幕

各位同学大家好

我是清华大学工程物理系的曾鸣老师

欢迎大家回到我们ARM微控制器

与嵌入式系统的MOOC课堂

我们课程进入了第二章的最后一个小节

在这个小节里我们将进入32位嵌入式的世界

最后定焦到我们这门课

所要学习的ARM的体系结构

所以在这个单元里我给大家讲一讲

我们为什么学ARM

以及它的历史和渊源

进入32位的嵌入式世界

其实你会发现仍然非常的精彩

就像上一个单元所讲

我们其实有不止一个选择

世界上非常知名的32位的嵌入式平台有很多种

比如我们所学习的Freescale

或者NXP这样厂商所能生产的32位的CPU

就分为了三种不同的体系架构

是可以供我们选择的

比如说我们进入它的主页

就会直接看到Power PC、Cold Fire

和ARM这三种产品线可以选择

这三种产品线每一种底下都有几十上百种

子系列和子型号来进行嵌入式的选择

而作为这三种产品线的核心区别

就是它的CPU有各种各样的差异

PowerPC是为了设计苹果电脑由IBM

和摩托罗拉还有Apple所联合设计的一款CPU

那么在嵌入的行业它代表着高性能

特别高网络性能和吞吐量

那么在今天用在了网络设备

和高性能汽车的主控设备当中

使用了非常多基于PowerPC的微控制器

而Clod fire也就是我们刚才所提到的

非常非常有名的68k内核的后代

到今天仍然跟68k保持了非常高的兼容

所以在国外的军工、科学仪器

和工业仪表中其实有大量的用户

那么ARM呢作为一个非常经典的32位核

我们今天其实听到的非常非常多

有一个不完全统计 全世界

现在每年卖出的32位的嵌入式CPU上亿片

其中95%以上都是ARM

那么我们为什么选它

ARM究竟是什么呢

如果提到ARM就不得不提它的历史渊源

这来自于一家英国公司叫Acorn Computer Group

这家公司很多同学可能觉得不熟悉

但是他有一个别的名字叫做英国的苹果电脑

这是他的产品

大家看上去确实跟Apple2非常非常的像

那么这个公司有名不仅仅是因为这个

而且更重要的是他参与了上个世纪80年代

由英国剑桥为首

和美国MIT为首的一系列的研究工作

在那个时候提出了RISC核的概念

也就所谓精简指令集处理器

用更少的指令换得更高的性能和更低的功耗

那么他们发展出了世界上

第一个商用的RISC芯片也就是ARM1

芯片的发明人是Roger Wilson

和Steve Furber也就说这两位

那么这个芯片发明以后在很长的时间

其实并没有像大家想象中立刻就发扬光大

或者取得巨大的商业和社会影响

那么直到1990年

Acorn Computer Group逐渐的因为经营不善

而举步维艰的时候

把其中的芯片设计这一部分

抽离出来成立一个独立的公司

这个公司的全名就是

Advanced RISC Machines

也就是先进RISC机器或者是计算机系统

那么ARM的缩写组成了ARM公司

也就是我们今天所说的ARM

那么ARM究竟什么时候引起了大家的注意

达到今天这么成功的角度呢

应该说最早在1991年的时候

ARM推出了一个跨时代的产品

也就非常著名的ARM6

那么ARM6在那个时间点

仍然没有取得非常巨大的成功

但是它产生了一个日后被很多人所知晓的产品

对也就是苹果的Newton

我们称为牛顿PDA

这款产品知名是因为乔布斯同志对它深恶痛绝

乔布斯重返苹果以后

砍掉的第一批产品当中就有它

认为它过时、笨重

不符合工业设计的美观

所以如果大家去搜它

你很有可能搜到的网页上

是人类历史上最失败的五个电子产品之一

但实际上它并没有日后宣传的那么不堪

因为它首先了基于了一个ARM6的核

采用了嵌入式系个人随身电脑的概念

产生了人类随身PDA这种数字助理的这种概念

甚至产生了手写笔、触摸屏

大家注意是在1991年前后

那么这款产品其实我个人的观点认为

它是过于的超前了时代

导致他没有达到市场广大的认可

而ARM的爆发性增长

则是进入了1996年乃至1997年之后

伴随着ARM7的发布

以及业界大佬微软开始重视这个嵌入式的市场

推出了Windows CE操作系统

windowsCE操作系统具有彩色的屏幕

图形的界面以及跟计算机上Windows

在代码级的兼容的开发环境

使大量的程序雨后春笋般的

出现在了手持设备里头

那么这样的相辅相成带来了消费电子

也就是高性能的ARM芯片的爆发性增长

那么这张图里头

很好的表现了这张ARM沉寂多年

出现指数上升的这样一种趋势

那么之后的故事我们能耳熟能详

如果用这几张图上的产品

每一个大家都非常的熟悉

都是里程碑式的产品

从苹果的牛顿

到第一个掌上电脑PDA康柏的3630

一直到著名的多普达的这个818乃至iPhone

乃至后来Android产生以后的HTC

比如说经典产品Desire

那么我们必须说的是这样每一款产品的背后

它所使用的CPU都是ARM

所以大家就知道ARM究竟是如何爆发性的增长

占有独特的地位

那么包括我前面在给大家讲

我所设计过的系统当中也举过这个例子

这个设备跑这个Win CE系统

它背后是三星公司

刚刚开始设计ARM芯片的时候的第一批产品

三星的2440这样一款ARM7的芯片

最终也可以用来做工业设备

那么ARM究竟是什么呢

那么我们为了描述的ARM的生态

会给大家一个非常直观的

非常有名的这张图

这张图的最中间是ARM公司的logo

然后海量的世界一流公司分布在这张图

所有白色区域中间里头的这些logo的公司

都是使用ARM知识产权授权设计芯片的企业

他包括我们耳熟能详的很多很多企业

包括Freescale、德州仪器

意法半导体、NXP等等

那么所有在蓝色外框里的公司

都是基于ARM的生态圈

为ARM的产品提供了生态产品

比如说软件开发工具、调试工具、IPcore等等

各种各样的在ARM生态圈里的企业

所以说大家可以发现这是一个巨大的同盟

那这个同盟为什么能存在呢

就是因为我们学习ARM就应该知道

ARM公司在历史的某个节点

经过了慎重的考虑去做了一个

跟因特尔完全不同战略选择

他决定不再自己直接生产和制作芯片

而是只做CPU的设计

推动CPU构架的一代又一代的不断发展

推动嵌入式芯片的技术不断革新

他采用出售所谓的IPcore

也就是知识产权的方式

来由别的厂商设计和生产自己的最终芯片产品

换言之刚才提到的Freescale、NXP

包括德州仪器、意法半导体这些公司

他们各自销售自己的芯片

都从ARM购买了中间那一块CPU的设计IP core

那么不管谁家生产的芯片

即使这一家公司的产品也都是ARM

所以我们这门课程会学习NXP

或者Freescale

我们在后面继续会讲

他们会有非常好的互通性

而从历史发展趋势来讲

ARM的内核其实分为了ARMv4、ARMv4T

ARMv5、v6、v7这样不断的发展

而在这个过程当中

我们在过去嵌入式行业有所接待的同学

可能会知道

我们经常口头语或者在网上查资料

会看到的ARM7、ARM9、ARM11

其实他们之间是因为历史沿革的关系

有一个复杂的对应

这样一种对应确实很多时候

让很多初学者非常的困惑

那么在这里不展开讲

只是直接给大家一张像小学数学题一样的映射图

如果你听说ARM7他一般是v4T的核

T代表它有三版指令集

如果你用的是ARM9它有可能是ARMv4T的核

有可能是v5的核

那么如果是ARM9或者ARM10呢

也有可能是不同的内核

ARM11很多时候是v6的核

这样一种混乱的局面

到了ARM进入v7核的时候

ARM公司决定痛定思痛

进行一次彻底的规整

所以他们对ARM进行了重新的命名

也就说我们在这门课的范畴里所学的构架

我们称为ARM Cortex的构架

那么到了ARM Cortex构架

也就v7核的时候

彻底将我们传统意义上的ARM

分成了根据应用决定的三个档次

不再是原来统一的一个ARM7或者一个ARM9

来笼统的称呼

他们分为A系列、R系列和M系列

那么A系列称为application

这个词可能我们用中文不太好理解

那么我们更详细解释它针对的是高性能

多媒体的移动应用

比如说我们所使用的iPhone Android的手机

它里头都有一颗ARM Cortex A的内核

然后R系列更多的是real-time的缩写

强调的是针对更多的要求安全级的实时性

控制的嵌入式应用

比如说无人机、飞机等等

这样一些专业应用的领域

而M系列就是我们这门课

刚才讲了很半天所学习的

microcontroller的缩写

针对的是原来8位、16位的单片机微控制器

所应对的市场

所以这当中暴露了ARM的雄心壮志

当消费电子取得了压倒性成功之后

ARM将逐渐把自己定位成嵌入式行业的因特尔

要从高端的移动多媒体一直到低端的微控制器

产生不同的产品线加以对应

那么这种划分的结果下

是一种高度的向下兼容

为什么我们学习ARM 大家会发现

一方面它具有压倒性的行业标准

或者嵌入式业界一统天下的趋势

另外一方面如果我们用这张指令集的图来看

会感觉更清楚

中间绿色的小块里

所有的深绿和浅绿的指令

是ARMM0和ARMM1的内核

它所拥有的指令集

而外面蓝色的这些区域的指令构成的这个集

包括以M0的内核的指令为子集

构成的是ARM M3

cortex M3的内核的所有指令

再加上外围这些紫色的指令集

构成了ARM cortex M4的指令集

如果M4的高端版本带有浮点运算

再加上下面这些浅粉色的浮点运算指令

所以你会发现CPU构架从M0到M4F

它是以一个向下包容的

或者叫兼容的子集关系

换言之大家学习ARM的时候

不再像原来觉得

刚才上一个单元我所讲系列那么多

CPU那么多型号那么多我怎么学

虽然我说学一可以通百的

但是在ARM的学习里头

你可以真正的做到了知识的复用

通过学习一个最简单

最能入门的内核

掌握ARM的基本开发工具 结构和方法

从而掌握我们今天在嵌入式行业

占有压倒性优势的ARM CPU的体系结构

那么最最小的M0仅仅只有50多条指令

作为一个初学者

如果你有兴趣

你可以精细的知道每一条指令的功能

甚至记住它 而它的低功耗

它的高性能是我们今天所使用

就如我手上这个腕表这样的

嵌入式穿戴设备的标准选用

那么如果横比这些芯片之间的性能

你会发现跟传统的ARM7比

新一代的Cortex构架的M0v6的核

乃至M3、M4v7的核

它的性能毫无损失

它的功耗变得更低

它的指令响应的实时性

这些性能都有一些结构性的改变

那么随着学习的深入

很多同学可能会理解的越来越深

那么ARM是一个IP授权厂商

我们学习ARM的时候大家一定理清一个概念

就是你可以选择任何一个厂商的产品

来实际学习ARM

因为你买不到一家由ARM自己生产的芯片

都是由不同厂商生产的

那么基于全国大学生智能车竞赛

这么多年的传统

我们会选择用现在的NXP

也就是以前的Freescale的芯片

来学习ARM的嵌入式

待会我会讲一讲他的产品线

那Freescale这家公司

或者现在合并为NXP以后

它的历史渊源是什么呢

就跟我所讲的八卦计算机史可以挂上线

嵌入式行业除了因特尔的巨大作用以外

另外一家历史厂商就是摩托罗拉

摩托罗拉随着历史的发展

今天已经分成了若干个不同的公司

比如仍然销售这个移动网络设备的摩托罗拉公司

以及已经并入联想的摩托罗拉的手机公司

模拟器件独立成的安森美公司

以及变成了销售数字嵌入式芯片的Freescale

并且现在合并到了NXP的Freescale公司 NXP公司

那么我们学习的

所有的这个摩托罗拉的产品

既是ARM的IPcore的结晶

也是一脉相承摩托罗拉从197几年

这个八卦计算机史下来的设计的理念的结晶

那么站在任何一个公司的角度

你会发现它使用ARM会有不同的产品线

比如NXP你会发现它从M0、M3

这样面向微控制器领域的应用

一直到刚才我们提到的R

乃至A系列的高性能多媒体的ARM

都是具有的我们从最低端

最简单的结构学习入门

而逐步去探索ARM的世界

是一个非常好的切入点

那么放在ARM cortexM的产品线里头

在我们要所要学习的Freescale

或者NXP公司的实际做出来的芯片里头

给它起了一个非常好听的名字叫Kinetis

它带有活动活跃动能等等各种各样词根的意思

那么Cortex这样一个基于ARMcortexM系列

CPU设计的产品线

又分为了若干个功能的产品

比如我们现在学习的L系列

主要采用ARM cortexM0+的内核

做到了整个业界最低的功耗

和同等功耗下最高的性能

最适合初学者入门去掌握一个嵌入式CPU

而与之呼应的还有K系列

代表了中等的性能和相对完善的各种外扩功能

并且他们对应型号之间

还有引脚兼容

如果你希望性能更高

还有X系列

能跑到120M左右的时钟

实现嵌入式平台的高性能计算

而如果你要做工业的高可靠性的设计

还有E系列

他能够有5V耐受和汽车级的温度范围

所以在我们选择的时候

选择了ARM CortexM核加以学习

选择了Freescale

或者NXP这样一个厂商的芯片加以学习之后

我们其实还有若干个系列和型号可以加以学习

这些东西我在这里不再展开

而我们关注我们所学习的对象究竟是什么

是Kineties的L系列

它最大的优点是它是世界上第一款

商用的采用的ARM CortexM0+核的微控制器产品

那么M0是里头最低端的一代核

所以它的特点就是特别的简单

特别的低成本

然后每片的售价在批量的时候

能够少于50个美分

更重要的是他能够做到业界最低的功耗

静态功耗可以小于一个微安

而它的性能秉承了ARM的传统

在这么低功耗、低成本的芯片上

能达到以前的8位、16位单片机

微控制器远远达不到的48M的性能

所以这就是L系列

那么L系列分为的MKL2X、3X、4X、5X等等

不同的系列

那么大家会发现这些系列有什么区别呢

Freescale或者NXP这个厂商

会给我们一张这样的图表

任何一个半导体厂商都会给

他非常形象的告诉你每个子系列的之间的差异

比如说你只希望低功耗

这个波浪代表模拟的混合信号处理能力

比如测量温度

测量各种模拟量

那么你可以选择最低端的

那么KL2、KL3

如果随着往上当你需要USB的功能

你可以选择KL4、KL5等等这些系列

你需要段式液晶这些功能的排列组合

可以决定你要选择哪个子系列

而到了子系列跟我们刚才所讲的具体型号的时候

就是现在这张表

这张表你会发现在KL2开头系列的里头

如我们刚才所说有不同的外设

不同的存储器大小和不同的芯片封装

对于初学者来讲你会很晕

但是大家只要记住两件事

第一他就跟买电脑一样

我要选择一个足够大的存储

和足够多的外设符合我需求的型号就可以

第二呢作为这门课 我们记住

我们作为范本讲解和学习的是哪个型号就可以了

那么我们学习的型号

他的详细的完整的型号名称是MKL25Z128VLK4

那么这么长一个字符串大家很难记住

那么我们查一查芯片厂商所提供的数据手册

就会知道这个字符串每一个字母都有其含义

比如KL25就是我们刚才所说的

Cortex里头L这样一个低端系列里头

2系列的第五个型号

那么Z代表这个芯片

使用的是ARM Cortex M0 plus 0+

这样的CPU

128代表片内的存储器大小是128K

而V代表我们这个芯片所工作的温度范围

也就是它的器件级别

LK代表我们这个器件

选择的是同这样一个型号里头

80腿LQFP表贴封装的形式

然后4是代表这个芯片的最高工作频率

是48MHz

那么所有这些字符的含义在日后的学习当中

我们会理解的越来越深

但是这个型号代表着在茫茫的芯片大海当中

我们选择了这样一种内核

这样一种ARM

和这样一个厂商的生产型号来加以学习

而我们通过他的学习

来管中窥豹见识ARM的嵌入式世界

那么LQFP80的封装

只是这个芯片所能有的众多封装当中一种

如果我们以后看会发现LQFP

这样一种封装都是一个黑黑的小方块

周围有一些伸出来的银色的金属腿

80条就意味着每个边各有20条腿

那么这样几毫米乘几毫米的芯片

就是我们真正在市场上能够买得到的芯片

所以我们从理想的计算机一步一步

讲完这个概论就会理解我们真正要学习的对象

一个在市场上能够买到的芯片是什么样子的

他的型号他的系列

他的温度级别他的封装

这都是我们日后要学习讨论的东西

那么有同学到此为止

说老师我已经建立了一个完整的概念

我们什么时候才能进行真正深入的学习呢

从下一个章节开始

那么老师我知道了我们要学习这个型号

可是我自己怎么知道

日后我用哪个型号好呢

我不能永远用这个型号啊

那么比你还担心不知道你用哪个型号的人

就是这些芯片的生产厂商

所以你放心在任何一个厂商比如NXP

比如Freescale都会有

类似这样的芯片选择工具

有朝一日你要完成设计的时候

你只需把你的需求填入

你就可以在这些工具的帮助下

定义到最合适你的芯片

这是日后大家可以掌握的东西

那么最后要给大家说的内容

就是大家一定学习一个知识的时候

不管是跟着Mooc还是跟着教材

不要仅仅局限于这几分钟课堂的学习

嵌入式的学习、电子行业的学习

最大的乐趣在于它的趣味和无限可能

所以大家一定要学会在网上查找各种资料

尤其是芯片的官方厂商

你可以找到它的芯片手册

找到它的FAQ

找到它的机械封装

找到它的应用文档

这一切的一切

都会成为大家最最权威的学习资料

那么从我们这门课程的角度来讲

我会日后在我们的学堂在线上

给大家上传一系列的文档

这都来自于芯片设计厂商和ARM官方的文档

包括了这个芯片的整个系列的

一个总的指标和电器特性的简介的文档

包括这个芯片KL25子系列的

一些通用模块文档

包括这样一个具体型号的电气

和时间特性的技术文档

以及ARM公司对于M0 plus

这样一个CPU的一些若干编程模型

和指令集的文档

这些文档是用英文所撰写的

但它是真正的权威

很多时候有可能你听一个老师

或者一个人所讲解的东西并不那么详细

如果你具备了阅读原始文档的能力

你就在成为一个高级工程师的道路上

走出了第一步

相信大家能够越玩越愉快

那么我们第二章的知识

经过这么多个知识点的贯通

已经就告一个段落了

我们理解了嵌入式

或者计算机学习的一些基本的概念

逐渐将焦点从计算机focus(聚焦)到嵌入式

focus(聚焦)到我们所学习的这样一种微控制器

乃至ARM是什么

我们学习的ARM哪一家厂商

哪一个型号的这件事上

然后我们再日后通过基础的学习

再倒过来管中窥豹

真正见识ARM微控制器与嵌入式系统的世界

智能车制作:嵌入式系统课程列表:

第一章 概览

-1.1 课程概览

--Video

-1.2 进入嵌入式系统的世界

--Video

-1.3 如何学好嵌入式系统

--Video

第二章 绪论

-2.1 计算机的基本概念、发展历史

--Video

-2.2 从晶体管到CPU

--Video

-2.3 概念CPU、微控制器MCU和嵌入式系统

--Video

-2.4 八卦计算机史

--Video

-2.5 不同领域、不同系列的嵌入式系统

--Video

-2.6 ARM历史与MKL25Z128 MCU

--Video

第三章 MCU基础

-3.1 CPU的基本结构和运行机制

--Video

-3.2.1 堆栈的概念

--Video

-3.2.2 堆栈的概念-头脑体操

--Video

-3.3.1 ARM的体系结构

--Video

-3.3.2 ARM的体系结构-头脑体操

--Video

-3.4 中断的概念和机制

--Video

-3.5 中断子程的概念和编程

--Video

-3.6 复位、时钟、存储器和总线

--Video

-3.7 小结:MCU的总体结构和程序运行机制

--Video

第四章 MCU外设与开发

-4.1 第一种外设:IO

--Video

-4.2 IO外设的编程实操-点亮LED

--Video

-4.3 IO外设的进阶知识

--Video

-4.4 嵌入式开发的基本概念与工具链

--Video

-4.5 嵌入式开发的进阶知识

--Video

-4.6 嵌入式开发中的C语言(上)

--Video

-4.7 嵌入式开发中的C语言(下)

--Video

-E0.1 实验零 开发板的初步认识与工具链的安装

--Video

-E0.2 实验零 体验一个例程的编译与下载

--Video

-E0.3 实验零 编写第一个程序:点亮核心板LED

--Video

-E1 实验一 点灯秘籍

--Video

第五章 MCU与嵌入式系统设计

-5 智能车视角的嵌入式设计

--Video

Video笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。