当前位置:文档之家› 实验三(ARM编程环境的熟悉及寻址方式实验)

实验三(ARM编程环境的熟悉及寻址方式实验)

实验三(ARM编程环境的熟悉及寻址方式实验)
实验三(ARM编程环境的熟悉及寻址方式实验)

实验三ARM编程环境熟悉及寻址方式实验

注意:本实验在模拟环境下进行!!

一、实验目的:

1、进一步熟悉ARM的编程工具MDK;

2、深刻理解ARM汇编指令中标号的本质;

3、熟悉ARM寻址方式(寄存器寻址、寄存器间接寻址等);

二、实验步骤:

1、参照实验二的步骤,建立工程exp

2、设置工程、建立源文件

exp2.s并将其添加到工程,在exp2.s中输入如下代码(可复制):;广州大学华软软件学院

;文件名:exp2.s

;功能:

;作者:

;日期:

;修改:

area init,code,readonly

entry

ldr r0,=data1;将标号data1的值送给r0

ldr r1,=data2;

ldr r2,=data3

ldr r0,[r0]

ldr r1,[r1]

add r0,r0,r1

str r0,[r2]

b .;相当于while(1)

data1

dcd 12;定义一个字,初值为12

data2

dcd 13;定义一个字,初值为13

data3

dcd 0;定义一个字,初值为0

end

2、编译正确后调试(可参照实验二),注意Ro_Base设置为

0x30000000,点击下图菜单中的菜单项,调出内存单元观察窗口。

会弹出如下界面:

点击current,就会看到当前模式下的寄存器

按F10进行单步调试,同时观察寄存器中的变化;

反汇编界面:

出现如下界面:鼠标右键,如图选中,即可看到源代码的反汇编窗口。

我们发现data1代表的地址是0x30000020,data2代表的地址是0x30000024,data3代表的地址是0x30000028。好,我们现在通过memory窗口来查看这些内存单元的内容:

在存储单元窗口输入0x30000020(如下图所示),观察存储单元中的

值,是不是我们程序所运行的结果呢?

ARMlinux嵌入式开发环境安装参考手册

基础是你已经安装了Ubuntu,以及相关软件:超级终端minicom 及C/C++ compiler environment。在Ubuntu上可使用下面终端命令安装 minicoom和编译环境。 #sudo apt-get install minicom #sudo apt-get install build-essential Step 1: 将光盘Linux 目录中的arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz 复制到Lubuntu的当前目录下,执行解压命令: #sudo tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz –C / 注意:C 后面有个空格,并且 C 是大写的,它是英文单词“Change”的第一个字母,在此是改变目录的意思。 这样 arm-linux-gcc 的相关文件就Copy到root用户的Opt目录中 Step 2: 把编译器路径加入系统环境变量,运行命令 #sudo gedit ~/.bashrc 编辑~/.bashrc 文件, 注意“ bashrc ” 前面有一个“ . ” ,修改最后一行为 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin 注意路径一定要写对,否则将不会有效。 如图,保存退出。

入arm-linux-gcc –v,会出现如下信息,这说明交叉编译环境已经成功安装。

编译链接 arm-qte-4.7.0 1) 解压包到自己制定的目录,例如 arm-qte-4.7.0 2) 终端中运行 ./build-all (首先,注意不能双击运行,必须在终端中运行;其次,不使用 sudo) 大约要安装2个小时 当运行到出现如下提示后: cd src/tools/bootstrap/ && make -f Makefile install make[1]: 正在进入目录`/home/administrator/arm-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/src/tools/bootstrap' make[1]: 没有什么可以做的为 `install'。 make[1]:正在离开目录`/home/administrator/arm-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/src/tools/bootstrap' cd src/tools/moc/ && make -f Makefile install make[1]: 正在进入目录`/home/administrator/arm-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/src/tools/moc' mkdir: 无法创建目录“/usr/local/Trolltech”: 权限不够 make[1]: *** [install_target] 错误 1 make[1]:正在离开目录`/home/administrator/arm-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/src/tools/moc' make: *** [sub-moc-install_subtargets-ordered] 错误 2 ./build-all: 第 12 行: cd: /usr/local/Trolltech/QtEmbedded-4.7.0-arm: 没有那个文件或目录 在终端中运行: cd qt-everywhere-opensource-src-4.7.0 sudo make install 加入环境变量(步骤类似Step2,在最后一行再加入) #sudo gedit ~/.bashrc export PATH=$PATH: /usr/local/Trolltech/QtEmbedded-4.7.0-arm/bin

实验三 搭建嵌入式系统开发环境

