欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    嵌入式系统开发环境认识、汇编指令实验参考模板.doc

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

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式系统开发环境认识、汇编指令实验参考模板.doc

    嵌入式系统实验报告开课学院及实验室:电子楼 618 室 2016年 5 月 23 日学院物理与电子工程学院年级、专业、班电子132姓名黎杰华学号1319200055实验课程名称嵌入式系统实验II成绩实验项目名称嵌入式系统开发环境认识、汇编指令实验指导老师揭海1 / 121、 实验目的熟悉ADS嵌入式系统开发环境和常用汇编指令,编写简单的汇编程序。二、实验内容及原理为了使用CodeWarrior来创建一个应用程序,一般须创建许多文件来构成一个工程(Project)。该工程的设置和所有这些文件的指针都被存放在一个工程文件中。这些设置包括编译和链接设置、源文件、库文件以及它们之间用于产生最终程序的相互关系。可以将这个工程文件看作该工程的大脑:它保存了所有文件相互依存的关系并知道如何将它们组合成为一个可用的应用程序。1、 运行CodeWarrior for ARM Developer Suite点击菜单File/New或工具栏,新建一个工程(project)图 11 新建工程对话框在Location指定工程存储路径,在Project name中输入工程名称,确定后CodeWarrior将在指定位置创建与工程名称同名的文件夹,并在其中创建同名的工程文件,后缀为.mcp。图 12 显示工程信息的工程窗口(图示为空的情况)2、 编辑源代码点击工具栏的,新建文本文件;或者用其它文本编辑器(Notepad或EditPlus等),输入以下代码:COUNT EQU 0x40003100 AREA Example1,CODE,READONLY ENTRY CODE32START LDR R1,=COUNT MOV R0,#0 STR R0,R1LOOP LDR R1,=COUNT LDR R0,R1 ADD R0,R0,#1 CMP R0,#10 MOVHS R0,#0 STR R0,R1 B LOOP END将文件保存在前面新建的工程的文件夹中,保存时注意要输入适当的扩展名(.s、.c或.h等)。3、 添加程序文件至工程点击菜单Project / Add Files或在工程窗口空白处右键,在出现的对话框中选择前面保存的程序源文件。如果有多个文件,则重复本步骤直至所需文件全部添加进工程中。4、 编译和链接在正式开始编译源代码之前,首先定制 CodeWarrior 的编译方式。图 13 定制 CodeWarrior 的编译方式在出现的对话框中(如图1-4),点击左边列表框内Language Settings中的ARM Assembler,在右边的Target选项卡,设定合适的处理器内核型号。如果需要,对ARM C Compiler、ARM C+ Compiler、Thumb C Compiler和Thumb C+ Compiler都可以做类似设置。点击OK或Apply使设置生效。图 14 编译方式设置对话框点击菜单Project / Make ,或工程窗口中的,或按F7,编译工程。在图1-5所示的窗口中可以看到是否工程是否有错误。若有,双击某个错误即可定位到错误位置进行修改。图 15 编译结果窗口5、 调试(Debug)调试就是在的程序代码中找到一个问题并着手去解决它的过程。不管是谁,在编程时都难免出现一些输入或程序逻辑上的错误,这个问题可能只是一个输入上的小错误或者只是一个变量用错了,但是因为这个错误的存在使得你的程序无法实现预期的功能。有时候会更糟糕,以致机器都崩溃了。这时就必须借助调试来解决问题。点击菜单Project / Debug ,或工程窗口中的,或按F5,启动AXD调试环境。点击菜单Options / Configure Target ,选择合适的仿真器。本实验没有连接真正的硬件仿真器,因此选择ARMUL。图1-6中后两项需要首先安装相应的仿真器驱动程序,然后点击Add,在驱动程序安装文件夹中找到相应的dll文件,添加进来。图 16 仿真器设置对话框若AXD启动时出现错误对话框,应当首先检查此处仿真器选择是否有误。双击某个仿真器,在出现的对话框(如图1-7)中可以设置处理器内核型号。图 17 仿真器设置对话框一般情况下,可以点击工具栏中的和 ,打开寄存器和存储器监视窗口。双击某个寄存器或存储器单元可以修改其值;右键选择Format,可以改变显示进制;对于存储器可以输入要监视的单元地址并回车,有多个选项卡,可以同时监视多片存储区;右键选择Size可以设置按字节、半字或字显示内容。接下来点击单步运行程序,或者在某条语句标号左边双击设置断点后,点击运行程序,观察寄存器和存储器内容是否符合预期,进而判断错误位置。本实验设定监视寄存器R0、R1和0x40003100存储单元。新建工程,输入以下代码:X EQU 9n EQU 8 AREA Example3,CODE,READONLY ENTRY CODE32START LDR SP,=0x40003F00 LDR R0,=X LDR R1,=n BL POW;调用子程序POWHALT B HALTPOW STMFD SP!,R1-R12,LR MOVS R2,R1;R2作为计数器 MOVEQ R0,#1;若n为0,结果为1 BEQ POW_END;然后立即返回HALT MOV R1,R0 SUB R2,R2,#1POW_L1 BL DO_MUL;子程序嵌套调用,所以前面要将LR保存在堆栈中 SUBS R2,R2,#1 BNE POW_L1;若计数器不为0,执行一次乘法运算POW_END LDMFD SP!,R1-R12,PC;返回HALTDO_MUL MUL R0,R1,R0 MOV PC,LR END编译后调试,监视寄存器R0、R1、R2、R13(SP)、R14(LR)、R15(PC)以及存储器0x40003EC0,单步或断点运行,观察各处值的变化,分析其原因。三、使用仪器、器材1、硬件平台:无。2、软件开发工具:ADS集成开发环境。 四、实验步骤1、运行CodeWarrior for ARM Developer Suite2、编辑源代码3、添加程序文件至工程4、编译和链接5、调试(Debug)五、实验过程原始数据记录输入程序1:COUNT EQU 0x40003100 AREA Example1,CODE,READONLY ENTRY CODE32START LDR R1,=COUNT MOV R0,#0 STR R0,R1LOOP LDR R1,=COUNT LDR R0,R1 ADD R0,R0,#1 CMP R0,#10 MOVHS R0,#0 STR R0,R1 B LOOP END程序1现象: R0自增,每次自增1,到10时变为0继续自增;输入程序2:X EQU 9n EQU 8 AREA Example3,CODE,READONLY ENTRY CODE32START LDR SP,=0x40003F00 LDR R0,=X LDR R1,=n BL POW;调用子程序POWHALT B HALTPOW STMFD SP!,R1-R12,LR MOVS R2,R1;R2作为计数器 MOVEQ R0,#1;若n为0,结果为1 BEQ POW_END;然后立即返回HALT MOV R1,R0 SUB R2,R2,#1POW_L1 BL DO_MUL;子程序嵌套调用,所以前面要将LR保存在堆栈中 SUBS R2,R2,#1 BNE POW_L1;若计数器不为0,执行一次乘法运算POW_END LDMFD SP!,R1-R12,PC;返回HALTDO_MUL MUL R0,R1,R0 MOV PC,LR END程序2现象:存储器从0x40003F00开始往前存储着R1-R12,LR的数据,最终R0的值为9的8次方。六、实验结果及分析ADS编译连接程序的步骤:点击菜单Options / Configure Target ,选择合适的仿真器。本实验没有连接真正的硬件仿真器,因此选择ARMUL,双击ARMUL仿真器,在出现的对话框中设置处理器内核型号。第一个程序为R0循环从010重复计数,第二个程序为计算9的8次方。第二个程序中要使用堆栈的原因为:保存现场,防止接下来执行的程序段改变被保存寄存器内的值。

    注意事项

    本文(嵌入式系统开发环境认识、汇编指令实验参考模板.doc)为本站会员(doc321)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开