实验一 ADS集成开发环境及汇编语言指令实验

合集下载

第ADS开发环境和ARM汇编语言

第ADS开发环境和ARM汇编语言
ADS中包含有3个调试器: (1) AXD(ARM eXtended Debugger):ARM扩展调试器; (2) armsd(ARM Symbolic Debugger):ARM符号调试器; (3) Debug target
AXD可以在Windows 和UNIX下,进行程序的调试。 它为用C,C++,和汇编语言编写的源代码提供了一个全 面的Windows 和UNIX 环境。
无需对armlib和cpplib这两个库路径分开指明,链接器会 自动从用户所指明的库路径中找出这两个子目录。
7
3.1.3GUI开发环境(Code Warrior和AXD)
CodeWarrior for ARM是一套完整的集成开发工具,充分 发挥了ARM RISC 的优势, 使产品开发人员能够很好的应 用尖端的片上系统技术. 该工具是专为基于ARM RISC的 处理器而设计的, 它可加速并简化嵌入式开发过程中的每 一个环节,使得开发人员只需通过一个集成软件开发环境 就能研制出ARM产品,在整个开发周期中,开发人员无需 离开CodeWarrior开发环境, 因此节省了在操做工具上花的 时间,使得开发人员有更多的精力投入到代码编写上来,
助记符
指令功能描述
SWI
软件中断指令
SWP
交换指令
TEQ
相等测试指令
TST
位测试指令
27
ARM微处理器指令的条件域
指令的条件域
当处理器工作在ARM状态时,几乎所有的指令均根据CPSR 中条件码的状态和指令的条件域有条件的执行。当指令的 执行条件满足时,指令被执行,否则指令被忽略。
每一条ARM指令包含4位的条件码,位于指令的最高4位 [31:28]。条件码共有16种,每种条件码可用两个字符表 示,这两个字符可以添加在指令助记符的后面和指令同时 使用。例如,跳转指令B可以加上后缀EQ变为BEQ表示“相 等则跳转”,即当CPSR中的Z标志置位时发生跳转。

第五章 四个入门范例

第五章 四个入门范例

// 1+2+3+...+N的值。
1.2 实验步骤
① 启动ADS1.2,使用ARM Executable Image工程模板建立一个工程TestC。 ② 建立源文件Test.c,编写以上的实验程序,然后添加到工程中。 ③ 编译链接工程,选择Project→Debug,启动AXD进行仿真调试。
1.3 实验调试
① 在AXD调试环境下,单击菜单Option选择Configure Target,选择 ARMUL软件仿真,然后重新加载刚才编译的映像文件。 ② 单击菜单Processer Views,选择Watch,就会出现变量查看窗口。
在窗变量查看窗口里单击右键,选择菜单中的“Add Watch”,就会弹出 Add Watch窗口,在这个窗口中,我们可以把要观察的变量添加到Watch 窗口中。
1.1 工程的编辑
1、建立工程: 建立工程:
选择Windows操作系统的“开始”→“所有程序”→“ARM Developer Suite v1.2”→“CodeWarrior for ARM Developer Suite” 命令启动 Metrowerks CodeWarrior或双击CodeWarrior for ARM Developer Suite 快捷方式启动。启动CodeWarrior IDE的过程如图所示。
③ 在内存查看窗口中单击右键,弹出快捷菜单。设置内存单元显示比特 大小为32 Bit。如左图所示;设置内存单元显示格式为16进制显示,如寄存器R0~R3和内存表的数值变化。 ⑤ 在Start.S的“B Main”处双击,设置断点,然后全速运行程序(F5快捷 键)。程序在断点处停止。内存表数据如图所示
1.1 实验程序
array.h程序清单。

实验一 ADS开发环境的使用

实验一  ADS开发环境的使用
out in IOxDIR IOxCLR IOxSET 1 0
PINSELx
IOxPIN
IOxPIN 31 : 0
描述 GPIO引脚值。IOxPIN[0]对应于Px.0 … IOxPIN[31]对应于Px.31引脚
复位值 未定义
该寄存器反映了当前引脚的状态。IOxPIN中的x对应于某一个端口, 如P1口对应于IO1PIN。所以芯片存在多少个端口,就有多少个IOxPIN分 别与之对应。 写该寄存器会将值保存到输出寄存器,具体使用稍后介绍。 注意:无论引脚被设置为输入还是输出模式,都不影响引脚状态的读出。
• GPIO相关寄存器描述——IOxCLR
out in IOxDIR IOxCLR IOxSET 1 0
PINSELx
IOxPIN
IOxCLR 31 : 0
描述 输出清零。IOxCLR[0]对应于Px.0 … IOxCLR[31]对应于Px.31引脚
复位值 0
当引脚设置为GPIO输出模式时,可使用该寄存器从引脚输出低电平。 向某位写入1使对应引脚输出低电平。写入0无效。 注意:读取该寄存器无效,不能读回输出寄存器的值。
IOxDIR
PINSELx
IOxPIN
• GPIO相关寄存器描述
out in IOxDIR IOxCLR IOxSET 1 0
PINSELx
IOxPIN
IOxSET
通用名称 IOPIN IOSET IOCLR
描述
out
访问类型
1 0 只读
复位值 NA 0x00000000 0x00000000
GPIO引脚值寄存器,不管方向模式如何,引脚 in 的当前状态都可以从该寄存器中读出
P0[7:0]选择连接GPIO