实验三搭建嵌入式系统开发环境 一、实验目的: 1.掌握嵌入式开发环境的配置; 2.掌握开发工具链的安装与配置; 3.掌握嵌入式系统内核和根文件系统的烧写的过程。 二、实验内容: 1)安装配置嵌入式开发环境; 2)安装与配置工具链; 3)内核和根文件系统的烧写 三、实验设备及工具: 硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。 软件:PC机操作系统Red Hat Enterprise Linux 4、MINICOM 、AMRLINUX开发环境。 四、实验步骤: 1.共享windows下内核文件至linux环境下,并将文件复制至个人开发目录中 2.进入目录,输入make menuconfig,对内核进行裁剪配置 3.编译内核之前输入make clean清理编译环境 4.输入make dep 编译相关依赖文件 5.输入make zImage 输出最终编译后的镜像文件 6.将镜像文件共享至windows环境下 7.在windows打开超级终端,进入vivi,将镜像文件烧录至实验箱开发板中 五、实验总结: 通过本次实验,熟悉了Linux 开发环境,学会了如何进行linux内核的烧写。在实验

过程中了解到Linux内核模块的组成结构,通过本次实验,初步了解嵌入式开发的基本过程。 实验四嵌入式驱动程序设计 一、实验目的: 1.学习在LINUX 下进行驱动设计的原理 2.掌握使用模块方式进行驱动开发调试的过程 二、实验内容: 在PC 机上编写简单的虚拟硬件驱动程序并进调试,实验驱动的各个接口函数的实现,分析并理解驱动与应用程序的交互过程。 三、实验设备及工具: 硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。 软件:PC机操作系统Red Hat Enterprise Linux 4、MINICOM 、AMRLINUX开发环境。 四、预备知识: 1.有 C 语言基础。 2.掌握在Linux 下常用编辑器的使用。 3.掌握Makefile 的编写和使用。 4.掌握Linux 下的程序编译与交叉编译过程。 5.有驱动开发的基本知识。 五、实验步骤: 1.进入/arm2410cl/exp/drivers/01_demo,使用vi 编辑器或其他编辑器阅读理解源代码 2.使用makefile编译驱动模块与测试程序,编译器采用armv4l-unknown-linux-gcc 3.将编译后的驱动模块demo.o和测试程序test_demo挂载到实验箱上 4.插入驱动模块demo.o 执行命令insmod demo.o 5.查看驱动是否插入成功,执行命令lsmod demo.o 6.运行测试程序,查看执行结果

实验7 寻址方式在结构化数据访问中的应用

计算机学院实验报告 课程汇编语言 实验名称实验7 寻址方式在结构化数据访问中的应用 专业计算机科学与技术 2018年 12 月 24 日 一、实验目的 1.定位内存单元的寻址方式汇总 2.寻址方式的综合应用

3.转移指令的分类和原理 4.熟悉在显存中编程的方法 二、实验内容及要求 ( 一) 寻址方式的汇总及综合应用 1.定位内存单元的寻址方式有几种,并举例说明。 2.寻址方式在结构化数据访问中的应用。 Power idea 公司从 1975 年成立一直到 1995 年的基本情况如下。 年份收入 ( 千美元 )雇员人均收入 ( 千美元 ) 1975163? 1976227? 19773829? 1978135613? 1979239028? 1980800038? 1995593700017800? 下面的程序中,已经定义好了这些数据: assume cs:codesg data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987','1988','1989','1990','1991','1992' db '1993','1994','1995' ;年份 dd16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514 dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ; 公司总收入 dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226 dw 11542,14430,15257,17800 ;公司雇员人数 data ends table segment db 21 dup('year summ ne ??') table ends

建立嵌入式linux开发环境实验

嵌入式linux开发环境的建立 一、创建文件:vi hello.c如下: 二、安装交叉编译器: arm-linux-gcc-3.4.6-glibc-2.3.6.tar 步骤1、把交叉编译链考贝到任意目录下,并解压:tar zxvf arm-linux-gcc-3.4.6-glibc-2.3.6.tar –C / 2、把以上路径添加到/etc/profile文件的最后:export PATH=$PATH:/gcc-3.4.6-glibc-2.3.6/arm-linux/bin 3、输入命令使环境变量立即生效:source /tec/profile 4、测试是否安装成功:arm-linux-gcc–v 如果显示版本号,则安装成功。 5、编译C文件:arm-linux-gcc hello.c–o hello 三、配置tftp服务步骤

1、检查系统有无安装包:用命令:rpm –aq | grep tftp,如有安装包的版本号,说明系统已有相应的安装包; 2、配置服务器,打开文件:vi /etc/xinetd.d/tftp,显示如下桌面service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = yes } 然后编辑将disable改为no,其他不变 3、重启xinetd服务:service xinetd restart, 停止 xinetd: [ 确定 ] 启动 xinetd: [ 确定 ] 4、输入如下命令:netstat –a | grep tftp,如果出现如下画面

Fedora10下搭建ARM开发环境QTE及移植过程

