ADS12开发环境配置_第1页
ADS12开发环境配置_第2页
ADS12开发环境配置_第3页
ADS12开发环境配置_第4页
ADS12开发环境配置_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一ADSL2开发环境创建(2个学时)

一、实验目的

熟悉ADSL2开发环境,学会ARM仿真器的使用。使用ADS编译、下载、调试并跟踪一

段已有的程序,了解嵌入式开发的基本思想和过程。超级终端设置及BIOS功能使用。

二、实验内容

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

习ARM仿真器的使用和开发环境的设置。下我已经编译好的文件到嵌入式控制器中运行。学

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

下的超级终端,通过超级终端查看BIOS启动情况。

三、预备知识

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

四、实验设备及工具(包括软件调试工具)

硬件;ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium1()()以上、

串口线。

软件:PC机操作系统聊in98、Win2000或WinXP、ARMSDT2.51或ADSL2集成开发环

境、仿真器驱动程序、超级终端通讯程序。

五、实验步骤

1配置ADS集成开发环境

(1)运行ADSL2集成开发环境(CodeWarriorforARMDeveloperSuite)o选择FileI

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

例的工程名为Exp6.mcp。点set…按钮可为该工程选择路径如图1T8所示,选中

CrcatFoldcr选项后将以图1-17中的ProjcctManc或图1T8中的文件名为名创建

目录,这样可以将所有与该工程相关的文件放到该工程目录下,便于管理工程。

(2)在图1T7中工程膜板列表中我们选择ARMExecutableImage通用模板。我们随后

将一步一步的把它配置成针对我们ARM3000开发板的模板44B0ARMExecutable

Imaage,并把它拷贝到ADSL2安装目录下的Stationery目录中(所有的工程模板

都在此目录下)。以后我们新建工程时,在工程模板列表中直接选中44B0ARM

ExecutableImaage模板选项,就不必每次重新配置模板了。

如果您需要使用本文档,请点击下载按钮下载!

图1-17新建工程

图1-18保存工程

(2)在新建的工程中,如图1T9所示,选择Debug版本,使用Edit|DebugSettings

菜单对Debug版本进行参数设置。

图1-19选择版本

(3)在DebugSettings充话框中选择TargetSettings项,如图1-20所示。在PostTinker

一栏中选择ARMfromELF,点击右下角的Apply使其有效。

授课:XXX

如果您需要使用本文档,请点击下载按钮下载!

图1-20TargetSettings

(4)在DebugSettings对话框中选择ARMLinker项,如图1-21。在Output下的Linktype

中有三种类型的连接方式,我们常用的是Simple和Scattered两种。Simple是一种简单设

置如果程序需要用到标准C库函数的话需要按Scattered进行连接地址的设置。若你用不

到标准C库函数的话,请选择Simple选项,并按照下边的第(5)、(8)、(9)进行设置。

若你用到标准C库函数的话,请选择Scattered选项,并按照下边的第(6)、(7)、(9)

进行设置。(5)在ARMLinker项的Output选项卡中,我们选择Simple选项,如图1-21所

示。在Simpleimage框中设置连接的Read-Only(只读)和ReadTVrite(读写)地址。地址

0x0c080000是开发板上SDRAM的真实地址,是由系统的硬件决定的;0x0c200000指的是系

统可读写的内存地址。也就是说0x0c080000MxClfffff之间是只读区域,存放程序的代码

段,在0xC200000开始是程序的数据段。

图1-21设置连接地址范围

授课:XXX

如果您需要使用本文档,请点击下载按钮下载!

(6)在ARMLinker项的Output选项卡中,我们选择Scattered选项,如图1-22所示.

标准C中如果使用malloc及其相关的函数,需要使用系统的堆(Heap)空间,可以通过

scatter文件来描述系统HEAP段的位置。针对44B0开发板,把程序的入口定位在

0xc080000,

并定义scatter文件为scat_ram.scf。

在图1-22中选择LinkType为Scattered,输入scatter文件名scatram.sef;然后切

换到Options选项卡在ImageEntryPoint框中输入0xc080000。也可以在图1-22的Command

Line框中直接输入-entry0xc080000-scatterscat_ram.sef进行上述设置。

图1-22通过scatter文件设置连接地址

提示;

1)程序移植到ADS后,程序最开始首先执行用汇编写的初始化代码一一包括中断向量

和内存空间的初始化。在该段代码中使用

IMPORT_main;(注意main前面是两个下划线)

B—main

