下载此文档

山东大学嵌入式实验报告(8000字).docx


文档分类:高等教育 | 页数:约24页 举报非法文档有奖
1/24
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/24 下载此文档
文档列表 文档介绍
山东大学嵌入式实验报告
-(8000 字)
嵌入式实验报告
班级:电信工x班 姓名:xxx 学号:
20120012xxxx
实验一、arm汇编指令实验-简单数据搬移
实验
实验目的:
熟悉实验开发环境,掌握简单arm汇减模式,门-r12压栈后,中断模式栈
顶指针为0x8310,相距0x30,压入12个字
观察r13,快速中断模式的堆栈地址为
0x8380
满递减模式,观察运行结果发现,快速中断模 式中只有r1-r7 压栈了,这是因为在快速中断模
式中,可访问的寄存器只有r1-r7 ,不能访问 r8-r12, 快速中断模式下有自己的r8-r12 。(中 止模式)
观察r13 ,中止模式的堆栈地址为
0x83c0
满递减模式,门-r12 压栈后,中止模式栈
顶指针为0x8310,相距0x30,压入12个字
观察r13 ,未定义模式的堆栈地址为
0x8400
满递减模式,r1-r12 压栈后,未定义模式
栈顶指针为0x83d0,相距0x30,压入12个字 (系统模式)
观察r13 ,系统模式的堆栈地址为 0x81c0
满递减模式,r1-r12 压栈后,系统模式栈 顶指针为0x8190,相距0x30,压入12个字
分析快速中断fiq 模式与其他模式存入的
r1-r12有什么不同:
快速中断fiq 模式中:r8~r13 都是0。这是因 为在快速中断模式中,可访问的寄存器只有 r1-r7 ,不能访问r8-r12, 快速中断模式下有自 己的 r8-r12。
8)切换成用户模式之后还能否从用户模式 切换到其他模式(如系统模式)
?
答:在该例程中,由用户模式不可以切换到 系统模式。当处理器工作在用户模式时,正在执行 的程序不能访问某些被保护的系统资源,也不能改 变模式,除非异常发生。
9)用户模式下能否执行堆栈压栈操作?如 果能的话,观察用户模式下压栈之前和之后其堆
栈区域的变化情况
答:用户模式下能执行堆栈压栈操作。
未压栈时:用户模式堆栈指针初始值为
0x8190
压栈之后,堆栈指针减小0x30 ,这是因为堆 栈设置为满递减模式,所以堆栈指针减小0x30 , 存放12个字。
10)观察本程序模式切换过程中spsr有无 变化,并解释其原因。
答:模式切换过程中spsr无变化,因为在整个 切换过程中没有异常发生,所以spsr无变化。
实验四arm 汇编与c混合编程实验
—arm启动过程控制实验实验目的
掌握建立基本完整的arm工程,包含启动
代码,c语言程序等;
了解arm启动过程,学会编写简单的c 语言程序和汇编程序启动代码并进行调试;
(3)掌握如何指定代码入口地址与入口点;
(4)掌握通过
memory/register/watch/variable窗 口
分析判断错误。
实验内容
使用汇编语言编写初始化程序,并引导至c语言 main函数,用汇编语言编写延时函数实现毫秒级 的延时,在c语言中调用延时函数,实现1s钟定 时。
实验要求
(1),在ads下创建 一个工程armasmc,编写3个文件,通过axd运 用单步执行方式进行调试程序,观察程序执行过程 中的寄存器及存储器的变化情况。
(2)实验过程中请记录并思考以下内容:
1)如何建立异常矢量入口表?
2)如何在汇编语言中切换至c语言的main函 数?
3)如何在c语言中调用汇编语言函数,并完成 参数传递? 4)汇编语言函数中用到的寄存器如何 保护与恢复,为什么要保护参考程序中的r11 ?
中的r11改成r4 ,并将两条r11 的保护与恢复语句stmfd sp! , {r12} 和ldmfd sp!{r11} 删掉,在c语言程序中的语句i---- 处设置端点,观察运行过程中变量i的变化情况 并解释其中的原因。
程序原代码截图:
init完成异常矢量表的建立,模式堆栈初始
化,并将程序引导至c语言的main函数
c语言程序,调用汇编语言文件

思考题:
思考题
1)如何建立异常矢量入口表?
要设置中断类型号,设置中断服务子程序段地址
2)如何在汇编语言中切换至c语言的main 函数?
为了保证程序调用时参数的正确传递,汇编程序 设计要遵守atpcs 。在c程序中不需要任何关键 字来声明将被汇编语言调用的c程序,但需要在 汇编语言程序之前使用import伪操作来声明该 c程序。在汇编程序中通过bl指令来调用子程序。
3)如何在c语言中调用汇编语言函数,并完 成参数传递?
为了保证程序调用时参数的正确传递,汇编程序 设计要遵守atpcs 。
在汇编程序中需要使用exp

山东大学嵌入式实验报告(8000字) 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息