嵌入式系统是嵌入式人工智能与物联网的重要基础,该课程以ARM Cortex-M微处理器为蓝本,以软硬件构件为主线,基于嵌入式软件工程基本原理,按照"通用知识—驱动构件使用方法—测试实例—芯片编程结构—构件设计方法”的线条,逐步阐述嵌入式系统基本知识要素及较为规范的底层软硬件相结合的设计方法。
—— 《嵌入式系统与应用》课程团队
课程简介
课程链接:https://www.icourse163.org/course/SUDA-1001754273,目前超1000人已经学习完课程。
本课程是计算机科学与技术、物联网工程、电子信息等专业的重要技术类课程。通过本次课程,大家可以逐步掌握嵌入式系统的基本知识要素、基本原理与设计方法,获得嵌入式系统的基本脉络,打好软硬设计基础,逐步学会电子系统智能化嵌入式应用的软硬件设计,强化实践训练。
学习本课程有利于加强软硬件相结合开发的学习,有利于提高动手编程的能力。本课程力图利用构件阐述嵌入式通用基础,为嵌入式人工智能打好底层软件基础。
本课程教学用书《嵌入式技术基础与实践(第6版)—基于STM32L431微控制器》(苏州大学王宜怀教授主编),该教材历经十多年凝练,仔细梳理了嵌入式系统的通用基础知识要素,注重把握通用知识与芯片相关知识之间的平衡、把握硬件与软件的关系、对底层驱动进行构件化封装、设计合理的测试用例,教材内含简明实验套件,结合网上电子资源,方便读者进行实践与应用。
电子资源下载地址及路径
“https://sumcu.suda.edu.cn/”→“金葫芦专区”→“嵌入式书6版”,右边为下载索引。
课程大纲
01 概述
初识一个嵌入式系统,了解微型嵌入式系统的基本概况与发展简史、分类及特点;了解嵌入式系统知识体系及学习方法;了解嵌入式系统常用术语。- 1.1 初识嵌入式系统
- 1.2 嵌入式系统的定义、发展简史、分类及特点
- 1.3 嵌入式系统的学习困惑、知识体系及学习建议
- 1.4 微控制器与应用处理器简介
- 1.5 嵌入式系统常用术语
02 ARM Cortex-M4微处理器
归纳基本指令的理解方法、基本理解助记符与机器指令的对应关系;汇编语言的基本语法。- 2.1 ARM Cortex-M4微处理器简介
- 2.2 寻址方式与机器码的获取方法
- 2.3 基本指令分类解析
- 2.4 汇编语言的基本语法
03 存储器映像、中断源与硬件最小系统
从哪里入手认识一个新的MCU,MCU的硬件最小系统、CPU中的寄存器、存器器映像、GEC- 3.1 STM32L系列MCU概述
- 3.2 STM32L4的引脚图与硬件最小系统
- 3.3 由MCU构建通用嵌入式计算机
04 GPIO及程序框架
第一个程序的运行过程;GPIO构件;第一个汇编语言工程- 4.1 GPIO通用基础知识
- 4.2 软件干预硬件的方法
- 4.3 认识工程框架
- 4.4 GPIO构件的制作过程
- 4.5 第一个汇编语言工程:控制小灯闪烁
- 4.6 实验一 熟悉实验开发环境及GPIO编程
05 嵌入式硬件构件与底层驱动构件基本规范
底层驱动构件的封装规范;理解可移植与可复用的重要性,如何做到可移植与可复用- 5.1 嵌入式硬件构件
- 5.2 嵌入式底层驱动构件的概念与层次模型
- 5.3 底层驱动构件的封装规范
- 5.4 硬件构件及其驱动构件的复用与移植方法
06 串行通信模块及第一个中断程序结构
UART驱动构件使用及设计方法、中断的产生,中断处理函数的作用,学会处理其他中断的方法。- 6.1 异步串行通信的通用基础知识
- 6.2 基于构件的串行通信编程方法
- 6.3 UART构件的制作过程
- 6.4 中断机制及中断编程步骤
- 6.5 实验二 串口通信及中断实验
07 定时器相关模块
定时器的各种不同的使用方法,脉宽调制输出的编程方法。- 7.1 定时器通用基础知识
- 7.2 STM32L431中的定时器
- 7.3 脉宽调制
- 7.4 输入捕捉与输出比较
- 7.5 实验三 定时器及PWM实验
08 Flash在线编程、ADC与DAC
Flash在线编程以扇区为单位,跨扇区处理问题;模/数转换的技术指标;模/数转换的滤波问题与物理量回归问题。- 8.1 Flash在线编程
- 8.2 ADC
- 8.3 DAC
- 8.4 实验四 ADC实验
09 SPI、I2C与TSC模块
SPI的相位及极性设置问题;I2C的通信技术要点;TSC的基本原理。- 9.1 串行外设接口SPI模块
- 9.2 集成电路互联总线I2C模块
- 9.3 触摸感应控制器TSC模块
- 9.4 实验五 SPI通信实验
10 CAN总线、DMA与位带操作
CAN的原理性电路与基础实践。- 10.1 CAN总线
- 10.2 DMA
- 10.3 位带操作
11 系统时钟与其他功能模块
时钟系统与看门狗模块基本原理与编程方法。- 11.1 时钟系统
- 11.2 复位模块与看门狗模块
- 11.3 电源控制模块与CRC校验模块
- 11.4 实验六 综合实验
12 应用案例
实际嵌入式系统的开发的复杂性。- 12.1 嵌入式系统稳定性问题
- 12.2 外接传感器及执行部件的编程方法
- 12.3 实时操作系统的简明实例
- 12.4 嵌入式人工智能的简明实例
- 12.5 NB-IoT的应用简介
- 12.6 4G、Cat1、Wi-Fi及WSN的应用
预备知识
必须具备以下知识:
1.计算机硬件基础(或模拟电路与数字电路、计算机组成、汇编语言、微机原理)
- 高级程序语言设计等(如C语言)
课程学习链接
《嵌入式系统与应用》学习连接:https://www.icourse163.org/course/SUDA-1001754273
配套教材链接:《嵌入式技术基础与实践(第6版)—基于STM32L431微控制器》
写在后面
嵌入式系统设计是一个软件、硬件协同设计工程,不能像通用计算机那样,软件、硬件完全分开来看,要在一个大的框架内协调工作。
要想成为一名真正的嵌入式系统设计师,在初学阶段,必须重视打好嵌入式系统的硬件与软件基础。嵌入式系统与硬件紧密相关,是软件与硬件的综合体,没有对硬件的理解就不可能写好嵌入式软件,同样没有对软件的理解也不可能设计好嵌入式硬件。赶紧报名来学习https://www.icourse163.org/course/SUDA-1001754273吧~