Fedora10下搭建ARM开发环境QTE及移植过程 QT 2010-09-09 17:40:48 阅读311 评论0 字号:大中小订阅 说明:之前也做过QTE的安装及移植,参考网上很多例子,大部分采用的是友善之臂开发板提供的 arm-linux-g++ 4.3.2编译器,这样在运行Qt可执行程序的时候经常会遇到一个致命问题就是:Segmentation Fault(段错误)而采用arm920t-eabi.tgz可以解决段错误问题,本次移植主要采用arm920t-eabi.tgz编译器。 一、安装环境: 系统平台:Fedora 10,内核2.6,图形界面 二、软件需求及下地地址: Qt版本qt-everywhere-opensource-src-4.6.2.tar.gz 下载地址:https://www.doczj.com/doc/1111569678.html,/downloads-cn 编译器:arm920t-eabi.tgz(即arm-linux-gcc-4.1.2) 下载地址: https://www.doczj.com/doc/1111569678.html,/downloads/toolchains/arm920t-eabi.tgz 触摸屏软件:tslib1.4 下载地址:略 三、环境安装过程: 1、安装arm920t-eabi.tgz

然后直接将arm920t-eabi.tgz解压缩到根目录,把编译器路径加入系统环境变量,以便编译时找到相关的库,运行命令: #gedit /root/.bashrc 编辑/root/.bashrc文件,在最后一行加上 # export CPLUS_INCLUDE_PATH=/opt/toolchains/ arm920t-eabi/arm-angstrom-linux-gnueabi/include/c++:/opt/toolchain s/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c++/arm-none-li nux-gnueabi #export PATH=/opt/toolchains/arm920t-eabi/bin:$PATH 2、编译tslib对触摸屏支持下载,tslib1.4.tar.gz,解压到根目录后,运行autogen.sh后生成configure文件。 # ./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes # make # make install 3、qt-everywhere-opensource-src-4.6.2安装及配置 将qt-everywhere-opensource-src-4.6.2.tar.gz解压到/opt/目录下得到文件qt-everywhere-opensource-src-4.6.修改 qt-everywhere-opensource-src-4.6.2/mkspecs/qws/linux-arm-g++/qm ake.conf 文件(添加lts参数): QMAKE_CC = arm-linux-gcc -lts QMAKE_CXX = arm-linux-g++ -lts

实验三(ARM编程环境的熟悉及寻址方式实验)

实验三ARM编程环境熟悉及寻址方式实验 注意:本实验在模拟环境下进行!! 一、实验目的: 1、进一步熟悉ARM的编程工具MDK; 2、深刻理解ARM汇编指令中标号的本质; 3、熟悉ARM寻址方式(寄存器寻址、寄存器间接寻址等); 二、实验步骤: 1、参照实验二的步骤,建立工程exp 2、设置工程、建立源文件 exp2.s并将其添加到工程,在exp2.s中输入如下代码(可复制):;广州大学华软软件学院 ;文件名:exp2.s ;功能: ;作者: ;日期: ;修改: area init,code,readonly entry ldr r0,=data1;将标号data1的值送给r0 ldr r1,=data2; ldr r2,=data3 ldr r0,[r0]

ldr r1,[r1] add r0,r0,r1 str r0,[r2] b .;相当于while(1) data1 dcd 12;定义一个字,初值为12 data2 dcd 13;定义一个字,初值为13 data3 dcd 0;定义一个字,初值为0 end 2、编译正确后调试(可参照实验二),注意Ro_Base设置为 0x30000000,点击下图菜单中的菜单项,调出内存单元观察窗口。

会弹出如下界面:

点击current,就会看到当前模式下的寄存器 按F10进行单步调试,同时观察寄存器中的变化; 反汇编界面: 出现如下界面:鼠标右键,如图选中,即可看到源代码的反汇编窗口。

我们发现data1代表的地址是0x30000020,data2代表的地址是0x30000024,data3代表的地址是0x30000028。好,我们现在通过memory窗口来查看这些内存单元的内容: 在存储单元窗口输入0x30000020(如下图所示),观察存储单元中的 值,是不是我们程序所运行的结果呢?

汇编实验报告一 熟悉7种寻址方式

电子信息工程学系实验报告——适用于计算机课程课程名称:IBM-PC汇编语言程序设计 实验项目名称:熟悉7种寻址方式实验时间: 班级:姓名:学号: 一、实验目的: 掌握debug命令,熟悉7种寻址方式。 二、实验环境: ASM轻松汇编 三、实验内容: 1、上机输入以下程序: data segment x db 01,02 y db ?,? z db ?,? w dw 1234h data ends code segment main proc far assume cs:code,ds:data start: push ds xor ax,ax push ax mov ax,data mov ds,ax mov dx,1234h -----无有效地址 mov cl,ds:[0000h] -----0000h mov si,0000h mov di,0002h mov al,[si] ----0000h mov [di],al ----无有效地址 add si,1 add di,1 mov al,[si] mov [di],al mov si,0000h mov di,0000h mov al,x[si] mov y[di],al 成绩: 指导教师(签名):

