登 录 注 册 13250250078
您当前位置:首页 > 码上头条
嵌入式软件设计
广州市名联网络科技有限公司
2022-03-22
263

  课程概述

  第一次上课前首先看这里
  加入课程:注册中国大学MOOC的账号,通过课程查询找到本课程,加入课程学习
  课程定位:本课程的定位为混合式课程,关于课程的各方面情况介绍,以先介绍纯线上MOOC课程,后补充SPOC课程建议的方式列出。
  教学大纲:课程资源组织为16节课的形式(14章内容),大家可在下方看到以章节名目排列的课程大纲。
  学时安排:本课程按照每周2次课,各2学时设计,8周完成课程全部32学时学习。同学们可以自由选择每周的学习时间。
  课程资源简介:课程资源包括91集授课视频和拓展学习视频、106份非视频资料、16套课后习题、2套单元测试和1套期末测试,以及全部章节对应的代码资源。大家可以在本网站左边侧的“课件”栏目中找到所有课程资源。
  教学活动安排:
  1.每章均有授课视频、课件等资源每节课后,均有自测题,需要同学们自学完成。
  2.每节课后均有作业题,包括5道左右选择题,以及数量不等的讨论题,用于检测学习效果。
  3.本课程在进行过程中,安排了两次单元测试,需要大家按时完成。
  4.本课程结课之前,需要所有同学按时完成一套期末考试题。
  教师线上答疑及作业反馈:教师每周上线回复所有讨论问题。


  课程技术:
  1.进行本课程的纯线上教学时,须采用本平台的讨论区、作业区;
  2.进行本课程实验时,同学们须自备计算机,并安装有Linux系统及C语言编辑器、编译器、链接器、调试器,即能够完成对课程实例的调试,对应学习目标2-4及学习目标5的虚拟驱动部分;安装Proteus虚拟仿真软件,能够完成课上虚拟仿真电路的设计与调试,对应学习目标6的Proteus部分。

  混合式教学:
  1.教学模式
  本课程采用混合式教学时,包括线上教学和线下教学两部分内容。线上环节中,同学们需要在课前自学完成当次课所有教学资源;线下环节中,教师可在自己的SPOC班中组织翻转课堂,进行课程内容讨论、答疑、课上练习、课堂测试、专题报告等内容。
  2.SPOC教学建议
  进行混合式SPOC教学的老师,可根据自己学校的实际情况,自行确定授课的时间和地点,推荐每周4学时,采用带有多媒体设备和圆桌教室组织翻转课堂。
  3.雨课堂技术
  本课程推荐使用“雨课堂”软件进行线下翻转课堂教学,同学们可通过弹幕及时向教师提问,并随时解答教师安排的课内练习题。教师课通过对弹幕问题的回答,及时解决学生的问题,以及通过对学生回答问题的即时分析,了解学生的掌握情况,以实时调整教学节奏。
  4.课程实验技术
  (1)学生必须配备线上教学所需要的计算机及全部相关软件(如上所述),对应学习目标的2-5(不含实际设备驱动部分)和学习目标6的Proteus部分。
  (2)在实验环节,进行SPOC教学的学校应配备基于ARM的实验设备,包括但不限于ARM9/10/11,CortexA系列等处理器,即可完成本课程绝大部分实验,如需进行STM32部分的实际操作,还应配备有基于STM32的实验设备,对应学习目标5的实际设备驱动部分及学习目标6的STM32部分。
  5.即时联系方式
  建议教师与学生建立微信群,以方便随时联系。
  授课目标
  课程学习目标:
  1、能够说出嵌入式系统和嵌入式软件的内涵与外延、以及交叉开发环境的概念
  2、能够列举出主要的几种嵌入式C编程架构和ARMC程序优化方法
  3、能够使用编辑器、编译器、调试器等工具完成嵌入式软件的构建
  4、运用嵌入式LinuxC编程的一般方法完成文件、目录、内存、进程、线程、IPC、socket等软件设计
  5、能充分运用驱动程序设计方法独立完成led、键盘、数码管等硬件的驱动程序设计
  6、能够复述STM32的基本结构、Proteus的基本工作原理
  7、能够复述典型国产技术,分析其特点、原理,基于国产技术独立设计嵌入式系统;能够独立完成技术专题汇报,体现工匠精神;能够展现科技报国的家国情怀和使命担当


  学习目标分解:
  本课程内容的前14章中,每章介绍中均会包括该章学习目标与课程学习目标的对应关系,同学们可据此对各章节的学习内容与价值进行定位。


  学习活动达成:

  1、本课程的前14章中,共计包含课后习题80道,以及课后讨论主题42个。习题和讨论主题按照布鲁姆教育目标分类,对学生的要求从第到高分别为:记忆、理解、应用、分析、评价、创造。
  2、在每章的介绍中,会对习题和讨论主题按照布鲁姆教育目标进行分类,同学们可据此判断自己对本章内容的掌握程度。


  混合式教学:
  1、进行SPOC教学的班级,建议在翻转课堂中进行答疑、讨论、课上练习、课上测试、学生报告等环节,线上成绩按比例折算,比例由教师自定,线下成绩单独计分。
  2、进行SPOC教学的班级,应在老师和助教的组织下,独立完成下列实验:嵌入式平台构建、虚拟驱动程序、led驱动程序设计、lcd驱动程序等实验,以及能够分组设计具有500行以上代码的综合大作业。
  3、本课程部分内容采用师生共建,学生须针对部分拓展知识点进行资料收集和整理,并完成ppt制作,在课上为所有同学进行10分钟的专题报告,并录制视频上传至平台,见本课程第15章。
  4、线上活动偏重于理论学习、不需实际设备的实验;线下活动偏重于教师直接指导,以及需要具体硬件设备的实验组织。

  课程大纲
  01
  概述
  【本章目标】本章目标对应课程学习目标1。完成本章学习后,学习者将能够:(1)复述嵌入式系统、嵌入式软件设计的内涵与外延;(2)复述交叉开发环境包括哪些环节,以及每个环节的作用。【本章活动】本章主要内容是嵌入式系统概述、嵌入式软件设计概述,课后设置有5道课后测试题,分别测试学生的理解能力,记忆能力,分析能力。本章设置有3个讨论题,分别测试学生的应用能力和分析能力。【等级水平】本章内容主要为常识介绍、基本原理介绍,本章全部教学资源的内容水平为初级,适合具备课程先导知识的学生作为初阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(2学时):
  1.1嵌入式系统概述
  1.2嵌入式软件设计概述
  02
  嵌入式C编程综述
  【本章目标】本章目标对应课程学习目标2。完成本章学习后,学习者将能够:阐述在没有嵌入式操作系统上进行C编程的基本方法,包括模块划分、显示、键盘、菜单等设计方法。【本章活动】课后设置有5道课后测试题,分别测试学生的理解能力、记忆能力、应用能力。本章设置有4个讨论题,分别测试学生的应用能力和分析能力。【等级水平】本章内容主要为基本软件设计方法介绍,本章全部教学资源的内容水平为中级,适合具备C语言课程先导知识的学生作为中阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(2学时):
  2.1软件架构

  2.2C的面向对象化
  2.3汉字处理
  2.4屏幕操作
  2.5输入事件

  03
  ARMC程序优化
  【本章目标】本章目标对应课程学习目标2。完成本章学习后,学习者将能够:概括ARMC程序优化的主要方式,包括数据类型、循环、指针、结构体等内容。【本章活动】课后设置有5道课后测试题,分别测试学生的理解能力、记忆能力、应用能力。本章设置有2个讨论题,分别测试学生的分析能力。【等级水平】本章内容主要为对ARMC语言的底层特性理解,包括对编译器特点的理解,本章全部教学资源的内容水平为高级,适合具备ARM系统结构课程先导知识的学生作为高阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(2学时):
  3.1思路优化
  3.2变量的数据类型选择
  3.3次数固定的循环优化
  3.4次数不定的循环优化
  3.5循环展开

  04
  Linux操作系统
  【本章目标】本章目标对应课程学习目标3。完成本章学习后,学习者将能够:概括Linux操作系统的发展历史,熟悉并能充分运用Linux的shell命令进行常用操作。【本章活动】课后设置有6道课后测试题,分别测试学生的理解能力、记忆能力、应用能力。本章设置有3个讨论题,分别测试学生的理解能力和应用能力。【等级水平】本章内容主要为对Linux操作系统的一般性功能介绍,为后续软件设计章节打下基础,本章全部教学资源的内容水平为初级,适合学生作为初阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(2学时):
  4.1Linux简介
  4.2Linux的shell
  4.3Linux的基本操作
  4.4Linux的网络命令

  05
  LinuxC编程工具链及Makefile
  【本章目标】本章目标对应课程学习目标3。完成本章学习后,学习者将能够:(1)熟悉并能充分运用LinuxC编程工具链,包括vi、gcc、gdb、ld等;(2)阐述Makefile的基本结构、规则的设计方法,熟悉并能充分运用各类规则来设计自己工程项目的Makefile。【本章活动】课后设置有11道课后测试题,分别测试学生的理解能力、记忆能力、应用能力。本章设置有5个讨论题,分别测试学生的应用能力和分析能力。【等级水平】本章内容主要为对LinuxC编程工具链的详细介绍,为后续软件设计章节打下基础,本章全部教学资源的内容水平为中级,适合学生作为中阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(4学时):
  5.1工具链概述
  5.2编辑器vi
  5.3gcc简介
  5.4gcc的使用
  5.5gdb简介
  5.6Makefile工作原理
  5.7Makefile实例分析
  5.8Makefile设计
  5.9Makefile综合实例

  06
  嵌入式软件平台构建
  【本章目标】本章目标对应课程学习目标3。完成本章学习后,学习者将能够:阐述嵌入式系统的构成,归纳在一般嵌入式设备上进行环境配置、操作系统内核高效设置的一般方法,阐述bootloader的基本原理,熟悉并能建立起交叉开发环境和linux应用软件设计流程。【本章活动】课后设置有5道课后测试题,分别测试学生的理解能力、记忆能力、应用能力。本章设置有2个讨论题,分别测试学生的应用能力和分析能力。【等级水平】本章内容主要为嵌入式软件平台设计的详细介绍,为后续软件设计章节打下基础,本章全部教学资源的内容水平为中级,适合学生作为中阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(2学时):
  6.1基于Linux的嵌入式平台
  6.2BootLoader
  6.3应用程序设计流程
  07
  文件目录和内存
  【本章目标】本章目标对应课程学习目标4。完成本章学习后,学习者将能够:阐述文件、目录、内存的编程方法,熟悉并能充分运用相关函数完成对文件、目录、内存的操作。【本章活动】课后设置有7道课后测试题,分别测试学生的理解能力、记忆能力。本章设置有1个讨论题,测试学生的分析能力。【等级水平】本章内容主要为对文件、目录、内存的详细介绍,为后续从事相关软件开发工作打下基础,本章全部教学资源的内容水平为中级,适合学生作为中阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(2学时):
  7.1文件的属性
  7.2文件操作
  7.3文件操作举例
  7.4目录操作
  7.5获取目录列表
  7.6内存映像
  7.7内存映像举例

  08
  进程与线程
  【本章目标】本章目标对应课程学习目标4。完成本章学习后,学习者将能够:阐述进程与线程的概念、区别,熟悉并能充分运用相关函数完成对进程、线程的相关操作。【本章活动】课后设置有7道课后测试题,分别测试学生的理解能力、记忆能力、分析能力。本章设置有2个讨论题,测试学生的分析能力。【等级水平】本章内容主要为对进程、线程的详细介绍,为后续从事相关软件开发工作打下基础,本章全部教学资源的内容水平为高级,适合学生作为高阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(2学时):
  8.1进程创建
  8.2在进程中启动程序
  8.3等待进程结束
  8.4线程简介
  8.5多线程编程举例
  8.6线程同步
  8.7线程的属性

  09
  信号
  【本章目标】本章目标对应课程学习目标4。完成本章学习后,学习者将能够:阐述信号的概念和基本使用方法,熟悉并能充分运用相关函数完成对信号的相关操作。【本章活动】课后设置有6道课后测试题,分别测试学生的理解能力、记忆能力、分析能力。本章设置有2个讨论题,测试学生的分析能力和创造能力。【等级水平】本章内容主要为对信号的详细介绍,为后续从事相关软件开发工作打下基础,本章全部教学资源的内容水平为高级,适合学生作为高阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(2学时):
  9.1信号简介
  9.2发送和捕获信号
  9.3更健壮的信号接口
  9.4信号集处理

  10
  进程间通信
  【本章目标】本章目标对应课程学习目标4。完成本章学习后,学习者将能够:阐述进程间通信的概念和基本操作方法,熟悉并能充分运用相关函数完成进程间通信的相关操作。【本章活动】课后设置有5道课后测试题,分别测试学生的理解能力、记忆能力、分析能力。本章设置有2个讨论题,测试学生的分析能力和创造能力、。【等级水平】本章内容主要为对进程间通信的详细介绍,为后续从事相关软件开发工作打下基础,本章全部教学资源的内容水平为高级,适合学生作为高阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(2学时):
  10.1无名管道
  10.2有名管道
  10.3信号量简介
  10.4信号量举例
  10.5共享内存简介
  10.6共享内存举例
  10.7消息队列简介
  10.8消息队列举例


  11
  套接字
  【本章目标】本章目标对应课程学习目标4。完成本章学习后,学习者将能够:阐述套接字的概念和基本操作方法,熟悉并能充分运用相关函数完成套接字的相关操作。【本章活动】课后设置有5道课后测试题,分别测试学生的理解能力、记忆能力、分析能力。本章设置有2个讨论题,测试学生的理解能力和分析能力。【等级水平】本章内容主要为对套接字的详细介绍,为后续从事相关软件开发工作打下基础,本章全部教学资源的内容水平为高级,适合学生作为高阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(2学时):
  11.1套接字简介
  11.2套接字举例
  11.3套接字接口函数
  11.4网络套接字
  11.5访问系统服务
  11.6多客户

  12
  模块与驱动程序及驱动程序举例
  【本章目标】本章目标对应课程学习目标5。完成本章学习后,学习者将能够:阐述模块、设备驱动程序的基本设计方法,熟悉并能充分运用相关函数完成底层硬件设备的驱动程序。【本章活动】课后设置有11道课后测试题,分别测试学生的理解能力、记忆能力、分析能力。本章设置有2个讨论题,测试学生的理解能力和分析能力。【等级水平】本章内容主要为基于驱动程序,对实际硬件设备进行操作,为同学们将来从事相关底层软件开发工作打下基础,本章全部教学资源的内容水平为高级,适合学生作为高阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(4学时):
  12.1内核模块简介
  12.2内核模块设计
  12.3Linux设备驱动程序简介
  12.4驱动程序的数据结构
  12.5虚拟字符设备驱动程序实例

  13
  STM32编程方法
  【本章目标】本章目标对应课程学习目标6。完成本章学习后,学习者将能够:阐述STM32处理器的基本架构、编程方法,熟悉并能充分运用相关函数完成STM32底层硬件的程序设计。【本章活动】课后设置有5道课后测试题,分别测试学生的理解能力、记忆能力、分析能力。本章设置有2个讨论题,测试学生的理解能力和分析能力。【等级水平】本章内容主要为分析STM32的系统设计方法,对实际硬件设备进行操作,为同学们将来从事相关底层软件开发工作打下基础,本章全部教学资源的内容水平为高级,适合学生作为高阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(2学时):
  13.1STM32简介
  13.2STM32常用片内资源
  13.3GPIO编程方法--寄存器方式
  13.4LED流水灯实例--GPIO寄存器方式
  13.5GPIO编程方法--标准库方式
  13.6LED灯闪烁实例--GPIO标准库方式

  14
  基于Proteus的嵌入式软件仿真
  【本章目标】本章目标对应课程学习目标6。完成本章学习后,学习者将能够:阐述Proteus的基本架构、编程方法,熟悉并能充分运用相关函数完成Proteus/STM32底层硬件设备的仿真程序。【本章活动】课后设置有3道课后测试题,分别测试学生的理解能力、记忆能力、分析能力。本章设置有3个讨论题,测试学生的理解能力和分析能力。【等级水平】本章内容主要为基于Proteus的STM32系统仿真,为同学们将来从事相关底层软件开发工作打下基础,本章全部教学资源的内容水平为高级,适合学生作为高阶内容学习。

  课时
  本章的主要视频及课件资源列表如下(2学时):
  14.1Proteus工具介绍
  14.2LED流水灯实例
  14.3定时器实例
  14.4外部按键中断实例

  预备知识
  本课程的学习者,应具备以下先导知识
  1.CorC++语言:学习过相关课程,能独立编写200行以上代码的程序。本课程是支撑课程学习目标2-6的先导知识。
  2.计算机组织与结构:学习过计算机组织与结构课程,了解计算机内部5大部件的工作原理。本课程是支撑课程学习目标2和5、6的先导知识。
  3.ARM体系结构:学习过任意一种ARM处理器的体系结构,独立编写过汇编语言程序;本课程是支撑课程学习目标2、4、5和6的先导知识。
  4.操作系统原理:学习过操作系统原理课程,了解文件、目录、IPC等机制的基本原理;本课程是支撑课程学习目标5和6的先导知识。
  5.Linux操作系统:学习过linux操作系统课程,或自己安装、使用过linux操作系统,能熟练使用20种以上常见shell命令;本课程是支撑课程学习目标3-5的先导知识。

微信搜索“发码云小程序”查看更多内容
上一篇
下一篇