进行系统内部的标准C函数初始化,然后调用用户在C中定义的main。函数(注意:两个main

都是小写),并且在嵌入式应用中用户C的main函数中不能有参数(intmain(void))o

2)不能有系统定义的软中断,在汇编中可以使用

IMPORT_use_no_semihosting_swi

来检测,在C中使用

"pragmaimport(_use_no_semihosting_s\vi)//ensurenofunctionsthatuse

semihosting

scatter文件内容如下,创建了一个RALLOAD的程序利数据的装载区域,起始地址

0xc080000o

RAM_LOAD0xc080000

{RAM_EXEC0xc080000

授课:XXX

如果您需要使用本文档,请点击下载按钮下载!

44binit.o(init,+First)

*(+R0)

)

RAM0x0c200000

(

*(+RW,+ZI)

)

HEAP+0UNINIT

{

heap,o(+ZI)

)

STACKS0xc7ff000UNINIT

(

stack,o(+ZI)

)

ISR_STARTAI)DRESS0xc7「f「0();SDRAMbottom

(

isr_address.o(<Z1)

)

)

在图1-23中说明了这个装载区域的划分。

0xc7£ff00qgo系统的中断向量表.存放系统口断调用的位置.

I£R_START具体参考Hjoddrcss.c文件

ADDKE.SS

OxcYffOOO

;察度级甥的钱嚷空履间放表在羸STA逛CKS鳖第%菖从女0忑xC7青ff0恐00开褪始

STACKS

X

系统的堆空间放在皿ae腾使

•…钾it谶

:即.。中,向高坨址

35AF

RAH第分.认nvwmnnn也珏于始.放目标文件的

该写Crw)部分和沅部分。

RAM

OxcSOOOOO

R\M_EXEC

0x380000

图1-23程序和数据装我区域的划分

4)定义retarget,c函数,重新定位标准C库中stdio的一些相关函数。主要有:

struct_FILE{inthandle;/*Addwhateveryouneedhere*/};

FILE_stdout;〃文件的定义

intfputc(intch,FILE*f)//fputc函数

intferror(FILE*f)//ferror函数

voidsysexit(intreturncode)//系统退出函数

voidttvwrch(intch)

授课:XXX

如果您需要使用本文档,请点击下载按钮下载!

_valueinregsstruct_initialstackheap

_user_inilial_slackheap(unsignedRO,unsignedSP,unsignedR2,unsignedSI.)

〃用户的堆空间和栈空间函数

具体定义,可以参考in义/retarget,c

(7)接第(6)步,在第(4)步中如果不选择简单的连接地址设置,则需按图1-24所

示设置C编译器。在DebugSellings对话框中选择ARMCCompiIer项,在ATPCS选项卡

中选择ARM/Thumpinterwork,或者在命令行中添加-apes/interworko

图2-24设置ARMCCompiler

(8)接第(5)步,若在第四步中如果选择简单的地址连接设置,在DebugSettings对话

框中选择ARMLinker项,如图1-25。点击下边的Factorysetting按钮,出现Layout选项

卡(在对release版本进行设置时,不用点击Factorysetting按钮)。在Layout诜项卡

的Placealbeginningofimage框中设置程序的入口模块。指定在生成的代码中,程序是

从44binit.s开始运行的,Object设为44binit.o,section设为init。

授课:XXX

如果您需要使用本文档,请点击下载按钮下载!

图1-25设置入口模块

(9)在DebugSettings对话框中选择ARMfromELF项,如图1-26。在Outputfilename

框中设置输出文件名为systcm.bin,这就是要下载到开发板的嵌入式应用程序文件。

图1-26设置输出文件名

(10)回到如图1T9所示的工程窗口中,选择Release版本,使用Edit|ReleaseSettings

菜单对Release版本进行参数设置,

(11)参照第(3)、(4)、(5)、(6)、(7)、(8)、(9)步在ReleaseSettings对

话框中设置Release版本的Post-linker、连接地址范围、入口模块和输出文件。

(12)回到如图IT9所示的工程窗口中,选择Targets选项卡,如图1-27所示。选中

DebugRel版本,按Del键将其删除。

图1-27删除DebugRel版本

(13)设置完成后,可以将该新建的空工程文件作为模板保存以便以后使用。将工程文

件名改为44B0ARMExecutable,mcpo然后在ADSL2软件安装目录下的Stationery目录下

新建名为44B0ARMExecutableImage的模板目录,再将刚设置完的44B0ARM

Executable.mcp工程模板文件存放到该目录下即可。这样以后新建工程的时候如图1-17所

