ADS12開發(fā)環(huán)境配置_第1頁
ADS12開發(fā)環(huán)境配置_第2頁
ADS12開發(fā)環(huán)境配置_第3頁
ADS12開發(fā)環(huán)境配置_第4頁
ADS12開發(fā)環(huán)境配置_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實驗一ADSL2開發(fā)環(huán)境創(chuàng)建(2個學時)

一、實驗目的

熟悉ADSL2開發(fā)環(huán)境,學會ARM仿真器的使用。使用ADS編譯、下載、調試并跟蹤一

段已有的程序,了解嵌入式開發(fā)的基本思想和過程。超級終端設置及BIOS功能使用。

二、實驗內容

木次實驗配置ADS集成開發(fā)環(huán)境,新建一個簡單的工程文件,并編譯這個工程文件。學

習ARM仿真器的使用和開發(fā)環(huán)境的設置。下我已經(jīng)編譯好的文件到嵌入式控制器中運行。學

會在程序中設置斷點,觀察系統(tǒng)內存和變量,為調試應用程序打下基礎。運行Windows系統(tǒng)

下的超級終端,通過超級終端查看BIOS啟動情況。

三、預備知識

C語言的基礎知識、程序調試的基礎知識和方法。

四、實驗設備及工具(包括軟件調試工具)

硬件;ARM嵌入式開發(fā)平臺、用于ARM7TDMI的JTAG仿真器、PC機Pentium1()()以上、

串口線。

軟件:PC機操作系統(tǒng)聊in98、Win2000或WinXP、ARMSDT2.51或ADSL2集成開發(fā)環(huán)

境、仿真器驅動程序、超級終端通訊程序。

五、實驗步驟

1配置ADS集成開發(fā)環(huán)境

(1)運行ADSL2集成開發(fā)環(huán)境(CodeWarriorforARMDeveloperSuite)o選擇FileI

New…菜單,在對話框中選擇Project,如圖1T7所示,新建一個工程文件。圖中示

例的工程名為Exp6.mcp。點set…按鈕可為該工程選擇路徑如圖1T8所示,選中

CrcatFoldcr選項后將以圖1-17中的ProjcctManc或圖1T8中的文件名為名創(chuàng)建

目錄,這樣可以將所有與該工程相關的文件放到該工程目錄下,便于管理工程。

(2)在圖1T7中工程膜板列表中我們選擇ARMExecutableImage通用模板。我們隨后

將一步一步的把它配置成針對我們ARM3000開發(fā)板的模板44B0ARMExecutable

Imaage,并把它拷貝到ADSL2安裝目錄下的Stationery目錄中(所有的工程模板

都在此目錄下)。以后我們新建工程時,在工程模板列表中直接選中44B0ARM

ExecutableImaage模板選項,就不必每次重新配置模板了。

如果您需要使用本文檔,請點擊下載按鈕下載!

圖1-17新建工程

圖1-18保存工程

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

菜單對Debug版本進行參數(shù)設置。

圖1-19選擇版本

(3)在DebugSettings充話框中選擇TargetSettings項,如圖1-20所示。在PostTinker

一欄中選擇ARMfromELF,點擊右下角的Apply使其有效。

授課:XXX

如果您需要使用本文檔,請點擊下載按鈕下載!

圖1-20TargetSettings

(4)在DebugSettings對話框中選擇ARMLinker項,如圖1-21。在Output下的Linktype

中有三種類型的連接方式,我們常用的是Simple和Scattered兩種。Simple是一種簡單設

置如果程序需要用到標準C庫函數(shù)的話需要按Scattered進行連接地址的設置。若你用不

到標準C庫函數(shù)的話,請選擇Simple選項,并按照下邊的第(5)、(8)、(9)進行設置。

若你用到標準C庫函數(shù)的話,請選擇Scattered選項,并按照下邊的第(6)、(7)、(9)

進行設置。(5)在ARMLinker項的Output選項卡中,我們選擇Simple選項,如圖1-21所

