任务1.1 运行硬件系统
由于嵌入式系统是一门理论与实践密切结合的课程,为了使读者能够更好、更快地学习嵌入式系统,苏州大学嵌入式人工智能与物联网实验室(简称SD-EAI&IoT)研发了AHL-STM32L431嵌入式开发套件。该套件由硬件部分和电子教学资源两个部分组成。
1.硬件部分
如图1-1所示,AHL-STM32L431以STM32L431为核心,辅以硬件最小系统,集成红绿蓝三色灯、温度传感器、触摸感应区、复位按钮、两路TTL-USB串口和外接Type-C数据线 ,从而形成完整的通用嵌入式计算机(General Embedded Computer,GEC),配合补充阅读材料,读者可以很方便地进行嵌入式系统的学习与开发。该硬件为基础型,可以完成本书90%的实验。为了满足学校实验室建设要求,还制作了增强型硬件,增加了9个外接组件,包括声音传感器、加速度传感器、人体红外传感器、循迹传感器、振动马达、蜂鸣器、四按钮模块、彩灯及数码管等,可完成一些扩展实验。该硬件亦可适用通过主板上的开放式外部引脚外接其他接口模块进行创新性实验。增强型的包装分为盒装式和箱装式,盒装式便于携带,学生可借出实验室,而箱装式主要供学生在实验室进行实验。
AHL-STM32L431嵌入式开发套件由AHL-STM32L431主板与一根标准的Type-C数据线组成,具体内容如表1-1所示。
图1-1 AHL-STM32L431嵌入式开发套件
表1-1 AHL-STM32L431嵌入式开发套件
AHL-STM32L431是一个典型的嵌入式系统,虽然体积很小,但它包含了计算机的基本要素,可谓“麻雀虽小,五脏俱全”。下面从运行这个小小的微型计算机开始,开启嵌入式系统的学习之旅。
出厂时已经将电子教学资源中的“.. \04-Software\XM01”文件夹下的测试程序写入这个嵌入式计算机内,只要给它供电,其中的程序即可运行,步骤如下。
步骤1:使用Type-C数据线给主板供电。 将Type-C数据线的小端连接主板,另外一端接通用计算机的USB接口。
步骤2:观察程序运行效果。 现象如下:①红、绿、蓝各灯每隔5s、10s、20s状态变化一次,对外表现为三色灯的合成色,其实际效果如图1-2所示。即开始时为暗,依次变化为红、绿、黄(红+绿)、蓝、紫(红+蓝)、青(蓝+绿)、白(红+蓝+绿),周而复始;②用手触摸主板上标有“热敏”字样的温度传感器,可以看到黄灯闪烁3次;③用手触摸主板上标有“金葫芦”字样的触摸区,可以看到白灯闪烁3次。
图1-2 三色灯实际效果
从运行效果可以了解这个小小的嵌入式计算机的功能。实际上,该嵌入式计算机的功能十分丰富,通过编程可以完成智能化领域的许多重要任务,本书将由此带领读者逐步进入嵌入式系统的广阔天地。
2.在线教学资源
在线教学资源中包含了芯片资料、使用文档、硬件说明、源程序、电子课件等。读者可以通过百度搜索“苏州大学嵌入式学习社区”官网,随后进入“ 教材 ”→“ 高职版嵌入式教材 ”→“ 高职版教材金葫芦小助手 ”,在小助手协助下完成电子教学资源的下载及集成开发环境的下载与安装。
需要说明的是,嵌入式软件开发有别于个人计算机(Personal Computer,PC)软件开发的一个显著的特点是:它需要一个交叉编译和调试环境,即工程的编辑和编译所使用的工具软件通常在PC上运行,这个工具软件通常称为集成开发环境(Integrated Development Environment,IDE),而编译生成的嵌入式软件的机器码文件则需要通过写入工具下载到工具机上执行。这里的工具机就是人们通常使用的台式个人计算机或笔记本式个人计算机。本书的工具机就是AHL-STM32L431开发套件。
本书使用的集成开发环境为SD-EAI&IoT推出的AHL-GEC-IDE,它具有编辑、编译、链接等功能,特别是配合“金葫芦”硬件,可直接运行和调试程序,根据芯片型号的不同,可兼容其他常用的嵌入式集成开发环境。需要注意的是,PC的操作系统需要使用Windows 10版本。
安装集成开发环境之后,请读者尝试下载一个程序到嵌入式计算机中运行。
步骤1:硬件接线。 将Type-C数据线的小端连接主板的Type-C接口,另外一端接通用计算机的USB接口。
步骤2:打开环境,导入工程。 打开集成开发环境AHL-GEC-IDE,单击菜单“ 文件 ”→“ 导入工程 ”,随后选择电子教学资源中“..\04-Software\XM01\AHL-STM32L431-Test”(文件夹名就是工程名。注意:路径中不能包含汉字,也不能太深)。导入工程后,左侧为工程树形目录,右侧为文件内容编辑区,初始显示main.c文件内容,如图1-3所示。
图1-3 IDE界面及编译结果
步骤3:编译工程。 单击菜单“ 编译 ”→“ 编译工程 ”,就开始编译。正常情况下,编译后会显示“编译成功!”。
步骤4:连接GEC。 单击菜单“ 下载 ”→“ 串口更新 ”,将进入更新窗体界面。单击“ 连接GEC ”按钮,查找目标GEC,若提示“成功连接……”,可进行下一步操作。若连接不成功,则可参阅电子教学资源中“..\02-Document”文件夹内的快速指南文档中的“常见问题及解决办法”一节进行解决。
步骤5:下载机器码。 单击“ 选择文件 ”按钮,导入被编译工程目录下Debug的.hex文件,然后单击“ 一键自动更新 ”按钮,等待程序自动更新完成。当更新完成之后,程序将自动运行。
步骤6:观察运行结果。 与1.1.1节一致,这就是出厂时写入的程序。
步骤7:通过串口观察运行情况。 ①观察程序运行过程。单击菜单“ 工具 ”→“ 串口工具 ”,选择其中一个串口,波特率设为115200并打开,串口调试工具页面会显示三色灯的状态、MCU温度、环境温度(若没有显示,则关闭该串口,打开另一个串口)。②验证串口收发。关闭已经打开的串口,打开另一个串口,波特率选择默认参数,在“ 发送数据 ”按钮右侧的文本框中输入字符串,然后单击“ 发送数据 ”按钮。正常情况下,主板会回送数据给计算机,并在接收框中显示,效果如图1-4所示。
图1-4 IDE内嵌的串口调试工具
有了这些初步体验,下面开始正式学习嵌入式系统,首先了解嵌入式系统的定义、发展简史、分类及特点。