厦门大学

图片
课程概述

本课程是电子信息科学技术专业的核心基础课,是电子系统设计和集成电路应用开发的入门课程。本课程主要包括嵌入式系统概述,ARM Cortex处理器架构,软硬件件开发环境,基本内部硬件模块 GPIO/定时器/PWM/ADC模块,通用外设通信接口UART/I2C/SPI接口, TCP/IP网络协议及其实现,嵌入式操作系统内部机制及其移植等内容。通过本课程的学习,让学生掌握嵌入式系统的概念及其开发方法,并且能够利用所学内容进行嵌入式系统的开发设计。本课程覆盖面广,体现电子学科模拟电路、数字电路和软件基础等三四门课程的基础知识和及其综合应用,对学生实际动手能力有很高的要求。在教学上,突出理论和实验并重的特点,让学生在理论和实践的不断循环中掌握和消化知识。


授课目标
通过本课程学习,使学生能够掌握以下知识:1、掌握有关嵌入式系统的概念以及发展趋势,了解嵌入式体系架构、嵌入式微控制器结构;2、掌握嵌入式系统开发的过程和方法,掌握嵌入式软硬件定制开发的基本知识和技能;3、掌握嵌入式操作系统内部机制和移植方法,并基于嵌入式操作系统上进行应用程序开发。
证书要求

1.完成所有的课程学习。

2.完成课程视频中的测试题。

3.完成课后布置的作业。

4.优秀学员要求:

4.1完成以上1~3。

4.2课程结束后,完成教师最后布置的项目,分享视频以便观察完成结果。

4.3总优秀率不超过30%。

考核方式:

单元测验20%+课堂讨论10%+课程考试50%+单元作业20%


预备知识


1.具备C语言程序设计能力,掌握程序的基本调试方法;

2.学习过计算机和软件技术基础等的相关课程;

3.有模拟电路和数字电路技术基础,了解基本电路知识,读懂电路原理图和框图。



授课大纲


理论部分

1.嵌入式系统概述:嵌入式系统的定义、特点、示例及其趋势。

2.ARM Cortex处理器硬件架构:重点介绍ARM的结构体系、指令系统、内外部总线结构、存储器空间映射、中断机制、DMA机制等。

3.软件开发环境: 嵌入式软件开发流程及其工具, CCS或者KEIL开发环境, 调试技术(调试接口和调试方法),TivaWare库等。

4.基本内部硬件模块: 通用输入/输出(GPIO),管脚复用,通用定时器(看门狗、中断)和脉冲宽度调制器(PWM),ADC模块。

5. 通用外设通信接口: 异步UART, 同步I2C接口/SPI接口。

6.网络通信接口和协议: TCP/IP网络协议及其实现、 WIFI或者以太网控制器, 网络通信示例。

7.嵌入式操作系统:操作系统概念,操作系统架构、任务调度机制、同步机制和移植(底层驱动接口)。FreeRTOS操作系统移植,重点分析FreeRTOS的内部机制。

8.基于操作系统的应用开发案例:以一个具体的例子讲解基于操作系统多任务调度的嵌入式应用开发。

9.实时数字信号处理概述:I2S接口及音频处理, DSP库函数,模拟信号频谱分析(ADC+FFT+DMA)。



实验课部分

1.软硬件开发环境:软件开发架构、工具包、开发板及其原理图介绍。

2.外设GPIO(KEY,LED),定时器,显示,ADC/DAC,UART、I2C/温度传感器,SPI接口。

3.FreeRTOS操作系统移植及其运行。

4.网络通信实验及其WEB应用.

5.模拟信号频谱分析(ADC+I2S+FFT+DMA)。


参考资料



[1]沈建华、郝立平等编著,嵌入式系统教程——基于Tiva C系列ARM Cortex-M4微控制器,北京航空航天大学出版社,2015年5月

[2]Joseph Yiu著, ARM Cortex-M3与Cortex-M4权威指南,清华大学出版社,2015年9月

[3]TI Tiva C series MCU 数据手册


常见问题

很多学习者对于嵌入式的概念性问题,认识非常模糊,因此对于嵌入式的初学者来说,扫盲这些问题显得非常关键这些看似泛泛的概念性知识,对于后续嵌入式课程的学习起着非常重要的引导作用。

       嵌入式系统开发学习如何起步、如何深入?

       嵌入式系统开学习发需要理论和实验相结合,通过理论课程掌握嵌入式系统的概念和开发流程、步骤,以及所使用的开发工具,包括系统开发的仿真平台和通用的集成开发环境。在实验中结合具体的项目进行开发和设计,实现各自不同的系统应用。这样才能真正理解和掌握嵌入式系统开发。