嵌入式系统》课程教学大纲

 

 

 Embedded  System              

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

编写单位:  物理与电子科学学院 电子信息

编写时间:   2023    10  

 

 

嵌入式系统》课程教学大纲

一、基本信息

课程名称: 嵌入式系统   英文名称:Embedded  System

课程类别:专业教育课程

课程性质:必修

课程编码:08100W0155

学分:2

总学时:32。其中,讲授24学时,实验8学时,上机0学时,实训0学时

适用专业:电子信息科学与技术、人工智能

先修课程与知识储备:计算机与C程序设计基础》;《电路分析基础》;《电子线路(上、下)》;《单片机原理及接口技术Matlab及应用

后继课程:嵌入式Linux应用编程》;《毕业实习(电子信息科学与技术、人工智能》;《毕业设计(论文)(电子科学与技术、人工智能

二、课程简介:

嵌入式系统是一门与行业应用紧密结合的交叉学科,是涉及计算机、电子、通信等技术领域的软/硬件综合体。嵌入式系统技术已被广泛地应用于工业控制系统、信息家电、通信设备、医疗仪器、智能仪器仪表等众多领域。如手机、PDA、MP3、手持设备、智能电话、机顶盒等,可以说嵌入式系统无处不在。随着微电子技术的飞速发展,嵌入式领域不断变化,各种微处理器架构(如MCS-51架构、MIPS架构、PowerPC架构、ARM架构等)、芯片及开发工具层出不穷,这种百花齐放的局面给嵌入式开发者的学习和开发带来了一定的难度。

本课程是电子信息科学与技术专业、人工智能的学科专业课程针对目前流行的基于ARM架构的嵌入式微处理器与源码公开的实时操作系统进行详细剖析,并结合具体嵌入式系统开发实验,使学生能够熟练掌握嵌入式系统的设计与开发方法。本课程的特点以嵌入式系统的基本概念和原理为主线,针对基于ARM Cortex-M3内核的STM32微控制器,依循模块化设计思想,针对STM32的五大外设模块(GPIO、EXTI、USART、DMA和ADC),分别采用基于标准外设库和基于HAL库的设计方法进行了详细阐述,并从初学者的角度出发,详细讲解了从模块到项目的开发过程,最后基于μC/OS-Ⅲ嵌入式操作系统讲述了嵌入式操作系统基本原理及开发思路。

本课程全面讲解嵌入式系统开发与应用技术,以基于ARM Cortex-M3内核的STM32F103系列微控制器为硬件平台,系统讲述嵌入式系统开发的基本知识、基本方法以及以STM32F103系列微控制器为核心的嵌入式系统软、硬件开发过程。主要内容包括:嵌入式系统开发基础知识;ARM技术概述;基于ARM的嵌入式系统应用程序设计;基于STM32F103的嵌入式系统应用开发实例;uC/OS-III操作系统及应用开发。

教学目标

1、课程思政教学目标

“嵌入式系统将知识传授与育人进行了深入融和,使学生了解嵌入式最新技术应用与祖国取得的伟大成就掌握专业知识的同时,帮助学生形成正确的世界观、人生观、价值观,认识科技创新的重要性,提升学生的职业素养,增强学生的社会使命感和主人翁意识,全员育人、全程育人、全方位育人,达成价值引领知识教育,开阔视野,激发努力拼搏的奋斗精神和勇于担当的使命感和责任感。

2、课程教学总目标

通过本课程的学习,学生可以了解嵌入式系统技术基本概念、特点、分类,掌握嵌入式系统软硬件设计的基本方法。使学生掌握嵌入式系统的基本概念、基本理论和基本分析方法,能够初步掌握嵌入式系统开发的基本方法,为开发和设计嵌入式系统奠定坚实的基础能够在理解嵌入式系统的基本概念、发展历史的内涵以及外延的基础上,总结和预测嵌入式系统行业的发展现状与发展趋势,培养学生分析和总结问题的能力。课程教学使学生能够在理解嵌入式系统组成原理的基础上,掌握嵌入式系统设计与开发的一般流程理解和掌握ARM体系结构及STM32微控制器内核架构;能够熟练使用嵌入式主流的开发工具,掌握工程的代码编辑、程序编译、仿真和调试等能力理解和掌握嵌入式微控制器STM32的硬件外设资源(GPIO、EXTI、USART、TIM、ADC等)及嵌入式操作系统,能够基于STM32的外设模块进行外设的应用与实践通过项目案例,重点掌握嵌入式系统的应用开发,能够根据系统要求,进行系统的芯片选型,采用合适的开发工具,针对实际项目需求,进行系统方案的总体设计、硬件设计以及软件设计,并在设计过程中体现分析问题解决问题、项目设计与实施、团队协作、项目管理等能力。

3、课程目标与学生能力和素质培养的关系

利用嵌入式系统专业基础课的特点,将知识的传授与能力、素质的培养更好地结合起来在教学过程中,将能力素质的培养放在重要的位置上,要求学生掌握嵌入式系统基本工作原理、嵌入式系统分析与设计、蕴含的科学思维方法加强对嵌入式系统应用技术的认识,并为嵌入式系统应用有关的工程技术的发展提供基础培养学生解决工程实际问题的能力。

4、毕业要求课程目标关系(OBE结果导向)

毕业要求—课程目标关系(OBE结果导向)如表1。

1  毕业要求-课程目标关系表

毕业要求

指标点

与课程关联度

课程目标

2.专业知识

2.2具有较强的计算机应用能力和从事专业领域内研究、开发及管理的基本能力。

H

1. 理解嵌入式系统的基本概念、发展历史的内涵以及外延,理解嵌入式系统设计与开发的一般流程

2. 重点理解和掌握嵌入式微控制器STM32的GPIO模块,并能够基于库函数进行GPIO模块的应用与实践

3. 重点理解和掌握嵌入式微控制器STM32的EXTI模块,并能够基于库函数进行EXTI模块的应用与实践

4重点理解和掌握嵌入式微控制器STM32的UART模块,并能够基于库函数进行UART模块的应用与实践

3.问题分析与解决

3.1能运用所学的理论、方法和技能解决科研和生产中的实际问题

3.2能在电子信息行业从事科研、设计、管理以及教学工作。

H

5重点理解和掌握嵌入式微控制器STM32的DMA模块,并能够基于库函数进行DMA的应用与实践

6重点理解和掌握嵌入式微控制器STM32的定时器模块,并能够基于库函数进行定时器的应用与实践

7. 重点理解和掌握嵌入式微控制器STM32的ADC模块,并能够基于库函数进行ADC的应用与实践

8. 重点理解和掌握嵌入式操作系统的概念、uC/OS-IIIFreeRTOS工作原理及多任务应用实践

9. 重点理解和掌握嵌入式开发的一般流程、嵌入式主流的开发工具使用、项目程序编译及调试等

注:表中“H()、M(终)、L(弱)”表示课程与各项毕业要求的关联度。

 

、课程内容及学时分配

本课程内容、建议学时以及知识单元与课程目标支撑关系如表2所示。

2  课程内容及学时分配

知识单元

知识点

讲授学时

实验学时

上机学时

课程

目标

序号

描述

序号

描述

1

嵌入式系统概述

1

信息技术的发展计算机的诞生通用信息处理人工智能

2

0

0

1、2、3

2

嵌入式系统嵌入式系统案例分析嵌入式系统概念嵌入式系统与物联网

3

嵌入式初学者杂谈MCU、MPU、ARM、FPGA、DSP概念 MCU开发与ARM-Linux开发的区别开源硬件Arduino和树莓派

4

嵌入式系统开发流程系统需求分析系统总体设计系统软/硬件设计系统软/硬件测试

2

ARM Cortex-M3内核与STM32微控制器

1

嵌入式系统基础知识冯·诺依曼结构与哈佛结构ARM存储模式CISC和RISC、、流水线技术

2

0

0

4、5

2

ARMARM介绍ARM体系结构

3

ARM Cortex-M3内核内核架构寄存器 存储结构 中断与异常(NVIC)

4

STM32微控制器结构STM32系统结构STM32总线结构STM32存储结构STM32中断 STM32时钟系统

3

STM32微控制器及开发环境搭建

1

STM32介绍

2

0

0

4

2

STM32微控制器开发模式寄存器开发模式标准外设库开发模式HAL库开发模式

3

开发平台的搭建嵌入式开发环境集成开发环境Keil 下载和安装Packs包

4

基于标准外设库开发平台搭建标准外设库文件结构基于标准外设库新建工程模板

5

基于HAL库开发平台的搭建Java运行环境的安装安装STM32CubeMX软件STM32CubeF1库文件结构              STM32CubeMX生成的工程架构解析

4

STM32最小系统与嵌入式C语言

1

STM32最小系统 电源电路 时钟电路 复位电路 101调试和下载电路

2

0

0

3、5

2

嵌入式C语言STM32的数据类型const关键字static关键字volatile关键字extern关键字struct结构体enum typedef#define#ifdef、#ifndef、#else、#if条件编译指针 回调函数

3

HAL库文件源代码分析stm32f1xx/stm32f103xe.h stm32f1xx_hal.c/.h) stm32f1xx_hal_gpio.c/.h

5

通用输入/输出

1

GPIO概述

2

0

0

4、

2

STM32的GPIO工作原理 (STM32F103引脚图 GPIO内部结构  GPIO工作模式              GPIO输出速度)

3

GPIO标准外设库接口函数及应用GPIO标准外设库接口函数 GPIO标准外设库应用实例              基于标准外设库开发的一般流程

4

GPIO的HAL库接口函数及应用GPIO的HAL库接口函数 GPIO的HAL库应用实例基于HAL库开发的一般流程

5

编程思想之模块化编程 

6

中断

1

中断的相关概念(什么是中断、为什么使用中断中断处理流程

2

2

0

6、7

2

STM32中断和异常STM32中断和异常向量表STM32中断优先级STM32中断服务程序

3

STM32外部中断EXTI

4

EXTI标准外设库接口函数及应用 EXTI标准外设库接口函数EXTI标准外设库中断配置步骤EXTI标准外设库应用实例

5

EXTI的HAL库接口函数及应用EXTI的HAL库接口函数 EXTI的HAL库应用实例

7

串口通信

1

通信概述异步串行通信异步串行通信协议 异步串行通信接口

2

2

0

7、8

2

异步串行通信异步串行通信协议异步串行通信接口

3

STM32的USART模块USART内部结构USART接口USART编程模式

4

USART标准外设库接口函数及应用USART标准外设库接口函数USART串口应用编程步骤USART标准外设库应用实例

5

USART的HAL库接口函数及应用UART的HAL库接口函数USART的HAL库应用实例USART应用实例拓展

6

编程思想之自定义串口通信协议

8

DMA

1

DMA基础理论知识

2

2

0

4、7、9

2

STM32的DMA模块STM32的DMA内部结构DMA优先权DMA中断请求

3

DMA标准外设库接口函数及应用DMA标准外设库接口函数DMA标准外设库的配置过程DMA标准外设库函数的应用实例

4

DMA的HAL库接口函数及应用DMA的HAL库接口函数DMA的HAL库应用实例

9

定时器

1

STM32定时器STM32通用定时器STM32基本定时器STM32高级定时器

2

2

0

7、8、9

2

定时器标准外设库接口函数及应用 定时器标准外设库接口函数 定时器标准外设库配置过程定时器标准外设库应用实例

3

PWM STM32定时器PWM的工作原理PWM标准外设库输出配置过程 PWM标准外设库的应用实例

4

SysTick定时器 SysTick标准外设库函数SysTick定时器的应用实例

5

定时器HAL库接口函数及应用定时器HAL库接口函数定时器HAL库应用实例编程思想之状态机设计思想

10

ADC

1

ADC基础理论知识A/D转换过程A/D转换的主要技术参数

2

0

0

7、8、9

2

STM32的ADCADC的引脚ADC通道选择ADC中断和DMA请求ADC转换时间 ADC数据对齐 ADC的转换模式ADC校准

3

ADC标准外设库接口函数及应用ADC标准外设库接口函数ADC标准外设库配置过程ADC标准外设库的应用实例

4

ADC的HAL库接口函数及应用ADC的HAL库接口函数ADC的HAL库应用实例

11

从模块到项目

1

从模块到项目的开发思路项目需求分析系统总体架构设计 系统软/硬件设计

2

0

0

7、8、9

2

项目实践项目需求分析系统总体架构设计系统硬件设计系统软件设计

3

面向对象的编程思想

12

嵌入式操作系统

1

概述嵌入式系统的开发方式计算机系统的分层设计思想 

2

0

0

7、8、9

2

嵌入式操作系统的概念计算机操作系统嵌入式操作系统嵌入式操作系统的分类             

3

嵌入式实时操作系统μC/OS-Ⅲ的任务μC/OS-Ⅲ时钟和中断μC/OS-Ⅲ任务间通信与同步

4

μC/OS-Ⅲ移植与应用μC/OS-Ⅲ源代码下载μC/OS-Ⅲ移植μC/OS-Ⅲ多任务应用实例

 

、教学方法及要求

采用多媒体教学,课堂讲授与实验,结合讨论、案例教学和研究性教学。注重培养学生的实际应用能力与创新能力,以达到“学习嵌入式,使用嵌入式”的教学目的。要求学生掌握嵌入式系统设计基本概念嵌入式系统硬件平台嵌入式系统软件平台嵌入式系统设计开发方法基于ARM架构的嵌入式微处理器与实时操作系统等内容,融入嵌入式技术与应用专业培养的典型岗位——嵌入式系统应用开发工程师岗位能力要求,结合真实案例,注重理论与实践结合,通过真实任务的实现,循序渐进地对嵌入式系统技术全面学习,最终达到能够独立完成嵌入式系统应用开发、系统开发、驱动开发等多方面工作适应21世纪经济发展的需要。培养学生分析问题、解决问题的能力帮助学生全方位学习掌握嵌入式系统应用开发

本课程采用高等学校电子信息科学与技术专业规范核心课程教材,结合学生个性特点,因材施教。本课程的课堂教学将充分利用数字化技术、网络教学平台等,采用多媒体教学,课堂讲授结合讨论和案例教学,调动学习积极性,提高教学效率。

课程思政教学方法主要采用在教学过程中对思政进行相关引导,引导学生形成正确的世界观、人生观、价值观,认识科技创新的重要性,提升学生的职业素养,全员育人、全程育人、全方位育人,达成价值引领知识教育,开阔视野,激发努力拼搏的奋斗精神和勇于担当的使命感和责任感。

 

、重点与难点

1、重点内容:

      嵌入式系统的概念、定义、分类嵌入式系统的发展历史、趋势,嵌入式系统设计与开发的一般流程

      ARM Cortex-M内核架构(指令集、寄存器组等)STM32微控制器内核架构(寄存器组、总线结构、存储结构、中断系统等)

      STM32F103系列MCU的GPIO内部结构、输出模式、输入模式STM32的GPIO模块HAL库接口函数

      STM32微控制器的外部中断的内部结构及工作原理STM32的EXTI模块HAL库接口函数

      异步串行通信的数据帧格式、波特率STM32的UART模块的内部结构及工作原理STM32的UART模块HAL库接口函数

      STM32的DMA结构及工作原理STM32的DMA模块HAL库接口函数

      STM32定时器的内部结构、工作通用定时器的定时/计数、输入捕获、输出比较、PWM等功能SysTick定时器STM32的定时器模块HAL库接口函数

      STM32的ADC结构及工作原理STM32的ADC模块HAL库接口函数(

      嵌入式操作系统uC/OS-III的工作原理uC/OS-III的任务、任务优先级、时钟与中断

2、难点内容:

      基于HAL库进行GPIO的应用与实践

      基于HAL库进行EXTI的应用与实践

      基于HAL库进行UART的应用与实践

      基于HAL库进行DMA的应用与实践

      基于HAL库进行定时器的应用与实践

      基于HAL库进行ADC的应用与实践

      uC/OS-III的多任务应用

      基于具体的开发项目进行嵌入式系统的综合开发实践

学习要求

要求学生课后巩固复习,消化课程内容。本课程安排大作业,内容包括:

      流水灯程序设计

      按键程序设计

      Timer定时器程序设计

      伺服舵机控制程序设计

      直流电机控制程序设计

      码盘测速程序设计

      A/D转换程序设计

      D/A转换程序设计

      实时时钟程序设计

      摄像头程序设计

      显示屏程序设计

八、考核内容及考核方式

1.考核内容及评价依据

从目前的知识考核,向能力考核转变,嵌入式总评成绩中的项目实践内容评价采用项目化的考核方式,本课程考核内容、建议评价依据以及与课程目标对应关系如表3所示。

表3 课程目标-考核方式关系表

课程目标

考核内容

评价依据

课程目标1、2

基本知识点的理解与掌握(30%)

优秀

(100>x≥90)

熟练掌握了本课程的基本知识点,能够达到学以致用的水平

良好

(90>x≥80)

基本掌握了本课程的基本知识点,但存在某些盲点

中等

(80>x≥70)

基本掌握了本课程的核心知识点,对核心知识点能够简单应用

及格

(70>x≥60)

基本了解本课程的核心知识点,在指导下能够应用本课程知识点

不及格

(x<60)

不了解本课程的知识点,不知如何应用

课程目标34

项目代码的运行结果正确与否(30%)

优秀

(100>x≥90)

项目运行结果与要求一致,没有错误,甚至比要求更加完美 

良好

(90>x≥80)

项目运行结果与要求基本一致,但存在小错误 

中等

(80>x≥70)

项目运行结果与要求基本一致,存在较多小错误 

及格

(70>x≥60)

项目运行结果与要求有出入,但是明白出错误的原因 

不及格

(x<60)

项目运行结果与要求不一致,存在较大差别,错误比较多

课程目标56

项目代码的完整性与原创性20%)

优秀

(100>x≥90)

项目代码完整、考虑全面、基本都是原创性代码 

良好

(90>x≥80)

项目代码比较完整、考虑比较全面、具有一定的原创性代码 

中等

(80>x≥70)

项目代码比较完整,但是存在明显代码粘贴痕迹,基本没有原创性代码 

及格

(70>x≥60)

项目代码存在不完整性,较多代码有粘贴痕迹,无原创性代码 

不及格

(x<60)

项目代码不完整,存在明显缺失,代码粘贴痕迹明显

课程目标789

团队协作能力及文档撰写能力20%)

优秀

(100>x≥90)

团队协作高效,团队成员之间优势互补;项目文档撰写格式规范、完整,都是原创性的文档

良好

(90>x≥80)

团队协作能力良好,较好的融入团队;项目文档撰写较好,格式规范,具有一定的原创性

中等

(80>x≥70)

团队协作能力较好,团队成员能较好的融入团队项目文档撰写比较规范,存在部分粘贴痕迹

及格

(70>x≥60)

团队协作一般;项目文档撰写存在不规范、不完整,有较多的粘贴痕迹 

不及格

(x<60)

团队协作能力差,合作意愿差,拒绝分享;项目文档撰写不规范、不完整,存在大量及明显的粘贴复制

 

2、成绩评定

(1)成绩评定标准

课程总评成绩分成平时成绩和期末成绩,期末成绩占50%,平时成绩占50%。平时成绩包括平时作业和项目实践,其中平时作业占20%,包括考勤、平时作业,项目实践占30%。

(2)课程目标与评分标准之间的对应关系

表4 课程目标-成绩评定标准关系表

课程目标

成绩评定标准

课程目标1、2、3、5

作业20%) 