示。在Simpleimage框中設置連接的Read-Only(只讀)和ReadTVrite(讀寫)地址。地址

0x0c080000是開發(fā)板上SDRAM的真實地址,是由系統(tǒng)的硬件決定的;0x0c200000指的是系

統(tǒng)可讀寫的內存地址。也就是說0x0c080000MxClfffff之間是只讀區(qū)域,存放程序的代碼

段,在0xC200000開始是程序的數(shù)據(jù)段。

圖1-21設置連接地址范圍

授課:XXX

如果您需要使用本文檔,請點擊下載按鈕下載!

(6)在ARMLinker項的Output選項卡中,我們選擇Scattered選項,如圖1-22所示.

標準C中如果使用malloc及其相關的函數(shù),需要使用系統(tǒng)的堆(Heap)空間,可以通過

scatter文件來描述系統(tǒng)HEAP段的位置。針對44B0開發(fā)板,把程序的入口定位在

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后,程序最開始首先執(zhí)行用匯編寫的初始化代碼一一包括中斷向量

和內存空間的初始化。在該段代碼中使用

IMPORT_main;(注意main前面是兩個下劃線)

B—main

進行系統(tǒng)內部的標準C函數(shù)初始化,然后調用用戶在C中定義的main。函數(shù)(注意:兩個main

都是小寫),并且在嵌入式應用中用戶C的main函數(shù)中不能有參數(shù)(intmain(void))o

2)不能有系統(tǒng)定義的軟中斷,在匯編中可以使用

IMPORT_use_no_semihosting_swi

來檢測,在C中使用

"pragmaimport(_use_no_semihosting_s\vi)//ensurenofunctionsthatuse

semihosting

scatter文件內容如下,創(chuàng)建了一個RALLOAD的程序利數(shù)據(jù)的裝載區(qū)域,起始地址

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中說明了這個裝載區(qū)域的劃分。

0xc7£ff00qgo系統(tǒng)的中斷向量表.存放系統(tǒng)口斷調用的位置.

I£R_START具體參考Hjoddrcss.c文件

ADDKE.SS

OxcYffOOO

;察度級甥的錢嚷空履間放表在羸STA逛CKS鱉第%菖從女0忑xC7青ff0恐00開褪始

STACKS

X

系統(tǒng)的堆空間放在皿ae騰使

?…鉀it讖

:即.。中,向高坨址

35AF

RAH第分.認nvwmnnn也玨于始.放目標文件的

該寫Crw)部分和沅部分。

RAM

OxcSOOOOO

R\M_EXEC

0x380000

圖1-23程序和數(shù)據(jù)裝我區(qū)域的劃分

4)定義retarget,c函數(shù),重新定位標準C庫中stdio的一些相關函數(shù)。主要有:

struct_FILE{inthandle;/*Addwhateveryouneedhere*/};

FILE_stdout;〃文件的定義

intfputc(intch,FILE*f)//fputc函數(shù)

intferror(FILE*f)//ferror函數(shù)

voidsysexit(intreturncode)//系統(tǒng)退出函數(shù)

voidttvwrch(intch)

授課:XXX

如果您需要使用本文檔,請點擊下載按鈕下載!

_valueinregsstruct_initialstackheap

_user_inilial_slackheap(unsignedRO,unsignedSP,unsignedR2,unsignedSI.)

〃用戶的堆空間和棧空間函數(shù)

具體定義,可以參考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按鈕,出現(xiàn)Layout選項

卡(在對release版本進行設置時,不用點擊Factorysetting按鈕)。在Layout詵項卡

的Placealbeginningofimage框中設置程序的入口模塊。指定在生成的代碼中,程序是

從44binit.s開始運行的,Object設為44binit.o,section設為init。

授課:XXX

如果您需要使用本文檔,請點擊下載按鈕下載!

圖1-25設置入口模塊

(9)在DebugSettings對話框中選擇ARMfromELF項,如圖1-26。在Outputfilename

