免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
ARM SDT 2.5開(kāi)發(fā)環(huán)境

五、步驟

1.建立工程文件

(1)運(yùn)行ARM SDT 2.5集成開(kāi)發(fā)環(huán)境(ARM ProjectManager)。選擇File|New命令,在對(duì)話框中選擇Project選項(xiàng)卡,單擊“確定”按鈕后彈出NewProject對(duì)話框,如圖1-1所示,Type為工程模板類型,這里選擇ARM ExecutableImage,然后輸入工程名和所在路徑。單擊OK按鈕后新建一個(gè)工程文件。
(2)在新建的工程中,如圖1-2所示,選中工程樹(shù)的“根部”。使用命令Project|Tool Configuration for work1.apj|<asm> = armasm|Set,對(duì)整個(gè)工程的匯編進(jìn)行設(shè)置。

   圖1-1  新建一個(gè)工程文件       
圖1-2  對(duì)整個(gè)工程的匯編進(jìn)行設(shè)置  
(3)因?yàn)殚_(kāi)發(fā)板上的嵌入式處理器ARM7TDMI沒(méi)有浮點(diǎn)處理器,所以,如圖1-3所示,在彈出的對(duì)話框中設(shè)置Floating Point Processor為none,并保持其他的設(shè)置不變。
(4)選中工程樹(shù)的“根部”,通過(guò)Project|Tool Configuration for work1.apj|asmlink|Set命令,對(duì)整個(gè)工程的連接方式進(jìn)行設(shè)置。
(5)在彈出的對(duì)話框中,打開(kāi)Entry andBase選項(xiàng)卡,如圖1-4所示,設(shè)置連接的Read-Only(只讀)和Read-Write(讀寫(xiě))地址。地址0x0c080000是開(kāi)發(fā)板上SDRAM的真實(shí)地址,是由系統(tǒng)的硬件決定的;0x0c200000指的是系統(tǒng)可讀寫(xiě)的內(nèi)存地址。也就是說(shuō),在0x0c080000~0x0c1fffff之間是只讀區(qū)域,存放程序的代碼段,從0x0c200000開(kāi)始是程序的數(shù)據(jù)段。
  圖1-3  設(shè)置Floating Point Processor為none 
圖1-4  設(shè)置連接的地址     

 
提示:用戶可以修改這兩個(gè)數(shù)值來(lái)決定程序存儲(chǔ)區(qū)的大小和數(shù)據(jù)存儲(chǔ)區(qū)的大小。但應(yīng)注意SDRAM為8MB,地址范圍為0x0c000000~0x0c7fffff。其中0x0c080000之前的空間是留給LCD顯示緩存區(qū)的。
(6)打開(kāi)LinkerConfiguration對(duì)話框中的ImageLayout選項(xiàng)卡,如圖1-5所示,設(shè)置程序的入口模塊。指定在生成的代碼中,程序是從44binit.s開(kāi)始運(yùn)行的,這里填寫(xiě)44binit.s對(duì)應(yīng)的目標(biāo)文件44binit.o,Init是該匯編文件中的代碼段名字。
(7)選擇Project|Edit Project Template命令,系統(tǒng)彈出Project TemplateEditor對(duì)話框。在該對(duì)話框中可以看到一系列步驟名稱。SDT在處理工程文件時(shí)是按這些步驟完成的,每個(gè)步驟設(shè)定了對(duì)應(yīng)的操作,以及該操作的輸入、輸出和命令行等。讀者可以選擇已有的步驟,單擊Edit按鈕打開(kāi)該步驟設(shè)置對(duì)話框,觀察每個(gè)步驟所實(shí)現(xiàn)的功能。例如:步驟Compile是把.c和.h文件編譯成.o文件的,而步驟Link則就是把.o文件和.alf文件連接生成.axf文件的。在這些步驟中的設(shè)置建議保留默認(rèn)值。但這里缺少一個(gè)從.axf文件生成所需的.bin文件的步驟,所以使用New按鈕,為編譯器新建一個(gè)步驟,如圖1-6所示,取名為RomImage。

  圖1-5  設(shè)置程序的入口模塊  