实验1 ADS

实验1 ADS

实验1 ADS1.2 开发环境使用1、实验目的熟悉 ADS1.2 开发环境,使用 ADS 编译、调试并跟踪一段已有的程序了解嵌入式开发的基本思想和过程2、实验内容本次实验学习使用ADS集成开发环境。

新建一个简单的工程文件,并编译这个工程文件。

ARM仿真器的使用和开发环境的设置。

学会在程序中设置断点,观察系统内存和变量,为高调试应用程序打下基础。

3、预备知识所需的预备知识为:C语言的基础知识、程序调试的基础知识和方法。

4、实验设备及工具硬件:PC机软件:Windows 操作系统、ADS1.2集成开发环境5、实验原理5.1交叉开发环境概述嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件比较困难,有时候甚至是不可能的。

目前一般采用的解决办法是首先在通用计算机上编写程序,然后通过交叉编译生成目标平台上可以运行的二进制代码格式,最后再下载到目标平台上的特定位置上运行。

需要交叉开发环境(Cross Development Environment)的支持是嵌入式应用软件开发时的一个显著特点,交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用宿主机/目标机模式,如图1所示。

图 1 交叉开发环境交叉开发环境的组成要素:宿主机(Host)是一台通用计算机(如 PC 机或者工作站),它通过串口或者以太网接口与目标机通信。

宿主机的软硬件资源比较丰富,不但包括功能强大的操作系统(如Windows和Linux),而且还有各种各样优秀的开发工具(如 WindRiver的Tornado、Microsoft 的Embedded Visual C++等),能够大大提高嵌入式应用软件的开发速度和效率。

目标机(Target)一般在嵌入式应用软件开发期间使用,用来区别与嵌入式系统通信的宿主机,它可以是嵌入式应用软件的实际运行环境,也可以是能够替代实际运行环境的仿真系统,但软硬件资源通常都比较有限。

实验1使用ADS

实验1使用ADS
(7)“Toggle Breakpoint”选项:(F9)设置断点
Processor Views菜单:利用该菜单可以进行处理器状态观察,查看寄存器、内存等。
(1)“Memory”选项:查看存储器内容。
(2)“registers ”:列出所有寄存器,双击可以进行修改,修改后按回车键
(3)“disassembly”:显示当前映像文件的反汇编代码(由此可知代码的存放位置)
1.Target选项设置
Targetsettings设置以下内容:
Target Name文本框显示了当前的目标设置。
Linker选项:选择的ARM Linker
Post-Linker:本实验只是用ADX进行调试,选择none
nguage Settings
(1)设置armasm
Target选项卡下的设置内容:
;fiq mode
MRS r0,CPSR
BIC r0,r0,#0x1F
ORR r0,r0,#0x11
MSR CPSR_c,r0
MOV r8,#16
MOV r9,#17
MOV r10,#18
MOV r11,#19
MOV r12,#20
MOV r13,#21
MOV r14,#22
;svc mode
MRS r0,CPSR
RW Base对于简单连接方式,不需输入RW Base值
Options标签页:
Image entry point文本框:它指定映像文件的初始入口点地址值,例如-entry 0x0
Layout标签页的设置
Object/Symbol处填写其目标文件名ARMMode.o,在Section处填写程序入口的起始段名。它的作用是通知编译器,整个项目的开始运行,是从该段开始的。

实验一 ADS开发环境实验

实验一  ADS开发环境实验

实验一ADS开发环境实验一、实验目的1、熟悉ADS开发环境中CodeWarrior for ARM Developer Suite组件的应用;2、掌握使用ADS开发环境编译工程项目的方法;3、了解S3C44B0工程基本结构和基础内容。

二、实验内容1、熟悉ADS开发环境及其中的CodeWarrior for ARM Developer Suite组件;2、编译原有工程文件;3、新建工程文件。

三、实验设备1、硬件:JX44B0实验板;PC机;2、软件:PC机操作系统(WINDOWS 2000);ARM Developer Suite v1.2;四、基础知识1、了解ARM体系结构;2、了解ARM汇编语言;3、掌握C、C++语言。

五、实验说明1、ADS简介ADS是一个使用方便的集成开发环境,全称是“ARM Developer Suite v1.2 ”,它是由ARM公司提供的专门用于ARM相关应用开发和调试的综合性软件。

在易用性上比上一代的SDT开发环境有较大提高,是一套功能强大又易于使用的开发环境。

ADS囊括了一系列的应用,并有相关的文档和实例的支持。