add si,1 add di,1 mov al,x[si] -----0001h mov y[di],al mov si,0000h mov di,0000h mov bx,0000h mov bp,0004h mov al,[bx][si] ----0000h mov ds:[bp][di],al add si,1 add di,1 mov al,[bx][si] mov ds:[bp][di],al ret main endp code ends end start 2、写出上面汇编程序中字体为红色的指令的源操作数的寻址方式以及源操作数的有效地址。 指令寻址方式有效地址mov dx,1234h立即寻址方式无有效地址mov cl,ds:[0000h]直接寻址方式0000h mov al,[si]寄存器间接寻址方式0000h mov [di],al寄存器寻址方式无有效地址 mov al,x[si] 寄存器相对寻址方式0001h mov al,[bx][si]基址变址寻址方式0000h 画图说明数据段中变量所分配的存储空间及初始化的数据值。 14F2:0000 0001 0002 0003 0004 0005 0006 0007 01 02 01 02 00 00 34 12

ARM开发环境搭建 eclipse for arm实验报告

实验报告 实验题目 ARM开发环境搭建 eclipse for arm 姓名: 学号: 课程名称: 所在学院: 专业班级: 任课教师:

一、实验目的与要求: 1、掌握 ARM 汇编语言的基本使用和一些伪指令的使用; 2、熟悉 eclipse 开发工具建立汇编工程和仿真;

四、实验过程、步骤及内容 1、win7环境安装FS_JTAG工具 (1)安装GCC 编译工具 双击安装“华清远见-CORTEXA9 资料\工具软件\Windows\FS-JTAG\Yagarto 工具包”目录下的文件:yagarto-bu-2.21_gcc-4.6.2-c-c++_nl-1.190_gdb-7.3.1_eabi_20111119.exe (2)装Yagarto 工具包 双击安装“华清远见-CORTEXA9 资料\工具软件\Windows\FS-JTAG\Yagarto 工具包”目录下的文件:yagarto-tools-20100703-setup.exe (3)安装FS_JTAG调试软件 双击“x包”下的setup.exe安装 FS_JTAG工具 (4)安装FS_JTAG驱动

将FS_JTAG通过USB线与PC连接,右键点击“我的电脑”选择“管理”,在左侧栏里选择“设备管理”选择“其他设备”右键点击选择“更新驱动” 选择“浏览计算机以查询驱动程序软件(R)”; 点击浏览选择“FS-JTAG 调试工具(安装包)\DRIVER”目录主要“包括子文件夹”必须选择,点击“下一步”。 安装过程出现上图提示,点击“始终安装此驱动程序软件(I)“继续安装

点击“关闭“完成安装 注意:此安装过程需要进行 3 次,直到设备管理器中没有叹号标记或未知设备。这是设备管理器中会出现如下选项:如果下面选项没有全部出现,右键点击有黄色叹号的选项更新驱动,过程同上。 (5)安装JRE 双击安装“华清远见-CORTEXA9 资料\ 工具软件\Windows\FS-JTAG\JRE ”目录下的文件: jre-6u7-windows-i586-p-s.exe

实验1(嵌入式开发环境实验)

实验1:嵌入式Linux开发环境 一、实验目的 熟悉Linux开发环境,学会基于S3C2410的Linux开发环境的配置和使用。使用Linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。 二、实验内容 1、在linux系统下,利用C语言来编写应用程序,并进行交叉编译,生成可在目标实验台上运行的目标文件。 2、建立宿主机与目标实验台仿真终端连接,为目标实验台建立Linux系统终端窗口。 3、建立宿主机与目标实验台的共享连接,以便下载和运行最终可执行文件。 三、预备知识 C语言的基础知识、程序调试的基础知识和方法,Linux的基本操作。 四、实验设备及工具(包括软件调试工具) 硬件:UP-NETARM2410-S嵌入式实验平台、PC机Pentium 500以上, 硬盘10G以上。 软件:PC机操作系统REDHAT LINUX 9.0+MINICOM+ARM-LINUX开发环境 五、主要实验步骤: 1、打开PC宿主机电源,选择进入Linux系统。在PC宿主机的/arm2410s/exp/Basic目录中创建用户个人工作目录,例如“cao”。 2、单击鼠标右键选择“新建终端”,建立宿主机Linux命令终端窗口,在[root@localhost root]#命令提示符下进入个人工作目录“cao”中。 即:[root@localhost root]#cd /arm2410s/exp/basic/cao 3、利用“vi”编辑hello应用程序,并保存为hello.c文件。 即:#cd /arm2401s/exp/Basic/cao #vi hello.c 进入vi编辑窗口,编辑hello.c文件…… 4、利用“gcc –o”命令对hello.c文件进行编译,生成可在PC宿主机上执行的目标文件hello.pc。 即:#gcc –o hello.pc hello.c, 为了验证结果正确性,可在PC宿主机上执行hello.pc文件。 即:#./hello.pc 5、为了在实验台上下载运行hello文件,需要对hello源文件进行交叉编译,以便生成能够在实验台上运行的目标文件。利用“armv4l-unknown–Linux-gcc –o命令”进行交叉编译,生存目标文件hello.o。 即:# armv4l-unknown-Linux-gcc -o hello.o hello.c (注意:这里的“armv4l-unknown–Linux-gcc –o”交叉编译命令输入方法是使用键盘输

