当前位置:文档之家› 浙江大学本科课程简介和教学大纲

浙江大学本科课程简介和教学大纲

课程简介和教学大纲课程代码:15120660 课程名称:嵌入式系统设计学分: 5.0 周学时:4.0-2.0面向对象:大学本科生预修课程要求:微机原理、C程序设计一、课程介绍(100-150字)(一)中文简介《嵌入式系统设计》是工科学生学习掌握嵌入式系统的结构原理、ARM处理器核的设计原理和方法、理解操作系统的基本原理、学习掌握嵌入式应用软件开发的主要流程和相关技术的一门课程,重点在于理解ARM体系结构及其组成嵌入式系统的结构原理基础上,培养学生具备初步的嵌入式系统软硬件设计开发能力。

课程内容主要包括ARM处理器核的设计原理,ARM体系结构,ARM编程模型及指令集,ARM调试结构与存储器层次,操作系统的I/O接口技术、操作系统进程与线程的概念和管理、并发、进程间通信,操作系统的内存管理策略,调度算法和实时调度算法等内容,并以树莓派实验板为基础进行相应的实验设计,掌握嵌入式系统设计开发能力。

(二)英文简介《Embedded System Design》is one of the basic courses for engineering students to master the structural principle of embedded system, principle and method of ARM core design, basic principle of operating system, the main process of embedded application software development and related technologies. The priority of this course is making students have an initial capacity of embedded system hardware and software design and development based on understanding the ARM architecture and composition of the embedded system. Course content includes core design of ARM processor, ARM architecture, ARM programming model and instruction set, ARM debug architecture and memory hierarchy, IO technologies of operating system, concept and management of operating system processes and threads, concurrent, inter-process communication, memory management, scheduling algorithm and real-time scheduling algorithm etc. Experimental design on Raspberry Pi2 development board may also be made to know the embedded system design and development process well.二、教学目标(一)学习目标本课程通过嵌入式系统的开发平台,使学生熟悉嵌入式应用开发流程,更方便地学习和理解嵌入式系统的基础知识,使学生具备基本的嵌入式系统的软硬件设计能力。

以ARMSOC处理器为核心,嵌入式系统结构及操作系统原理为重点,以应用为目的,介绍嵌入式系统组成原理及设计开发过程,使大家既能对ARM 体系结构有充分的认识,又对嵌入式系统组成及嵌入式应用开发有一个全景的把握。

配套树莓派嵌入式平台的基础实验,加深对理论知识的理解,培养学生的系统设计能力。

(二)可测量结果学生通过学习本课程,掌握嵌入式系统的结构原理ARM处理器核设计原理和方法、汇编语言编程、嵌入式系统扩展接口技术等软硬件设计思想和方法;掌握Linux I/O接口技术,可以实现Linux设备驱动程序编写;理解操作系统的基本原理,对进程管理有深刻的理解,可以分析系统软件的运行时序、调度策略、内存管理策略;可以通过信号量、消息队列、共享内存进行进程间通信;对于进程间的互锁机制有深刻的理解,在软件开发中实现多进程间的安全同步运行;掌握嵌入式Linux环境下应用程序的设计,具备初步的嵌入式系统设计开发能力。

三、课程要求(一)授课方式与要求课堂讲授、实验指导。

(二)考试评分与建议本门课程的评分分为3个部分,每个部分分数分配如下:平时成绩:30%;实验成绩:30%;考试成绩:40%。

其中,平时成绩包括到课率、课堂表现/讨论、平时作业、课程论文四部分;实验成绩包括到课率、实验报告两部分;考试成绩包括期中(阶段性)考试、期末考试两部分。

四、教学安排第一次:嵌入式系统导论(2学时)主要内容:嵌入式系统概述:无处不在的嵌入式系统;嵌入式系统的定义;嵌入式系统的特点;嵌入式系统的分类。

嵌入式系统的应用领域:消费电子、通信、汽车、国防、航空航天、工业控制、仪表、办公自动化等领域。

嵌入式系统的发展趋势:支持日趋增长的功能密度;灵活的网络联接;轻便的移动应用;多媒体的信息处理、低功耗、人机界面友好互动;支持二次开发和动态升级等。

第二次:树莓派概述(2学时)主要内容:树莓派概述:树莓派的含义;树莓派的发展历史;树莓派的各版本及相关硬件配置;树莓派支持的操作系统。

树莓派的应用:无线拓展网关、定格相机、有声阅读器等。

树莓派的使用配置:树莓派系统的安装、树莓派网络配置、树莓派的远程登陆等。

第三次:处理器设计导论(2学时)主要内容:处理器的体系结构和组织:计算机系统=软件+硬件/固件,计算机语言由低级向高级发展高一级语言的语句相对于低级语言功能更强,更便于应用,但又都以低级语言为基础。