框中設置輸出文件名為systcm.bin,這就是要下載到開發(fā)板的嵌入式應用程序文件。

圖1-26設置輸出文件名

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

菜單對Release版本進行參數(shù)設置,

(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所示的新建工程對話框中看到這個模板,其中有已經(jīng)設置好的針對本開發(fā)板的參

數(shù)。這個模板設置為Scattered版本。

2)如果用戶原來已安裝了ARMSDT軟件的話,再安裝ADS1.2后可能導致ARMSDT不能正常

使用,需要用戶更改系統(tǒng)環(huán)境變量:ARMINC設置為與ARMSDTPATH$\INCLUDE,ARMLIB設

置為%ARMSDTPATH%\LIB,其中%ARMSDTPATH%指ARMSDT的安裝目錄。

2.建立工程文件

配置好ARMADS針對UP-ARM3000的開發(fā)環(huán)境后,可以執(zhí)行菜單ProjectAddFiles

把和工程相關的所有文件加入到工程中。ADSL2不能自動按文件類別對這些文件進行分類,

需要的話用戶可以執(zhí)行菜單Project|CreateGroup創(chuàng)建文件組,然后分別將不同類的文

件加入到不同的組,以方便管理。如圖1-29所示。更為簡單的辦法是,在新建工程時ADS

創(chuàng)建了和工程同名的目錄,在該目錄下按類別創(chuàng)建子目錄并存放工程文件。選中所有目錄拖

動到任務欄上的ADS任務條上,不要松開鼠標當ADS窗口恢復后再拖動到工程文件窗口,松

開鼠標。這樣ADS將以子目錄名建立同名文件組并以此對文件分類。

這里我們把ADS版中開發(fā)環(huán)境實驗中的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打()函數(shù)的內容:

intmain(void)

(

ARMTargetlnitO;〃開發(fā)版初始化

LCD_Init();

LCDChangcModo(DspTxtModo);〃轉換LCD顯示模式為文本顯示模式

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

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

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

while(l);

}

提示:

讀者可以查看其他源文件的內容以對系統(tǒng)運行有所了解??梢园l(fā)現(xiàn)ADS的文本編輯器己

經(jīng)有了很大的改善,文本按語法分顏色顯示,讀者可以根據(jù)喜好在Edit菜單下的

Preferences窗口中進行設置。并可以很好的支持中文注釋。

3進行程序的在線仿真、調試

(1)回到圖1-29所示的工程窗口選中Debug版本,執(zhí)行菜單Project|Make對工程進

行編譯連接。在出現(xiàn)的錯誤/警告窗口中選擇某錯誤/警告信息,ADS會自動打開相應源文件

并用箭頭指向出錯的文本行。如果某個源文件被修改,重新編譯時ADS會自動同步各文件的

日期信息。

(2)在ADS中執(zhí)行菜單Project|Debug啟動ADSL2的調試工具AXD。

(3)在AXD中執(zhí)行菜單Options|ConfigureTarget對AXD進行設置。如圖1-30所示。

選擇ADP即遠程調試,點Configure按鈕進一步設置具體參數(shù),如圖1-31所示。

授課:XXX

如果您需要使用本文檔,請點擊下載按鈕下載!

圖1-30設置AXD參數(shù)

(4)在圖1-31中點Select按鈕選擇遠程連接為ARMethernetdriver,點Configure

按鈕輸入仿真器的IP地址。如果用戶使用的是并行口仿真器,請輸入127.0.0.1即

可。

圖1-31設置遠程連接

(5)等待程序裝載完畢以后,通過Execute|Go菜單以及Execute|Stop(或者工具

欄中的相應按鈕)運行或暫停程序。程序暫停后在窗口中將顯示出程序暫停的位置。

(6)通過Execute|Step菜單(或者工具欄中的相應按鈕)可以單步運行程序。也可以

使用StepIn、StepOut菜單命令進入或者跳出函數(shù)的調用。RunToCursor命令運行到光

授課:XXX