圖1-6  為編譯器新建一個(gè)步驟
(8)按照如圖1-7的內(nèi)容設(shè)置步驟RomImage的內(nèi)容。使編譯器編譯的時(shí)候可以生成system.bin文件,這就是系統(tǒng)的可執(zhí)行文件??梢钥闯鲈摬僮鞯妮斎胧钱?dāng)前工程的.axf文件,所在位置是Image,輸出是system.bin,位置在Eprom,操作由fromelf組件完成,命令行是fromelf -nozeropad <$projectname>.axf -binsystem.bin。這里的Image和Eprom可以在設(shè)置好后的工程窗口中看到。步驟名稱和輸出位置名稱并不要求一致。
提示:在文本框中輸入文字后必須單擊Add按鈕添加到上方列表框中,否則單擊OK按鈕后該設(shè)置信息丟失。
(9)選擇Project|Edit Variables for work1.apj命令,系統(tǒng)彈出Edit Variables forwork1.apj對(duì)話框。列表框中是該工程的一些變量,讀者也可以選擇某個(gè)變量名,在Value文本框中可以看到其值。$ProjectName變量設(shè)置的是工程名,可以和工程文件的文件名不一致,Image下的.axf文件將以此命名。這里注意一下變量config$armlink的值,應(yīng)該是-info.total#total -ro-base#0xc080000 -rw-base#0xc200000-first#44binit.o(init),和前面對(duì)armlink的設(shè)置一致。而變量config$asm的值是-fpu#none。這里需要將build_target變量的值設(shè)為system.bin,編譯器在生成此文件后步驟執(zhí)行完畢,如圖1-8所示。
提示:選擇某個(gè)變量并更改其值后,必須單擊Apply按鈕使其生效,如果更改完畢后又選擇其他變量,則該設(shè)置將無(wú)效。
    圖1-7  設(shè)置RomImage的內(nèi)容  
圖1-8  設(shè)置build_target變量

(10)選中工程樹(shù)中的DebugRel子樹(shù),按Delete鍵刪除。
提示:在系統(tǒng)工程樹(shù)中Debug子樹(shù)是應(yīng)用程序的調(diào)試版本,在生成的目標(biāo)代碼中,包含了系統(tǒng)的調(diào)試信息。Release子樹(shù)是應(yīng)用程序的發(fā)行版本,生成的代碼中不包括調(diào)試信息,而且編譯器還針對(duì)速度和代碼的大小進(jìn)行優(yōu)化。DebugRel子樹(shù)是一個(gè)折衷版本,通常用不到,所以,在這里刪除。
(11)回到Project Template Editor對(duì)話框中,單擊EditDetail按鈕,在彈出的對(duì)話框中可以重新命名模板,如圖1-9所示。重新命名模板后可以保存該工程,并把該空工程(還沒(méi)有添加工程文件)復(fù)制到SDT安裝路徑下的Template目錄下,下次新建工程時(shí)可以在NewProject對(duì)話框中的Type列表框中看到該模板,使用該模板無(wú)需重新設(shè)置工程參數(shù)。
(12)至此,工程文件設(shè)置完畢。包括對(duì)armlink和armasm的參數(shù)設(shè)置,新建生成system.bin文件的編譯步驟和對(duì)應(yīng)變量。建議將該設(shè)置后的工程文件作為模板保存,以方便日后使用。同時(shí)注意上文關(guān)于操作的提示,以前多數(shù)用戶建立模板失敗的原因可能就在于操作上的失誤。

(13)把光盤(pán)中SDT實(shí)驗(yàn)所在目錄中的“1-開(kāi)發(fā)環(huán)境實(shí)驗(yàn)”下的STARTUP目錄復(fù)制到工程路徑下。如圖1-10所示,選中工程樹(shù)中Debug子樹(shù)的Sources選項(xiàng)。通過(guò)Project|Add Files to

Sources命令,把STARTUP目錄下的*.S和*.c文件加入到工程中。

   圖1-9  重新命名模板
圖1-10  加入工程的源文件 

(14)選中工程樹(shù)中Debug子樹(shù)的IncludedFiles選項(xiàng)。通過(guò)Project|Add Files to IncludedFiles命令,把STARTUP目錄下的所有*.h文件都加入工程中。
(15)在需要用到庫(kù)文件的工程中,選中工程樹(shù)中Debug子樹(shù)的Libraries選項(xiàng)。通過(guò)Project|Add Files to Libraries命令,把*.ALF庫(kù)文件加入工程中。
(16)雙擊工程樹(shù)中Debug子樹(shù)的Sources選項(xiàng)中的main.c,打開(kāi)main.c文件。下面是Main()函數(shù)中的內(nèi)容,程序向LCD和串口輸出字符串“Hello world!”。

