课程详情
课程评价
spContent=嵌入式软件设计是计算机、软件工程等学科的专业方向课,是一门实践性、技术性很强的重要课程。本课程的主要任务是全面介绍基于ARM/嵌入式Linux操作系统的GNU C语言程序设计思想、方法,以及基于STM32处理器和Proteus的嵌入式仿真技术。通过本课程的学习,使学生掌握嵌入式软件设计的基本流程和方法。
—— 课程团队
课程概述

第一次上课前首先看这里啊啊啊啊^0^^^^^^^^^^^^^

加入课程:注册中国大学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,Cortex A系列等处理器,即可完成本课程绝大部分实验,如需进行STM32部分的实际操作,还应配备有基于STM32的实验设备,对应学习目标5的实际设备驱动部分及学习目标6的STM32部分

5.即时联系方式

建议教师与学生建立微信群,以方便随时联系。

授课目标

课程学习目标:

1、能够说出嵌入式系统和嵌入式软件的内涵与外延、以及交叉开发环境的概念

2、能够列举出主要的几种嵌入式C编程架构和ARM C程序优化方法

3、能够使用编辑器、编译器、调试器等工具完成嵌入式软件的构建

4、运用嵌入式Linux C编程的一般方法完成文件、目录、内存、进程、线程、IPC、socket等软件设计

5、能充分运用驱动程序设计方法独立完成led、键盘、数码管等硬件的驱动程序设计

6、能够复述STM32的基本结构、Proteus的基本工作原理

7、本课程列出14个主题,由学生自己制作ppt和视频资料,并在课上做专题汇报,以锻炼自学能力、表达能力


学习目标分解:

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

学习活动达成:

1、本课程的前14章中,共计包含课后习题80道,以及课后讨论主题42个。习题和讨论主题按照布鲁姆教育目标分类,对学生的要求从第到高分别为:记忆、理解、应用、分析、评价、创造。

2、在每章的介绍中,会对习题和讨论主题按照布鲁姆教育目标进行分类,同学们可据此判断自己对本章内容的掌握程度。


混合式教学:

1、进行SPOC教学的班级,建议在翻转课堂中进行答疑、讨论、课上练习、课上测试、学生报告等环节,线上成绩按比例折算,比例由教师自定,线下成绩单独计分。

2、进行SPOC教学的班级,应在老师和助教的组织下,独立完成下列实验:嵌入式平台构建、虚拟驱动程序、led驱动程序设计、lcd驱动程序等实验,以及能够分组设计具有500行以上代码的综合大作业。

3、本课程部分内容采用师生共建,学生须针对部分拓展知识点进行资料收集和整理,并完成ppt制作,在课上为所有同学进行10分钟的专题报告,并录制视频上传至平台,见本课程第15章。

4、线上活动偏重于理论学习、不需实际设备的实验;线下活动偏重于教师直接指导,以及需要具体硬件设备的实验组织。

课程大纲
预备知识

本课程的学习者,应具备以下先导知识

1. C or C++语言:学习过相关课程,能独立编写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的先导知识


证书要求

本课程的评价分为以下3个部分(混合式教学为4个部分):

 