实验2 指令系统、寻址方式及源程序结构

实验二指令系统、寻址方式及源程序结构 实验目的: 1. 熟悉8088/8086的数据传送和算术运算指令的书写格式、功能。 2. 熟悉各种寻址方式。 3. 掌握汇编语言源程序结构,熟悉常用伪指令,编写完整的源程序。 4. 掌握汇编、连接、运行汇编源程序的全过程;使用DEBUG调试和运行汇编源程序。实验内容: 安装MASM WINDOWS 集成实验环境 2011 在硬盘F中建立自己的文件夹,以“班级姓名”命名(比如计科1111张三),实验文件以“实验次数-序号”命名,比如sy2-1.asm。 1、验证指令格式 用A命令写入汇编指令,使用寄存器、段寄存器、存储器和立即数等作为操作数,验证mov、add指令的格式并得出结论。 2、理解不同的寻址方式 假设(DS)=2000H, (BX)=0100H, (SI)=0002H, (20100)=12H, (20101)=34H, (20102)=56H, (20103)=78H, (21200)=2AH, (21201)=4CH, (21202)=B7H, (21203)=65H.,请分析下列7条指令的源操作数各自使用何种寻址方式以及每条指令执行后AX的值。 然后使用Debug命令设置上述寄存器及存储单元的内容,再用汇编(A)、单步执行(T)等命令验证每条指令执行后AX的值。 (1)MOV AX,1200H (2) MOV AX,BX (3) MOV AX,[1200H] (4) MOV AX,[BX] (5) MOV AX,1100[BX] (6) MOV AX,[BX][SI] (7) MOV AX,1100[BX][SI] 3、编写源程序 假设有3个数x, ,y z,其中x=1234h,y=0c3f6h,z=10c5h,分别保存在内存单元X、Y、Z。请编写源程序,计算x+ 2z -y,结果保存在Z单元中,并用debug调试运行,查看每条指令的执行结果,观察标志位变化情况。其中X、Y、Z单元在数据段定义。 程序结构如下:

ARM实验报告

湖南科技学院ARM嵌入式设计实验报告题目:基于ARM嵌入式系统跑马灯的设计 专业:电子信息工程 班级:电信1102班 姓名:段相辉 学号:201106002232 指导教师:陈光辉 2014年11 月

目录 摘要............................................. 错误!未定义书签。ABSTRACT .......................................... Ⅰ错误!未定义书签。 1 题目要求 (1) 2 设计软件的安装 (2) 3 开发平台的搭建 (22) 4 项目设计 (23) 4.1 设计思路概述 (2) 4.1.1 设计层次介绍 (2) 4.1.2 设计模块介绍 (3) 5总结 (6) 致谢 (25) 参考文献 (26) 附录 (27)

引言 随着生活水平的提高和IT技术的进步,8位处理器的处理能力已经不能满足嵌入式系统的需要了;而16位处理器在性能和成本上都没有很大的突破。并且在8位机的开发中,大多使用汇编语言来编写用户程序。这使得程序的可维护性、易移植性等都受到了极大的挑战。正是基于此,ARM公司适时的推出了一系列的32位嵌入式微控制器。目前广泛使用的是ARM7和ARM9系列,ARM7TDMI内核的ARM7处理器广泛应用于工业控制、仪器仪表、汽车电子、通讯、消费电子等嵌入式设备。

1、题目要求 构建嵌入式Linux开发环境,熟悉linux的命令操作,并在嵌入式Linux 开发环境中设计跑马灯。 2、设计软件的安装 2.1 VMware Player简介 (a) VMware Workstation是一个“虚拟机”软件.它使用户可以在一台机 器上同时运行多个操作系统. (b) VMware Player是VMware Workstation的精简版,最初只是虚拟机的“播放机”, 但最新版本的已经具有创建虚拟机的功能.具有体积小,使用灵活,免费等特点. (c) 多个操作系统在主系统的平台上,可像Windows应用程序那样切换.而且每个操作系统都可以进行虚拟的分区、配置而不影响真实硬盘的数据. (d) 利VMware Player创建虚拟机

ARM ads1.2开发环境的搭建&使用

