APP下载

无线MCU的嵌入式系统实验方法改革

2019-06-03李元章马忠梅谭毓安张全新

实验室研究与探索 2019年3期
关键词:图形化嵌入式调试

李元章, 马忠梅, 谭毓安, 张全新, 刘 璐

(北京理工大学计算机学院,北京100081)

0 引言

嵌入式系统自诞生以来就在各行各业中得到了广泛的应用,但由于系统资源有限,因此开发与调试工作都需要专门的开发工具与开发环境的支持,比如早期的51系统,开发时需要先通过仿真器进行程序与电路仿真,再通过特定的编程器将可执行码写入到单片的ROM中,整个调试过程复杂,需要仿真器、编程器等硬件设备的支持。

随着ICE(In-Circuit Emulator)调试方法的出现,可以使用在线仿真器进行系统调试[1-4],支持片上断点和单步调试,并且支持可执行码的下载功能,集合了仿真器和编程器的功能,降低了开发的难度,如常见的JTAG调试方式和BDM背景调试方式等。

针对TI(德州仪器)的无线MCU芯片CC3200设计一种新型的嵌入式实验开发模式,能够将其方便地应用于嵌入式系统实验教学,并能够将该模式应用在STEM等益智系统的开发中,实验可分MCU端和手机端,学生可选择进行。MCU端可配合手机网络助手只关注MCU传感器采集、电机控制等;手机端配合MCU板用于采集加速度和温度,专注APP开发。学生可以两两配合完成自主命题的实验设计[5-9]。

1 支持无线功能的CC3200微控制器

TI的 CC3200微控制器是非常适合物联网(Internet of Things,IOT)应用的嵌入式无线 MCU[10],物联网体系架构分感知层、网络层和应用层,感知层离不开嵌入式系统,而无线MCU是传感器数据采集的理想器件,该芯片也是业界首款内置WiFi功能的无线MCU。CC3200集成了高性能ARM Cortex-M4内核,网络通信能力稳定可靠,并拥有完整的安全协议,用户能使用单芯片方案来完成WiFi网络系统开发。

CC3200的功能架构如图1所示。

图1 CC3200的功能架构图

其主要性能及资源包括:①基于ARM Cortex-M4的应用微控制器和基于WiFi的 网络处理器;② SPI/UART/I2C/SD/I2S/Camera等接口;③80 MHz/256 KB RAM/64KB ROM;④支持浮点运算和专用的数字信号处理指令;⑤ 支持无操作系统或嵌入式实时操作系统。

CC3200器件支持基站(Station)、访问点 AP(Access Point)和WiFi直接模式,集成WiFi功能是它的最大特色。

针对上述功能,设计了CC3200+智能手机的实验开发模式[11]。CC3200端负责下位机传感器采集和外设控制,通过无线WiFi进行数据传送,手机端可以使用手机网络调试助手与MCU进行网络调试。

2 传统嵌入式实验开发模式

对于功能相对简单的MCU来说,由于其通常不支持嵌入式操作系统,且接口资源有限,因此在开发和调试过程中,始终需要PC端的支持,需要在PC端安装编程环境,调试过程中通过USB或串口监控调试信息[12-15],其结构框架如图2所示。

图2 传统的嵌入式实验开发框架

常规的硬件实验开发流程如下:① PC端通过USB端口与JTAG仿真器(或USB转JTAG接口)相连接,再通过JTAG与实验板相连接,USB端口为开发板供电的同时,实现数据下载的功能,将CCS等开发环境编译好的可执行码通过JTAG下载至控制器ROM中,通常支持在线调试等模式。②PC端通过串行通信接口(可由USB端口虚拟串口)与实验板的串行口相连接,PC端安装串行通信超级终端程序,监测输出结果以及发送串行控制命令,进行程序调试。③根据实验板及其控制的外设运行测试情况,PC端修改程序代码直到系统与外设正确运行后将最终代码写入到下位机,完成系统开发。

在上述开发过程中,PC端是不可缺少的一环,无论软件设计还是系统调试,都无法离开PC端支持,而系统开发一旦离不开PC,开发过程就会受到很大限制,实验必须在实验室环境下完成,且实验还会受到PC端的性能制约。

3 基于WiFi的嵌入式系统调试模式

针对传统的嵌入式实验开发模式的缺陷,设计了一种基于CC3200+WiFi+手机的嵌入式实验调试模式,该模式利用手机作为上位机端与下位机CC3200控制端进行系统调试。其结构框架如图3所示。

图3 基于WiFi的嵌入式系统调试模式

