培训讲义提纲

上传人:bin****86 文档编号:44742069 上传时间:2018-06-14 格式:DOC 页数:55 大小:1.25MB
返回 下载 相关 举报
培训讲义提纲_第1页
第1页 / 共55页
培训讲义提纲_第2页
第2页 / 共55页
培训讲义提纲_第3页
第3页 / 共55页
培训讲义提纲_第4页
第4页 / 共55页
培训讲义提纲_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《培训讲义提纲》由会员分享,可在线阅读,更多相关《培训讲义提纲(55页珍藏版)》请在金锄头文库上搜索。

1、Xidian University 西安电子科技大学西安电子科技大学1ARM培培训讲义训讲义提提纲纲单单 位:位:西安西安电电子科技大学子科技大学 编编 写:写: 何方勇何方勇 编编写日期:写日期: 2005年年7月月1日日 Xidian University 西安电子科技大学西安电子科技大学21. 绪言绪言本次 ARM 培训主要使各位受训人员了解嵌入式操作系统的基本概念、软硬件构成框 架、以及掌握与嵌入式操作系统相关的知识。 随着通信技术、电子技术、计算机技术、以及微电子技术的发展,片上系统(SOC) 成为当今电子技术的一大主流;这就使得嵌入式开发技术成为整个业界的研究和开发的热 点。我们知

2、道当今世界通信与信息技术发展的 3 大热点是:第三、四代移动通信技术、数 字电视技术、以及汽车电子技术。在这几个热点技术的最终实现将被纳入系统的概念,其 中嵌入式系统将在里面伴有重要的角色。2. 嵌入式操作系统嵌入式操作系统嵌入式操作系统作为一种新的系统,我们应该怎么把握呢?以下我们将简要介绍一下 嵌入式系统。2.1.2.1.嵌入式操作系统的基本概念嵌入式操作系统的基本概念从字面上,我们可以从两方面理解嵌入式系统:嵌入式、系统。列举适当的例子说明 嵌入式系统的应用:手持设备、大型通信设备2.2.2.2.嵌入式操作系统与常见的单片机、嵌入式操作系统与常见的单片机、DSPDSP 系统的细微区别系统

3、的细微区别从系统的概念出发讲解:单片机、和 DSP 是没有系统概念的2.3.2.3.嵌入式操作系统的软硬件平台开发嵌入式操作系统的软硬件平台开发1嵌入式操作系统的硬件构成:核心处理器、程序和数据存储器、总线系统、外围接口 (设备)等; 2嵌入式操作系统的软件构成:系统软件、API、底层驱动、应用程序等 结合微机系统操作系统讲解 3常见嵌入式操作系统:VxWorks、PSOS、LINUX、WINCE、NUCLEUS 等,各种操作 系统的区别和优点及应用前景。2.4.2.4.怎样进行嵌入式系统设计怎样进行嵌入式系统设计嵌入式系统开发是本次培训的主要内容,那我们应该从以下方面入手:处理器、硬件部件、

4、 操作系统、编程语言、软件开发工具、硬件开发平台、软件组成。 1) 处理器:速度、IO 设计指标、处理器的软件支持、处理器调试方式、处理器提供商的 信誉度;Xidian University 西安电子科技大学西安电子科技大学32) 硬件部件:硬件实现难度、开发周期、市场前景、供货情况 3) 操作系统:产品的适合度、调试难度、代码结构、可开发潜力、移植可行性 4) 编程语言:高级语言、低级语言 5) 软件开发工具:系统调试功能如何、支持的库函数、开发商的软件支持3. 嵌入式处理器嵌入式处理器在以上的讲义中我们简要提到了嵌入式开发的各方面的问题,接下来我们将从硬件开 始讲解。在嵌入式系统中,主要以

5、 ARM 芯片作为该系统的核心芯片。3.1.3.1.嵌入式处理器简介嵌入式处理器简介ARM 是 Advanced RISC Machines 的缩写,ARM 公司于 1990 成立 ,ARM 以低成本、 低功耗、高性能迅速占领了全球市场。其产品广泛应用到移动通信、消费电子、以及嵌入 式市场。ARM 公司不生产芯片,只是 IP 供应商,只做设计。 常见 ARM 处理器系列有:ARM7 系列、ARM9 系列、ARM9E 系列、ARM10 系列、 SecurCore SC100、Strong ARM、XScale。在此,我们主要讲解 ARM7 系列、ARM9 系列:1) ARM7 系列:0.9MIP