从计算机语言的角度,把计算机系统按功能划分成多级层次结构。

简单处理器设计介绍—MU0:MU0采用冯.诺伊曼结构,指令存储在外部存储器,MPU 包括:算术逻辑单元(ALU),控制逻辑(Control Logic),寄存器(Register)。

I/O模块提供对外接口,MPU、存储器、I/O模块之间通过处理器总线相连。

指令集设计与流水线:指令集的寻址模式和指令类型;流水线的典型步骤及优缺点。

RISC VS CISC:RISC(精简指令集计算机)及CISC(复杂指令集计算机)的特点、结构及各自的优缺点等方面的比较。

第四次:ARM汇编语言编程(2学时)主要内容:数据处理指令;数据传送指令;控制流指令;指示符与伪指令;汇编语言的程序结构。

第五次:ARM编程模型(4学时)主要内容:ARM体系结构支持的数据类型:8位字,16位半字,32位字。

ARM微处理器的工作状态一般有两种:ARM状态-处理器执行32位的字对齐的ARM 指令;Thumb状态-处理器执行16位的、半字对齐的Thumb指令。

存储器及存储器映射I/O:ARM处理器可以将存储器中的字按大端格式或小端格式存储。

处理器模式:ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。

这样的好处是可以更好的支持操作系统并提高工作效率。

寄存器组织:ARM处理器有37个物理寄存器,有18个可编程访问的寄存器。

寄存器被安排成部分重叠的组。

在不同的工作模式和处理器状态下,程序员可以访问的寄存器也不尽相同。

分组的寄存器在处理处理器异常和特权操作时可得到快速的上下文切换。

异常:只要正常的程序流被暂时中止,处理器就进入异常模式。

在处理异常之前,ARM内核保存当前的处理器状态,这样当处理程序结束时可以恢复执行原来的程序。

如果同时发生两个或更多异常,那么将按照固定的顺序来处理异常。

第六次:ARM外设资源(2学时)主要内容:ARM的常用外设及总线时序:DDR、串口、I2C、以太网接口等。

ARM常用外设的电路设计:DDR的扩展、串口、通过I2C读取时钟芯片、千兆以太网接口等。

ARM常用外设的软件编程:如何阅读芯片手册;串口、I2C等外设控制器的编程。

第七次:体系结构对高级语言的支持(2学时)主要内容:数据类型与表达式:体系结构有许多实现方式,但必须确保程序员不必关心详细的实现细节。

条件语句/循环/函数与过程:if/else语句;switch语句;for循环;while循环等。

ARM/THUMB过程调用标准:为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序间的调用规定一定的规则,如ATPCS。

ATPCS规定了一些子程序间调用的基本规则。

这些基本规则包括子程序调用过程中寄存器的使用规则,数据栈的使用规则,参数的传递规则等。

第八次:树莓派开发平台的介绍(2学时)主要内容:以树莓派开发板为核心,介绍开发板硬件组成结构与功能,并详细介绍Cotex-A7处理器外围接口电路设计。

第九次:ARM体系结构(2学时)主要内容:ARM介绍及RISC体系结构的继承:ARM简介及技术特点。

ARM体系结构的各种版本:ARMv4T、ARM v5TE、ARMv5TEJ、ARMv6、ARMv7等。

ARM处理器系列:ARM7、ARM9、ARM9E、ARM10、ARM11、Cortex等系列及主流处理器。

第十次:ARM存储器接口及AMBA总线(1学时)主要内容:ARM存储器接口:时钟与时钟控制;数据总线;地址总线;总线三态控制;存储器访问控制;存储器管理信号;协处理器接口等。

AMBA总线:AMBA(Advanced Microcontroller Bus Architecture)是ARM 公司研发的一种总线规范在AMBA总线规范中,定义了3种总线:AHB(Advanced High-performance Bus):用于高性能系统模块的连接,支持突发模式数据传输和事务分割;可以有效地连接处理器、片上和片外存储器,支持流水线操作;ASB(Advanced System Bus):也用于高性能系统模块的连接,由AHB总线替代;APB(Advanced Peripheral Bus):用于较低性能外设的简单连接,一般是接在AHB或ASB系统总线上的第二级总线。

第十一次:讨论课(1学时)主要内容:参考树莓派的常见开源项目,讨论并设计一个基于树莓派的应用,并在实验课中将其实现。

第十二次:ARM流水线组织(2学时)主要内容:ARM7系列采用3级流水线组织,包括取址、译码和执行三个步骤,1条指令有3个周期执行时间,但吞吐率是每个周期1条指令。

相关主题