使用者可以用它来编写和调试各种基于ARM家族RISC处理器的应用。

你可以使用ADS来开发、编译、调试采用包括C、C++和ARM汇编语言编写的程序。

ADS主要由以下部分构成:——命令行开发工具;——图形界面开发工具;——各种辅助工具;——支持软件。

我们在本实验指导书中用到了“CodeWarrior for ARM Developer Suite”和“AXD Debugger”两个部件。

其中CodeWarrior for ARM Developer Suite用于生成和编译工程,AXD Debugger用于下载和调试工程项目。

本节实验讲解使用CodeWarrior for ARM Developer Suite 编译生成工程项目。

AXD Debugger将在下一节使用。

ADS1.2开发环境配置

ADS1.2开发环境配置

实验一 ADS1.2开发环境创建(2个学时)一、实验目的熟悉ADS1.2 开发环境,学会ARM 仿真器的使用。

使用ADS 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。

超级终端设置及BIOS功能使用。

二、实验内容本次实验配置ADS 集成开发环境,新建一个简单的工程文件,并编译这个工程文件。

学习ARM 仿真器的使用和开发环境的设置。

下载已经编译好的文件到嵌入式控制器中运行。

学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。

运行Windows系统下的超级终端,通过超级终端查看BIOS启动情况。

三、预备知识C 语言的基础知识、程序调试的基础知识和方法。

四、实验设备及工具(包括软件调试工具)硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上、串口线。

软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序。

五、实验步骤1 配置ADS 集成开发环境(1)运行ADS1.2 集成开发环境(CodeWarrior for ARM Developer Suite)。

选择File|New…菜单,在对话框中选择Project,如图1-17 所示,新建一个工程文件。

图中示例的工程名为Exp6.mcp。

点set…按钮可为该工程选择路径如图1-18 所示,选中CreatFolder 选项后将以图1-17 中的ProjectName 或图1-18 中的文件名为名创建目录,这样可以将所有与该工程相关的文件放到该工程目录下,便于管理工程。

(2)在图1-17 中工程模板列表中我们选择ARM Executable Image 通用模板。

我们随后将一步一步的把它配置成针对我们ARM3000 开发板的模板44B0 ARM ExecutableImaage,并把它拷贝到ADS1.2 安装目录下的Stationery 目录中(所有的工程模板都在此目录下)。

嵌入式ADS实验指导书

嵌入式ADS实验指导书

实验一嵌入式微处理器系统的开发环境一、实验环境PC机一台软件: ADS 1.2集成开发环境一套二、实验目的1.了解嵌入式系统及其特点;2.熟悉嵌入式系统的开发环境和基本配置并能编写简单的汇编程序三、实验内容1.嵌入式系统的开发环境、基本配置2.使用汇编指令完成简单的加法实验四、实验步骤(1)在D:\新建一个目录,目录名为experiment。

(2)点击 WINDOWS 操作系统的“开始|程序|ARM Developer Suite v1.2 |Code Warrior for ARM Developer Suite”启动Metrowerks Code Warrior,或双击“ADS 1.2”快捷方式启动。

启动ADS 1.2 如图1-1所示:图1-1启动ADS1.2(3) 在CodeWarrior 中新建一个工程的方法有两种,可以在工具栏中单击“New”按钮,也可以在“File”菜单中选择“New…”菜单。

这样就会打开一个如图1-2 所示的对话框。

选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。

图1-2 新建文件在这个对话框中为用户提供了7 种可选择的工程类型:1)ARM Executabl Image:用于由ARM 指令的代码生成一个ELF 格式的可执行映像文件;2)ARM Object Library:用于由ARM 指令的代码生成一个armar 格式的目标文件库;3)Empty Project:用于创建一个不包含任何库或源文件的工程;4)Make Wizard:用于将Visual C 的nmake 或GNU make 文件转入到CodeWarrior IDE 工程文件;5)Thumb ARM Executable Image:用于由ARM 指令和Thumb 指令的混和代码生成一个可执行的ELF 格式的映像文件;6)Thumb Executable image:用于由Thumb 指令创建一个可执行的ELF 格式的映像文件;7)Thumb Object Library:用于由Thumb 指令的代码生成一个armar 格式的目标文件库。

实验1-ADS1.2安装及简单的汇编程序

实验1-ADS1.2安装及简单的汇编程序