int Main(int  argc, char **argv){ARMTargetInit();LCD_Init();LCD_ChangeMode(DspTxtMode); //轉(zhuǎn)換LCD顯示模式為文本顯示模式LCD_Cls();//文本模式下清屏命令LCD_printf("Hello  world!\n"); //向液晶屏輸出Uart_Printf("\nHello  world!\n"); //向串口輸出while(1);} 

讀者可以分別打開(kāi)其他的源文件,了解該系統(tǒng)運(yùn)行的基本知識(shí)。這個(gè)程序沒(méi)有用到操作系統(tǒng),只是簡(jiǎn)單地說(shuō)明工程的開(kāi)發(fā)過(guò)程,帶有操作系統(tǒng)的實(shí)驗(yàn)將在“μC/OS-II在ARM處理器上的移植及編譯”實(shí)驗(yàn)之后出現(xiàn)。

2.進(jìn)行程序的在線仿真、調(diào)試

(1)回到ARM Project Manager對(duì)話框,選中工程樹(shù)中的Debug子樹(shù),通過(guò)Project |
Build work1.apj“Debug”命令(或者工具欄中的相應(yīng)按鈕)編譯整個(gè)工程。
(2)把ARM的JTAG仿真器連接到PC機(jī)的并行口和開(kāi)發(fā)板上,打開(kāi)開(kāi)發(fā)板的電源,運(yùn)行仿真器的驅(qū)動(dòng)程序UarmJTAG.exe。
(3)使用Project|Debug work1.apj“Debug”命令(或者工具欄中的相應(yīng)按鈕)啟動(dòng)ARM Debugger軟件調(diào)試程序。
(4)在ARM Debugger中,通過(guò)Options|Configure Debugger命令設(shè)置仿真器。如圖1-11所示,在彈出的對(duì)話框中,設(shè)置Target Environment為Remote_A。
(5)單擊Configure按鈕,按照如圖1-12所示,設(shè)置仿真器。

圖1-11  設(shè)置仿真器
圖1-12  設(shè)置仿真器

(6)出現(xiàn)下面的提示信息以后,單擊“是”按鈕,ARM Debugger開(kāi)始通過(guò)仿真器裝載程序,如圖1-13所示。

圖1-13  裝載程序
注意:第(4)、(5)步設(shè)置好后,以后再調(diào)試的時(shí)候直接進(jìn)行到第(6)步,不需要再設(shè)置。當(dāng)不能進(jìn)行第(6)步時(shí),重復(fù)第(4)和第(5)步。
(7)裝載完畢以后,通過(guò)Execute|Go命令(或者工具欄中的相應(yīng)按鈕)運(yùn)行程序。
(8)當(dāng)程序運(yùn)行時(shí),可以使用Execute|Stop命令(或者工具欄中的相應(yīng)按鈕)暫停程序的運(yùn)行。如圖1-14所示,在Execute窗口中將顯示出程序暫停的位置。
圖1-14  顯示程序暫停的位置

(9)通過(guò)Execute|Step命令(或者工具欄中的相應(yīng)按鈕)可以單步運(yùn)行程序。也可以使用Step In、Step Out命令進(jìn)入或者跳出函數(shù)的調(diào)用。
(10)在程序停止運(yùn)行的時(shí)候,選擇View|Source Files命令,可以打開(kāi)如圖1-15所示的源程序列表窗口,雙擊列表中的文件名可以查看相應(yīng)的源文件。
注意:查看源文件時(shí),有時(shí)可能會(huì)出現(xiàn)看不到自己的源文件的情況,這時(shí)要將工程重新強(qiáng)制編譯一下。
(11)在源文件列表中打開(kāi)main.c文件。選擇源文件中的某一行,單擊鼠標(biāo)右鍵,如圖1-16所示,用Toggle Breakpoint命令可以設(shè)置斷點(diǎn),使程序運(yùn)行到這里停下來(lái)。
(12)使用在View菜單下的Registers、Variables和Memory命令可以查看工作寄存器或者內(nèi)存變量。讀者可以逐一地嘗試,為以后調(diào)試程序打下基礎(chǔ)。

圖1-15  查看源文件 
  圖1-16  設(shè)置斷點(diǎn)  

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ARM開(kāi)發(fā)調(diào)試教程(轉(zhuǎn)貼)
信息技術(shù)培訓(xùn)講稿
讓Office在“宏”命令下暢通運(yùn)行
FileTool.exe 替換 Visual C++ 的
這幾種特殊的Excel啟動(dòng)方式,你還真不一定都知道
Gambas與Visual Basic的區(qū)別
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服