




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第 2 2 章章 ADS集成開發(fā)環(huán)境及 程序下載具體流程 裸機(jī)開發(fā)環(huán)境: n何謂“裸機(jī)”? 裸機(jī)是指無操作系統(tǒng)下的ARM系統(tǒng)開發(fā) 其特點(diǎn)是所有硬件資源均開放 可以把它理解為一個(gè)高級(jí)單片機(jī)的開發(fā) n裸機(jī)開發(fā)的作用 更能深入地從底層去理解ARM CPU的操作過程及系統(tǒng) 設(shè)計(jì) 為日后自行設(shè)計(jì)系統(tǒng)打下基礎(chǔ) 為bootloader的編寫打好基礎(chǔ) 2.1 ADS 1.2集成開發(fā)環(huán)境簡(jiǎn)介 n ARM應(yīng)用軟件的開發(fā)工具根據(jù)功能的不同,可 以分為編輯軟件、編譯軟件、匯編軟件、鏈接軟 件、調(diào)試軟件、嵌入式實(shí)時(shí)操作系統(tǒng)、函數(shù)庫、 評(píng)估板,JTAG仿真器以及在線仿真器等。 n 目前有多家公司可以提供以上不同類型的開
2、發(fā) 工具,用戶采用ARM處理器進(jìn)行嵌入式系統(tǒng)開發(fā) 時(shí),選擇合適的開發(fā)工具可以加快開發(fā)進(jìn)度,節(jié) 省開發(fā)成本。 名稱描述使用方式 代碼生成工具 ARM匯編器 ARM C/C+編譯器 Thumb C/C+編譯器 ARM 鏈接器 由Code Warrior調(diào)用 集成開發(fā)環(huán)境Code Warrior工程管理,編譯鏈接 調(diào)試器AXD在線仿真調(diào)試 指令模擬器ARMulator由AXD調(diào)用 ARM開發(fā)包 一些底層的例程,實(shí)用程序(如 fromELF) 由Code Warrior調(diào)用 ARM應(yīng)用庫C/C+等函數(shù)庫用戶程序調(diào)用 ADS 1.2 ADS 1.2 集成開發(fā)環(huán)境部分組件集成開發(fā)環(huán)境部分組件 2.1.1
3、Code Warrior for ARM開發(fā)環(huán)境 CodeWarrior 集成開發(fā)環(huán)境(IDE)為管理和開發(fā)項(xiàng) 目提供了簡(jiǎn)單多樣化的圖形用戶界面。 用戶可以使用 ADS 的CodeWarrior IDE 為ARM 和Thumb 處理器開 發(fā)用C,C+,或ARM匯編語言的程序代碼。通過提 供下面的功能,CodeWarrior IDE 縮短了用戶開發(fā)項(xiàng) 目代碼的周期。 2.1.2 AXD調(diào)試器的啟動(dòng) n 在軟件開發(fā)的最初階段,可能還沒有具體的硬件設(shè)備。 如果要測(cè)試所開發(fā)的軟件是否達(dá)到了預(yù)期的效果,這可以 由軟件仿真來完成。 n 當(dāng)然,也可以搭建一個(gè)PCB板,這個(gè)板上可以包含一個(gè) 或多個(gè)處理器,在這
4、個(gè)板上可以運(yùn)行和調(diào)試應(yīng)用軟件。 n 只有當(dāng)通過硬件或者是軟件仿真所得到的結(jié)果達(dá)到了預(yù) 期的效果,才算是完成了應(yīng)用程序的編寫工作。 n調(diào)試器能夠發(fā)送以下指令:調(diào)試器能夠發(fā)送以下指令: 裝載映像文件到目標(biāo)內(nèi)存; 啟動(dòng)或停止程序的執(zhí)行; 顯示內(nèi)存,寄存器或變量的值; 允許用戶改變存儲(chǔ)的變量值。 nAXD調(diào)試器支持單步、全速、執(zhí)行到光標(biāo)處、斷 點(diǎn)等調(diào)試功能。 啟動(dòng)AXD調(diào)試器的方法: n單擊“開始程序ARM Developer SuiteV1.2AXD Debugger調(diào)試器”,如圖 2.2 2.2 工程的編輯與修改工程的編輯與修改 2.2.1 2.2.1 建立一個(gè)新工程建立一個(gè)新工程 2.2.1 2
5、.2.1 使用使用ADSADS創(chuàng)建工程創(chuàng)建工程 在CodeWarrior 中新建一個(gè)工程的方法有兩種,可以在工具欄中單 擊“New ”按鈕,也可以在“File”菜單中選擇“New ”菜單。這樣 就會(huì)打開一個(gè)如圖2.1 所示的對(duì)話框。 在這里選擇ARM Executable Image,在“Project name:”中輸入 工程文件名,本例為“TQ2440_Test”,點(diǎn)擊“Location:”文本框的 “Set”按鈕,瀏覽選擇想要將該工程保存的路徑,將這些設(shè)置好后, 點(diǎn)擊“確定”,即可建立一個(gè)新的名為TQ2440_Test的工程。 這個(gè)時(shí)候會(huì)出現(xiàn)TQ2440_Test.mcp 的窗口,如圖所
6、示, 有三個(gè)標(biāo)簽頁,分別為files,link order,targets 默認(rèn)的是顯示 第一個(gè)標(biāo)簽頁 files。通過在該標(biāo)簽頁點(diǎn)擊鼠標(biāo)右鍵,選中 “Add Files”可以把要用到的源程序添加到工程中。 這個(gè)時(shí)候會(huì)出現(xiàn)TQ2440_Test.mcp 的窗口,如圖所示,有三個(gè)標(biāo)簽 頁,分別為files,link order,target 默認(rèn)的是顯示第一個(gè)標(biāo)簽頁 files。通過 在該標(biāo)簽頁點(diǎn)擊鼠標(biāo)右鍵,選中“Add Files”可以把要用到的源程序 添加到工程中。 2.2.2 2.2.2 添加源文件添加源文件 在建立好一個(gè)工程時(shí),默認(rèn)的target 是DebugRel, 還有 另外兩個(gè)可用
7、的target,分別為Realse 和Debug,這三個(gè) target 的含義分別為: DebugRel :使用該目標(biāo),在生成目標(biāo)的時(shí)候,會(huì)為每一 個(gè)源文件生成調(diào)試信息; Debug :使用該目標(biāo)為每一個(gè)源文件生成最完全的調(diào)試 信息; Release:使用該目標(biāo)不會(huì)生成任何調(diào)試信息。 注:若項(xiàng)目編譯只是為 了調(diào)試使用,則選擇 Debug或者DebugRel; 若要生成最后可以運(yùn)行 的文件,則最好選擇 Release。 添加源文件到工程 編譯鏈接編譯鏈接 n進(jìn)入編譯鏈接設(shè)置: 點(diǎn)擊點(diǎn)擊Edit Edit 菜單,選擇菜單,選擇“DebugRel Settings”DebugRel Settings
8、”, 出現(xiàn)如圖所示的對(duì)話框。出現(xiàn)如圖所示的對(duì)話框。 主要包括:主要包括: 1. target 1. target 設(shè)置選項(xiàng)設(shè)置選項(xiàng) 2.Language Settings 2.Language Settings 3. Linker 3. Linker 設(shè)置設(shè)置 n 在Targets Settings選項(xiàng)組中,Post-Linker用于選擇鏈 接器輸出文件的處理方式。用戶可以選擇的值如下: None:不進(jìn)行連接的處理。 ARM fromELF:使用ARM工具fromELF處理鏈接器輸出的 ELF格式文件,它可以將ELF格式的文件轉(zhuǎn)換為各種二進(jìn)制 文件格式。 Batch File Runner:在
9、連接完成后運(yùn)行一個(gè)DOS格式的批處 理文件。 n 若用戶在編譯完成后只是用AXD來調(diào)試程序,建議選擇 None;若要生成最后的編程文件,建議選擇ARM fromELF, 該選項(xiàng)與Linker面板中的ARM fromELF選項(xiàng)結(jié)合來產(chǎn)生最終 的編程文件。 nCPU設(shè)置: nLinker設(shè)置: n 在標(biāo)簽頁 Output 中,Linktype 中提供了 3 種鏈接方式: Partia :表示鏈接器只進(jìn)行部分鏈接,經(jīng)過部分鏈接生成的 目標(biāo)文件,可以作為以后進(jìn)一步鏈接時(shí)的輸入文件。 Simple :默認(rèn)的鏈接方式,也是使用最為頻繁的鏈接方式, 它鏈接生成簡(jiǎn)單的 ELF 格式的目標(biāo)文件,使用的是鏈接器選
10、 項(xiàng)中指定的地址映射方式。 Scattered :使得鏈接器要根據(jù) scatter 格式文件中指定的地 址映射,生成復(fù)雜的 ELF 格式的映像文件。一般情況下這個(gè) 選項(xiàng)使用不太多。 n 在選中 Simple 方式后,就會(huì)出現(xiàn) Simple image。 R0 Base:這個(gè)文本框設(shè)置包含有 R0 段的加載域和運(yùn)行域 為同一個(gè)地址,默認(rèn)是 0 x30000000。這里用戶要根據(jù)硬 件的實(shí)際 SDRAM 的地址空間來修改這個(gè)地址,保證在這 里填寫的地址是程序運(yùn)行時(shí) SDRAM 地址空間所能覆蓋的 地址。 RW Base:這個(gè)文本框設(shè)置包含 RW 和 ZI 輸出段的運(yùn)行域 地址。 n 在 Optio
11、ns 選項(xiàng)中,需要注意的是 Image entry point 文本框。它指定映像文件的初始入口點(diǎn)地址值,當(dāng)映 像文件被加載程序加載時(shí),加載程序會(huì)跳轉(zhuǎn)到該地址處執(zhí)行。 如果需要,用戶可以在這個(gè)文本框中輸入下面格式的入口點(diǎn)。 n 入口點(diǎn)地址:這是一個(gè)數(shù)值,例如-entry 0 x0。 n 符號(hào):該選項(xiàng)指定映像文件的入口點(diǎn)為該符號(hào)所代表的 地址處。比如:-entry int_handler。 n 在此處指定的入口點(diǎn)用于設(shè)置 ELF 映像文件的入口地址。 需要注意的是,這 里不可以用符號(hào) main 作為入口點(diǎn)地 址符號(hào),否則將會(huì)出現(xiàn)“Image dose not have an entry poin
12、t(Not specified or not set due to multiple choice)”的出 錯(cuò)信息。 n Layout選項(xiàng)在連接方式為Simple時(shí)有效,用來安排一些輸入 段在映像文件中的位置。在上圖中,Place at Beginning of Image選項(xiàng) 用于指定某個(gè)輸入段放置在它所在的運(yùn)行時(shí)域的開頭。 在 Output file name 文本域輸入期望生成的輸出文件存放的路徑,或通 過點(diǎn)擊 Choose.按鈕從文件對(duì)話框中選擇輸出文件路徑。如果在這個(gè)文 本域不輸入路徑名,則生成的二進(jìn)制文件存放在工程所在的目錄下。 n 在 Output format 下拉框中,為用戶
13、提供了多種可以轉(zhuǎn)換的目標(biāo) 格式,這里選擇 Plain binary,這是一個(gè)二進(jìn)制格式的可執(zhí)行文件,可 以被燒寫在目標(biāo)板的 Flash中。 2.2.3 編譯與鏈接工程 nDebugRel Settings:設(shè)置工程的屬性,如設(shè)置鏈 接地址、輸出文件的格式、編譯選項(xiàng)等。 nMake:編譯、鏈接 nDebug:?jiǎn)?dòng)AXD調(diào)試器 點(diǎn)擊CodeWarrior IDE 的菜單Project 下的make 菜 單,就可以對(duì)工程進(jìn)行編譯和鏈接了。 2.3 工程的調(diào)試 2.3.1. 裝載映像文件 在菜單File 中選擇“Load image”選項(xiàng),打開Load Image 對(duì)話框,找到要裝載的.axf 映像文
14、件,點(diǎn)擊“打開”按鈕, 就把映像文件裝載到目標(biāo)內(nèi)存中了。 n第一次打開AXD調(diào)試器,需要設(shè)置: n點(diǎn)擊ADX窗口菜單【Options】選擇【Configure Target】,即彈出Choose Target 窗口,在沒有添加其它 仿真驅(qū)動(dòng)程序前,Target 項(xiàng)中沒有ARMUL(軟件仿真)項(xiàng)。 n單擊“Add”按鈕,在文件目錄下加載“D:Program FilesARMADSv1_2Bin”文件夾下的ARMulate.dll文件 n點(diǎn)擊“Configure”按鈕,在“Variant”的下拉列表框中選 擇“ARM920T” n調(diào)試工具條,從左到右依次為:調(diào)試工具條,從左到右依次為: 全速運(yùn)行(
15、Go) 停止運(yùn)行(Stop) 單步運(yùn)行(Step In),與Step 命令不同之處在于對(duì)函數(shù) 調(diào)用語句,Step In 命令將進(jìn)入該函數(shù)。 單步運(yùn)行(Step),每次執(zhí)行一條語句,這時(shí)函數(shù)調(diào)用 將被作為一條語句執(zhí)行。 單步運(yùn)行(Step Out),執(zhí)行完當(dāng)前被調(diào)用的函數(shù),停 止在函數(shù)調(diào)用的下一條語句。 運(yùn)行到光標(biāo)(Run To Cursor),運(yùn)行程序直到當(dāng)前光標(biāo) 所在行時(shí)停止。 設(shè)置斷點(diǎn)(Toggle BreakPoint) 2.3.2 調(diào)試工具條的使用 n調(diào)試觀察窗口工具條,從左到右依次為: 打開寄存器窗口(Processor Registers) 打開觀察窗口(Processor Wat
16、ch) 打開變量觀察窗口(Context Variable) 打開堆棧觀察窗口(Back Trace) 打開存儲(chǔ)器觀察窗口(Memory) 打開反匯編窗口(Disassembly) 2.4 H-JTAG的安裝與調(diào)試 nTQ2440既支持從Nor Flash啟動(dòng),也支持從Nand Flash啟動(dòng)。當(dāng)開發(fā)板Nor Flash和Nand Flash的 uboot擦除時(shí),開發(fā)板不能開機(jī),這時(shí)必須通過 JTAG口燒寫uboot。 n開發(fā)板沒有uboot的表現(xiàn)在于: n1、串口不輸出信息 n2、LCD白屏 若從Nor Flash啟動(dòng)uboot: 若從Nand Flash啟動(dòng)uboot: 目前有三種方式可以
17、通過TQ2440的JTAG口 來燒寫uboot或應(yīng)用程序: n使用SJ2440軟件,配合PC并口,這種方法最原始, 效率低下,不推薦; n使用H-Jtag軟件,配合PC并口,對(duì)于有PC并口, 推薦; n使用Jlink軟件,PC電腦沒有并口,就采用此方法。 (需購買Jlink) 2.4.1 H-JTAG的設(shè)置 n1、雙擊“H-JTAG”圖標(biāo) n2、點(diǎn)擊“Settings”菜單下的“LPT Jtag Setting” n3、如圖設(shè)置界面 n4、連好開發(fā)板和PC,啟動(dòng)開發(fā)板。點(diǎn)擊“Detect target”,軟件自動(dòng)檢測(cè)CPU。 nCPU型號(hào)為:ARM920T 0X0032409D n點(diǎn)擊“Fla
18、sher”菜單下的“Start H-Flasher” n點(diǎn)擊“l(fā)oad”選擇配置文件 配置文件: nTQ2440_nand_2KP.hfc:用于燒寫2K大頁面 Nand Flash的H-Flash配置文件,燒寫256M Nand Flash nTQ2440_nand_64MB.hfc:用于燒寫512字節(jié)小 頁面Nand Flash的H-Flash配置文件,燒寫64M Nand Flash nTQ2440_nor_eon.hfc:用于燒寫Nor Flash的H- Flash配置文件,燒寫EON的flash nTQ2440_nor_sp.hfc:用于燒寫Nor Flash的H- Flash配置文件,燒寫Spansion的flash 燒寫uboot到Nand Flash n點(diǎn)擊“l(fā)oad”,導(dǎo)入 “TQ2440_nand_2KP.hfc” n找到Uboot鏡像后,點(diǎn)擊“Program”按鈕, 開始燒寫 n完成uboot到Nand Flash的操作。 燒寫ubo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 住房公積金借貸合同范本
- 孵化器企業(yè)入駐合同范本
- 單位攝影勞務(wù)合同范例
- 合同詐騙合同范本
- 十五房子買賣合同范本
- 合同范本環(huán)氧樹脂地坪
- 產(chǎn)品獨(dú)家運(yùn)營(yíng)合同范本
- 廠房樓房出售合同范本
- 同城肥豬出售合同范本
- 制作門窗就合同范本
- 基于BIM的軸流通風(fēng)機(jī)施工工藝優(yōu)化
- 2024年大學(xué)生自我意識(shí)教學(xué)案
- 女生青春期知識(shí)講座(六年級(jí))課件
- 在醫(yī)院新員工入職儀式上的講話
- 消化道出血講課課件
- 化工過程安全管理導(dǎo)則
- 建設(shè)工程管理畢業(yè)論文
- 《國(guó)歌法》、《國(guó)旗法》主題班會(huì)
- 新一代智能變電站二次系統(tǒng)技術(shù)問答
- 索膜結(jié)構(gòu)施工方案
- 首診負(fù)責(zé)制度課件
評(píng)論
0/150
提交評(píng)論