电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 6-10 第9章

50页
  • 卖家[上传人]:E****
  • 文档编号:89343014
  • 上传时间:2019-05-23
  • 文档格式:PPT
  • 文档大小:791.50KB
  • / 50 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、,第9章 基于ARM开发工具的基础实验,9.1 ARM汇编指令使用实验基本数学/逻辑运算 9.2 ARM汇编指令使用实验存储区数据块的传送 9.3 汇编语言与C语言的相互调用实验随机数发生器 9.4 C语言程序组件应用实验PWM直流电机控制,9.1 ARM汇编指令使用实验基本数学/逻辑运算 一、实验目的 1初步学会使用ARM ADS / Embest IDE for ARM 开发环境及ARM软件模拟器。 2通过实验掌握数据传送和基本数学/逻辑运算的ARM汇编指令的使用方法。 二、实验设备 1硬件:PC机。 2软件:ADS 1.2 / Embest IDE 200X集成开发环境。,三、实验内容 1熟悉ADS 1.2 / Embest IDE 200X开发环境的使用,使用LDR/STR和MOV等指令访问寄存器或存储单元,实现数据的加法运算。具体实验参考程序如下: /* armasm1a.s */ .EQU X, 45 /*定义变量X,并赋值为45*/ .EQU Y, 64 /*定义变量Y,并赋值为64*/ .EQU STACK_TOP, 0X1000 /*定义栈顶0X1000*/ .GLO

      2、BAL _START .TEXT,_START: /*程序代码开始标志*/ MOV SP, #STACK_TOP MOV R0, #X /*X的值放入R0*/ STR R0, SP /*R0的值保存到堆栈*/ MOV R0, #Y /*Y的值放入R0*/ LDR R1, SP /*取堆栈中的数到R1*/ ADD R0, R0, R1 STR R0, SP STOP: B STOP /*程序结束,进入死循环*/ .END,2使用ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学/逻辑运算。具体实验参考程序如下: /* armasm1b.s */ .EQU X, 45 /*定义变量X,并赋值为45*/ .EQU Y, 64 /*定义变量Y,并赋值为64*/ .EQU Z, 87 /*定义变量Z,并赋值为87*/ .EQU STACK_TOP, 0X1000 /*定义栈顶0X1000*/ .GLOBAL _START .TEXT _START: /*程序代码开始标志*/ MOV R0, #X /*X的值放入R0*/ MOV R0, R0, LSL #8 /*R0的值乘以2的8

      3、次方 */ MOV R1, #Y /*Y的值放入R1*/,ADD R2, R0, R1, LSR #1 /*R1的值除以2再加上R0后的值放入R2*/ MOV SP, #0X1000 STR R2, SP MOV R0, #Z /*Z的值放入R0*/ AND R0, R0, #0XFF /*取R0的低八位*/ MOV R1, #Y /*Y的值放入R1*/ ADD R2, R0, R1, LSR #1 /*R1的值除以2再加上R0后的值放入R2*/ LDR R0, SP /*Y的值放入R1*/,MOV R1, #0X01 ORR R0, R0, R1 MOV R1, R2 /*Y的值放入R1*/ ADD R2, R0, R1, LSR #1 /*R1的值除以2加上R0的值放入R2*/ STOP: B STOP /*程序结束,进入死循环*/ .END,四、实验操作步骤 1新建工程。先建立一个实验文件夹,如EARMSYarmasm1;然后运行Embest IDE集成开发环境,选择FileNew Workspace菜单项,弹出一个对话框,输入工程名armasm1a/armasmlb等相关内容;

      4、最后单击OK按钮,将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将能打开该工作区和工程。 2建立源文件。选择FileNew菜单项,弹出一个新的、没有标题的文本编辑窗口,输入光标位于窗口中第一行,按照实验参考程序编辑输入源文件代码。编辑完后,保存文件armasmla. s。,3添加源文件。选择ProjectAdd To ProjectFile项或单击工程管理窗口中的相应右键快捷菜单命令,打开文件选择对话框,在工程目录下选择刚才建立的源文件armasmla.s/armasmlb.s。 4基本设置。选择ProjectSettings菜单项或按下快捷键Alt + F7,弹出工程设置对话框;在工程设置对话框中选择Processor属性页,按照使用要求对目标板所用处理器进行设置。 5生成目标代码。选择BuildBuild armasmla菜单项或按下快捷键F7,生成目标代码。此步骤也可以通过单击工具栏上相应按钮来完成。,6调试设置。选择选择ProjectSettings菜单项或按下快捷键Alt + F7,弹出工程设置对话框;在工程设置对话框中,若选择Remote页面则对调试

      5、设备模块进行设置;若选择Debug页面则对调试模块进行设置。 7选择DebugRemote Connect连接软件仿真器,执行Download命令下载程序,并打开寄存器窗口。 8打开存储器窗口,观察地址0x80000x801F的内容以及地址0xFF00xFFF的内容。 9单步执行程序,并观察和记录寄存器与存储器值的变化。 10结合实验内容和相关资料观察程序运行,通过实验加深理解ARM指令的使用。,五、实验报告 1画出程序armasmla.s和armasmlb.s的实现框图,并说明其各自实现的功能。 2记录程序armasmla.s/armasmlb.s单步运行时有关寄存器与存储器的值,并分析结果是否正确。,9.2 ARM汇编指令使用实验存储区数据块的传送 一、实验目的 1熟悉ARM ADS 1.2 / Embest IDE for ARM 开发环境及ARM软件模拟器的使用。 2通过实验掌握使用LDM/STM、B、BL等指令完成较为复杂的存储区访问和分支程序的方法,学习使用条件码,加强对CPSR的认识。 二、实验设备 1硬件:PC机。 2软件:ADS 1.2 / Embest IDE 20

      6、0X集成开发环境。,三、实验内容 设计并调试一个存储区数据块的传送程序,具体数据块的传送要求为:将数据从源数据区snum复制到目标数据区dnum,数据的个数num假定为20,复制时以8个字为单位进行,对于最后不足8个字的数据,以字为单位进行复制。,用ARM汇编语言设计该数据块复制程序的设计思想如下:先将源数据区的起始地址、目标数据区的起始地址以及数据个数赋给选定的寄存器R0、R1、R2,再根据每次批量/单个复制数据的个数R3确定用于数据复制的中间寄存器R4R11,之后先将源数据区的若干个数据批量装载到中间寄存器中,再将中间寄存器的数据批量存储到目的数据存储区,随后进行数据是否复制完毕的判断,若未复制完毕,则修改有关操作数据地址,并重复前面的数据复制操作,否则,终止操作,程序结束。参考程序如下:,.GLOBAL _START .TEXT .EQU NUM, 20 /*定义需要复制的字数据个数NUM为20*/ _START: LDR R0, =SRC /*将R0指向源数据区的起始地址*/ LDR R1, =DST /*将R1指向源数据区的起始地址*/ MOV R2, #NUM /*将需要复

      7、制的字数据个数存放在R2中*/ MOV SP, #0X400 /*将堆栈指针SP指向#0X400*/ BLKCOPY: MOVS R3, R2, LSR #3 /*R2的值除以8的结果存入R3*/ BEQ COPYWORDS /*若Z=1,则转COPYWORDS*/ STMFD SP!, R4-R11 /*将R4R11的内容存入堆栈进行保护*/,OCTCOPY: LDMIA R0!, R4-R11 /*从源数据区装载8个字数据到R4R11*/ STMIA R1!, R4-R11 /*将R4R11中的8个字数据存入目的数据区*/ SUBS R3, R3, #1 /*每复制一次R3减1*/ BNE OCTCOPY /*若R3不等于0,则转移到OCTCOPY*/ LDMFD SP!, R4-R11 /*将堆栈内容恢复到R4R11*/ COPYWORDS: ANDS R2, R2, #7 /*计算需复制的奇数个字的个数*/ BEQ STOP /*若R2=0则停止*/,WORDCOPY: LDR R3, R0, #4 /*将源数据区的一个字装载至R3*/ STR R3, R1, #4 /*将R3

      8、中的数据存到目的数据区*/ SUBS R2, R2, #1 /*数据传输控制计数器减1*/ BNE WORDCOPY /*若R2不等于0,则转移到WORDCOPY*/ STOP: B STOP .LTORG SRC: /*源数据区起始地址标号*/ .LONG 1, 2,3 ,4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4 DST: /*目的数据区起始地址标号*/ .LONG 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 .END,四、实验操作步骤 1新建工程。先建立一个实验文件夹,如EARMSYarmasm2;然后运行Embest IDE集成开发环境,选择FileNew Workspace菜单项,弹出一个对话框,输入工程名ARMcode等相关内容;最后单击OK按钮,将创建一个新工程,同时创建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工程。 2建立源文件。选择FileNew菜单项,弹出一个新的、没有标题的文本编辑窗口,输入光标位于窗口中第一行,按照实

      9、验参考程序编辑输入源文件代码。编辑完后,保存文件armasm2.s。,3添加源文件。选择ProjectAdd To ProjectFile项,或单击工程管理窗口中的相应右键快捷菜单命令,打开文件选择对话框,在工程目录下选择刚才建立的源文件armasm2.s。 4基本设置。选择ProjectSettings菜单项或按下快捷键Alt+F7,弹出工程设置对话框;然后在工程设置对话框中,选择Processor属性页,对目标板所用处理器进行设置。 5生成目标代码。选择BuildBuild armasm2菜单项或按下快捷键F7,生成目标代码。也可以单击工具栏上的相应按钮来完成。,6调试设置。选择ProjectSettings菜单项或按下快捷键Alt+F7,弹出工程设置对话框;在工程设置对话框中,若选择Remote页面则对调试设备模块进行设置;若选择Debug页面,则对调试模块进行设置。 7选择DebugRemote Connect连接软件仿真器,执行Download命令下载程序,并打开寄存器窗口。 8打开存储器窗口,观察地址0x80540x80A0的内容以及地址0x80A40X80F0的内容。 9单步执行

      《ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 6-10 第9章》由会员E****分享,可在线阅读,更多相关《ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 6-10 第9章》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.