授课:XXX

如果您需要使用本文档,请点击下我按钮下载!

示就能看到以

授课:XXX

如果您需要使用本文档,请点击下载按钮下载!

44B0ARMExecutableImage为名字的模板了。

图1-28显示44B0ARM模板

提示:

1)建议用户直接将光盘ADS实验下的Templale\ADS\Slalionery目录中的44B0ARM

ExecutableImage子目录直接拷贝到ADSL2安装目录下的Stationery目录中,这样也能

在图177所示的新建工程对话框中看到这个模板,其中有已经设置好的针对本开发板的参

数。这个模板设置为Scattered版本。

2)如果用户原来已安装了ARMSDT软件的话,再安装ADS1.2后可能导致ARMSDT不能正常

使用,需要用户更改系统环境变量:ARMINC设置为与ARMSDTPATH$\INCLUDE,ARMLIB设

置为%ARMSDTPATH%\LIB,其中%ARMSDTPATH%指ARMSDT的安装目录。

2.建立工程文件

配置好ARMADS针对UP-ARM3000的开发环境后,可以执行菜单ProjectAddFiles

把和工程相关的所有文件加入到工程中。ADSL2不能自动按文件类别对这些文件进行分类,

需要的话用户可以执行菜单Project|CreateGroup创建文件组,然后分别将不同类的文

件加入到不同的组,以方便管理。如图1-29所示。更为简单的办法是,在新建工程时ADS

创建了和工程同名的目录,在该目录下按类别创建子目录并存放工程文件。选中所有目录拖

动到任务栏上的ADS任务条上,不要松开鼠标当ADS窗口恢复后再拖动到工程文件窗口,松

开鼠标。这样ADS将以子目录名建立同名文件组并以此对文件分类。

这里我们把ADS版中开发环境实验中的in“和STARTUP两个目录拷贝到新建的工程目

录F,然后选中这两个目录,拖动到任务栏上的ADS任务条上,不要松开鼠标当ADS窗口恢

复后再拖动到工程文件窗口,松开鼠标。这样ADS将以init和STARTUP目录名建立同名文

件组并以此对文件分类。

授课:XXX

如果您需要使用本文档,请点击下载按钮下载!

File|CodeData|'

00

町44b.h00

.的44BINIT.S00

的BITOPS.H00

de£h00

..EXIO.c00

.EXIO.h00

•@ISB.c00

一组isr.h00

9~*|Main.c00

nMaro.h00

.memc£g.s00

..MyUart.c00

myuart.h00

.option.h00

组option.s00

-组UHAL.c00

…町uhal.h00

..LCD320.c00

BLCC320.h00

/C_1init00

26files0。/

图1-29加入工程文件

双击图1-29中的Main,c打开该文件,可以看到Ma打()函数的内容:

intmain(void)

(

ARMTargetlnitO;〃开发版初始化

LCD_Init();

LCDChangcModo(DspTxtModo);〃转换LCD显示模式为文本显示模式

LCD_Cls();〃文本模式下清屏命令

LCDprintf(^Helloworld!\n,z);//向液晶屏输出

Uart_Printf(^XnHelloworld!\nz,);〃向串口输出

while(l);

}

提示:

读者可以查看其他源文件的内容以对系统运行有所了解。可以发现ADS的文本编辑器己

经有了很大的改善,文本按语法分颜色显示,读者可以根据喜好在Edit菜单下的

Preferences窗口中进行设置。并可以很好的支持中文注释。

3进行程序的在线仿真、调试

(1)回到图1-29所示的工程窗口选中Debug版本,执行菜单Project|Make对工程进

行编译连接。在出现的错误/警告窗口中选择某错误/警告信息,ADS会自动打开相应源文件

并用箭头指向出错的文本行。如果某个源文件被修改,重新编译时ADS会自动同步各文件的

日期信息。

(2)在ADS中执行菜单Project|Debug启动ADSL2的调试工具AXD。

(3)在AXD中执行菜单Options|ConfigureTarget对AXD进行设置。如图1-30所示。

选择ADP即远程调试,点Configure按钮进一步设置具体参数,如图1-31所示。

授课:XXX

如果您需要使用本文档,请点击下载按钮下载!

图1-30设置AXD参数

(4)在图1-31中点Select按钮选择远程连接为ARMethernetdriver,点Configure

按钮输入仿真器的IP地址。如果用户使用的是并行口仿真器,请输入127.0.0.1即

可。

