第4章 嵌入式软件基础实验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.实验目的
(1)阅读S3C2410启动代码,观察处理器 的启动过程。 (2)学会使用MDK集成开发环境辅助窗口 来分析判断调试过程和结果。 (3)学会在MDK集成开发环境中编写、编 译与调试汇编和C语言相互调用的程序。
2.实验设备
(1)硬件:PC。 (2)软件:Vision3 IDE for ARM集成 开发环境。
图4-32 在软件仿真下调试程序
6.实验参考程序
(1)实验A。 (2)实验B。
4.4.2 ARM汇编指令实验二
1.实验目的
(1)通过实验掌握使用ldm/stm、b、bl 等指令完成较为复杂的存储区访问和程序分支。 (2)学习使用条件码,加强对CPSR的认识。
2.实验设备
(1)硬件:PC。 (2)软件:Vision3 IDE for ARM集成 开发环境。
1.实验目的
(1)通过实验,掌握学会使用msr/mrs指 令实现ARM处理器工作模式的切换;观察不同 模式下的寄存器,加深对CPU结构的理解。 (2)通过实验进一步熟悉ARM汇编指令。
2.实验设备
(1)硬件:Embest ARM教学实验系统、 PC。 (2)软件:Vision3 IDE for ARM集成 开发环境。
ULINK是Keil公司提供的USB-JTAG接口仿 真器,目前最新的版本是2.0。它支持诸多芯 片厂商的8051、ARM7、ARM9、Cortex-M3、 Infineon C16x、Infineon XC16x、 InfineonXC8xx、STMicroelectronics PSD 等多个系列的处理器。
3.实验内容
(1)使用Thumb汇编语言,完成基本 reg/mem访问,以及简单的算术/逻辑运算。 (2)使用Thumb汇编语言,完成较为复杂 的程序分支,push/pop,领会立即数大小的限 制,并体会ARM工作状态与Thumb工作状态的区 别。
4.实验操作步骤 5.实验参考程序
4.4.4 ARM处理器工作模式实验
2.实验设备
(1)硬件:PC。 (2)软件:Vision IDE for ARM集成 开发环境。
3.实验内容
用函数初始化栈指针,并使用C语言完成延 时函数。
4.实验原理
(1)调试脚本。 (2)调试函数的执行方法。 (3)常用命令介绍。
5.实验操作步骤 6.实验参考程序
(1)C程序 (2)调试脚本DebugInRam.ini
4.1 Realview MDK简介
MDK(Microcontroller Development Kit)是Keil公司(现在已经被ARM公司收购) 开发的ARM开发工具,是用来开发基于ARM 核 的系列微控制器的嵌入式应用程序的开发工具。
图4-1 MDK开发工具的组件
4.2 ULINK2仿真器简介
嵌入式系统技术与设计
第4章 嵌入式软件基础实验
4.1
Realview MDK简介 ULINK2仿真器简介
使用Realview MDK创建一个工程 嵌入式软件开发基础实验
4.2
4.3
4.4
本章主要介绍Realview MDK软件的使用 方法及几个典型的嵌入式软件基础实验,通过 本章的学习,读者应熟悉MDK平台开发,并对 ARM编程有更深一步的认识。 本章主要内容: ● Realview MDK简介 ● ULINK2 仿真器简介 ● 使用Realview MDK创建一个工程 ● 嵌入式软件基础实验
图4-21 工程Project菜单和工具条
4.4 嵌入式软件开发基础实验
4.4.1 ARM汇编指令实验一 1.实验目的
(1)初步学会使用Vision 3 IDE for ARM开发环境及ARM软件模拟器。 (2)通过实验掌握简单ARM汇编指令的使 用方法。
2.实验设备
(1)硬件:PC。 (2)软件:Vision 3 IDE for ARM集成 开发环境。
图4-25 选择CPU
(3)添加启动代码。
图4-26 添加启动代码
(4)选择开发工具。
图4-27 选择开发工具
(5)建立源文件。 (6)添加源文件。
图4-28 添加源文件
(7)工程配置。
图4-29 基本配置Target
图4-30 基本配置 Linker
图4-31 基本配置Debug
(8)生成目标代码。 (9)调试。
4.4.6 C语言实验程序二
1.实验目的
(1)掌握建立基本ARM工程,包含启动代 码,连接属性的配置等。 (2)了解ARM9的启动过程,学会使用MDK 编写简单的C语言程序和汇编启动代码并进行 调试。 (3)掌握如何指定代码入口地址与入口 点。 (4)掌握通过memory、register、 watch、Local等窗口分析判断结果。
4.3.1 选择工具集
利用Vision 3创建一个基于处理器的应 用程序,首先要选择开发工具集。
图4-3 选择工具集
4.3.2 创建工程并选择处理器
选择Project→New Project…菜单项, Vision 3将打开一个标准对话框,输入工程 名,即可创建一个新的工程。
图4-4 选择处理器
3.实验内容
(1)熟悉开发环境的使用并完成一块存储 区的复制。 (2)完成分支程序设计,要求判断参数, 根据不同参数,调用不同的子程序。
4.实验操作步骤 5.实验参考程序
4.4.3 Thumb汇编指令实验
1.实验目的
通过实验掌握ARM处理器16位Thumb汇编指 令的使用方法。
2.实验设备
(1)硬件:PC。 (2)软件:MDK集成开发环境、Windows 98/2000/NT/XP。
3.实验内容
使用汇编完成一个随机数产生函数,通过C 语言调用该函数,产生一系列随机数,存放到 数组里面。
4.实验操作步骤 5.实验参考程序
(1)randtest.c 参考源代码。 (2)random.s参考源代码。
本章小结
本章重点是让读者通过实验掌握嵌入式软 件开发工具的使用及软件开发的基础知识。本 章的实验是对前几章理论内容的应用与巩固。 每个实验的设计都有不同的针对性,以便读者 掌握。
图4-5 加入启动代码后的工程
4.3.3 建立一个新的源文件
工程创建完成以后,就可以开始编写程序。
4.3.4 工程中文件的加入
图4-6 加入源文件到工程中
4.3.5 工程基本配置 1.硬件选项配置
Vision 3可根据目标硬件的实际情况对 工程进行配置。
图4-7 处理器配置对话框
2.处理器启动代码配置
3.实验内容
通过ARM汇编指令,在各种处理器模式下切 换并观察各种模式下寄存器的区别;掌握ARM 不同模式的进入与退出。
4.实验操作步骤 5.实验参考程序
4.4.5 C语言实例一
1.实验目的
(1)学会使用Vision IDE for ARM开 发环境编写简单的C语言程序。 (2)学会编写和使用调试脚本。 (3)掌握通过 memory/register/watch/variable窗口分析 判断运行结果。
2.实验设备
(1)硬件:PC。 (2)软件:Vision3 IDE for ARM集成 开发环境。
3.实验内容
用C语言编写延时函数,使用Βιβλιοθήκη Baidu入汇编。
4.实验原理 5.实验操作步骤 6.实验参考程序 7.Startup.S的源代码 8.Ctest.sct的源代码
4.4.7 汇编语言与C语言相互调用实例
通常情况下,ARM程序都需要初始化代码 用来配置所对应的目标硬件。
图4-8 仿真器驱动配置图
图4-9 仿真器下载应用程序配置图
3.工具配置
工具选项(Utilities)主要设置Flash 的下载选项,如图4-10所示。
图4-10 “Utilities”配置对话框
图4-11 Flash下载选项设置
3.实验内容
(1)熟悉开发环境的使用并使用ldr/str、 mov等指令访问寄存器或存储单元。 (2)使用add/sub/lsl/lsr/and/orr等指 令,完成基本算术/逻辑运算。
4.实验原理
图4-22 大端格式
图4-23 小端格式
5.实验操作步骤
(1)新建工程。
图4-24 新建工程
(2)为工程选择CPU。
5.编译配置
Vision IDE目前支持RealView、Keil CARM和GNU这三种编译器,
图4-16 选择编译器
图4-17 编译器配置页
6.汇编选项设置
打开Option for Target对话框的Asm页, 出现如图4-18所示的汇编属性配置界面。
图4-18 汇编配置界面
7.链接选项设置
4.3 使用Realview MDK创建一个工程
Realview MDK引入工程管理,使得基于 ARM处理器的应用程序设计开发变得越来越方 便。通常使用Realview MDK创建一个新的工程 需要以下几个环节: 选择工具集→创建工程并选择处理器→创 建源文件→配置硬件选项→配置对应启动代码 →编译链接生成HEX文件。
图4-12 选择Flash编程算法
4.调试设置
Vision 3调试器提供了两种调试模式, 可以从Project→Options for Target对话框 的Debug页内进行选择,如图4-13所示。
图4-13 调试器的选择
图4-14 选择ULINK USB-JTAG仿真器调试
图4-15 读取设备ID
链接器/定位器用于将目标模块进行段合 并,并对其定位,生成程序。
图4-19 链接配置页
8.输出文件设置
在Project→Option for Target的 Output页中配置输出文件,如图4-20所示。
图4-20 输出文件配置页
4.3.6 工程的编译链接
完成工程的设置后,就可以对工程进行编 译链接了。
图4-2 ULINK2仿真器
ULINK2的主要功能如下: (1)下载目标程序; (2)检查内存和寄存器; (3)片上调试,整个程序的单步执行; (4)插入多个断点; (5)运行实时程序; (6)对Flash存储器进行编程。
ULINK2的新特点包括: (1)标准Windows USB驱动支持,也就 是ULINK2即插即用; (2)支持基于ARM Cortex-M3的串行线 调试; (3)支持程序运行期间的存储器读写、 终端仿真和串行调试输出; (4)支持10/20针连接器。