当前课程知识点:智能车制作:嵌入式系统 > 第四章 MCU外设与开发 > E0.1 实验零 开发板的初步认识与工具链的安装 > Video
各位同学大家好
我是清华大学工程物理系的曾鸣老师
欢迎大家回到我们的
ARM微控制器与嵌入式的MOOC课堂
那么这个课程呢我们终于进入了第四章
第零次实验的环节
或者说我们终于要开始动手
把这样一个开发板给用起来了
那么在今天这个单元的课里是我们第零次实验
我要带着大家来分几个单元
认识我们的硬件平台
装好我们的开发软件工具链
特别带着大家体验如何把一个程序
通过编译、烧写、下载、调试到我们的板子里
让它真真正正运行起来
也就是说把我们的板子给玩起来
那么这样一个开发系统
我们很多同学手上都已经有一套
或者类似的开发板也有一套
我们如何来把它下手呢
那么我们打开我们的盒子
或者打开我们的套件
我们里头一定会有这样一些东西
我们有实验的母板
那么实验母板上的显示的数码管、OLED屏
液晶屏是可以替换的
然后我们板子的背后有一个单片机的核心板
还会一定有ARM Debugger的调试器
另外还会有若干根线缆
我来带着大家认识下这个硬件怎么把它装起来
以及待会会讲怎么把软件的工具链给装起来
那么这是我们史前的原型时代的
这个Blazar系统
那么我们原来的Blazar系统
是这样一个开发板上面把功能都做上去
跟大家所说在这门课里
为了方便大家拿到这个系统
除了开源之外
大家可能拿到的是在淘宝上买到的
这样一个开发套件
那么看上去很漂亮
我们把它打开看一看
这个套件的前面这个液晶屏的面板
大家轻轻从边缘抠是可以抠下来的
那么可以替换成OLED的显示屏
也可以替换成LED的数码管
在后面的实验内容里我们会逐步深入
把这一个个模块给用起来
那么在这个板子反过来的背面
我们会看到扣在背后的小小的
是一个MCU微控制器的核心子板
那么中间这个菱形放置的
也就是45度角放置的这个小芯片
也就是我们这门课所学习使用的微控制器
MKL25Z128 那么这样一款芯片
在这样一个最小系统板上
按我们前面所讲只用了
最简单电源 调试器的 晶振的这些接口电路
把它给稳定的RUN起来
那么待会我们在实验里头会讲这个板子上
这个最小板上有两个LED灯
一个是直接接到电源
和地的电源指示灯上电就会亮
另外一个呢是通过
接到PTB0的引脚的一个IO可以闪烁的指示灯
那么我们待会有一个任务
就是把这个灯在这个实验零里给点亮
那么我们这个开发板、实验板从正面走得更仔细的来看
会发现它有很多很多模块
有音乐、有按键、有彩色的LED
然后有ADC的采集、有温度的采集
有光照度的采集
还有用通讯可以控制的显示屏
在接下来的实验一、实验二、实验三里头
伴随着课程内容的讲解
我会教大家一点点把它给用起来
那么稍微在这个单元里
要多花点口舌给大家更加定性的
或者更加深入的稍微讲一讲的是我们的调试工具
在之前的调试环节
给大家讲过我们当代的计算机
微控制器的调试、更多的使用是在线调试
也就是微控制器内部留了一个调试模块
有个简单的通讯接口出来
片外有一个简单的调试器
把跟计算机之间的USB或者串行的连接
变成这样一个调试的时序
这样一个工具我们称为调试器
那么常见的调试器包括BDM、JTAG
和SWD等等通信协议
而在我们这门课范畴里头
我们使用的是一个叫做
开源的Open SDA的调试器
那么左下角是我们根据开源的硬件
自己在清华这边定制做出来的这个
调试器的原型 那成本非常的低
那么右下角可能是大家通过购买
拿到的这样一个ARM Debugger的调试器
虽然叫ARM Debugger
他的本质就是Open SDA这样一个调试开源项目
那么他的图纸和源码在网上都是公开的
那么它Open SDA这样一个调试器
使用的是SWD的调试协议
前面讲过它的速度相对快
只用一到两个引脚就可以完成调试
所以是这一代的ARM Cortex M核
通用的一种调试接口
那么Open SDA这样一个开源硬件呢
它在结构上非常简单
也非常有意思 就像这张图所示
作为这个调试器本身
它用了一个K20的微控制器单片机作为它的核心
往左边通过USB口连到我们的电脑上
让我们的开发工具可以跟他通讯
往右边可以连到
我们真正要调试的微控制器单片机板子上
可以给他烧写程序和进行调试
那么这样一个调试器
他自己内部的程序分成了BootLoader
和application
BootLoader是公用的
保证这个板子能够上电运行
能够与USB通讯
而application则意味着
你可以给这样一个开源的公用的硬件板
也就是这个调试器这块固定的电路板
下载不同的application程序
把它配置成各种各样有名的调试工具来使用
各家各户的调试工具
普遍都针对OpenSDA这样一个标准
提供了自己的固件和驱动
换言之下载不同的application
你可以把它配置成著名的P&E调试器
也可以配置成USBDM调试器
还可以配置成我们这门课里使用的JLINK调试器
那么这些调试器的application
有很多不是开源的 但是是免费的
也就是个人用户可以自由的
从网上下载这个固件来进行合法合理的免费使用
那么他的链接我也给在了这张表格里
有兴趣同学回头从网上也可以自己下载和更新
那么这些黑点和白点则表明了JLINK、P&E
这各个调试工具与不同的开发软件的兼容性
比如CodeWarrior 比如KEIL 比如IAR
那么我们发现JLINK的兼容性是最好的
所以大家手上拿到的调试器
普遍应该都已经配置成了JLINK
如果大家需要更新里头的application
你只需要做非常简单的两个操作
一个是到这个链接
下载跟OpenSDA V2的BootLoader对应的固件
其次呢 你按住这个盒子打开以后
这个板子的reset键 插上USB
它就会擦掉原有的application
那么会在电脑上识别出一个BootLoader的优盘
把你下载好的固件文件
.bin的那个文件拖到这个优盘里
然后这个板子就会自动烧写
并且重新上电 小灯闪烁
就会变成你所更新成的那样一个新的调试器
但是如果是初学者呢
大家最好不要去按reset键做这个操作
它很有可能让你的调试器变得无法使用了
OK那么我们现在这门课所使用的
是配置成JLINK的OpenSDA调试器
那么大家如果打开盒子就会发现它是这样的
这样一个调试器里头放了若干个插座
分别是连接不同粗细的芯片
标准的调试头所使用
那么在ARM的调试头里
使用了一个非常不容易插拔的很细很扁的
扁平电缆插头
那么使用的是这个盒子里
我现在图中所示的上方这个1.27毫米间距的插座
大家插的时候注意红色的1pin的线
跟插座上1pin的引脚要对齐
插拔的时候不要扥着线直接拉
而是尽量捏住黑色的头部
避免这根线缆的损坏
那么一个完整的调试工具在硬件上连接好
日后我们还会说是PC端的开发工具
通过USB cable连接到我们的调试器
调试器通过扁平电缆连接到开发板
开发板如果开发编程需要可以通过串口
或者USB通讯口
再与电脑的超级终端进行连接和通讯
那么就像这张图中示意的
红色的一线对应引脚的一脚
好 到这个步骤我们就已经把硬件的平台
给大家简单的介绍了一下
并且把它连起来了
那我们接下来来进行软件工具链的安装
直到最后真真正正带着大家
把几个软件的工程文件代码烧写到我们的板子里
那么我们工具链
第一个工具呢是著名的CodeWarrior的开发工具
它有很多个版本
在这门课的范畴里呢
我们使用的是10.5版的special edition
那么这个软件可以从这个链接里直接下载
大家可以下载这种
Offline的一个很大的工具包直接在本地安装
也可以下载他的一个Online的安装包
一边下载一边安装
那么这个安装的过程就是基本上
是一个步骤一个步骤的这个对话框
就能正常的完成安装
这里特别要提示大家一定一定注意的一件事情是
不要将这个软件安装在有中文字符的路径里
也就是说从你的C盘、D盘下面
不要把它安装在任何一级子目录
有中文字符的目录里
最好使用默认路径
因为这是一个纯英文的传统开发工具
它对中文路径字符的支持并不好
所以有可能导致在日后的编译里头
出现奇怪的问题
而浪费很多的时间
这是大家一定一定要注意的
那么我们调试工具
也就是Open SDA硬件构架下
配置成JLINK的这个调试器呢
它的驱动安装也非常的简单
我们可以从网上下载这个JLINK的驱动程序
那么也是一个步骤一个步骤的进行自动的安装
那么需要提示大家注意的事情呢
是JLINK这个setup这个驱动包
版本在不停的更新
我们统一提供的应该是这个5.12版
如果大家到我刚才给的链接
JLINK官方主页上
可能会找着更新的版本
那也可以用 是没有问题的
另外一个就是这个步骤
一定是在上一个步骤
CodeWarrior开发工具安装完成之后
再来安装JLINK的驱动
当我们一步一步地点击这个对话框的时候
有几个选项需要注意
一个是默认这一项会打上勾
确定在安装软件包的时候
同时安装驱动那是当然肯定要安装驱动对吧
然后第二个呢
就是在我们这个驱动安装的目标路径的时候
跟刚才一样一定注意使用英文路径
不要在这个串里头有任何的中文字符
第三个呢 是有一个步骤
这个开发工具包会自动识别出
这个系统里已经安装的开发工具
自动的为他添加JLINK的驱动支持
那么像比如现在这个对话框里
就正确识别出当前这台电脑
已经安装好了CodeWarrior开发工具
所以它会为CodeWarrior开发工具
再加装JLINK的驱动支持
如果这两个次序错了
就像刚才我说为什么一定要有顺序
那么这个JLINK工具就找不着CodeWarrior
最终CodeWarrior就无法使用JLINK调试器
所以大家注意它的顺序
那么彻底安装成功的标志
就是插上我们的调试器
最后在windows的设备管理器里
成功的看到这个设备被识别出来
那么最后还有一个额外的步骤
特别是在下一个章节
包括我们做这个板子的测试里会用到的呢
是我们这个开发板上有串行通讯
是USB虚拟的串口
我们可以把这样一个
USB虚拟串口的驱动也给 step by step 的装上
步骤非常简单
就是用CP210几这个芯片的标准驱动包
一步一步安装就行了
装成功的标志就是当我们的USB线
连到我们开发板上
标有UART的那个USB口的时候
应该能成功的认出一个虚拟串口
并且我们可以通过单击右件的管理
来更改它的串口号
好 那么我们有了这几个步骤
就把我们整个的硬件平台给认识了一下
也知道了他的连接的注意事项
又把软件的工具链初步的装起来了
那么大家还有点晕
说这个东西怎么用起来呢
下个单元我来带着大家实操
一步一步的把一个工程文件导入进去
一步一步的写出咱们的第一个程序把小灯给点亮
-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
-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
-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
-5 智能车视角的嵌入式设计
--Video