6、S/MHz3 级流水、冯.诺依曼结构;其内核主要有 ARM7TDMI 和 ARM720T;T:支持 16 位 THUMB 指令,D 支持在片调试,M 增强型乘法器,产生全 64 位结果,I:嵌入式 ICE 硬件提供片上断点和调试点支持 2) ARM9 系列:1.1MIPS/MHz5 级流水、哈佛结构;其内核主要有 ARM920T、ARM722T 和 ARM940T;3.2.3.2.基于基于 ARMARM 内核的芯片扩展内核的芯片扩展由于 ARM 公司只做 IP,不生产具体的芯片;所以我们所使用的 ARM 芯片都是全世 界其他硬件芯片厂商在经过 ARM 公司的授权,然后在此基础上进行硬件扩展,以

7、满足不 同领域的需求。 ARM9 系列是当今嵌入式系统应用的主流芯片内核技术。全世界各大厂商都采用 ARM 公司的 IP 来开发自己的 ARM 芯片,主要厂商有:三星、AD、TI、菲利普、 Intel、CIRRUS LOGIC 等。 下面,我们以三星公司的 ARM 芯片 S3C2410X 为例来简要介绍基于 ARM 内核的芯片 扩展。 注意:ARM9 系列是兼容 ARM7 系列的。Xidian University 西安电子科技大学西安电子科技大学43.3.3.3.ARM920TARM920T 内核详解内核详解现在基于 ARM920T 内核的芯片逐渐成为嵌入式系统芯片的主流,我们有必要详解其

8、结构;这是进一步学习软件开发的基础。内核的结构图如下所示:Xidian University 西安电子科技大学西安电子科技大学5下面我们将重点介绍 ARM920T 的协处理器 CP15 和内存管理单元 MMU3.3.1.3.3.1.协处理器协处理器 CP15CP153.3.2.3.3.2.内存管理单元内存管理单元 MMUMMU4. 软件开发软件开发嵌入式系统的软件开发包括:操作系统和应用程序开发两个方面。下面我们进一步讲 解基于 ARM 芯片的汇编语言。4.1.4.1.ARMARM 编程模型编程模型ARM 常见版本是 V4 和 V5,现在主要用的是 V4, 处理器工作状态:ARM,THUMB

9、开关状态:进入 THUMB 状态、进入 ARM 状态 存储器格式:大小端点格式 指令长度:32 位、16 位Xidian University 西安电子科技大学西安电子科技大学6数据类型:字,半字,字节 操作模式:7 种 寄存器:31 个通用寄存器和 6 个状态寄存器 中断:4.2.4.2.ARMARM 基本寻址方式基本寻址方式寄存器寻址: 立即寻址: 寄存器移位寻址: 寄存器间接寻址: 变址寻址: 多寄存器寻址: 堆栈寻址: 块拷贝寻址: 相对寻址:4.3.4.3.ARMARM 指令集指令集本章内容是详细讲解 ARM 指令集。4.3.1.4.3.1.ARMARM 指令格式指令格式1指令集格式

10、:指令集格式:ARM 指令集格式如下表 41 所示:Xidian University 西安电子科技大学西安电子科技大学7表 41:ARM 指令集格式 注意: 某些指令码没有定义,但并不导致未定义指令陷阱出现,例如一个乘法指令的第 6 位 变为 1。不应使用这些指令,因为它们的作用也许会由未来的 ARM 执行2ARM 指令集表:指令集表:下面表 42、表 43 列出了 ARM 指令集: 表 42:Xidian University 西安电子科技大学西安电子科技大学8表 42:ARM 指令集 表 43:表 43:ARM 指令集3条件码:条件码:Xidian University 西安电子科技大学

