电子信息工程专业“嵌入式系统”实践教学探索
2012-10-12朱敏杰潘张鑫
朱敏杰,潘张鑫,罗 珩
(绍兴文理学院数理信息学院,浙江绍兴312000)
“嵌入式系统”是电类专业的一门重要专业课程。对照教育部98版专业目录,理学的电子信息科学类和工学的电气信息类本文主要对电子信息工程专业的“嵌入式系统”课程的实践教学进行研究探索[1]。
1 “嵌入式系统”课程实践教学
1.1 嵌入式领域人才需求
电子行业对嵌入式人才的需求主要有嵌入式硬件工程师、嵌入式系统工程师和嵌入式应用工程师[2]。其中嵌入式硬件工程师侧重于电路、底层驱动程序和板级支持包的设计;嵌入式应用工程师侧重于嵌入式系统平台软件开发;嵌入式系统工程师侧重于嵌入式操作系统的移植并致力于硬件平台和软件程序的对接[3]。
电子信息工程专业主要培养学生信号的获取与处理、电子设备与信息系统等方面的专业知识。由于专业的宽口径特征,培养目标与嵌入式人才需求三个方向都有相关度,相对而言,嵌入式硬件工程师、嵌入式系统工程师更为契合,嵌入式应用工程师则更贴近于计算机科学与技术的培养目标[4]。
1.2 嵌入式系统知识体系
嵌入式系统的知识体系主要如图1所示。嵌入式硬件工程师需要掌握模块1,嵌入式系统工程师需要掌握模块1和模块2,嵌入式应用工程师主要需掌握模块3。电子信息工程专业的课程体系大致包含模块1和模块2的内容,但是一般都缺少编译原理、数据结构和操作系统等嵌入式操作系统移植必备的知识。这使得学生学习复杂操作系统(如Linux、WinCE)具有相当难度,于是选择小内核的嵌入式操作系统(如μC-OS)就更具可操作性。
图1 嵌入式教学知识体系
ARM公司主要出售芯片设计技术而不直接从事芯片生产,半导体生产商购买ARM微处理器核,根据各自应用领域加入外围功能模块,形成ARM微处理器芯片[6]。ARM处理器的这一特点使得教学中出现两难格局:学习“嵌入式系统”时,学生具备的基础知识一般为单片机原理和微机接口原理,对ARM的体系结构、指令系统、软硬件调试工具、寄存器及外设功能等还相当陌生,如选择以内核为纲,学生掌握不了一款具体芯片,造成开发时上手慢;如选择以某种芯片为纲,又会弱化ARM的设计理念,囿于芯片本身,难以触类旁通。
Cortex是ARM最新一代内核,其中M系列针对价格敏感的嵌入式领域,强调操作的确定性以及性能、功耗和价格的平衡,适合于电子信息工程专业的嵌入式教学,容易使学生完成从单片机到ARM的有效过渡。
2 Cortex-M3“嵌入式系统”教学实践
2.1 整合课程内容
我校电子信息工程专业选择Cortex-M3内核,STM32处理器作为教学实验对象。
我们在学生掌握cortex-M3的体系结构基础上,兼顾最新的cortex-M3内核处理器STM32,接触嵌入式操作系统的任务调度,从51单片机过渡到ARM[5]。
“嵌入式系统”课程体系由嵌入式系统概论,ARM cortex-M3体系结构,STM32系列处理器原理与实践和嵌入式操作系统C/OS-Ⅱ四部分组成。
我们为学生精选了4本教材和参考书,并且提供相当数量的电子版资料和网络链接,供课后实时查阅。教材参考书按模块选择如下:嵌入式系统概论知识模块选用《嵌入式系统设计与实例开发——基于ARM微处理器与μC/OS-II实时操作系统》;ARM cortex-M3体系结构模块选用《ARM Cortex-M3权威指南》;STM32处理器应用模块选用《STM32系列ARM Cortex-M3微控制器原理与实践》;μC/OS-Ⅱ操作系统模块选用《嵌入式实时操作系统μC/OS-Ⅱ》。
2.2 选择实验平台
实验平台是嵌入式实验的硬件载体,我们放弃了传统的实验箱模式,选择STM32仿真学习套件STM3210B。该套件采用STM32F103为核心,扩展了USB、UART、CAN、LCD数码显示、模拟输入等硬件接口,采用USB下载程序和供电,集仿真器与目标板于一体,性价比较高。
2.3 设计实践环节
嵌入式系统的实践环节分为实验、课程设计和毕业设计。其中实验部分有18课时,课程设计时间为两周。实验课由理论课教师担任,可最大程度保证理论授课与实验的同步。课程设计要求学生综合利用实验所学知识,基于实验平台完成一项具体任务。
我们在参考意法半导体STM32开发板例程的基础上,结合集成开发环境的应用和μC/OS-Ⅱ操作系统的微控制器移植,编写实验讲义,设计了6个实验。实验项目如表2所示。
表2 “嵌入式系统”实验项目
实验过程应注意到嵌入式系统的程序相比单片机程序庞大许多,学生不可能在3课时内完成。教师应给出工程模板,要求学生编写关键代码或者修改参数设置,并按步骤设计分值,便于定量给出操作分。鼓励学生应用Source Insight和Beyond Compare两个程序文本编辑和比对软件,提高编程效率。实验考核由操作、实验报告两部分组成,操作占60%,报告占40%。
嵌入式课程设计,要求学生在实验平台上完成μC/OS-Ⅱ操作系统的移植,并且使用操作系统管理两个以上任务,完成任务调用,每个任务要求至少驱动一个片上外设。
3 结语
我校的“嵌入式系统”实践教学按照以上体系运行了两届,学生普遍反映容易接受这种从单片机过渡到嵌入式系统的教学模式。但是在知识结构的更新、实践环节的设置及动手能力的培养等方面还存在诸多不足。嵌入式系统是“后PC”时代电子领域发展最快的一个分支,今后在实践教学研究中需要形成动态体系,实时调整教学内容,争取使学生掌握业界最新的知识和技能。
[1] 教育部高等教育司.普通高等学校本科专业目录和专业介绍[M] .北京:高等教育出版社,1998
[2] 盛鸿宇,魏志光.关于开展嵌入式系统人才培养项目的设想[J] .上海:实验室研究与探索,2005,24(sup):60-63
[3] 李宁,宋薇,库少平.项目化嵌入式教学方法研究[J] .北京:单片机与嵌入式系统应用,2010,2:5-8
[4] 江敏,钱平.单片机教学向嵌入式教学转型的几点研究[J] .南京:电气电子教学学报,2005,27(1)33-34.
[5] 黄晓玲,段凤云,赵建科.嵌入式系统实验教学体系的探索与实践[J] .北京:实验技术与管理,2006,23(4):85-87
[6] Joseph Yiu.ARM Cortex-M3权威指南[M] .宋岩译.北京:北京航空航天大学出版社,2009