版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一讲 嵌入式系统介绍,电信学院崔寅鸣 Email: ,本讲主要内容,嵌入式系统概述 实验室介绍与课程说明 嵌入式系统概要介绍 EELiod270开发系统介绍 Module板、EDR板 Banyan-UE仿真器 ARM处理器简介 体系结构、编程模型、ARM指令系统,嵌入式系统概述,应用于航空航天军事,应用于消费电子产品,嵌入式Internet应用,嵌入式系统的定义(一),IEEE对嵌入式系统的定义: Embedded system is a kind of device used to control, monitor or assist the operation of equipment,
2、 machinery or plant. “控制、监视或者辅助设备、机器和车间运行的装置”,嵌入式系统的定义(二),一般的定义: 嵌入式系统是以应用为中心和以计算机技术为基础的,并且软硬件是可裁减的,能满足应用系统对功能、可靠性、实时性、成本、体积、功耗等指标的严格要求的专用计算机系统。 简单说,嵌入式系统就是应用软件与系统硬件的一体化。,嵌入式系统的特点,系统内核小:一般应用于小型电子装置。 专用性强:软硬件结合紧密,针对硬件进行系统的移植。 系统精简:系统软件和应用软件紧密融合,部分无明显区别。 实时多任务的操作系统: 合理调度多任务,RTOS开发平台。 专门的开发工具和环境。,实验室条件
3、,深圳亿道公司EELiod270教学开发平台 Intel Xscale270 微处理器,520MHz 完善的硬件平台 支持WinCE和Linux操作系统,课程主要内容,ARM与EEliod270开发系统介绍 嵌入式Linux系统的构建与启动分析 嵌入式Linux下程序开发,课程特点,理论结合实践,通过实验掌握知识、锻炼能力 课程涉及面广,要求软硬件综合能力高 硬件(嵌入式开发板、各种硬件接口) ARM汇编语言编程 C/C+语言编程 Linux操作系统 QT、Java等,课程安排(一),318周 3-5周理论课 6-18周嵌入式Linux实验 系统构建 驱动程序实验 自选综合实验,评分标准,理论
4、课:10 实验:90,内部网络资源,ftp服务器:,port: 21, user: emb ,pwd: embedded EELiod硬件平台资料 ADS开发系统资料 嵌入式Linux BSP软件包 实验指导书 其他安装软件(虚拟机,Redhat9等),参考书及资料(一),ARM嵌入式处理器结构与应用基础,北航出版社,马忠梅等, 2002 嵌入式系统Intel StrongARM结构与开发,北航出版社,陈章龙等, 2002 ARM应用系统开发详解,清华大学出版社,李驹光等, 2003 Redhat Linux 9 从入门与精通,Michael Jang著,邱仲潘等译,
5、电子工业出版社 Linux编程宝典,John Goerzen著,魏永明等译,电子工业出版社,参考书及资料(二),Alessandro Rubini,魏永明等译,linux设备驱动程序,第二版,中国电力出版社,2002 中国Linux论坛 嵌入式开发网,嵌入式系统的基本构成,嵌入式硬件系统 嵌入式处理器 各种类型存储器 模拟电路及电源 接口控制器及接插件 嵌入式软件系统 板级支持包(BSP) 操作系统(OS/RTOS) 设备驱动(Device Driver) 协议栈(Protocol Stack) 应用程序(Application),嵌入式处理器的分类,嵌入式微处理器(MPU) ARM Drag
6、onball Mc9328 Mx1 Xscale270 嵌入式微控制器(MCU) 8051、P51XA、MC68HC05/11/12/16、68300等 嵌入式DSP处理器 嵌入式片上系统(SOC-System On Chip) 嵌入式可编程片上系统(EPSOC),ARM嵌入式微处理器,ARM公司成立于1990年,Saxby和12名工程师 ARM=Advanced RISC Machine RISC(精简指令集) 的典型代表 32位处理器技术 嵌入式领域的主力军 ARM处理器有三大特点 体积小、功耗低、成本低,性能高 ARM/Thumb 32/16位双指令系统 全球众多的合作伙伴,ARM,AR
7、M的产品 ARM处理器内核,以知识产权(IP)形式提供给IC生产厂家 硬核:有和特定工艺相连系的物理版图。 软核:用硬件描述语言或C语言写成,用于功能仿真 ARM开发工具、SOC开发工具、评估板等 ARM公司不生产芯片,ARM,赢利模式:专利授权费+版费 目前在通信领域处于统治地位,100%的CDMA手机和85%以上的WCDMA手机 Intel Inside 跳转到下面第二条指令,状态寄存器,状态寄存器: 当前程序状态寄存器 CPSR,可以在任何工作模式下被访问; 程序状态备份寄存器SPSR,只有在异常模式下,才能被访问 ;,CPSR当前程序状态寄存器(一),当前程序状态寄存器CPSR N:补
8、码形式的有符号数运算时,1为负,0为正; Z:1表示结果为零; C:加减法的进位或借位,以及非加减法的最后移位; V:1表示补码形式的有符号数加减运算时符号位溢出;,CPSR当前程序状态寄存器(二),Q:v5以上版本才有,描述增强DSP运算指令是否发生溢出; I、F:中断禁止位,1表示中断禁止; T:指示处理器处于ARM或Thumb工作状态;,CPSR当前程序状态寄存器(三),M4:0:表示处理器的运行模式 0b10000User 0b10001FIQ 0b10010IRQ 0b10011Supervisor 0b10111Abort 0b11011Undefined 0b11111Syste
9、m,ARM控制程序执行的方式,正常执行,每执行一条指令 ARM指令PC+4 Thumb指令PC+2 跳转:B、BL、BX、BLX 异常中断 执行完当前指令,跳转到异常中断处理程序 执行完返回到发生中断指令的下一条处 要保护和恢复被中断程序的执行现场,ARM处理器的异常中断(一),异常是指正常的程序执行流程发生暂时的停止或改变,例如在复位、有中断请求及指令预取中止时; ARM处理器支持7种类型的异常。 复位(RESET):当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行。 未定义指令(UDEF):当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异
10、常机制进行软件仿真。 软件中断(SWI):该异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指令。使用该异常机制可以实现系统功能调用。,ARM处理器的异常中断(二),指令预取中止(PABT):若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。 数据中止(DABT):若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。 IRQ(外部中断请求):当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常。系统的外设可通过该异常请求中断服务。 FIQ(快速中
11、断请求):当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常。,ARM处理器的异常中断(三),ARM处理器的异常中断(四),ARM处理器对异常的处理(一),对异常的响应: 将下一条指令的地址存入相应异常类型的连接寄存器LR_mode; 保存用户寄存器值到堆栈中 将CPSR复制到相应异常类型的SPSR_mode中; 设置CPSR的M4:0,强制改变到相应的运行模式; 禁止正常中断,如果异常类型为快速中断或复位,同时禁止快中断; 强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。,ARM处理器对异常的处理(二),异常返回 从堆栈中恢复用户寄存器 将
12、SPSR_mode复制回CPSR中 复制LR_modePC,未定义异常的操作过程,进入异常: R14_und=产生异常的下一条指令地址 SPSR_und=CPSR CPSR4:0=0b11011/*进入未定义运行模式*/ CPSR5=0/*进入ARM工作状态*/ CPSR7=1/*禁止正常中断*/ 如果设置了高向量模式,则 PC=0 xFFFF0004 否则PC=0 x00000004 退出异常: MOVS PC R14 恢复PC(从R14_und)和CPSR(从SPSR_und),并返回到该未定义指令的下一条指令处,ARM推荐的异常退出指令,例:SWI中断的R14,例如: 0 x8000 m
13、ov . 0 x8004 add . 0 x8008 SWI . 0 x800C mov . 0 x8010 add . 当程序执行SWI异常时,PC指向0 x8010,在跳转到异常向量的之前,ARM会把R14调整到0 x800C,ARM数据类型,字(Word):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位,请注意区分。 半字(Half-Word):在ARM体系结构中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致。 字节(Byte):在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8位。,存储器组织,以0 x876
14、54321为例 小端方式对应于地址A+3=0 x87,A+2=0 x65,A+1=0 x43,A=0 x21 大端方式对应于地址A=0 x87,A+1=0 x65,A+2=0 x43,A+3=0 x21,字对齐与半字对齐,ARM状态,字地址的低两位bits1:0必须为0b00,半字地址的最低位bit0为0b0 Thumb状态,字地址最地位bit0必须为0b0 如果写入PC的指令地址非对齐 ARMV3及以下,忽略R15的bits1:0 ARMV4及以上,执行结果不可预知 Thumb,忽略R15的bit0,ARM处理器工作状态,从编程的角度看,ARM处理器有2种工作状态并可自由切换: ARM状态:
15、处理器执行32位的、字对准ARM指令; Thumb状态:处理器执行16位、半字对准的Thumb指令。,ARM/Thumb状态的切换,ARM处理器总是从ARM状态开始执行 可用指令实现状态切换 BLX LDR、LDM及POP 当处理器进入异常中断处理程序时,自动切换到ARM状态 如果从Thumb状态进入异常,处理完成退出后仍自动进入Thumb状态,立即数,一条ARM指令32位,可能含12位立即数 immediate=immed_8循环右移(2*rotate_imm) 合法:0 xff,x0104,0 xff0,0 x3f0 非法:0 x101,0 xff1,0 x102(非偶数位) Qu:0 x
16、1fc,ARM指令系统,ARM指令集包括: 跳转指令 数据处理指令 程序状态寄存器处理指令 加载/存储指令 协处理器指令 异常产生指令,ARM指令系统,跳转 B,BL,BLX 移位 ASR,LSL,LSR,ROR,ROX 存储加载 LDR,STR 软中断 SWI,多寄存器加载/存储指令(一),该指令完成多个通用寄存器与存储单元之间的数据传送。 LDM|STM cond 寻址方式 Rn !,通用寄存器组 符号的含义: 寻址方式为:IA、IB、DA、DB、FD、ED、FA、EA; Rn: 基址寄存器,不允许为R15 (PC); !:指令执行后,刷新基址寄存器Rn “”: 当寄存器列表包含PC且为L
17、DM指令时,同时将SPSR拷贝到CPSR,用于异常返回; 当寄存器列表不包含PC,指示指令中所有的寄存器为用户模式下的寄存器,LDM / STM 操作,语法: Rb!, 四 种寻址操作: LDMIA / STMIAIncrement After(先操作,后增加) LDMIB / STMIBIncrement Before(先增加,后操作) LDMDA / STMDADecrement After (先操作,后递减) LDMDB / STMDBDecrement Before (先递减,后操作),IA,r1,地址 增加,r4,r0,r1,r4,r0,r1,r4,r0,r1,r4,r0,r10,I
18、B,DA,DB,LDMxx r10, r0,r1,r4 STMxx r10, r0,r1,r4,基址寄存器 (Rb),存储器块拷贝,可选项“ ! ”将导致LDM / STM 指令去自动更新基址寄存器 后缀为IA, IB时,加上4 乘以 用于传送的寄存器的数目的值 后缀为DA, DB时,减去4乘以用于传送的寄存器的数目的值 示例: ; r12指向源数据起始地址 ; r14指向源数据尾地址 ; r13指向目的数据起始地址 loopLDMIAr12!, r0-r11; 装载48 bytes STMIAr13!, r0-r11;存储them CMPr12, r14; check for the end BNEloop;loop until done 此循环传送 48 bytes占用了31周期 时钟为33 MHz时传输速率超过50 Mbytes/sec,存储器增加,r13,r14,r12,多寄存器加载/存储指令(二),例如: STMFD R13!, R0, R4-R7, LR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手工制作在小学数学几何图形教学中
- 人教部编版四年级语文上册口语交际《安慰》精美课件
- 【暑假阅读】小升初非连续性文本阅读衔接讲义 专题07 车票路线类(有答案解析)
- 福建省福州市平潭县新世纪学校2023-2024学年高三学生寒假自主学习调查数学试题
- 2024年盘锦资格证客运题库
- 2024年西藏道路运输客运从业资格证考试题库
- 2024年通化客运从业资格模拟考试
- 2024年湘西客运资格证题库
- 2024年镇江公交车从业资格证考试题库
- 2024年黑龙江客运资格证题库及答案
- 限制被执行人驾驶令申请书
- 铝合金船的建造课件
- 边坡土石方开挖施工方案
- 八年级上册语文课后习题及答案汇编(部分不全)
- 玻璃厂应急预案
- 安全帽生产与使用管理规范
- 货车进入车间安全要求
- 新版深度学习完整整套教学课件
- 2023学年完整公开课版冰雕史话
- BIM大赛题库含答案
- 罗马人的故事(全15册)(修订版)
评论
0/150
提交评论