ARM体系结构与编程(Mini2440-S3C2440A)培训课件
嵌入式开发 系统与实践应用ARM体系结构与编程
讲义纲要 ARM体系结构 ARM汇编指令
ARM汇编程序设计启动代码分析 中断体系结构
LCD控制器定时器原理 UART控制器
触摸屏控制器NandFlash控制器
嵌入式开发 系统与实践应用ARM体系结构与编程
ARM业务模型 ARM公司是知识产权(IP-intellectual property )公司,本身不生产芯 片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片
嵌入式开发 系统与实践应用ARM体系结构与编程
ARM微处理器特点 ARM微处理器特点– 体积小、低功耗、低成本、高性能 – 支持Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容8 位/16 位器件 – 大量使用寄存器,指令执行速度更快 – 大多数数据操作都在寄存器中完成 – 寻址方式灵活简单,执行效率高 – 指令长度固定
嵌入式开发 系统与实践应用ARM体系结构与编程
ARM微处理器系列ARM微处理器目前包括下面几个系列,除了具有ARM体系结构 的共同特点以外,每一个系列的ARM微处理器都有各自的特 点和应用领域: - - - - ARM7系列 ARM9系列 ARM10E系列 SecurCore系列
- ARM9E系列 - ARM11系列 - Cortex系列
其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列, 每一个系列提供一套相对独特的性能来满足不同应用领域的 需求。SecurCore系列专门为安全要求较高的应用而设计。
嵌入式开发 系统与实践应用ARM体系结构与编程
ARM微处理器命令规则第一个数字:系列名称7: ARM7 9: ARM9 10: ARM10 11: ARM11
第二个数字:Memory system2: 带有MMU-memory management unit(如ARM720T、ARM922T、 ARM1020E ) 4: 带有MPU-memory protection unit(如ARM940T、ARM946EJ-S) 6: 无MMU与MPU(如ARM966EJ-S、ARM968EJ-S)
第三个数字:Memory size0: 标准Cache (4-128KB) 2: 减小的Cache 6: 可变的Cache
嵌入式开发 系统与实践应用ARM体系结构与编程
ARM流水线结构为了提高处理器的运行效率,ARM采用典型的多级流水线结构
嵌入式开发 系统与实践应用ARM体系结构与编程
MDK使用 RealView MDK简介
RealView MDK是ARM公司开发的ARM开发工具,用于基于ARM核微控制 器的嵌入式应用程序 MDK最新版本是uVision 3,可以开发基于ARM7、ARM9、Cortex-M3的微 控制器应用程序
开发流程 新建一个工程,从设备库中选择目标芯片配臵编译器环境 用C或汇编语言编写源文件 编译目标应用程序 修改源程序中的错误 测试连接应用程序
嵌入式开发 系统与实践应用ARM体系结构与编程
存储器的字与半字半字:从偶数地址开始的连续2个字节构成一个半字;
字:以能被4整除的地址开始的连续4个字节构成一个字;ARM指令的长度刚好是一个字,Thumb指令的长度刚好是一个 半字。 如果一个数据是从偶地址开始的连续存储,那么它就是 半字对齐,否则就是非半字对齐;
如果一个数据是以能被4整除的地址开始的连续存储,那 么它就是字对齐,否则就是非字对齐。
嵌入式开发 系统与实践应用ARM体系结构与编程
存储器格式地址空间的规则要求字地址A: 位于地址A的字包含的字节位于地址 A,A+1,A+2和A+3; 位于地址A的半字包含的字节位于地 址A和A+1
; 位于地址A+2的半字包含的字节位于 地址A+2和A+3; 位于地址A的字包含的半字位于地址 A和A+2;A+3 A+2 A+1
A
…… 字节 字节 字节 字节 ……存储器
半字字 半字
嵌入式开发 系统与实践应用ARM体系结构与编程
存储器格式存储器系统有两种映射机制: 小端存储器系统: 在小端格式中,数据的高字节存放在高地址中。 大端存储器系统: 在大端格式中,数据的高字节存放在低地址中。
嵌入式开发 系统与实践应用ARM体系结构与编程
存储器格式
小端存储 模式下, 0x12345678 在A地址开始 的一个字空 间的存储;
1
A+3 A+2 A+1
A
…… 0x12 0x34 0x56 0x78 ……存储器
…… 0x78 0x56 0x34 0x12……存储器
A+3A+2 A+1 A
大端存储 模式下, 0x12345678 在A地址开始 的一个字空间 的存储;
2
嵌入式开发 系统与实践应用ARM体系结构与编程
处理器状态ARM920T处理器内核包含2套指令系统,分别为ARM指令集和 Thumb指令,并且各自对应1种处理器的状态:
ARM状态:32位,处理器执行字方式的ARM指令,处理器 默认为此状态 Thumb状态:16位,处理器执行半字方式的Thumb指令
注意:两个状态之间的切换并不影响处理器模式或 寄存器内容
嵌入式开发 系统与实践应用ARM体系结构与编程
处理器模式ARM 有7个基本工作模式,可以更好的支持操作系统并提高工作效率: 1、用户模式(usr): 正常程序执行的模式,大部分任务执行在这种模式 2、快速中断模式(fiq): 高速数据传输或通道处理 当一个高优先级(fast)中断产生时将会进入这种模式 3、外部中断模式(irq): 通常的中断处理 当一个低优先级(normal)中断产生时将会进入这种模式 4、管理模式(svc):供操作系统使用的一种保护模式 当复位或软中断指令执行时将会进入这种模式 5、数据访问中止模式(abt): 虚拟存储及存储保护 当存取异常时将会进入这种模式 6、未定义模式(und): 软件仿真硬件协处理器 当执行未定义指令时会进入这种模式 7、系统模式(sys): 特权级的操作系统任务
嵌入式开发 系统与实践应用ARM体系结构与编程
处理器模式处理器模式用户(usr) 系统(sys) 快中断(fiq) 特 外中断(irq) 权 异 模 常 管理(svc) 式 模 式 中止(abt) 未定义(und)
说明正常程序运行的工作模 式 用于支持操作系统的特 权任务等 快速中断请求处理 中断请求处理
备注不能直接从用户模式切换到其它 模式 与用户模式类似,但具有可以直 接切换到其它模式等特权 只有在FIQ异常响应时,才进入此 模式 只有在IRQ异常响应时,才进入此 模式
供操作系统使用的一种 保护模式用于虚拟内存和/或存储 器保护 支持软件仿真的硬件协 处理器
只有在系统复位和软件中断响应 时,才进入此模式在ARM7内核中没有多大用处,包 括预取址中止和数据中止 只有在未定义指令异常响应时, 才进入此模式
嵌入式开发 系统与实践应用ARM体系结构与编程
标题用户模式的访问限制: 不能直接开/关中断。 不能通过MRC和M
CR指令访问CP15, 不能实现对MMU的控制 ... ...除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬 件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可 以自由的切换处理器模式,而用户模式不能直接切换到别的模式。 系统模式外的五种特权模式称为异常模式。它们除了可以通过程序切换进入 外,也以由特定的异常进入。当特定的异常出现时,处理器进入相应的模式。 每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不 可靠。 用户模式和系统模式都不能由异常进入,想要进入必须修改CPSR,而且它 们使用完全相同的寄存器组。系统模式是特权模式,不受用户模式的限制 。操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系统 的一些特权任务可以使用 …… 此处隐藏:1897字,全部文档内容请下载后查看。喜欢就下载吧 ……
- 基于PLC控制的航空电镀生产线自动输送
- 中考预测课内外文言文对比阅读2
- 2018-2023年中国商业智能(BI)产业市场
- 中国金融体制改革研究2011new
- 外窗淋水试验方案
- 精益生产(Lean Production)
- 学校安全事故处置和信息报送制度
- Chapter 5 Human Resources Management
- 【小学数学】人教版小学六年级上册数学
- 初中数学解题方法与技巧
- 山东省创伤中心建设与管理指导原则(试
- 函数与数列的极限的强化练习题答案
- 10分钟淋巴按摩消脂
- 网络应急演练预案
- 服装设计入门基础知识
- 初二数学分式计算题练习
- (人教新课标)高二数学必修5第二章 数列
- 最新自主创业项目
- 北京大学 无机化学课件 4第4章 配合物
- 贸易公司业务管理制度




