未来嵌入式人才需要具备综合性能力:硬件电路的设计能力,利用先进软件工具的开发能力,硬件抽象层设计的思维能力,以及理解基于前后台编程方式和基于嵌入式操作系统编程之间的差异。# k6 ?, C r1 y, i. L ) ?: I* Z- O. b 嵌入式,这是个专业术语。IEEE(国际电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。(原文:Devices Used to Control,Monitor or Assistthe Operation of Equipment,Machinery or Plants)。国内普适化认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。简而言之:为了应用高度定制软件和硬件的计算机系统,满足一系列的特定应用需求。& T7 W# ` [# V% m& ?0 l " e1 | C: f+ n/ V9 w; P2 Y综上,嵌入式人才需要具备综合性能力,不仅要具备基本理论知识,还要具备软硬件的开发能力,更需要对应用场景有适当的考量。 8 `! A8 k* p& Y0 `! W 电子科技大学漆强老师新开设的挑战性学习课程《嵌入式系统设计》,以依托STM32生态系统的全新角度,以“基础知识+硬件设计,通用知识+软件工程” 为理念,结合多年授课经验及实战化总结,巧妙地将硬件设计思想、软件思路和系统设计策略融会贯通于课程当中,打造在校大学生的“嵌入式系统设计”学习金课,在硬件设计能力要求具备硬件抽象层设计思想,软件开发要学会重用性、可移植,系统设计强调整体实现、突出程序架构理念。 6 j4 O+ K- i, O* [) ^, G6 T 课程亮点:与工程实践紧密结合,全方位融入电路设计软件的使用、硬件抽象层设计、状态机设计和通信协议设计等实用的工程技能,提升学习者解决复杂工程问题的能力。该课程在教育部“产学合作协同育人”项目成功立项。 . _4 i3 x* S0 L2 H. t课程选用意法半导体公司的STM32F4微控制器为载体,采用STM32CubeMX开发工具及HAL驱动库,以嵌入式硬件设计和软件设计为主线,按照“最小系统电路设计 → 开发工具使用 → 片内外设应用”的学习路径,分层次、递进式的讲授嵌入式系统的设计方法。STM32CubeMX软件提供简洁的图形化界面,设计者无需编写任何代码,就可以完成引脚分配、时钟设置和外设设置等初始化工作,并生成基于MDK-ARM等集成开发环境的工程框架,使设计者可以更专注于应用层代码的编写。采用库函数的编程方式可以不必了解硬件寄存器的含义,利用库函数提供的接口函数快速实现功能。基于图形化的配置方式和库函数的编程方式使得初学者可以快速入门嵌入式系统的设计和开发,降低了学习的门槛。 t T# X: Y! i 一名嵌入式工程师的工程能力应该包括:硬件电路的设计能力,掌握先进软件工具助力开发的能力,具备硬件抽象层设计思想,理解基于前后台编程方式和基于嵌入式操作系统编程之间的差异。 围绕上述工程能力,课程分为五大专题,每个专题均有相应的工程项目为依托。 专题一:硬件设计 — 绘制微控制器的最小系统原理图(包括电源电路、时钟电路、复位电路和调试电路)、绘制最小系统印刷板、并完成电路板的焊接与调试; , @! Y4 d7 w6 ?/ l& p/ O专题二:软件设计 — 要求掌握STM32CubeMX软件的使用流程,MDK-arm集成开发环境的使用流程,同时掌握单步、断点等调试手段; 专题三:四大外设 — 微控制器四大外设(GPIO、EXIT、TIMER、UART)的使用和理解对于嵌入式的学习至关重要,学会利用GPIO控制指示灯和按键,利用中断的方式读取按键的状态,在定时器模块,重点介绍时间基准和PWM信号输出的功能,串口模块将介绍轮询、中断和DMA三种串口通信的方式; 专题四:系统设计—完成光电导航小车以及温度采集的物联网系统的常规性嵌入式系统设计,并发挥自己的主观能动性,进行如手机防盗、儿童看护、智能穿戴及垃圾分类等创意设计; 6 ]" N7 O+ B/ J5 {5 x- E 专题五:RTOS — 介绍嵌入式实时操作系统的应用。以FreeRTOS作为载体介绍操作系统的应用,学会任务创建和任务通信。在任务通信部分,将以信号量和消息队列为重点介绍。 " ?9 }8 x9 D" U( r- m$ p& |硬件平台: . _8 S% H" E% j4 `- K2 ]% J$ P. v硬件平台采用NUCLEO-F411RE开发板,该开发板采用USB供电,板上集成了ST-Link仿真器,板载基本的指示灯和按键,并设计了Arduino UNO的接口,方便用户接入Arduino生态圈。 7 }# W5 J) ?- r$ X0 ?& Q! I: }: \1 h9 U$ {1 ? 此外,为满足课程种挑战性任务的实现,自制扩展板,以叠放的方式插接在NUCLEO开发板上。 % h: m+ `5 `4 G! X m6 K |