在该模式下,PC端仅需要在系统开发初期介入,程序调试阶段则完全脱离PC进行,其基本流程如下:①实验板单独供电,PC端通过USB端口与JTAG仿真器(或USB转JTAG接口)相连接,再通过JTAG与实验板相连接,实现数据下载的功能,将CCS等开发环境编译好的可执行码通过JTAG下载至控制器ROM中,在代码中加入完整的基于WiFi的网络调试功能代码。②实验板脱离PC端,将基于CC3200的实验板运行于WiFi的 Station模式(或Access Point模式,由WiFi网络调试功能设定)。③将移动智能端(手机或者平板等)运行于Access Point模式(或者Station模式,即WiFi热点模式,与实验板的模式相对应),安装并运行网络调试助手,通过发送命令控制外设运行,接收来自外设的系统状态参数等进行系统调试。

在基于WiFi嵌入式调试模式下,需要首先初始化WiFi配置,然后进行WiFi连接,其基本流程见图4。

图4 CC3200的WiFi配置方法

手机端调试采用网络调试助手,界面如图5所示。

图5 手机端调试助手

由于移动智能设备的普及,学生几乎人人配备了智能手机,因此,在很大程度上提高了基于无线MCU的嵌入式系统实验调试的方便性。

上述基于WiFi调试的实验开发方法虽然能够脱离PC端进行独立的调试,但在其开发初期以及最终程序写入依然需要PC通过其相应的开发与编译环境如CCS等,进行编译和写入操作,故存在一定局限性。

4 STEM益智教育实验开发框架

为了能够以更简单的方式进行嵌入式实验,在手机端设计了一个APP应用程序,该APP内置Python解释器来解析Python代码,同时提供封装好的Python功能及动作函数,供用户编写图形化模块时进行调用,实验证明该方式能够应用于STEM益智教育的实验开发。

下面以某智能小车系统为例,简要说明基于无线MCU的STEM益智教育实验开发的基本框架。

智能小车采用CC3200无线MCU为主控制器,驱动步进电动机,控制全向轮转动。STEM益智教育框架设计实现了控制智能小车的Android上位机程序,实验开发框架APP端支持包括遥控器方式、绘图方式、图形化编程[16]和Python文本编程等。遥控器模块用按钮来操控小车前进、后退、左转和右转;绘图模块直接在手机上绘图由智能小车在纸上按比例放大绘出;图形化编程采用图形编程的方式方便青少年计算机编程入门;文本编程模块用Python代码来控制小车完成指定的动作。

其开发与调试的基本流程为:①用户根据下位机功能需求在手机端通过图形化方式或文本方式编写控制程序;②手机内置的Python解释器对程序进行解释,生成特定格式的指令流;③ 生成的指令流通过WiFi(Station模式或者AP模式)将命令下载至实验板;④实验板ROM中已固化的针对WiFi的命令解释器对每条指令逐条解释,生成控制指令控制外设的运行;⑤来自于下位机外部传感器的数据同样通过WiFi上传至手机端进行综合数据处理。

其功能框图如图6所示。

图6 STEM益智教育实验开发框架

终端APP能够实现通过图形化或文本方式控制下位机的运行,可进行步进电动机的运动距离和运动方式控制,红外、超声测距传感器的数据采集,自动避障、自动行驶等功能的算法实现。

基于无线MCU的STEM益智教育实验开发框架相比枯燥的代码编程,能够培养学生的编程兴趣,提高学生的动手能力,让学生切身体验到各个学科的魅力,尤其是计算机科学的魅力,并提高学生的综合能力。图7是按照上述框架构建的基于Python的文本与图形化编程的智能绘图小车及其绘制作品。青少年学习了图形化编程方法后,可进一步学习Python语言文本编程,过度到真正的程序员,从而具备一定的计算机编程能力。

图7 智能绘图小车及其绘制作品

5 结语

基于无线MCU的STEM益智教育实验开发框架仍然受到手机的CPU架构限制,几乎不支持集成开发编译环境,而且应用程序开发还受到手机端APP所支持的功能限制,无法进行复杂的系统功能设计,目前仅限于简单的针对STEM的应用程序开发。但随着智能手机性能的进一步提升以及应用框架的进一步完善,未来以移动智能设备为核心的嵌入式系统开发调试环境将会逐步应用到嵌入式系统的设计开发过程中。

猜你喜欢

图形化嵌入式调试
基于Arduino图形化编程的教学应用研究
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
TS系列红外传感器在嵌入式控制系统中的应用
基于航拍无人机的设计与调试
LKJ自动化测试系统图形化技术研究
搭建基于Qt的嵌入式开发平台
FOCAS功能在机床调试中的开发与应用
核电厂主给水系统调试
无线通信中频线路窄带临界调试法及其应用
网络图形化界面在高速公路机电设施养护管理系统中的应用