实验六 ARM9嵌入式系统开发环境实验Word文档格式.docx

上传人:b****2 文档编号:13863990 上传时间:2022-10-14 格式:DOCX 页数:16 大小:1.48MB
下载 相关 举报
实验六 ARM9嵌入式系统开发环境实验Word文档格式.docx_第1页
第1页 / 共16页
实验六 ARM9嵌入式系统开发环境实验Word文档格式.docx_第2页
第2页 / 共16页
实验六 ARM9嵌入式系统开发环境实验Word文档格式.docx_第3页
第3页 / 共16页
实验六 ARM9嵌入式系统开发环境实验Word文档格式.docx_第4页
第4页 / 共16页
实验六 ARM9嵌入式系统开发环境实验Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

实验六 ARM9嵌入式系统开发环境实验Word文档格式.docx

《实验六 ARM9嵌入式系统开发环境实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验六 ARM9嵌入式系统开发环境实验Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

实验六 ARM9嵌入式系统开发环境实验Word文档格式.docx

1.ARM9开发板

2.ARMJTAG线

3.PC机(软件:

H-JTAGv0.9.2、ADS1.2)

【实验原理】

ARM模块的核心芯片为S3C2410,系统主频最高可达266MHz,NandFlash为K9F1208,可存储64MByte,SDRAM可存储32Mbyte。

S3C2410共有117个多功能复用I/O口,分为8组,即PORTA~PORTH。

相关寄存器有:

端口控制寄存器(GPACON~GPHCON)、端口数据寄存器(GPADAT~GPHDAT)、端口上拉寄存器(GPBUP~GPHUP)、杂项控制寄存器以及外部中断控制寄存器(EXTINTN)等。

ARM核心板的两个LED连接在S3C2410的GPF6和GPF7上,通过修改寄存器内容可控制两端口的电平,当端口输出为0时,LED变亮。

ADS是一种ARM嵌入式开发工具,包含了CodeWarrior和AXD两个图形化开发环境,前者用于工程文件管理、程序代码编辑、程序编译链接,后者主要用于软件调试和硬件调试。

ADS英文全称为ARMDeveloperSuite,ARMADS起源于ARMSDT,对一些SDT的模块进行了增强并替换了一些SDT的组成部分。

ARMADS支持所有的ARM系列处理器,包括最新的ARM9E和ARM10。

除了可以在ARMSDT支持的操作系统中运行外,ARMADS还可以在Windows以及RedHatlinux上运行。

ARMADS由6个部分组成:

代码生成工具、集成开发环境、调试器、指令集模拟器、ARM开发包和ARM应用库。

•代码生成工具代码生成工具由源程序编辑、汇编及链接工具集组成。

•集成开发环境集成开发环境指CodeWarriorIDE,包括工程管理器、代码生成接口、语法敏感编辑器、源文件和类浏览器、源代码版本控制系统接口以及文本搜索引擎等。

•调试器ADS中包含3个调试器,分别是ARM扩展调试器AXD(ARMeXtendedDebugger)、向下兼容的ARMDebuggerforWindows/ARMDebuggerforUNIX和ARM符号调试器。

AXD是目前最常用的调试器。

•指令模拟器ARM中的指令模拟器可以实现在PC机上对基于内核处理器的ARM和Thumb提供精确的模拟,从而可以在没有硬件支持的情况下实现部分调试工作。

•ARM开发包ARM开发包由一些底层的例程和库组成,可以帮助用户快速开发基于ARM的应用程序和操作系统。

•ARM应用库ADS的ARM应用库完善并增强了SDT中的函数库,同时还包括了一些非常有用的源码例程

【实验步骤】

 1.用ARMJTAG线连接ARM实验板和PC机,然后给ARM实验板供电(可用底板供电,也可单独给ARM板供电)。

 2.打开H-JTAG软件,点击Settings里面的LPTJTAGSettings,选择UserDefined模式,相关配置如下图:

配置好后点击OK退出,然后点击放大镜,Detecttarget,正常检测到ARM内核如下图:

打开桌面上的H-Flasher,点击Check,如能正确检测到Flash,显示如下:

3.正常检测到ARM内核后打开AXD,点击Options里的ConfigureTarget,显示如下:

其中ADP为硬件调试方式,ARMUL为软件调试方式。

单击ARMUL,然后点击Configure,Processor项选择ARM920T,OK退出,再OK进入软件模拟环境。

4.打开CodeWarrior,执行File里New命令,在Filename里输入test.s,选择保存位置,确定后在编辑区输入以下代码:

  AREAasm,CODE,READONLY

IMPORTadd

ENTRY

LDRro,=0x1

LDRr1,=0x2

LDRr2,=0x3

BLadd

B.

END

保存后以同样方式在同一目录在建立main.c文件,代码如下:

  intadd(inta,intb,intc)

{

  returna+b+c;

}

5.建立工程项目,File菜单中选New,在project name中输入test,确定后弹出test.mcp窗口,点击右键后AddFiles:

把两文件添加进来,其中Targets选择DebugRel。

三种可选目标含义如下:

DebugRel:

生成目标时,为每一个源文件生成调试信息;

Release:

生成目标时,不生成任何调试信息;

Debug:

生成目标时,为每一个源文件生成最完全的调试信息。

6.后续设置如下图:

配置好后点击Make,进行编译。

如果没有错误则窗口如下:

此时在项目文件夹下DebugRel里有后缀为.axf的映像文件和.bin的二进制文件,映像文件用于程序调试,二进制文件用于烧写到FLASH中。

7.进行软件调试。

回到AXD界面,单击File,然后Load image打开映像文件。

此时可以进行单步运行、断点设置、全速运行等调试。

执行后可以看到Register里Current变量如下:

8.下面开始硬件调试:

首先用Code Warrior编写一个硬件调试程序,在此以跑马灯为例,来控制ARM核心板上的两个LED。

先建立一个2410led.s文件,代码如下:

AREAInit,CODE,READONLY;

IMPORTC_Entry;

BLC_Entry;

B.

再建立一个main_entry.c文件,代码为:

#defineGPFCON(*(volatileunsigned*)0x56000050);

定义F端口控制寄存器的地址

#defineGPFDAT(*(volatileunsigned*)0x56000054);

定义F端口数据寄存器的地址

#defineGPFUP(*(volatileunsigned*)0x56000058);

定义F端口上拉寄存器的地址

voiddelay(unsignedcounter);

voidexternC_Entry()

{

GPFCON=0x5000;

GPFUP=0xffff;

while

(1)

GPFDAT=0x7f;

使GPF7输出为0

delay(500);

GPFDAT=0xbf;

使GPF6输出为0

}

voiddelay(unsignedcounter)

unsignedk;

while(counter--)

k=400;

while(k--);

在工程中加入两文件时选择Debug方式:

在编译成映像文件前要进行DebugSettings,所需设置如图:

设置好后编译成映像文件,再打开AXD,此时需要用H-JTAG调试方式进行与ARM板的连接,点开Options里的connfigtarget,点击Add,选择H-JTAG.dll。

点击OK,连接成功。

如果连接报错,重新检测H-JTAG和H-Flasher。

File里loadimage,选择刚刚编译好的.axf映像文件。

这时候点击全速运行即可看到LED交替闪烁,即跑马灯。

【实验报告要求】

1.对实验中跑马灯程序做简要注释并分析

2.回答实验思考题

【思考题】

1.分析混合控制编程的原理,分析.s文件和.c文件是如何结合的。

2.当GPF4-GPF7分别连LED时,编写这四个LED的跑马灯程序。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1