重庆理工大学
嵌入式体系结构课程总结 题目: LPC2131 ARM硬件结构及程序设计
二级学院 专 业
班 级
学生姓名 学号 教 师 时 间 成 绩
目 录
共6页 第1页
一 嵌入式系统概述
嵌入式定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对对功能可靠性、成本、体积、功耗有严格要求的专用计算机系统。
特点:嵌入性、内涵计算机、专用性
分类:嵌入式微处理器(EMPU)、微控制器(MCU)、DSP处理器、片上系统 嵌入式操作系统:
1、一步的时间响应
2、切换时间和中断延迟时间确定
3、优先级中断和调度
4、抢占式调度
5、内存锁定
6、连续文件
7、同步
嵌入式实时操作系统的优缺点:开发实时应用程序时,是程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,是应用程序的设计过程更加简化;而且,对实时性要求苛刻的事件都得到了快速、可靠的处理。通过系统服务,嵌入式实时操作系统使得系统资源得到了更好的利用。
常见的嵌入式实时操作系统:μClinux \Windows CE\VxWorks\μC/OS-II
二 ARM7体系结构
ARM首先是一家知识产权(IP)供应商,与一般的半导体公司最大不同就是不制造芯片切不向终端用户出售芯片。ARM架构是ARM公司面向市场设计的第一款低成本RISC微处理器。 <一>ARM简介
RISC结构特性
? 具有大量的通用寄存器:
? 通过装载/保存(load-store)结构使用独立的load和store指令完成数据在寄存器与外部存储器之间的传送,处理器质处理寄存器中的数据,从而可以避免多次访问存储器; ? 寻址方式非常简单,所有装载/保存的地址都只有寄存器内容和指令与决定; ? 使用统一和固定长度的指令格式
ARM体系结构特性
? 地址自动增加和自动减少的寻址方式优化了程序中的循环处理;
共6页 第2页
? Load/store指令可以批量传输数据,从而实现了最大数据吞吐量;
? 大多数ARM指令是可“条件执行”的
<二>ARM7TDMI
ARM7TDMI是基于ARM体系结构V4版本的低端ARM核,有ARM6核发展而来。具有64喂乘法指令、支持片上调试、高密度16喂Thumb指令集扩展和Embedded ICE硬件仿真功能模块。ARM处理器使用三级流水线方式,指令分为三个阶段执行分别为:取指、译码、执行。 <三>ARM处理器状态
嵌入式系统设计了两套指令系统,分别为ARM指令集和Thumb指令集。其中ARM指令集为32位长度,具有最完整的功能,Thumb指令集为16位长度,能实现ARM指令集的大部分功能。
ARM处理器的两种操作状态分别为:
ARM状态:32位,处理执行字方式的ARM指令,处理器在系统上电时默认为ARM状态、 Thumb状态:16位,处理器执行半字方式的Thumb指令。
<四>ARM处理器模式
ARM处理器支持七种处理模式,分别为用户模式和系统、管理、中止、未定义、中断、快速中断六种特权模式。
1、用户模式
正常程序运行是处在用户模式,且不能直接从用户模式切换到其他模式
2、特权模式
系统模式用于支持操作系统的特权任务等,与用户模式类似,但具有直接切换到其他模 式等特权。
异常模式包括管理、中止、未定义、中断、快速中断模式。在以下情况下会进入异常模式:
处理器复位之后进入管理模式,操作系统内核通常处于管理模式;
当处理器访问存储器失败时,进入数据访问中止模式;
当处理器遇到不支持的指令时,进入未定义模式;
终端模式与快速中断模式分别对ARM处理器两种不同级别的中断作出响应。 <五>ARM 内部寄存器
在ARM处理器内部共有37个用户可访问的32位寄存器,有31个通用32位寄存器,6个状态寄存器。
R0~R7为七种模式共用的通用寄存器,每个寄存器都是同一个32位物理寄存器。可用于任何使用通用寄存器的指令。
共6页 第3页
R8~R14所对应的物理寄存器取决于当前的处理器模式。R8~R12有两组不同的物理寄存器,一组用于除了FIQ模式之外的所有寄存器模式(R8~R12),另一组用于FIQ模式(R8_fiq~R12_fiq)。在进入FIQ模式后就不必为保护寄存器而浪费时间,程序可以直接使用R8_fiq~R12_fiq来执行操作,从而实现快速的中断处理。
寄存器R13和R14分别有六个不同的物理寄存器,其中的一个是用户和系统共用的,其余五个分别对应于其他五种异常模式。R13(SP)为堆栈指针,分别为,R13、R13_svc、R13_abt、R13_und、R13_irq、R13_fiq,R14(LR)为链接寄存器,分别为R14、R14_svc、R14_abt、R14_und、R14_irq、R14_fiq。
R15为程序计数器。
六个状态寄存器分别为CPSR,SPSR_svc,SPSR_abt,SPSR_und,SPSR_irq,SPSR_fiq。 其中,CPSR为七种模式供用的寄存器,用户和系统模式没有SPSR状态寄存器。 <六>当前程序状态寄存器
CPSR的具体含义如下:四个条件代码标志位(负标志N,零标志Z,进位标志C和溢出标志V);两个中断禁止位(IRQ禁止和FIQ禁止);五个对当前处理器模式进行编码的位(M[4:0]);一个用于指示当前执行指令状态的位(ARM指令还是Thumb指令)。
1、条件代码标志
负标志N 运算结果的第31位值,记录标志设置操作的结果;
零标志Z 如果标志设置操作的结果为零,则置位;
进位标志C 记录无符号加法溢出,减法无借位,循环移位;
溢出标志V 记录标志设置操作的有符号溢出。
2、控制标志位
CPSR的最低8位为控制位,分别为:
中断禁止标志位I和F,当控制位I置位时,IRQ中断被禁止,否则允许IRQ中断使能; 当控制位F置位时,FIQ中断被禁止,否则允许FIQ中断使能;
处理器状态为T,当控制位T置位时,处理器正在Thumb状态下运行;
当控制位T清零时,处理器正在ARM状态下运行。
M0~M4为处理器模式位。
共6页 第4页
共6页 第5页
附录2 国外高校嵌入式系统课程的体系结构
1.美国科罗拉多州立大学“嵌入式系统认证”课程目录(Embedded Systems Certificate)
说明:认证课程为“嵌入式系统设计与编程”研究生课程
科罗拉多大学继续教育学院电子与计算机工程系
嵌入式系统需求
The Demand for Embedded Systems
嵌入式系统几乎包含在现代生活的方方面面:
? 蜂音电话、寻呼机、电话应答机、微波炉、电视机、录像机、CD、DVD、游戏机、遥控器、传真机、照相机、音频合成器均包含嵌入式处理器。
? 汽车可能包括大约65个嵌入式微处理器,控制诸如防锁刹车、温度控制、发动机控制、音响控制和安全气囊打开等。
? 即使是一台PC机,在一个功能强大的CPU的外围也包含很多嵌入式系统,如软盘驱动器、硬盘驱动器、CD-ROM、DVD-ROM、3D图像加速卡以及打印机、扫描仪、其他SCSI及USB等外围设备。
在19xx年,微处理器制造商销售出了1亿片计算机CPU。与之相比,在相同的时间内,微处理器制造商卖出了30多亿片微处理器,主要包括32位、16位、8位、4位装置。 这种嵌入式系统领域的巨大增长引起了对具有嵌入式系统设计与实现才能的工程师的迫切需求。
嵌入式系统认证
为构建和提高你在这个有大量人才需求领域的专业知识和技术,电子与计算机工程系已经建立了一套嵌入式系统认证程序。如果打算:
? 学习嵌入式系统技术设计与使用的开发技巧;
? 在实践中扩展当前知识和应用新的思想;
? 在嵌入式系统中获得经验;
? 加强求职机会。
那么这个认证程序很适合你。认证程序由三门课程组成:
附录2 国外高校嵌入式系统课程的体系结构 257
? 实时嵌入式系统导论
? 嵌入式系统设计
? 嵌入式系统工程训练
实时嵌入式系统导论
在这门课程上,将设计并建立一个基于微处理器的嵌入式系统,要求包括传感器/驱动器装置、A/D和D/A接口、微处理器、商业实时操作系统和多任务应用软件以及硬件系统。标准的工程训练选择包括:5自由度机械臂、激光串行通信、数字视频处理等。
内容包括:
? PCI、ISA及VME总线结构和编程
? 设备固件
? 系统固件结构
? 微处理器与I/O结构
? ECC/EDAC内存结构
? 中断服务子程序
? 实时时钟/定时器
? 实时内核配置与扩展
? 主循环设计
? 多任务
? 任务间的通信
? 协作和优先级占先式设计
? 硬实时调度理论与设计(RMA和DMA),响应时间
? 时间、系统性能及开发与测试技术
可以配置和扩展一个占先式多任务操作系统用于学生自己的嵌入式系统中。在这门课程中也可以学习到嵌入式系统的整个设计过程,包括分析、设计、编程、硬件组装、单元测试、系统集成和测试技术。
嵌入式系统设计
这门课程介绍嵌入式系统硬件与固件设计。内容包括:
? 嵌入式处理器的选择
? 硬件/固件划分
? 电路设计、布线、调试
? 开发工具的使用
? 固件结构、设计和调试
本门课程让你有机会学习嵌入式系统的知识,然后通过开发和调试嵌入式系统硬件和固件将这些概念付诸于应用。微处理器的结构和指令集将全被介绍到。每个学生可以用8051
258 嵌入式系统设计与实例开发
搭建一个微处理器开发板并进行调试。
嵌入式系统工程训练
本门课程通过在其他课程所学到的知识提高嵌入式系统设计技巧。内容包括:
? 总线资源共享
? 多PCI启动程序
? 单独子系统的仿真与调试
? 固件结构、设计、编程与调试
? 介绍开发工作
2.华盛顿大学嵌入式系统课程大纲
课程名程:嵌入式系统设计导论
主要介绍使用微处理器作为计算和控制元素的计算机系统的过程和事件。与标准PC机或UNIX工作站不同,嵌入式系统的设计包含了硬件元素与实时计算和控制之间的更紧密的联系。
该课程将遵循如下经典的嵌入式系统设计周期:
? 具体化问题
? 将算法分割到硬件与软件中
? 硬件和软件的并行设计和共同设计的趋势
? 硬件和软件的集成
? 运行检测与合格率测试
重点将会放在一个交叉开发环境中的软件开发方法,以及建立运行C程序的环境。最后,该课程将会介绍当前调试实时系统的方法。
教材:嵌入式软件导论,David E. Simon著,ISBN 0-201-61569-X
推荐的教材(选用):嵌入式系统设计,Arnold S. Berger著,ISBN 1-57820-073-3 课程目标
学习嵌入式系统是如何设计和开发的。对于还没有过应用经验的计算机系统的学生来说,学习嵌入式系统设计是既令人沮丧又开拓思路的经历。既然这些内容很少作为本科课程,大多数新的研究生必须像接受工作培训那样学习嵌入式系统设计。主要目标是教给学生嵌入式系统设计的基本内容:从一个系统的细节入手;然后是微处理器、编辑器、操作系统和调试工具的选择;接下来,将会研究分割算法如何应用到系统的硬件和软件部分中去。既然这是软件工程中的一门课程,重点主要集中在理解如何在一个特定的目标系统中设计和执行软件。
附录2 国外高校嵌入式系统课程的体系结构 259
这门课的最后一部分将研究硬件/软件融合的技术和软件质量与运行的最终测试。 教学大纲
(1)介绍
? 期望
? 术语与基本概念
? 课程概览
(2)实时系统的具体细节
? 建立要求模型
? 过程模型
? 控制模型
? 有限状态机
(3)系统分割
? 建立体系结构模型
? 输入和输出处理
? 硬件和软件的分割
? 定时要求
(4)微处理器的选择
? 单片机与微控制器的分析
? CISC与 RISC的对比
? 主要嵌入式处理器的体系结构的研究
? 内存系统的设计
? 系统的优化
(5)软件的选择问题
? 选择一个RTOS(实时操作系统)
? RTOS性能指标
? RTOS可裁剪性和工具支持
? 编辑器的选择
(6)与现实世界交互作用的问题
? A/D和D/A转换
? 容错性
(7)建立一个软件开发环境
? 运行C的环境
? 嵌入式调试器
? 交叉开发的方法
? 嵌入式文件格式,阅读程序
? 创建目标文件——构建过程
? 下载软件到远程目标上
260 嵌入式系统设计与实例开发
(8)硬件/软件融合的基础 ? 嵌入式调试的方法
? 实时系统调试的研究的专门工具 ? 实时系统观测的策略
? 代码测试
(9)运行分析和软件测试的方法 ? 静态和动态的代码检查方法 ? 临界软件的MCDC分析法
一为什么学习嵌入式1就业前景近几年嵌入式系统产品日臻完善并在全世界各行业得到广泛应用嵌入式系统产品的研制和应用已经成为我国信息化带…
重庆理工大学嵌入式体系结构课程总结题目LPC2131ARM硬件结构及程序设计二级学院计算机科学与工程专业计算机科学与技术班级373…
重庆理工大学嵌入式体系结构课程总结二级学院计算机科学与工程学院专业计算机科学与技术专业班级372学生姓名张建英学号11103070…
本学期为期一周的嵌入式课程设计在不知不觉中结束了,虽说这次课程设计时间不是很长,但是感觉自己收获颇丰,不仅学习到了一些新知识,回顾…
一嵌入式系统原理与应用课程总结这个学期我学习了嵌入式原理与应用这门课程虽然这个学期马上就要结束了对嵌入式的学习也要告一段落了但是我…
本学期为期一周的嵌入式课程设计在不知不觉中结束了,虽说这次课程设计时间不是很长,但是感觉自己收获颇丰,不仅学习到了一些新知识,回顾…
嵌入式LINUX系统开发入门学习步骤和技能总结对于很多学习嵌入式LINUX系统开发的人来说,经验和技巧是很重要的,要不然就会落得一…
嵌入式Linux应用开发课程总结题目:开发环境的搭建班级:嵌入式姓名:张珊珊学号:10-02班541013090261开发环境的搭…
一为什么学习嵌入式1就业前景近几年嵌入式系统产品日臻完善并在全世界各行业得到广泛应用嵌入式系统产品的研制和应用已经成为我国信息化带…
重庆航天技术职业学院题目嵌入式系统Android选题性质设计报告其他院系电子系专业物联网班级120xx071学号20xx0027学…