讨论(20分:获取满分学生需要在课堂交流区中参加老师发起的讨论,发帖和回帖的数量总共达10条及以上。MOOC平台默认只有这个部分的讨论才能计算成绩。本课程每一章节都会指定讨论题目,学生可根据兴趣选择参与。讨论成绩总分为20分,这部分成绩最易获得,请同学们重视起来。

课后作业(20分):每次课后均有测试题。每次测验时间不限,允许尝试2次,有效得分为最后一次得分值。本课程一共有16次章节测验。课后成绩总分为20分。

考试(60分:包括两个单元测试和一个期末考试。单元测试均为10个判断题和5个单选题,需要在半小时内完成;期末考试为25个单选题和25个判断题,需要在120分钟内完成,只允许尝试1次。单选题1分,多选题3分,判断题1分,填空题2分。最终成绩由平台按比例自动折算,满分为60分。

 

【注意1】所有讨论、作业、考试(单元测试和期末考试)都有明确的截止时间,截止时间过后24.5小时公布成绩。错过截止时间将无法得到对应部分的成绩

以上为本课程成绩构成,总成绩60分及以上合格,85分及以上优秀,并可申请相应证书。

1. 作业的发布时间为课程发布时间,截止期为711日晚23:30分;

2. 单元测试1的发布时间为5310点,截止时间为6623:30分;

3. 单元测试2的发布时间为6210点,截止时间为62723:30

4. 期末考试的发布时间为7月120点,截止时间为7月1823:30

5. 讨论的发布时间为课程发布时间,截止时间为71123:30

 【注意2】参与学习的同学应保证学术诚信,如发生抄袭剽窃等行为,教师将联系平台方,通过手动方式取消该同学的成绩。


以上为本课程成绩构成,总成绩60分及以上合格,可以申请合格证书;85分及以上优秀,可申请优秀证书。



混合式教学:

本课程规划了14个学生专题,进行SPOC教学的老师可安排学生选择任一专题进行ppt准备,以及10分钟左右的课上报告,可以酌情给进行报告的学生(例如10分)额外的附加成绩。


参考资料

本课程推荐教材及与课程学习目标对应关系如下:

1.  授课教材:《嵌入式软件设计》 赖晓晨等编著 清华大学出版社   2016年第一版 ISBN:9787302429852。

(1)教材特点:该教材为授课教师自行编著,是该书第二版。本书在第一版的基础上,根据嵌入式技术发展的动向增补了部分新内容,例如对STM32处理器的介绍,对重要的虚拟仿真工具Proteus的介绍等。

(2)使用方法:本教材对应课程学习目标1-6,可以做到对课程内容的全覆盖,请同学们学习完视频之后,一定要详细阅读教材中的对应部分,并实际上机调试该部分代码,扫除全部疑点

2. 参考教材1:《精通Proteus电路设计与仿真》王博等编著 清华大学出版社 2017年第一版 ISBN:9787302483892。

(1)教材特点:相比于授课教材受篇幅限制的问题,本教材内容更加详尽。Proteus是一门非常实用的仿真技术,在实际项目开发中能够起到重要作用。同时,该书所采用Proteus的版本较新,实用性很强。

(2)使用方法:本教材对应课程学习目标6。建议将来有志于进行完整嵌入式系统设计的同学通读本教材,并动手完成教材中的实验仿真案例;

3. 参考教材2:《Linux程序设计》马修等编著 人民邮电出版社 2010年6月 第四版 ISBN:9787115228215。

(1)教材特点:相比于授课教材受篇幅限制的问题,本教材对Linux C程序设计做出了更详尽的描述,而且所有实例均有极强针对性,虽然年代较旧,但是由于语言的特性相对稳定,因此该书仍旧不过时,非常适合具有一定C语言基础,但是不了解Linux C编程的学习者使用,是一本不可多得的好书。

(2)使用方法:本教材对应课程学习目标4,建议对嵌入式软件(而非硬件)设计更有兴趣的同学动手录入教材中的全部代码实例,调试、编译、执行;

4. 参考教材3:《Linux设备驱动开发详解:基于最新的Linux 4.0内核》宋宝华等编著 机械工业出版社 2015年第一版 ISBN:9787111507895。

(1)教材特点:相比于授课教材受篇幅限制的问题,该书更详细的描述了主流的Linux4.0内核设备驱动设计,原理讲解层次清晰,内容实用。相比于授课教材中对设备驱动程序的介绍,本教材内覆盖面更广,不但有对虚拟驱动程序的详细介绍,而且介绍了很多实际设备的驱动程序。同样,由于Linux设备驱动程序学习重在基本思路,而且该部分内容相对稳定,加之编著是国内驱动程序界的著名程序员,因此该书即使出版于2015年,但是仍旧值得详细阅读。

(2)使用方法:本教材对应课程学习目标5,该教材具有一定难度,需要学习者对Linux内核有一定了解,建议对嵌入式系统中软硬结合的底层软件设计更感兴趣的同学,通读本教材,认真分析设备驱动程序的设计思路,并动手完成教材中的实验案例。


纯线上教学的教材使用方法

对于纯线上教学,以上前3种教材可以不受限制使用,第4种教材受到实际实验设备限制,只能学习驱动程序原理及尝试设计虚拟驱动程序;

混合式教学的教材使用方法

对于混合式教学,可不受限制的采用前述全部4种教材学习。建议相关学校的SPOC班根据自己实验室的实际实验设备的硬件配置及实验课学时安排,有选择的尝试设计参考教材3《Linux设备驱动开发详解:基于最新的Linux 4.0内核》中的实际设备驱动程序。



常见问题

1、如何开始本课程学习

(1)同学们需要准备一台计算机,或者一部能够上网的手机;

(2)注册中国大学MOOC的账号,通过课程查询找到本课程,加入课程学习;

(3)按照每周一章的进度开始本课程学习,课后有习题和讨论题,并有2次单元测试和1次期末考试,请大家注意时间节点,不要错过测试和考试。


2、学习要求:

(1)同学们须在平台要求的时段完成学习任务,包括视频、课件、讨论等内容;

(2)按时完成作业、测试、期末考试;

(3)(混合式教学)课上按照教师要求合理使用手机,仅限使用雨课堂等智慧教学软件,不得做与课程无关的事情。


3、学习支持

(1)技术服务及获取方式

①同学们在学习过程中,如遇到网站难以登录、无法显示课程资源、无法答题或答案无法提交,请和教师联系,由教师联系中国大学MOOC平台方,为大家解决问题。进行MOOC学习的同学,请按照下述主讲教师简介中的邮箱联系方式发邮件联系;进行SPOC学习的同学,请在微信群或通过电话与主讲教师取得联系。

②关于本课程需使用的工具软件、实验设备硬件,如有相关咨询、获取等问题,请同样联系主讲教师。

(2)课程所用技术的获取方式

①进行线上学习的同学,可使用计算机(windows或苹果操作系统均可)登录本平台进行学习,亦可在平台首页通过扫描二维码方式下载课程app进行学习。

②进行SPOC学习的同学,在线下翻转课堂推荐使用“雨课堂”技术,同学们可通过微信现场扫描教师展示的二维码,即可进入雨课堂软件,通过该软件进行学习及互动。

③本课程使用到教材及教辅材料,在上方“参考资料”栏目有清晰说明,包括图书名、作者、出版社、ISBN等信息,同学们如还有疑问,请和主讲教师联系。

(3)课程学习资源的呈现形式

本课程每一章的资源,均包括知识点授课视频、知识点授课视频对应的ppt课件、课内讨论题、课内测试题、学生作品(学生专题讲座的ppt和视频),部分章节附有供大家学习的课程思政相关内容。本课程全部视频,均提供英文字幕。


4、课程制作

(1)课程导航

本课程各章节的导航由网站平台方设计及提供支持,除此之外,为方便同学们寻找课程资源,所有资源都按照类型添加了对应前缀,并用加黑方括号括起。以第二章为例,具体样例如下:

【视频】 2.1 软件架构

【视频】 2.2 C的面向对象化

【视频】 2.3 汉字处理

【视频】 2.4 屏幕操作

【视频】 2.5 输入事件

【课件】 2.1 软件架构

【课件】 2.2 C的面向对象化

【课件】 2.3 汉字处理

【课件】 2.4 屏幕操作

【课件】 2.5 输入事件

【讨论】 第1题  voladile的作用

【讨论】 第2题  动态内存申请

【讨论】 第3题  位运算

【讨论】 第4题  宏定义和类型定义

【学生作品】拓展阅读:国际混乱C代码大赛

【学生作品】视频材料:国际混乱C代码大赛

【课程思政】中国古代何时提出负数

(2)视频制作

①本课程视频由专业公司制作,采用1920×1080的高清分辨率。

②对于课程中难以理解的知识点工作原理、程序执行流程等内容,采用了动画形式进行展示。

③授课教师采用标准普通话进行授课音频录制。

④视频录制方式为:授课ppt投放在高清大屏幕电视上,由授课教师进行讲解,采用佳能5D3专业单反相机进行双机位录制,根据授课内容进展需要随时在全景及特写间切换,保证录制效果。

⑤全部77集视频,除有两集因内容连续性问题超过了15分钟而不宜切分外,其他75集视频长度均在15分钟以内。

⑥视频内容根据授课内容选用全景录制、特写录制、实录结合动画、纯动画等4种制作方式,方式新颖多变,能够更好的向同学们呈现课程内容。

⑦本课程采用标准普通话录制,并配有全部内容的英文字幕,总计约21万字,同学们在学习过程中可配合音频观看英文字幕,进行课程英文术语的学习。

(3)ppt的文本资源特点

①全部ppt统一模板

②全部章节的标题字体、字号、颜色,正文字体、字号、颜色,全文统一;

③全部章节的标题、正文位置,全文统一;

④ppt采用白色背景,黑色文字,重点部分文字采用深蓝色,核心重点部分文字采用红色;

⑤ppt中,极少出现大段文字,内容均以条目形式出现,以减少阅读疲劳;

⑥ppt采用目前主流的16比9比例设计,文字突出,便于阅读;

⑦ppt中的图、表,均有明确标题;

⑧本课程ppt已经经过多年使用,虽然每年会有一定程度更新,但是对各类图形错误、错别字控制比较严格,经5位授课教师审核,未发现明显错误。



5、主讲教师简介

大连理工大学软件学院博士、教授,辽宁省教学名师,宝钢优秀教师奖获得者,主持《计算机组织与结构》、《嵌入式软件设计》两门国家级一流本科课程。

主持本课程相关的国家质量工程项目3项,完成了课程内容更新、课程资源制作、教学模式改革等工作。

------------------好吧,以上是官方介绍,下面是真的我-------------------------------

赖晓晨,喜欢和小朋友们讨论做事的方法、沟通的技巧、学习的方向,在教学方面用了很多时间,包括这门课程,算是教学发烧友吧(可惜有小朋友不喜欢视频的背景音乐)。爱好广泛,喜欢读书、天文、军事、体育、摄影、观鸟、认识各种各样的石头,尤其喜欢足球,是AC米兰、巴萨和阿根廷国家队的支持者,喜欢梅西,不知道梅西退役后是不是还会看巴萨比赛。希望梅西能得到第7个金球!

有问题的话,就和我联系吧:33138725@qq.com

我们课上见啦 ~0~~~~~~~~