(1)主要考核学生对每章节知识点的复习、理解和掌握程度;

(2)每次作业按20分制单独评分,取各次成绩的平均值作为此环节的最终成绩。

课程目标3、5、6、7

项目实践 30%) 

(1)考查应用所学知识及应用先进设计工具解决工程问题的实践能力、口头和文字表达能力以及团队合作能力;

(2)教师根据选题、设计文稿、程序、报告和答辩情况评分。

课程目标4789

期末考试 50%)

(1)卷面成绩100分,以卷面成绩乘以其在总评成绩中所占的比例计入课程总评成绩。

(2)主要考核嵌入式系统开发的流程、ARM内核架构、STM32五大外设模块(通用输入输出、中断、串口通信、定时器、ADC)、嵌入式操作系统等内容。考试题型为:简答题、程序设计题和综合题等。

 

课程资源平台

[1]     长沙理工大学网络教学综合平台

http://pt.csust.edu.cn/meol/homepage/common/

[2]  http://www.embeddedlinux.org.cn/index.html

[3]  http://www.myembed.com/

[4]  http://www.emb365.com/

[5]  http://www.51emb.com/main.asp

[6]  http://cevx.com/bbs/

[7]  http://www.21ic.com/

[8]  http://www.embed.com.cn/

[9]  http://www.embedworld.com/

[10]            http://www.21control.com/Index.html

[11]            其它相关教学网站与课程思政网站资源

 

教材主要参考书

教材:

[1]  嵌入式系统基础与实践——基于ARMCortex-M3内核的STM32微控制器[M].刘黎明,王建波,赵纲领.北京:电子工业出版社,2020

主要参考书:

[1]  嵌入式系统原理及应用——基于ARM Cortex-M3内核的STM32F103系列微控制器[M].王益涵、孙宪坤、史志才.北京:出版社:清华大学出版社,2016

[2]  嵌入式系统基础与实践[M]. 王建波,赵纲领.北京:电子工业出版社,2020

[3]  μC/OS-Ⅱ——源码公开的实时嵌入式操作系统[M]. 美)Jean J.Labrosse, 邵贝贝译.北京:中国电力出版社,2001

 

 

大纲执笔人:  唐俊龙     课程负责人:唐俊龙       大纲审核人:范志强