如果您需要使用本文檔,請點擊下我按鈕下載!

標位置。

授課:XXX

如果您需要使用本文檔,請點擊下載按鈕下載!

(7)程序停止后可以通過ProcessorViewsSources菜單杳看源文件,并可在適當位置

按F9設置端點。

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

作寄存器或者內存變量。讀者可以逐一地嘗試,為以后調試程序打下基礎。

提示:

在進行調試時在ADS中必須選擇當前工程的Debug版本,如果選擇Release版本則無法正常

調試程序。但在調試通過后就必須選擇Release版本進行編譯連接并將產生的system.bin

文件兔制到開發(fā)板的Flash中。將開發(fā)板上的Flash激活作為U盤使用的操作將在下節(jié)中描

述。

4超級終端設置及BIOS功能使用

1運行Windows系統(tǒng)下的超級終端(HyperTerminal)應用程序,新建一個通信終端。如果

要求輸入?yún)^(qū)號、電話號碼等信息請隨意輸入,出現(xiàn)如圖1-32所示對話框時,為所建超

級終端取名為arm,可以為其選一個圖標。單擊“確定”按鈕。

圖132創(chuàng)建超級終端

2、在接下來的對話框中選擇ARM開發(fā)平臺實際連接的PC機串口(如COM1),按確定后出現(xiàn)

如圖1-33所示的屬性對話框,設置通信的格式和協(xié)議。這里波特率為115200,數(shù)據(jù)位8,無

奇偶校驗,停止位1,無數(shù)據(jù)流控制。按確定完成設置。

授課:XXX

如果您需要使用本文檔,請點擊下載按鈕下載!

圖1-33設置串行口

3、完成新建超級終端的設置以后,可以選擇超級終端文件菜單中的保存,將當前設置保存

為一個特定超級終端到桌面上,以備后用。用串口線將PC機串口和平臺UARTO正確連接后,

就可以在超級終端上看到程序輸出的信息了,比如本實驗的“Hell。world!”。

4、啟動開發(fā)板,按住開發(fā)板上鍵盤的任意按鍵,使開發(fā)板進入BIOS設置狀態(tài)。如圖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系統(tǒng)的BIOS設置程序

5、該畫面上提示了該BIOS的版本等信息。ShellMenu是平臺的檢測菜單,每個條目的

最左邊字母是該功能的快捷鍵,按收機鍵盤相應鍵將執(zhí)行對應功能。注意操作時保持超級

授課:XXX

如果您需要使用本文檔,請點擊下載按鈕下載!

終端處于激活狀態(tài),并且PC機鍵盤必須為小寫。

6、用戶可以按超級終端的提示嘗試部分測試功能,其中:

1:測試LCD的文本和圖形顯示。執(zhí)行該命令后LCD上會打出文本提示,然后進入圖形模式

并顯示一幅彩色條形圖案,然后在超級終端上看提示按任意鍵返I可文木模式,并退出LCD測

試返回測試菜單。

o:格式化開發(fā)平臺的16MFLASH,其中的文件將丟失,需要重新拷貝。執(zhí)行該命令后超

級終端上會出現(xiàn)確認提示,如果按“y”鍵則會格式化Flash,之后返回菜單。

n:設置開發(fā)平臺網(wǎng)卡的IP地址,子網(wǎng)掩碼等,下有子菜單。執(zhí)行該命令后出現(xiàn)子菜單:

P:設置VAC地址,執(zhí)行該命令后按提示操作

i:設置IP地址,執(zhí)行該命令后按提示操作,請與所在局域網(wǎng)在同一網(wǎng)段

m:設置子網(wǎng)掩碼,執(zhí)行該命令后按提示操作

g:設置網(wǎng)關的IP地址,執(zhí)行該命令后按提示操作

s:保存所設地址,設置完【P地址等后必須執(zhí)行該命令保存設置,否則設置無效

d:設置默認地址

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

u:激活開發(fā)平臺的USB連接,開發(fā)平臺的Flash可以作為U盤

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論