《嵌入式操作系统原理与应用》复习大纲
- 格式:doc
- 大小:73.50 KB
- 文档页数:5
考试时间:十八周周三上午9:00~11:00(6月20日)
考场:通信1班A3-305;
通信2班A3-308;
通信3班A3-309;
通信4班A3-310
考试形式:开卷,(允许带教材,上课的课件)
PS:以下内容纯属个人总结,如需绝对答案型,请勿轻易下载,如有错误,敬请体谅
考试范围:
第一章,第二章,第三章(第1~4节),第四章(第2~4节),第五章(第1~3节),第六章(第1,2,4节)
考试内容大纲:
一、嵌入式系统的定义,嵌入式系统的组成,嵌入式系统的特点,嵌入式处理器的分类,
ARM微处理器的简介,常见的嵌入式操作系统。
1.嵌入式系统的定义:以应用为中心、以计算机技术为基础,软硬件可裁剪,能适应系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。
嵌入式系统是将应用程序、操作系统和计算机硬件集成在一起的系统(技术角度)
嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。
(系统角度)
2.嵌入式系统的组成:嵌入式系统通常由嵌入式处理器、外围设备、嵌入式操作系统和
应用软件等几大部分组成。
3. 嵌入式系统的特点:软硬件一体化,集计算机技术、微电子技术、行业技术为一体;
需要操作系统支持,代码小、执行速度快;专用紧凑,用途固定,成本敏感;可靠性要求高;多样性,应用广泛、种类繁多。
4.嵌入式处理器的分类:(1.微控制器2.嵌入式微处理器3.DSP处理器4.片上系统)
5.ARM微处理器的简介:ARM(Advanced RISC Machines)公司是全球领先的16/32位
RISC微处理器知识产权设计供应商。
6.常见的嵌入式操作系统:
a.嵌入式Linux b.μC/OS c.VxWorks d.μC/OS-Ⅱe.Windows CE f. PalmOS..
二、嵌入式系统的开发流程,嵌入式系统的几种调试方式。
开发流程:a需求分析阶段b设计阶段c生成代码阶段d固化阶段
调试方式:a.源程序模拟器方式b.监控器方式c.仿真器方式
三、ARM体系结构的特点,ARM的流水线结构,ARM的编程模型(处理器模式,寄存器组织,异常模式,存储器格式),ARM的基本寻址方式,常用的ARM指令集指令(存储器访问指令,数据处理指令)。
1、ARM体系结构的特点:
a .RISC型处理器结构
b.ARM/Thumb指令集
c.多处理器状态模式
d.嵌入式在线仿真调试
e.灵活和方便的接口
1)ARM体系结构具有协处理器接口
2)ARM处理器核还具有片上总线AMBA(AHB/ASB/APB)
h.低电压低功耗的设计
ARM的流水线结构:a.ARM7体系结构采用了3级流水线,分为取指,译码和执行。b. 5级流水线分为:取指、指令译码、执行、数据缓存和写回。
ARM的编程模型:a. 处理器模式: ARM体系结构支持7种处理器模式,
处理器模式说明
用户usr正常程序执行模式
FIQ fiq支持高速数据传送或通道处理
IRQ irq用于通用中断处理
管理svc操作系统保护模式
中止abt实现虚拟存储器和/或存储器保护
未定义und支持硬件协处理器的软件仿真
系统sys运行特权操作系统任务
寄存器组织:ARM处理器总共有37个寄存器:31个通用寄存器,包括程序计数器(PC)。这些寄存器是32位的。6个状态寄存器。这些寄存器也是32位的,但只使用了其中的12位。
异常模式: ARM支持7种类型的异常。
异常类型模式正常地址高向量地址复位管理0x000000000xFFFF0000未定义指令未定义0x000000040xFFFF0004软件中断(SWI)管理0x000000080xFFFF0008预取中止(取指令存储器中止)中止0x0000000C0xFFFF000C 数据中止(数据访问存储器中止)中止0x000000100xFFFF0010 IRQ(中断)IRQ0x000000180xFFFF0018 FIQ(快速中断)FIQ0x0000001C0xFFFF001C
存储器格式:
ARM处理器支持的基本寻址方式有:寄存器寻址;立即寻址;寄存器移位寻址;寄存器间接寻址;变址寻址;多寄存器寻址;堆栈寻址;块复制寻址;相对寻址
四、嵌入式集成开发环境ADS的使用,AXD调试器的使用(这个自己看啊哈,我就不搞啦)。ARM汇编伪指令的使用。基于ARM的硬件启动程序分析,C语言与汇编语言混合编程遵守的规则,汇编程序与C/C++程序相互调用的方法。
ARM汇编伪指令的使用:
分类指令举例
符号定义伪指令GBLA/GBLL/GBLS/LCLA/LCL
L/LCLS/SETA/SETL/SETS/RLI
ST
GBLA Test1
;定义一个名为Test1的全局数值字变量
数据定义伪指令DCB/DCW/DCD/ DCFD/DCFS/
DCQ/ SPACE/
MAP/ FIELD
str DCB “This is a test”
;分配起始地址为str的一段连续字节存储
单元存放字符串
汇编控制伪指令IF/ELSE/ENDIF/
WHILE/WEND/
IF Test=TRUE ;如果条件成立
指令序列1 ;执行指令序列1
ELSE ;否则执行指令序列2
指令序列2
ENDIF
宏指令MACRO/MEND/ MEXIT MACRO Seg
指令序列
MEND
;定义一个名为Seg的宏指令
其他伪指令AREA/ALIGN/CODE16/CODE3
2/ENTRY/END/EQU/EXPORT/
GLOBAL/IMPORT/EXTERN/G
ET/INCLUDE/INCBIN
AREA
Init,CODE,READONLY,ALIGN=3
;定义了一个代码段,段名为Init,属性
为只读,并指定其后的指令为8(23)字
节对齐。
硬件启动程序的工作一般包括:
(1)分配中断向量表
(2)初始化存储器系统
(3)初始化各工作模式下的堆栈
(4)初始化有特殊要求的硬件模块
(5)初始化用户程序的执行环境
(6)切换处理器的工作模式
(7)呼叫主应用程序
C语言与汇编语言混合编程遵守的规则:
在C程序和ARM汇编程序之间相互调用时必须遵守A TPCS规则。A TPCS规定了一些子程序间调用的基本规则,比如:
寄存器的使用规则
子程序之间通过寄存器r0~r3来传递参数,当参数个数多于4个时,使用堆栈来传递参数。在子程序中,使用寄存器r4~r11保存局部变量。
寄存器r12用于保存堆栈指针SP,当子程序返回时使用该寄存器出栈,记作IP。寄存器r13用作堆栈指针,记作SP。寄存器r14称为链接寄存器,记作LR。该寄存器用于保存子程序的返回地址。寄存器r15称为程序计数器,记作PC。