11、西安电子科技大学9在 ARM 状态下,所有指令都会根据 CPSR 条件码和指令条件域的状态被有条件地执行。 该域(位 31:28)决定了执行一条指令的环境。如果 C、N、Z 和 V 标志的状态满足该域的 编码条件,指令就被执行,否则不予执行。 存在着 16 个可能条件,每种由复加在指令记忆符后的一个双字符后缀表示。例如, Branch(B 为汇编语言)变为 BEQ 表示“Branch if Equal” ,意思是当 Z 标志被置位时执 行 Branch 指令。实际上,表 3-2 中所列的 15 个不同的条件也许会用到,第 16 个(1111) 保留,不能使用。在后缀缺省时,大多数指令的条件域被

12、设置成“Always” (后缀 AL) 。这 意味着不管 CPSR 的条件码是什么,指令永远被执行。下表 44 给出了条件码概况:表 44:ARM 指令中的条件码4.3.2.4.3.2.ARMARM 指令集详解指令集详解1分支与交换(BX指令,Branch和Exchange指令): 该指令仅仅在条件为真时被执行,参见表 44。 该指令通过将一个通用寄存器 Rn 的内容复制到程序计数器 PC 来执行一个分支。这个 分支会引起管道流,并会根据 Rn 指定的地址再入。该指令也允许交换指令集。当执行该指 令时,Rn0的值决定了是否按照 ARM 指令还是 THUMB 指令对指令流进行解码。指令格式如 下

13、图 41 所示:Xidian University 西安电子科技大学西安电子科技大学10图 41:BX 指令格式 指令循环时间: 执行BX指令占用2S+1N周期(与BL一样),这里S和N分别代表连续(S周期)和非连续(N周期)。 汇编程序语法: BX-分支和交换指令 BX cond Rn ;cond为 双字母条件记忆符(即条件码),见表44,而Rn 表示一个有效寄存器(比如:R0) 使用R15作操作数: 如果将 R15 作操作数,该情况未定义。 例: ADR R0, Into_THUMB + 1 ;产生分支目标地址,bit0置位,进入THUMB状态 BX R0 ;分支并改变到THUMB状,R1

14、5(PC):=R0 CODE16 ;汇编作为THUMB指令的后续码Into_THUMB ADR R5, Back_to_ARM ;产生分支目标到字排列地址,bit0置低,变回到ARM BX R5 ;分支并变回到ARM状态,R15(PC):=R0 ALIGN ;字排列 CODE32 ; 汇编作为ARM指令的后续码Back_to_ARM 2分支与带链接分支(B、BL) 该指令仅仅在条件为真时被执行,参见表 44。该指令的编码如下图 42 所示。图 42:B、BL 指令格式 分支指令包含有一个有符号的2态补充24位偏移(相当于25根地址线+符号位,即+/-32MXidian University 西

15、安电子科技大学西安电子科技大学11字节)。这被左移两位,符号扩展至32位,并加到程序计数器PC。因此该指令可以指定+/- 32M字节的分支。该指令偏置必须考虑预取操作,它会引起程序计数器PC超前当前指令2个 字(8个字节)。 超过+/-32M字节的分支必须使用偏置或事先装入寄存器的绝对目标。在这种情况下, 如果要求有带链接类型的分支操作,应当将PC值人工存入R14。 链接位: 带链接的分支(BL)将旧的PC写入当前存储空间的链接寄存器(R14)。写入R14的值 被调整到允许预取,并包含紧跟着“分支与链接指令”的指令地址。注意CPSR不保留PC值, R141:0总是清零。 从带链接的分支返回,如果链接寄存器仍然有效,可使用MOV PC,R14;或如果链接寄 存器以被Rn存作堆栈指针,使用LDM Rn!,.PC。 指令循环时间: 分支和带链接分支指令占用2S+1N增加的周期(与BX一样),这里S和N分别代表连续 (S周期)和内部(I周期)。 汇编程序语法: 中的内容任意,1: D=1: ADD Rb,Ra,Ra,LSL #n D1: D=1: RSB Rb,Ra,Ra,LSL #nXidian University 西安电子科技大学西安电子科技大学55D1: Rb := Ra*D RSB Rb,Ra,Rb,LSL #nTh

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号