ARM与嵌入式技术_培训课件_第10章.pptVIP

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM与嵌入式技术_培训课件_第10章.ppt

第10章 ARM高级语言程序设计基础 10.1 ARM汇编程序实例 数据块复制 本程序将数据从源程序区src复制到目标数据区dst复制时,以8个字为单位进行.对于最后所剩不足8个字的数据,以字为单位进行复制,这时程序跳转到coyewords处执行.在进行以8个字为单位的数据复制时,保存了所有的8个工作寄存器.程序如下(ADS下)。 10.1 ARM汇编程序实例 利用跳转表实现程序跳转 在程序中常常需要根据一定的参数选择执行不同的子程序.本例通过跳转表实现程序跳转.跳转表中存放的是各函数的地址,选择不同子程序的参数是该子程序在跳转表中的偏移量.在本例中R3寄存器中存放的是跳转表的基地址(首地址,其中存放的是第一个子程序的地址). (ADS下) 10.2 C语言与汇编的混合编程 简介 10.2 C语言与汇编的混合编程 ATPCS介绍 10.2 C语言与汇编的混合编程 寄存器的使用规则 10.2 C语言与汇编的混合编程 寄存器的使用规则 表续:寄存器的名称及使用规则 10.2 C语言与汇编的混合编程 数据栈的使用规则 10.2 C语言与汇编的混合编程 综合这2种特点则可有以下4种数据栈: FD 满递减 ED 空递减 FA 满递增 EA 空递增 ATPCS规定数据栈为FD类型,并且对数据栈的操作是8字节对齐.异常中断的处理程序可使用中断程序的数据栈,但要保证中断程序的数据栈足够大. 因此要求包含外部调用的程序必须满足下列条件: (1)外部接口程序的数据栈必须是8字节对齐的。 (2)本程序生成的数据栈也必须是8字节对齐的。在汇编程序中可以使用PRESERVE8伪指令告诉连接器,本汇编程序数据栈是8字节对齐的。 10.2 C语言与汇编的混合编程 参数传递规则 10.2 C语言与汇编的混合编程 参数传递规则 10.2 C语言与汇编的混合编程 参数传递规则 10.2 C语言与汇编的混合编程 注意 10.2 C语言与汇编的混合编程 内嵌汇编 10.2 C语言与汇编的混合编程 内嵌汇编指令的语法格式 10.2 C语言与汇编的混合编程 内嵌汇编指令的特点 内嵌汇编指令的特点 内嵌汇编指令的特点 内嵌汇编指令的特点 内嵌汇编指令的特点 内嵌汇编指令的特点 内嵌汇编指令的特点 10.2 C语言与汇编的混合编程 内嵌汇编注意事项 10.2 C语言与汇编的混合编程 内嵌汇编注意事项 10.2 C语言与汇编的混合编程 内嵌汇编注意事项 10.2 C语言与汇编的混合编程 内嵌汇编注意事项 10.2 C语言与汇编的混合编程 内嵌汇编注意事项 10.3 C语言与ARM汇编语言间相互调用 汇编程序访问C语言全局变量 10.3 C语言与ARM汇编语言间相互调用 汇编程序访问C语言全局变量 10.3 C语言与ARM汇编语言间相互调用 C程序调用汇编程序的例子 10.3 C语言与ARM汇编语言间相互调用 汇编程序调用C程序的例子 10.4 基本IO程序(含启动代码) 下面我们通过基本IO程序来介绍完整的ARM程序的编写过程。 启动代码 10.4 基本IO程序(含启动代码) 中断向量表 10.4 基本IO程序(含启动代码) 中断向量表 10.4 基本IO程序(含启动代码) 中断向量的重映射 10.4 基本IO程序(含启动代码) 中断向量的重映射 10.4 基本IO程序(含启动代码) 初始化各模栈指针 10.4 基本IO程序(含启动代码) 转到C入口地址 10.4 基本IO程序(含启动代码) 完整的启动代码 10.4 基本IO程序(含启动代码) 基本I/O主程序 10.5 SPI通信程序 当LPC2200芯片的SPI接口设置为主机时,其操作过程如下: 10.5 SPI通信程序 当SPI接口设置为从机时,其操作过程如下: 要求驱动SPI 逻辑的系统时钟速度至少8倍于SPI。 10.5 SPI通信程序 SPI初始化 10.5 SPI通信程序 发送数据 10.5 SPI通信程序 主程序 10.6 串口通信程序 串口通信通常包括如下过程: 10.6 串口通信程序 串口初始化程序 10.6 串口通信程序 串口发送字符程序 10.6 串口通信程序 串口接收字符程序 10.7 A/D程序 A/D初始化程序 10.7 A/D程序 读取A/D转换的数据 10.8 中断程序 在ARM中,中断的基本过程是这样的: 首先要求请求中断的中断源对应的中断使能寄存器打开,若有中断屏蔽寄存器,则要求中断屏蔽寄存器的对应位无效;在上述前提条件

文档评论(0)

cai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档