展示程序运行结果
程序链接:生成可执行文件
程序运行:查看输出结果验 证程序功能
程序编译:确保程序语法正 确无错误
结果分析:分析实验数据得 出结论
分析程序的正确性和效率
程序运行结果与预期是否一致 程序是否存在语法错误或逻辑错误 程序运行效率是否满足要求 程序是否存在内存泄漏或性能瓶颈
总结实验经验和教训
了解汇编语言在计 算机科学领域中的 应用和重要性
安装DS1.2集成开发环境
打开安装包点击“Next”
同意许可协议选择安装路径
下载并安装适合你操作系统 的版本
等待安装完成启动DS1.2 IDE
创建新工程并配置工程选项
打开DS1.2软件选 择“File”菜单中 的“New Project” 选项
在弹出的“New Project”对话框中 输入工程名称和保 存路径
解决方案:检查输入数据或代码逻辑错 误确保程序正确执行
问题4:实验时间不够 解决方案:合理安排时 间提前准备实验所需材料和工具
解决方案:合理安排时间提前准备实验 所需材料和工具
提出改进和优化建议
针对实验过程中出现的问题提出具体的改进措施。 根据实验结果分析可能存在的优化空间提出相应的优化建议。 结合实验经验提出对实验流程、实验设备的改进和优化建议。
打开集成开发环境(IDE)
编译并运行程序
点击编译按钮生成目标文件
添加标题
添加标题
打开已写好的汇编程序文件
添加标题
添加标题
点击运行按钮执行程序
调试程序
打开实验箱电源确保电源指示灯亮起 将编写好的汇编程序通过串口发送到实验箱的微控制器中 按下实验箱上的“运行”按钮观察实验箱的输出是否符合预期 如果实验箱的输出不符合预期检查汇编程序是否有语法错误或逻辑错误并进行相应的修改

试验一(ads开发环境的熟悉及汇编语言编程试验)

试验一(ads开发环境的熟悉及汇编语言编程试验)

试验一ads开发环境的熟悉及时汇编语言编程试验一、试验目的:1、熟悉ads开发环境;2、掌握ads下编程的步骤(编辑、编译、链接与调试);3、通过ads下的汇编语言编程来进一步熟悉一下易混淆的汇编指令二、相关知识:ADS 俗称ARM Developer Support,是ARM 公司推出的集成编辑、编译、链接和调试工具,当然,在arm上进行程序设计除了ads工具外,还有gnu工具(开源、免费)。

三、试验步骤:基本的编辑、编译、运行调试试验1、建立工程:在目录exp1(自己建立)下新建一个ads工程watchReg:File->new->Project->ARM Excutable Image->Location编辑框内输入工程目录exp1->Project name输入工程名字;打开工程目录exp1,观察其中生成了哪些文件东西?2、设置工程:Edit->DebugRel Settings->Target Settings Panels->LanguageSettings->ARM Assembler->Target(右侧面板)->Architecture or Processor->ARM920T->OK3、新建文件并将文件添加到工程:File->New弹出如下对话框:在File name中输入文件名,注意扩展名必须是“.s”(表示源文件是汇编语言),同时把下面的几个勾勾打上!单击确定出现如下界面:注意:标题为watchReg.mcp的窗口为工程控制窗口,不要关闭!!标题为watchReg.s的窗口为我们要进行汇编语言源程序编辑的窗口;4、输入源代码:点击工程窗口用红线标出的按钮进行编译链接,注意观察弹出窗口中的内容(读懂!)5、调试(本次试验均在模拟器中调试)点击红色标出的“臭虫”按钮,转入调试窗口:先不急于调试!调试设置:选中该菜单项,弹出窗口:选中途中所示(表示在软件仿真调试),选中Configure,弹出窗口:在Processor中选择ARM920T,其余保持不变,OK再OK返回。

ADS1 实验

ADS1 实验

1超级终端设置1、运行Windows 系统下的超级终端(HyperTerminal)应用程序,新建一个通信终端。

如果要求输入区号、电话号码等信息请随意输入,出现如图2.12 所示对话框时,为所建超级终端取名为arm,可以为其选一个图标。

单击“确定”按钮。

图2.12 创建超级终端2、在接下来的对话框中选择ARM 开发平台实际连接的PC 机串口(如COM1),按确定后出现如图2.13 所示的属性对话框,设置通信的格式和协议。

这里波特率为115200,数据位8,无奇偶校验,停止位1,无数据流控制。

按确定完成设置。

图2.13 设置串行口3、完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置保存为一个特定超级终端到桌面上,以备后用。

用串口线将PC 机串口和平台UART0 正确连接后,就可以在超级终端上看到vivi输出的信息了。

2ADS1.2 开发环境使用2.1、打开工程运行ADS1.2 集成开发环境(CodeWarrior for ARM Developer Suite)。

选择File|Open菜单,在对话框中选择一个工程文件如下图所示。

图中示例的工程名为Exp1_student.mcp。

2.2 编译工程选择Project|Remove Object Code菜单,在对话框中选择 All Targets 去掉原工程中的目标代码。

2.3 编译工程首先选择Project|Set Default Target菜单 ,将工程目标设为Debug 方便以后调试。

然后选择Project|Make 菜单 .如果编译程序成功,就可以进行下一步下载生成的映像文件进行调试。

2.4 代码的修改ADS1.2 集成开发环境中自带了源代码编辑器,选择工程文件列表中的一个文件,双击即可在编辑器里编辑该文件。

2.5 编译中的问题编译中可能遇到的问题解决及解决办法。

没有找到文件Exp.aExp.a是一个库文件,该文件已经放置在工程目录中,工程中此文件的路径不正确,就会出现该问题。