图1-31设置远程连接

(5)等待程序装载完毕以后,通过Execute|Go菜单以及Execute|Stop(或者工具

栏中的相应按钮)运行或暂停程序。程序暂停后在窗口中将显示出程序暂停的位置。

(6)通过Execute|Step菜单(或者工具栏中的相应按钮)可以单步运行程序。也可以

使用StepIn、StepOut菜单命令进入或者跳出函数的调用。RunToCursor命令运行到光

授课:XXX

如果您需要使用本文档,请点击下我按钮下载!

标位置。

授课:XXX

如果您需要使用本文档,请点击下载按钮下载!

(7)程序停止后可以通过ProcessorViewsSources菜单杳看源文件,并可在适当位置

按F9设置端点。

(8)使用在ProcessorView菜单下的Registers、Variables和Memory命令可以查看工

作寄存器或者内存变量。读者可以逐一地尝试,为以后调试程序打下基础。

提示:

在进行调试时在ADS中必须选择当前工程的Debug版本,如果选择Release版本则无法正常

调试程序。但在调试通过后就必须选择Release版本进行编译连接并将产生的system.bin

文件兔制到开发板的Flash中。将开发板上的Flash激活作为U盘使用的操作将在下节中描

述。

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

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

要求输入区号、电话号码等信息请随意输入,出现如图1-32所示对话框时,为所建超

级终端取名为arm,可以为其选一个图标。单击“确定”按钮。

图132创建超级终端

2、在接下来的对话框中选择ARM开发平台实际连接的PC机串口(如COM1),按确定后出现

如图1-33所示的属性对话框,设置通信的格式和协议。这里波特率为115200,数据位8,无

奇偶校验,停止位1,无数据流控制。按确定完成设置。

授课:XXX

如果您需要使用本文档,请点击下载按钮下载!

图1-33设置串行口

3、完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置保存

为一个特定超级终端到桌面上,以备后用。用串口线将PC机串口和平台UARTO正确连接后,

就可以在超级终端上看到程序输出的信息了,比如本实验的“Hell。world!”。

4、启动开发板,按住开发板上键盘的任意按键,使开发板进入BIOS设置状态。如图1-34

所示。

K9F2808Uisfound.

UP-NetRRH3000BootloaderVer3.D0*

COM:115.2kbps,8Bit,NP.UARTO

MBuildTime:2004-04-15withfiDS1.2M

«-----------------------------ShellMenu-------------------------------------.

f»FlashRomTools

W1»TestLCDW

No»FormatNandFlashToFATN

n»ShowandSetNetaddressM

*u»EnterUSBDisk

e»TestLED

k»EnterTestKeyModeM

Ms»TestTouchpadM

h»SetTouchpadMode

*a»EnterTestfiDCMode*

Wd»EnterTestDflMode

Mt»EnterRTCTestModeM

Mi»EnterAudioTestModeM

m»EnterMotorTestMode*

c»EnterCANbusTestMode

Wb»Bootdefaultsystem

图1-34系统的BIOS设置程序

5、该画面上提示了该BIOS的版本等信息。ShellMenu是平台的检测菜单,每个条目的

最左边字母是该功能的快捷键,按收机键盘相应键将执行对应功能。注意操作时保持超级

授课:XXX

如果您需要使用本文档,请点击下载按钮下载!

终端处于激活状态,并且PC机键盘必须为小写。

6、用户可以按超级终端的提示尝试部分测试功能,其中:

1:测试LCD的文本和图形显示。执行该命令后LCD上会打出文本提示,然后进入图形模式

并显示一幅彩色条形图案,然后在超级终端上看提示按任意键返I可文木模式,并退出LCD测

试返回测试菜单。

o:格式化开发平台的16MFLASH,其中的文件将丢失,需要重新拷贝。执行该命令后超

级终端上会出现确认提示,如果按“y”键则会格式化Flash,之后返回菜单。

n:设置开发平台网卡的IP地址,子网掩码等,下有子菜单。执行该命令后出现子菜单:

P:设置VAC地址,执行该命令后按提示操作

i:设置IP地址,执行该命令后按提示操作,请与所在局域网在同一网段

m:设置子网掩码,执行该命令后按提示操作

g:设置网关的IP地址,执行该命令后按提示操作

s:保存所设地址,设置完【P地址等后必须执行该命令保存设置,否则设置无效

d:设置默认地址

q:退出子菜单,返回到主菜单。

u:激活开发平台的USB连接,开发平台的Flash可以作为U盘

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论