ARM开发环境的搭建 安装平台(ads_1.2(arm 开发工具).iso,目前存放在D:\汇文\arm\工具及软件),在windows下安装。 步骤1:双击打开:ads_1.2(arm 开发工具).iso-》双击setup.exe,此软件安装完成后需要注册,注册文件在ads_1.2(arm 开发工具).iso中的crack文件夹的license.dat中,将此文件导入完成后即安装完毕。步骤2:打开AXD进行配置 (1): 点击进入(2):

(3) (4):ADD 完成后点击进入 configure

(5)先选择TCP/IP,然后填入127.0.0.1的本地回环,过后还要修改回来。进入JTAG,修改JTAG为4800KHZ;

(6)完后后会提示出错,

(7)完成以上步骤后保存设置:file-》save session (保存地址最好在根目录下,最好不要有中文(目前我的安装版本保存在:D:\AXD_session 下;)) (8)以上完成后开始OXD-》option-》configure interface ,导入完成

后从新保存并覆盖上一步的保存信息。下次使用的时候需要将这些保存信息导入才能使用。以上过程可打开jlink的GDB工具,用于监视单板的连接情况。(打开SEGGER->jlink GDB) (9)完成以上步骤后,开始进入《metroworks codewarrior for ARM Developer suite v1.2》进行设置 1.首先在file 内open一个已经ok的程序(在D:\AXD_session\YC2440_LED中的YC2440_LED.mcp),进入以下界面: 备注:metroworks codewarrior for ARM Developer suite v1.2同AXD 的关系,metroworks codewarrior for ARM Developer suite v1.2用于编 辑,AXD用于调试

嵌入式系统开发环境实验

嵌入式系统开发环境实验 一实验目的与要求 1.熟悉Linux系统环境。 2.了解实验板的结构组成。 3.了解嵌入式系统开发的基本知识。 4. 熟悉嵌入式Linux交叉编译环境的建立过程,并通过一个HelloWorld程序的编写、编译、下载运行及调试过程,了解嵌入式开发的基本方法和流程。 二实验设备与软件环境 1.硬件:SemitARM9200开发板,PC机PIII800MHz,256MB以上,串口线(公母)1条,网线1条,7.5V 电源1个。 2.软件:RedHat 9.0以上Linux操作系统. 三实验原理 1.宿主机开发环境 绝大多数的Linux软件开发都是以Native方式进行的,即本机(Host)开发、调试,本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为嵌入式系统没有足够的资源在本机(即板子上系统)运行开发工具和调试工具。通常的嵌入式系统的软件开发采用一种交叉编译调试的方式,交叉编译调试环境建立在宿主机(即一台PC机)上,对应的开发板叫做目标板。如下图所示。 开发时使用宿主机上的交叉编译、汇编及链接工具形成可执行的二进制代码,(这种可执行代码不能在宿主机上执行,而只能在目标板上执行)然后把可执行文件下载到目标机上运行。一般调试的方法包括串口调试和以太网口调试。对于本实验板,目前可采用串口调试,操作系统经过修改可以实现以太网口调试。宿主机和目标板的处理器一般都不相同,宿主机为Intel或AMD处理器,而目标板如本实验板的处理器为ATMEL AT91RM9200 。GNU编译器提供这样的功能,在编译时可以选择开发所需的宿主机和目标机从而建立开发环境。所以在进行嵌入式开发前第一步的工作就是要安装一台装有指定操作系统的PC机作宿主开发机,宿主机上的操作系统一般要求安装Linux,但Linux由多个发行版本,在此,我们推荐使用Redhat 9.0作为本实验板的宿主机PC操作系统(https://www.doczj.com/doc/1111569678.html,可以下载)。然后要在宿主机上建立交叉编译调试的开发环境。环境的建立需要许多的软件模块协同工作,这将是一个比较繁杂的工作,但现在只要安装我们提供的光盘,开发软件包及GNU编译工具已完全自动完成了。 当开发环境安装完毕后,会在根目录下生成两个目录:工作目录/home/arm和交叉编译环境目录/usr/local/arm。

实验三 汇编数据寻址的方法

实验三汇编数据寻址的方法(2学时)实验目的 通过实验掌握下列知识: 1、DEBUG命令:G,N,W,L及Q。 2、8086系统中数据在内存中的存放方式和内存操作数的几种寻址方式。 3、8086指令:INC,DEC,LOOP,INT 3,INT 20H,寄存器SI,DI。 4、8086汇编语言伪操作:BYTE PTR,WORD PTR。 5、求累加和程序和多字节加减法程序。 实验类型:验证 实验内容和步骤 一、内存操作数及各种寻址方式使用 程序内容: MOV AX,1234 MOV [1000],AX MOV BX,1002 MOV BYTE PTR[BX],20 MOV DL,39 INC BX MOV [BX],DL DEC DL MOV SI,3 MOV [BX+SI],DL MOV [BX+SI+1],DL MOV WORD PTR[BX+SI+2],2846 操作步骤 一、内存操作数及各种寻址方式使用 程序内容: MOV AX,1234 MOV [1000],AX MOV BX,1002 MOV BYTE PTR[BX],20 MOV DL,39 INC BX MOV [BX],DL

DEC DL MOV SI,3 MOV [BX+SI],DL MOV [BX+SI+1],DL MOV WORD PTR[BX+SI+2],2846 操作步骤 1)用A命令键入上述程序,并用T命令逐条运行。 2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。 注意D命令显示结果中右边的ASCII字符及双字节数存放法。 思考:有关指令中BYTE PTR及WORD PTR伪操作不加行不行?试一试。