实验1 ADS1.2安装及简单的汇编程序

实验1 ADS1.2安装及简单的汇编程序

二、ADS1.2使用介绍
5、编译
– 选择“project”/“Make”,出现下图: – 有“Errors”必须改正,它会告诉你哪里有“Errors” – 有“Warnings”可以不理会
二、ADS1.2使用介绍
6、Debug2
– 选择“project”/“Debug”,出现“AXD”界面(如链接嵌入式板 子,也需要进行一定的配置,此步请自行查阅资料)
二、ADS1.2使用介绍
2、创建一个新的源文件
– 选择“File”/“New”命令, – 打开对话框,选“File” – 在“file name”输入源文 件名称(注意汇编语言源 文件后缀为.s而C语言的源 文件需要后缀为.c) – 在“Location”中填入保存 地址 – 勾选“Add to Project” 选项 – 在“Project”下拉选项中选择将文件添加到之前建好的工程 文件中 – 在“Targets”复选框中选择所有选项 – 点击“确认”
一、ADS1.2软件安装
2、ADS1.2安装 然后我们会进入 “ Install License ”界面。我们 这里点击下方的 “ Browse ” 。然后选择 “ License ”所在的目录。 PS:这里选择“ License ” 前,我们先将解压的 文件夹内的 “ CRACK ” 文件夹拷贝到你ADS 1.2的安装目录下。
正确与错误的比较
• Str1 SETS My string1.” ;设置字符串变量Str1 • Count RN R0 ;定义寄存器名Count • USR_STACK EQU 64 ;定义常量 • START LDR R0,=0x1123456 ;R0=0x123456H • MOV R1,#0 • LOOP • MOV R2,#3

实验一__熟悉ADS1.2 开发环境及教学实验箱

实验一__熟悉ADS1.2 开发环境及教学实验箱

实验一熟悉ADS1.2 开发环境及教学实验箱一、实验目的1.熟悉ADS1.2开发环境,正确进行编译、下载、调试。

2.了解ARM9的结构特点3.了解VIVI引导程序常用命令的使用方法4.理解NAND FLASH的用途与分区方法5.掌握用VIVI下载ARM程序方法二、实验仪器设备及软件1.ARM9教学实验箱,PentiumII以上的PC机2.PC操作系统WINXP,ADS1.2集成开发环境三、实验原理1.ARM实验箱基本结构S3C2410核心板资源介绍NANDFLASH 32MB K9F5608U,8位总线占用地址空间0x0000 0000 – 0x01ff ffff 将OM[1:0]设置成00b(Nand BOOT)同步动态存储器HY57V561620,8MB 32位总线,占用地址空间0x3000 0000 –0x33ff ffff(BANK6,7)电源转换5V转成3.3V ,5V转成1.8V网卡芯片AX88796LFUSB(主/从接口)串口芯片MAX3232(电源电压3.3V)J-TAG接口LED灯(两个,接在GPIOG)实验箱其它电路SD卡接口电路键盘鼠标电路16键键盘电路扩展接口(8位,32位)外部温度传感器CPLD主板各芯片地址译码电路扩展从USB电路LED指示灯(8个,低电平亮)信号扩展电路(IDE接口)2.VIVI引导程序VIVI是韩国mizi 公司开发的bootloader, 适用于ARM9处理器。

VIVI有两种工作模式:启动加载模式和下载模式。

启动加载模式可以在一段时间后(这个时间可更改)自行启动linux内核,这时vivi的默认模式。

在下载模式下,vivi为用户提供一个命令行接口,通过接口可以使用vivi提供的一些命令。

(1)help显示vivi引导程序的命令信息(2)Part 操作MTD分区信息。

显示、增加、删除、复位、保存MTD分区part show 显示分区信息part add partname part_start_addr part_leng 0 添加分区part del partname 删除分区part save 保存part 分区信息(3)Load 把二进制文件载入Flash或RAMload flash partname x 使用xmodom协议通过串口下载文件并且烧写到partname分区load ram partname or addr x使用xmodom协议通过串口下载文件到内存中(4)param 操作vivi参数命令。

ADS1.2__实验报告

ADS1.2__实验报告

ADS1.2集成开发环境熟悉及调式学号:姓名:日期:一、实验目的及要求1、了解ADS1.2安装进程2、熟悉ADS1.2开发环境3、了解汇编程序运行进程、调试程序二、实验设备及要求1、实验室PC机2、实验软件ADS1.2三、实验内容及步骤一、软件的安装1、打开ADS1.2软件安装包2、双击“setup”进入安装界面,然后选择“NEXT”3、进入下一个安装界面,选择“YES”同意安装许可4、选择适合的安装途径,然后选择“NEXT”进入下一个安装界面5、进入下个安装界面,选择全安装“FULL”然后选择“NEXT”继续下步6、选择“NEXT”继续,其他选项选择默许直到开始安装界面7、安装完后,然后选择“下一步”8、进入下个界面选择“Install License”选择项,然后选择“下一步”9、进入这一步时需要到安装包里找到“CRACK”文件,把此文件复制到ADS1.2安装目录下。

