- 8
- 0
- 约1.07万字
- 约 20页
- 2018-02-06 发布于河南
- 举报
嵌入式系统与应用实验指导08
目 录
实验一 ADS 1.2集成开发环境练习 4
实验二 汇编调用实验与Bootloader下载 11
实验三、μC/OS-II移植实验 14
实验四、步进电机控制实验 17
实验一 ADS 1.2集成开发环境练习
一、实验目的和任务
了解ADS 1.2集成开发环境的使用方法。
建立一个新的工程;建立一个汇编源文件,并添加到工程中;设置文本编辑器支持中文 ;设置编译链接控制选项;编译链接工程;调试工程。
二、实验设备
装有ADS 1.2集成开发环境的PC机
三、实验步骤
1.ADS环境练习。
(1) 在D:\新建一个目录,目录名为experiment。
(2) 启动ADS1.2 IDE集成开发环境,选择【File】-【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。
(3) 选择【File】-【New…】建立一个新的文件TEST1.S,设置直接添加到项目中。输入如程序代码,并保存,此时在工程窗口中可以看到TEST1.S文件。
(4) 选择【Edit】-【Perferences…】,在Font选项设置字体是Fixedsys,Script是CHINESE_GB2312。
(5) 选择【Edit】-【DebugRel Settings…】,在DebugRel Settings对话框的左边选择ARM Linker项,设置链接地址。
(6) 选择【Project】-【Make】,或者按下快捷键F7,将编译链接整个工程。
(7) 选择【Project】-【Debug】,或者按下快捷键F5。IDE环境就会启动AXD调试软件,接着可以执行单步、全速运行调试。
注意:本实验使用软件仿真,所以要在AXD中选择【Options】-【Configure Target…】菜单,然后在 Choose Target窗口中选用ARMUL软件仿真。
2.ADS1.2操作实例一:汇编指令实验
使用LDR指令读取0的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,若结果大于等于10,则把0写回原地址……周而复此循环;
使用ADS 1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视R0、R1的值,打开存储器观察窗口(Memory) 监视0的值。
(1) 启动ADS 1.2,使用ARM Executable Image工程模板建立一个工程Instruction1。
(2) 建立汇编源文件TEST2.S,编写实验程序,然后添加到工程中。
(3) 设置工程链接地址RO Base为0RW Base为0设置调试入口地址Image entry point为0
(4) 编译链接工程,选择【Project】-【Debug】,启动AXD进行软件仿真调试。
(5) 打开寄存器窗口(Processor Registers),选择Current项监视各寄存器的值。
(6) 打开存储器观察窗口(Memory) 设置观察地址为0
(7) 单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行,调试时观察寄存器和0址上的值。
参考程序:
3.ADS1.2操作实例二:C语言程序实验
编写一个汇编程序文件Startup.S和一个C程序文件Test.c。汇编程序的功能是初始化堆栈指针和初始化C程序的运行环境,然后调跳转到C程序运行,这就是一个简单的启动程序。C程序使用加法运算来计算1+2+3+...+(N-1)+N的值(N0)。
(1) 启动ADS 1.2,使用ARM Executable Image工程模板建立一个工程ProgramC。
(2) 建立源文件Startup.S和Test.c,编写实验程序,然后添加到工程中。
(3) 设置工程链接地址RO Base为0RW Base为0设置调试入口地址Image entry point为0
(4) 设置位于开始位置的起始代码段为Startup.o的代码段。
(5) 编译链接工程,选择【Project】-【Debug】,启动AXD进行软件仿真调试。
(6) 在Startup.S的跳转到C程序入口的代码处设置断点,然后全速动行程序。
(7) 程序在断点处停止。单步运行程序,判断程序是否跳转到C程序中运行。
参考程序:
汇编启动代码:Startup.s
C语言实验参考程序:Test.c
四、实验结果与分析
1.ADS中如何实现程序由汇编到C语言的跳转?
2.如何
原创力文档

文档评论(0)