windows下搭建ARM开源开发环境

Windows下搭建ARM开源开发环境 1.安装java环境: 到sun网站下载最新的JRE,目前最新的是JRE 6 Update 12。 https://www.doczj.com/doc/1111569678.html,/javase/downloads/index.jsp 下载后安装。 2.下载E clipse IDE for C/C++ Developers : 下载地址:https://www.doczj.com/doc/1111569678.html,/downloads/ E c lipse IDE for C/C++ Developers (68 MB)该版本已经集成了C/C++开发插件(CDT 5.x),不需要单独 下载CDT。 下载后解压到合适的目录即可,例如:d:/ide/eclipse_for_ar m。 3.下载WinARM(95M): WinARM是以在windows系统下开发ARM 嵌入式软件的GNU和其他工具集合。 下载后解压,然后设置PATH环境变量,例如: 在Path中添加:C:\WinARM\bin;C:\WinARM\utils\bin; 下载地址:WinARM 20060606 zip http://gandalf.arubi.uni-kl.de/avr_projects/arm_projects/WinARM-20060606. zip 或者自解压包(7z格式):WinARM-20060606.exe http://gandalf.arubi.uni-kl.de/avr_projects/arm_projects/WinARM-20060606. exe

详细内容:http://gandalf.arubi.uni-kl.de/avr_projects/arm_projects/#winarm 详细安装方法: http://gandalf.arubi.uni-kl.de/avr_projects/arm_projects/WinARM_20060606_ readme.html 4.下载Yagarto包:http://www.yagarto.de/ 需要下载一下包: Zylin plugin安装方法: A:启动Eclipse IDE for C/C++程序 到第2步中Eclipse IDE for C/C++安装目录,eclipse双击eclipse.exe 启动Eclipse IDE for C/C++:

实验一 指令与寻址方式认知实验(Keil)

实验一指令与寻址方式认知实验 一、实验目的 1.了解单片机基本指令及其寻址方式; 2.掌握在μVision环境中查看指令操作结果的技巧。 二、实验仪器和设备 Keil软件;THKSCM-2综合实验装置; 三、实验原理及实验内容 1.示例及相关设置 (1)建立一个文件夹:lx31。 (2)利用菜单File的New选项进入编辑界面,输入下面的源文件,以lx31.asm文件名存盘到lx31文件夹中。 ORG 0000H MAIN:MOV R7,#16 MOV A,#00H MOV R0,#30H LP:MOV @R0,A INC R0 INC A DJNZ R7,LP SJMP $ END (3)在lx31文件夹下建立新工程,以文件名lx31存盘(工程的扩展名系统会自动添加)。 (4)在Project菜单的下拉选项中,单击Options for Target ‘Target1’,在弹出的窗口中要完成一下设置: ○1单片机芯片选择AT89C51选择完器件,按“确定”后会弹出一个提示信息框,提示“Copy Startup Code to Project Folder and Add File to Project?”,选择“是”。 ○2晶振频率设为11.0592MHz。 ○3Output标签下的Create HEX File前小框中要打钩。

○4在Debug标签选择Use Simulator(软件模拟)。 (5)在Project菜单的下拉选项中,单击build Target 选项完成汇编,生成目标文件(.HEX)。利用单步、执行到光标处两种方法运行程序,观察程序运行的结果。 (6)分析程序的功能,研究观察以下指令的寻址方式及其操作效果。 2.示例及相关设置 (1)建立一个文件夹:lx32。 (2)利用菜单File的New选项进入编辑界面,输入下面的源文件,以lx32.asm文件名存盘到lx32文件夹中。 ORG 0000H MOV R0,#20H MOV R1,#22H MOV A,@R0 ADD A,@R1 MOV 24H,A INC R0 INC R1 MOV A,@R0 ADDC A,@R1 MOV 25H,A SJMP $ END (3)在lx32文件夹下建立新工程,以文件名lx32存盘(工程的扩展名系统会自动添加)。 (4)在Project菜单的下拉选项中,单击Options for Target ‘Target1’,在弹出的窗口中要完成一下设置: ○1单片机芯片选择AT89C51选择完器件,按“确定”后会弹出一个提示信息框,提示“Copy Startup Code to Project Folder and Add File to Project?”,选择“是”。 ○2晶振频率设为11.0592MHz。 ○3Output标签下的Create HEX File前小框中要打钩。 ○4在Debug标签选择Use Simulator(软件模拟)。