复制完成后选择“Browse”,然后找到适才复制的文件夹,打开文件夹找到“LICENSE.dat”双击即可,然后选择“下一步”进入下一界面10、选择“finish”安装终止二、ADS1.2的应用1、新建工程项目文件通过“开始”——“程序”——“ARM DeveloperSuite v1.2”——“CodeWarrior for ARM DeveloperSuite”来打开软件,然后选择“file”——“New”将打开一个新窗口,该窗口包括Project、File、Object选项。

咱们新建工程选择Project 选项,将为咱们提供7个工程类型选择,依照需要咱们还能够自概念工程类型,那个地址不作具体介绍。

咱们实验选择的工程类型“ARM Executable Image”,在Project name下输入工程名,然后在“Location”——“set…”选择工程途径,然后创建工程文件夹并保留文件后,将自动生成一个以.mcp后缀的文件。

实验1 ADS开发工具与编程初步

实验1 ADS开发工具与编程初步

实验一ADS开发工具与编程初步一、实验内容:熟悉ADS开发工具,利用AXD完成ARM汇编语言的软件仿真功能。

二、实验步骤和要求:(ARMUL软件仿真运行)参考博创的实验指导书(d:\uptech\2410 DVP UCOS for ADS1.2 ARM2410经典版forUCOS实验指导书1.pdf )1、连线:无2、ADS设置:P20 2.2 ADS1.2 开发环境,P23 用简单设置3、新建工程,添加文件。

(*.s汇编文件)4、make编译连接5、用AXD进行调试,软件仿真运行。

(1)启动AXD。

(ADS下debug或者F5)(2)AXD设置:option—configure target----选择ARMUL,进行软件仿真运行(3)下载映像文件:load image----寻找生成的*.axf文件(4)单步或设置断点,观察寄存器或者存储器的变化。

(重下载reload current image)三、实验例程:Test1.sAREA Example1,CODE, READONLYENTRYCODE32START MOV R0,#15MOV R1,#8ADDS R0,R0,R1B STARTEND四、用AXD进行硬件在线调试。

了解博创实验指导手册第一章嵌入式开发系统资源概况P6嵌入式系统开发流程框图1、连线:串口线、并口JTAG、电源线2、设置超级终端(参考博创实验指导书P35,波特率115200,数据位8,无奇偶校验,停止位1,无数据流控制。

)3、打开实验箱电源,按任意键,进入vivi4、用ADS输入例程5、启动JTAG驱动(参考UARMJTAG说明文档),并进行JTAG初始化(处理器选择ARM9)6、用AXD进行硬件在线调试。

(1)启动AXD。

(ADS下debug或者F5)(2)AXD设置:option—configure target----选择ADP,进行硬件在线运行。

具体设置参考UARMJTAG说明文档。

实验一 ADS集成开发环境及汇编语言指令实验

实验一 ADS集成开发环境及汇编语言指令实验

实验一 ADS集成开发环境及汇编语言指令实验1.1 实验目的1.熟悉ADS1.2 软件开发环境;2.理解ARM920T 汇编指令的用法,并能编写简单的汇编程序;3.理解常用的ARM伪指令和伪操作的功能和使用。

1.2 实验内容1.使用LDR 指令读取0x30003100 上的数据,将数据加1,若结果小于10,则使用STR 指令把结果写回原地址,若结果大于等于10,则把0 写回原地址。

2.使用ADS1.2 软件仿真,单步,全速运行程序,设置断点,打开寄存器窗口(ProcessorRegisters)监视R0,R1 的值,打开存储器观察窗口(Memory)监视0x30003100 上的值。

3.使用数据定义伪操作定义两个内存数据块,通过汇编指令将源数据块的内容复制到目的数据块,并对程序运行时相关寄存器、内存中的数据进行跟踪。

1.3 预备知识1.ARM 指令系统内容;2.ADS1.2 工程编辑和AXD 调试的内容。

1.4 实验设备硬件:PC 机一台。

软件:Windows XP系统,ADS1.2 集成开发环境。

1.5 实验步骤1.启动ADS1.2,使用ARM Executable Image 工程模板建立一个工程arm1.mcp。

2.建立汇编源文件arm1.s,编写实验程序(见1.6实验参考程序1),然后添加到工程中。

3.设置工程连接地址RO Base 为0x30000000,RW Base 为0x30003000,设置options 中的调试口地址Image entry point 为0x30000000。

设置方法:选择Edit->DebugRel Settings,打开下图所示的窗口:图1.1 DebugRel Settings窗口在左侧树形目录中选择“ARM Linker”,分别在右侧Output标签页和Option标签页中设置RO Base、RW Base和Image entry point。

嵌入式实验一资料

嵌入式实验一资料

