电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

ARM学习笔记资料

  • 资源ID:90716600       资源大小:292.51KB        全文页数:20页
  • 资源格式: DOC        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

ARM学习笔记资料

ARM学习笔记本课程的主要学习内容1. 基础部分l ARM处理器的基础知识l ARM指令系统l 伪操作和伪指令l 基于汇编语言的程序设计l ARM存储系统l 异常中断处理2.应用部分l 基于ARM处理器的C程序设计l DMA过程的实现l 利用定时部件实现定时l 对I/O端口编程Ø 学习ARM顺序:Ø 了解各种不同存储器的工作原理。Ø 学习ARM Core的汇编语言。Ø C语言。Ø 嵌入式编译器 ADS ( ARM Develop Duit )Ø 嵌入式调试器 AXDØ 硬件电路结构。ØØ 异常事件及中断。Ø 相关控制接口。第二章ARM处理器的基础知识2.1ARM处理器模式2.2ARM寄存器介绍2.3ARM存储系统2.4ARM体系的异常中断² 冯·诺依曼体系结构:1、 计算机完成任务是由事先编号的程序完成。2、 计算机程序被事先输入到储存器中,程序运行结果,也被存放在存储器中。3、 计算机能自动连续地完成程序。4、 程序运行的所需要的信息和结果可以通过输入输出设备完成。5、 计算机由运算器、控制器、存储器、输入设备、输出设备所组成。² 哈佛结构:1、 程序存储器与数据存储器分开。2、 提供较大的数据存储器带宽。3、 适合于数字信号处理。4、 大多数DSP都是哈佛结构。5、 ARM9是哈佛结构。ARM内核与SOCARM核就是中央处理器(CPU)的运算单元。一般有以下几个单元:1、 逻辑运算单元。2、 乘法器、移位器等。3、 指令译码。4、 各种寄存器。5、 调试单元。通常ARM核都会加入写缓冲区(write buffer)和高速缓存(cache),用来提高CPU与外界沟通效率。SOC就是把系统的全部功能都放到CPU里。它是一个系统整合的理念,用来提供特定性能的芯片。通常具有以下特点:1、 运算式引擎:CPU或DSP2、 内建存储器:Flash memory 、RAM、ROM3、 总线接口4、 其他特殊功能接口2.1ARM处理器模式1.处理器模式的分类(1)用户模式(User, user)(2)快速中断模式(FIQ, fiq) -用于高速数据传输和通道处理(3)外部中断模式(IRQ, irq) -用于通常的中断处理(4)管理模式(Supervisor, svc)-供操作系统使用的一种保护模式 (5)数据访问中止模式(Abort, abt) -用于虚拟存储及存储保护(6)未定义指令中止模式(Undefine, und)-用于支持通过软件仿真硬件的协处理器(7)系统模式(System, sys)-用于特权级的操作系统任务除了用户模式之外的其它6种模式称为特权模式 (Previleged mode)在这些模式下,程序可以访问所 有的系统资源也可以任意地进行处理器模式的切 换其中,除了系统模式以外,其它5种特权模式又称为异常模式2.处理器模式的切换(1)处理器模式可以通过软件控制进行切换也可以通过异常中断的方式进行切换(2)大多数的应用程序运行在用户模式下这时,应用程序不能够访问一些受操作系统保护的系统资源(3)应用程序不能直接进行处理器模式的切换当需要进行处理器模式切换时,应用程序可以通过异常中,在异常中断的处理过程中实现处理器模式的切换(4)当应用程序发生异常中断时,处理器进入相应的处理器模式每一种处理器模式都有一组寄存器,供相应的异常中断程序使用这样可以保证在进入相应的处理器模式时,用户模式下的寄存器不被破坏(5)系统模式不是通过异常中断进入的,它和用户模式具有完全一样的寄存器.但系统模式属于特权模式,可以访问所有的系统资源,也可以直接进行处理器模式切换.它主要供操作系统使用.2.2ARM寄存器介绍ARM处理器共有37个寄存器其中包括:31个通用寄存器,包括程序计数器(PC)在内这些寄存器都是32位寄存器6个状态寄存器这些寄存器都是32位寄存器但目前只 使用了其中的14位通用寄存器可分为3类:l 未备份寄存器,包括R0-R7 l 备份寄存器,包括R8-R14 l 程序计数器PC,即R15 l 程序状态寄存器CPSR对于备份寄存器R13和R14来说,每个寄存器对应6个不同的物理寄存器l 寄存器R13在ARM中经常用作堆栈指针现场保护。l 寄存器R14又被称为连接寄存器(LR)主要有两个作用:保存子程序的返回地址 保存异常中断程序的返回地址。当通过BL或BLX指令调用子程序时,R14被设置成该子程序的返回地址。在子程序中,当把R14的值复制到PC时,就实现了子程序的返回。MOV PC LR或者BL LR.l 程序计数器R15被称为PC它的值为当前指令的地址值加8个字节一条ARM指令固定占有4个字节的存储空间所以PC总是指向当前指令的下两条指 令并且ARM指令是字对齐的,所以PC的第0位和 第1位总是0l 程序状态寄存器CPSRCPSR可以在任何处理器模式下被访问每一种处理器模式下都有一个专用的物理寄存器,称为备份程序状态寄存器 (SPSR)当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容在异常中断程序退出时,可以用SPSR的内容来恢复CPSR由于用户模式和系统模式不是异常中断模式,所以它们没有SPSRCPSR是一个32位的寄存器2.3ARM存储系统l ARM存储系统中1个字单元包含4个字节单元l ARM存储系统中引入了半字的概念,1个半字单元包含2个字节单元l 小端存储格式-高位地址保存高位数据 大端存储格式-高位地址保存低位数据l ARM存储系统的默认存储格式是小端存储格式2.4 ARM体系的异常中断l 保存被中断程序:SPSR_mode ß CPSRR14_mode ß return addressl 恢复被中断程序:CPSR ß SPSR_modePC ß R14_modeCPSR是指用户模式的程序状态寄存器SPSR_mode是指即将进入的异常模式的备份程序状态寄存器R14_mode是指即将进入的异常模式的连接寄存器return_address是指异常中断处理程序的返回地址第三章寻址方式3.1ARM指令的基本特点3.2数据处理指令的操作数寻址方式3.3Load/Store指令的操作数寻址方式3.1ARM指令的基本特点l 一条ARM指令的字长为固定的32位,需要4个字节的存储空间一条典型的ARM指令的语法格式如下所示:<OPCODE> <COND> S <Rd>, <Rn>, <Shifter_operand><OPCODE>: 指令的助记符,如ADD,MOV等等<COND>: 指令的执行条件S: 决定指令的运行是否影响CPSR值<Rd>: 表示目标寄存器<Rn>: 表示包含第一个操作数的寄存器<shifter_operand>: 表示第二个操作数2.2数据处理指令的操作数寻址方式<shifter_operand>通常具有以下3种格式(1)立即数方式ADD R0, R0, #2 ;R0ßR0+2 1.如十六进制数在0x00到0xFF之间,则它一定是合法的1.若十六进制数>0XFF则将十六进制的数转化成十进制2.如果这个十进制数能够被4整除则这个十六进制的立即数和合法的,否则是非法的3例如:0x101=257/4=64.25 非法 0x104=260/4=65 合法(2)寄存器方式ADD R0, R0, R1;R0ßR0+R1(3)寄存器移位方式移位方式有以下的几种形式l ASR算术右移最高有效位右移,同时用自身填入,最低位移C可以实现带符号数的除2运算例:ADD R0, R1, R2, ASR #1 ;R0ßR1+R2/2l LSL逻辑左移最低位补0,最高位移入C实现无符号数的乘2运算例:ADD R0, R1, R2, LSL #2 ;R0ßR1+R2*4l LSR逻辑右移最高位补0,最低位移入C实现无符号数的除2运算例:MOV R3, #2ADD R0, R1, R2, LSR R3 ;R0ßR1+R2/4l ROR循环右移例: MOV R0, R0, ROR #8将R0循环右移8位l RRX 扩展的循环右移例: MOV R0, R0, RRXCßR00R031ßC原来的值 RRX操作只能右移1位2.3Load/Store指令的操作数寻址方式l Load指令用于从内存中读取数据到寄存器中指令的助记符为LDR.l Store指令用于将寄存器中的数据保存到内存中指令的助记符为STRl 批量的Load/Store指令可以实现一组寄存器和一块连续 的内存单元之间传输数据各类型的Load/Store指令的寻址方式由两部分组成一部分为一个基址寄存器,另一部分为一个地址偏移量基址寄存器可以是任一个通用寄存器,地址偏移量有以下三种格式(1)立即数(2)寄存器(3)寄存器及一个移位常数在寻址方式中,地址的计算方法有3种(1)偏移量方法(2)事先更新方法在这种方法中,基址寄存器中的值和地址偏移量作加减运 算,生成操作数的地址.指令执行后,这个生成的操作数地址 被写入基址寄存器.(3)事后更新方法 在这种方法中,指令将基址寄存器的值作为操作数的地址执行内存访问基址寄存器中的值和地址偏移量做加减运算,生成操作数的地址指令执行后,这个生成的操作数地址被写入基址寄存器(1)基本的Load/Store指令Ø <Rn>, #+/-<offset_12><Rn>为地址寄存器<offset_12>为12位的地址偏移量例: LDR R0, R1, #4 ;R0ßR1+4 LDR R0, R1, #-4 ;R0ßR1-4Ø <Rn>, #+/-<Rm>例: LDR R0, R1, R2 ;R0ßR1+R2 LDR R0, R1, -R2 ;R0ßR1-R2Ø <Rn>, #+/-<Rm>, <shift> #<shift_imm><Rm>为寄存器中的数值经过移位或循环移位后生成的地址偏移量<shift>为移位运算符<shift_imm>为移位或循环移位的位数例: LDR R0, R1, R2, LSL #2 ;R0ßR1+R2*4Ø <Rn>, #+/-<offset_12>!<Rn>为基址寄存器<offset_12>为12位的地址偏移量!表示采用了事先更新方法.在这种方法中基址寄存器 中的值和地址偏移量作加减运算,生成操作数的地址.指 令执行后,这个生成的操作数地址被写入基址寄存器.例: LDR R0, R1, #4;R0ßR1+4LDR R0, R1, #4!;R0ßR1+4, R1ßR1+4Ø <Rn>, #+/-<Rm>!例: LDR R0,

注意事项

本文(ARM学习笔记资料)为本站会员(jiups****uk12)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.