ARM嵌入式系统实验实验一参考答案(ADS1.2集成开发环境练习实验)

ARM嵌入式系统实验实验一参考答案(ADS1.2集成开发环境练习实验) 1.实验目的 了解ADS1.2 集成开发环境的使用方法。 2.实验设备 硬件:PC机一台 软件:Windows98/XP/2000 系统,ADS1.2集成开发环境 3.实验内容 (1)建立一个新的工程。 (2)建立一个汇编文件,并添加到工程中。 (3)设置文本编辑器支持中文。 (4)设置编译链接控制选项。 (5)编译链接工程。 (6)调试工程。 4.实验步骤 (1)在D:\新建一个目录,目录名为experiment。启动ADS1.2 IDE集成开发环境,选择【File】-> 【New...】,使用ARM Executalbe Image工程模板建立一个工程,工程名称为ADS,工程目录为D:\experiment。 (2)选择【File】-> 【New…】建立一个新的文件test1.s,设置直接添加到项目中。输入实验程序并保存,此时在工程窗口中可以看到test1.s文件了。 (3)由于ADS安装以后默认字体是Courier New,对于中文支持不完善,因此建议修改字体。选择【Edit】-> 【Perferences…】,在其中的Font选项中设置字体为Fixedays,Script 是CHINESE_GB2312,另外由于Tab在不同文本编辑器解释不同,建议在Tab Inserts Spaces 前打勾,使Tab键插入的是多个空格。 (4)选择【Edit】->【DebugRel Settings…】,在弹出的对话框的左边选择ARM Linker 项,然后在Output页设置链接地址为Simple,其中Ro Base为0x40000000,RW Base为0x40003000;并设置Option页中Image entry Point地址为0x40000000. (5)选择【Project】-> 【Make】,编译链接整个工程,如果编译成功,则Errors&Warnings 对话框会报告编译错误为0,那么就可以对工程进行仿真了。 (6)选择【Project】-> 【Debug】,或者按下F5。IDE环境将会启动AXD调试软件,接着便可以执行单步、全速运行调试。注意,要在AXD的Choose Target窗口中选用ARMUL 软件仿真。断点调试方法:首先设置断点,只需要在第6行灰色区域双击鼠标即可,如果出现红色实心圆点,那么表示断点设置成功,然后选择【Execute】-> 【Go】全速运行可以发现程序停止在第6行。还有一种比较方便的调试方法就是Run to Cursor,单击鼠标第8行灰色区域,如果AXD将第8行高亮就表示设置成功,然后选择【Execute】-> 【Run to Cursor】运行到光标,可以发现程序停止在第8行。 5.实验程序 AREA EXAMPLE1,CODE,READONLY ;声明代码段EXAMPLE1 ENTRY ;标识程序入口 CODE32 ;声明32位ARM指令 START MOV R0,#15 ;设置参数 MOV R1,#8 ; ADDS R0,R0,R1 ;R0=R0+R1 B START END

ARM嵌入式-ADS-1.2-集成开发环境练习实验报告

专业班级: 学号: 实验名称: 姓名: 实验所属课程: 实验室(中心): 指导教师: 实验完成时间:年月日

一、实验目的: 了解ADS 1.2 集成开发环境的使用方法。 二、实验设备: 1.硬件:PC 机一台 2.软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环境 三、实验容: 1.建立一个新的工程; 2.建立一个C 源文件,并添加到工程中; 3.设置文本编辑器支持中文; 4.设置编译控制选项; 5.编译工程; 6.调试工程。 四、实验预习要求: 仔细阅读产品光盘附带文档《ADS 集成开发环境及仿真器应用》或其它相关资料,了解ADS 工程编辑的容。 五、实验步骤: 1. 启动ADS1.2 IDE 集成开发环境,选择【File】->【New…】,使用ARM Executable Image 工程模板建立一个工程,工程名称为ADS,见图 2.1。 图2.1 建立ARM 指令代码的工程

2.选择【File】->【New…】建立一个新的文件TEST1.S,设置直接添加到项目中,见图2.2。输入如程序清单2.1 所示的代码,并保存,见图2.3。 图2.2 新建文件TEST1.S 程序清单2.1 TEST1.S 文件代码 AREA Example1,CODE,READONLY ; 声明代码段Example1 ENTRY ; 标识程序入口 CODE32 ; 声明32 位ARM 指令START MOV R0,#15 ; 设置参数 MOV R1,#8 ADDS R0,R0,R1 ; R0 = R0 + R1 B START END 图2.3 添加了TEST1.S 的工程管理窗口

相关主题
文本预览
相关文档 最新文档