实验一、ADS开发环境使用,测试程序一、实验目的a)ads安装使用b)arm在ads中的配置c)掌握 S3C2440A 的 I/O 控制寄存器的配置d)掌握ARM 汇编语法指令、c语言编程实验二、实验设备a)PC 机、实验箱、串口线、usb线、ads开发软件三、实验内容a)熟悉ARM 开发裸机环境的建立b)使用ARM 汇编指令设置GPIO 口的相应寄存器,编写跑马灯程序四、实验原理a)ARM ADS全称为ARM Developer Suite。

是ARM公司在2001年推出的ARM集成开发工具。

ADS 由命令行开发工具,ARM运行时库,GUI开发环境(Code Warrior和AXD),实用程序和支持软件组成。

使用ADS,用户就可以为ARM系列的RISC处理器编写和调试自己的开发应用程序了。

下面就详细介绍一下ADS的各个组成部分b)命令行开发工具这些工具完成将源代码编译,链接成可执行代码的功能。

ADS提供下面的命令行开发工具:armccarmcc是ARM C编译器。

这个编译器通过了Plum Hall C Validation Suite为ANSI C的一致性测试。

armcc用于将用ANSI C编写的程序编译成32位ARM指令代码。

armcpparmcpp是ARM C++编译器。

它将ISO C++ 或EC++ 编译成32位ARM指令代码。

tcctcc是Thumb C 编译器。

该编译器通过了Plum Hall C Validation Suite为ANSI 一致性的测试。

tcc将ANSI C源代码编译成16位的Thumb指令代码。

tcpptcpp是Thumb C++ 编译器。

它将ISO C++ 和EC++ 源码编译成16位Thumb指令代码。

armasmarmasm是ARM和Thumb的汇编器. 它对用ARM 汇编语言和Thumb 汇编语言写的源代码进行汇编。

armlinkarmlink是ARM连接器。

2_汇编指令实验1

2_汇编指令实验1

广州致远电子有限公司
MagicARM2410教学实验开发平台
4.实验预习要求
仔细阅读参考文献[1]第5章ARM指令集的内容; 仔细阅读<<…实验指导>>第2章或其它ADS相关资料, 了解ADS工程编辑和AXD调试的内容。(本实验使用软件 仿真)
参考文献 1. 田泽等译.ARM SOC体系结构.北京航空航天大学出版社,2002年.
广州致远电子有限公司
MagicARM2410教学实验开发平台
5.实验步骤
(1) 启动ADS 1.2,使用ARM Executable Image工程模 板建立一个工程Instruction1。 (2) 建立汇编源文件TEST2.S,编写实验程序,然后添 加到工程中。 (3) 设 置 工 程 链 接 地 址 RO Base 为 0x40000000 , RW Base为 0x40003000 。 设置调 试 入口地 址 Image entry point为0x40000000。 (4) 编译链接工程,选择【Project】->【Debug】, 启动AXD进行软件仿真调试。 (5) 打开寄存器窗口(Processor Registers),选择 Current项监视各寄存器的值。
广州致远电子有限公司
MagicARM2410教学实察窗口(Memory) 设置观察地址为 0x40003100。
广州致远电子有限公司
MagicARM2410教学实验开发平台
5.实验步骤
(7) 单步运行程序,可以设置/取消断点,或者全速运 行程序,停止程序运行,调试时观察寄存器和 0x40003100地址上的值。
广州致远电子有限公司
2.实验设备
硬件: PC机 软件: Windows 98/2000/XP操作系统 ADS 1.2集成开发环境 1台

实验一 ADS下简单ARM汇编程序实验

实验一 ADS下简单ARM汇编程序实验

实验一ADS下简单ARM汇编程序实验实验目的:1、熟悉ADS1.2下进行汇编语言程序设计的基本流程;2、熟悉在ADS中创建工程及编写、编译和运行汇编语言程序的方法;3、熟悉AXD中各种调试功能。

实验环境:1、硬件:PC机。

2、软件ADS1.2。

实验内容:1、在ADS中新建工程,并设置开发环境。

2、在Code Warrior 环境中编辑、编译和链接汇编语言程序,并生成可执行文件。

3、在AXD中调试汇编程序;4、使用命令行界面编辑、编译和链接汇编程序。

实验过程:本实验要求在ADS环境下,编写一个汇编程序,计算S=1+2+3……+n的累加值。

把累加结果S存入到存储器的指定位置;在AXD中调试该程序,使用ARMulator模拟目标机。

1、新建工程。

打开Code Warrior,选择File->New(project)选项,使用ARM Executable Image模版新建一个工程。

2、设置编译和链接选项。

由于我们使用的是模拟机,设置汇编语言编译器的模拟处理器架构为Xscale;在ARM Linker 中,选择output选项卡并选择Linktype为Simple类型,确认RO Base为0x8000,修改RW Base为0x9000,如下图所示。

3、为当前工程添加源程序文件。

ARM汇编程序源文件后缀名为S大小写均可。

确保添加入当前工程复选框选上。

4、编辑源程序代码。

参考程序add.s :;armadd源程序N EQU 7 ;累加次数;定义名为Adding的代码段AREA Adding,CODE,READONL YENTRYMOV R0,#0MOV R1,#1REPEAT ADD R0,R0,R1ADD R1,R1,#1CMP R1,#NBLE REPEA TLDR R2,=RESULTSTR R0,[R2]HERE B HERE定义名为Dataspace的数据段AREA Dataspace,DATA,READWRITERESULT DCD 0END5、编译汇编源代码文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 ADS集成开发环境及汇编语言指令实验
1.1 实验目的
1.熟悉ADS1.2 软件开发环境;
2.理解ARM920T 汇编指令的用法,并能编写简单的汇编程序;
3.理解常用的ARM伪指令和伪操作的功能和使用。

1.2 实验内容
1.使用LDR 指令读取0x30003100 上的数据,将数据加1,若结果小于10,则使用STR 指令把结果写回原地址,若结果大于等于10,则把0 写回原地址。

2.使用ADS1.2 软件仿真,单步,全速运行程序,设置断点,打开寄存器窗口(ProcessorRegisters)监视R0,R1 的值,打开存储器观察窗口(Memory)监视0x30003100 上的值。

3.使用数据定义伪操作定义两个内存数据块,通过汇编指令将源数据块的内容复制到目的数据块,并对程序运行时相关寄存器、内存中的数据进行跟踪。

1.3 预备知识
1.ARM 指令系统内容;
2.ADS1.2 工程编辑和AXD 调试的内容。

1.4 实验设备
硬件:PC 机一台。

软件:Windows XP系统,ADS1.2 集成开发环境。

1.5 实验步骤
1.启动ADS1.2,使用ARM Executable Image 工程模板建立一个工程arm1.mcp。

2.建立汇编源文件arm1.s,编写实验程序(见1.6实验参考程序1),然后添加到工程中。

3.设置工程连接地址RO Base 为0x30000000,RW Base 为0x30003000,设置options 中的调试口地址Image entry point 为0x30000000。

设置方法:选择Edit->DebugRel Settings,打开下图所示的窗口:
图1.1 DebugRel Settings窗口
在左侧树形目录中选择“ARM Linker”,分别在右侧Output标签页和Option标签页中设置RO Base、RW Base和Image entry point。

4.编译连接工程,选择Project|Debug,启动AXD 进行软件仿真调试。

5.在调试工具AXD中,通过Processor Views菜单中的选项或对应的工具栏按钮,打开寄存器窗口(Processor Registers),选择Current 项监视R0,R1 的值,打开存储器观察窗口(Memory),设置观察地址为0x30003100,显示方式Size 为32Bit,监视0x30003100 地址上的值。

说明:在Memory 窗口中点击鼠标右键,Size 项中选择显示格式为8bit,16bit,32bit,如图1.2 所示。

图1.2 Memory 窗口显示格式
设置寄存器显示格式与之类似。

使用鼠标左键选择某一个寄存器,然后点击鼠标右键,Format 项中选择显示格式Hex,Decimal 等等。

如图1.3 所示。

图1.3 设置寄存器显示格式
6.可以单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行。


时观察寄存器和0x30003100 地址中值的变化情况。

运行结果如图1.4 所示。

图1.3 实验1 结果
7.参照以上步骤,对实验程序2进行编译、调试
1)考察sourceData数据段、destinationData数据段、代码段在内存中的地址分配情况;2)观察destinationData数据段内存区域中值的变化情况,分析程序所实现的功能和运行过程;
3)观察程序中所用到的寄存器的值变化,分析它们在程序中的用途。

1.6 实验参考程序
1、实验程序1清单:
COUNT EQU 0x30003100
AREA Example1,CODE,READONLY
ENTRY
CODE32
START LDR R1,=COUNT
MOV R0,#0
STR R0,[R1]
LOOP LDR R1,=COUNT
LDR R0,[R1]
ADD R0,R0,#1
CMP R0,#10
MOVHS R0,#0
STR R0,[R1]
B LOOP
END
2、实验程序2清单
AREA sourceData,DATA,READONLY
str DCD 1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18,21,22,23,24
destinationData,DATA,READWRITE
AREA
dst SPACE 80
blockCopy,CODE,READONLY
AREA
num E QU 20
RegList RLIST {R4-R11} ENTRY
START
LDR
R0,=str
R1,=dst
LDR
R2,#num
MOV
MOVS R3,R2,LSR #3
copyWords BEQ
octCopy
R0!,RegList LDMIA
STMIA
R1!,RegList
R3,R3,#1
SUBS
octCopy
BNE
copyWords
R2,R2,#7
ANDS
stop
BEQ
wordCopy
R3,[R0],#4
LDR
R3,[R1],#4
STR
R2,R2,#1
SUBS
BNE
wordCopy stop
R0,#0x18
MOV
R1,=0x20026 LDR
0x123456
SWI
END。

相关文档
最新文档