資源描述:
《第4章 arm系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第4章ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)主要內(nèi)容1324ARM開(kāi)發(fā)環(huán)境簡(jiǎn)介基于ARM的匯編語(yǔ)言程序設(shè)計(jì)基于ARM的硬件啟動(dòng)程序基于ARM的C語(yǔ)言與匯編語(yǔ)言混合編程5印制電路板制作簡(jiǎn)介4.1ARM開(kāi)發(fā)環(huán)境簡(jiǎn)介目前進(jìn)行ARM嵌入式系統(tǒng)開(kāi)發(fā)常見(jiàn)的開(kāi)發(fā)工具主要有:RealViewMDK、IAREWARM、ADS1.2、WinARM等。下面分別介紹RealViewMDK和IAREWARM開(kāi)發(fā)工具的使用。4.1.1RealViewMDK開(kāi)發(fā)工具簡(jiǎn)介RealViewMDK(MicrocontrollerDevelopment
2、Kit)開(kāi)發(fā)工具是ARM公司目前最新推出的針對(duì)各種嵌入式處理器的軟件開(kāi)發(fā)工具。突出的特性如下:?jiǎn)?dòng)代碼生成向?qū)?。軟件模擬器。性能分析器。支持Cortex-M3內(nèi)核。RealView編譯器。配備ULINK2仿真器和Flash編程模塊。性價(jià)比高,提供專業(yè)的本地化技術(shù)支持和服務(wù)。使用μVision4創(chuàng)建一個(gè)新的工程需要以下步驟:?jiǎn)?dòng)μVision4,創(chuàng)建一個(gè)工程文件并從器件數(shù)據(jù)庫(kù)中選擇一種CPU。添加和配置啟動(dòng)代碼。設(shè)置目標(biāo)硬件的工具選項(xiàng)。“Project
3、OptionsforTarget”創(chuàng)建源文件及文
4、件組,并將其添加到工程中。編譯鏈接工程并生成一個(gè)HEX文件?!癙roject
5、Buildtarget”4.1.1.1RealViewMDK下工程的創(chuàng)建4.1.1.2RealViewMDK下工程的調(diào)試μVision4調(diào)試器有兩種工作模式:仿真模式高級(jí)GDI驅(qū)動(dòng)器模式。執(zhí)行菜單命令“Debug
6、Start/StopDebugSession”或單擊工具欄上的圖標(biāo)將啟動(dòng)μVision4的調(diào)試模式?;镜恼{(diào)試功能:設(shè)置斷點(diǎn)控制程序單步、全速或停止運(yùn)行Serial窗口反匯編窗口Watch窗口寄存器窗口Memor
7、y窗口:4.1.2IAREWARM集成開(kāi)發(fā)環(huán)境簡(jiǎn)介IAREmbeddedWorkbenchforARM是IARSystems公司為ARM微處理器開(kāi)發(fā)的一個(gè)集成開(kāi)發(fā)環(huán)境(簡(jiǎn)稱IAREWARM)。IAREWARM的主要模塊如下。高度優(yōu)化的IARARMC/C++CompilerIARARMAssembler一個(gè)通用的IARXLINKLinkerIARXAR和XLIB建庫(kù)程序和IARDLIBC/C++運(yùn)行庫(kù)功能強(qiáng)大的編輯器項(xiàng)目管理器命令行實(shí)用程序IARC-SPY調(diào)試器(先進(jìn)的高級(jí)語(yǔ)言調(diào)試器)IARJ-Lin
8、k是IAR為支持仿真ARM內(nèi)核芯片推出的JTAG方式仿真器。4.1.2.1IAREWARM集成開(kāi)發(fā)環(huán)境下工程的創(chuàng)建1.新建工作區(qū)“File
9、New
10、Workspace”2.新建工程“Project
11、CreatNewProject”3.保存工作區(qū)“File
12、New
13、SaveWorkspace”4.參數(shù)配置(1)選擇目標(biāo)類型(Debug/Release)(2)配置相關(guān)參數(shù)“Project
14、Option”5.向工程中添加文件6.編譯4.1.2.2IAREWARM下工程的調(diào)試C-SPY調(diào)試器是IAR集成的高
15、級(jí)語(yǔ)言調(diào)試器,通過(guò)C-SPY調(diào)試器用戶可以查看變量、設(shè)置斷點(diǎn)、觀察反匯編代碼、監(jiān)視寄存器和存儲(chǔ)器、在TerminalI/O窗口打印輸出等。在沒(méi)有硬件目標(biāo)系統(tǒng)的情況下,可以使用C-SPY的模擬器(Simulator)對(duì)應(yīng)用程序進(jìn)行模擬調(diào)試。執(zhí)行“Project
16、Debug”菜單命令或者單擊工具欄右側(cè)的“DownloadandDebug”按鈕,進(jìn)入調(diào)試界面??蛇M(jìn)行單步執(zhí)行、運(yùn)行到光標(biāo)處、運(yùn)行到斷點(diǎn)、進(jìn)入函數(shù)、跳出函數(shù)等調(diào)試操作,同時(shí)也可通過(guò)View菜單打開(kāi)相應(yīng)的窗口來(lái)查看內(nèi)存、變量、寄存器等。如果希望直
17、接在硬件目標(biāo)系統(tǒng)上進(jìn)行調(diào)試,則需要備有IAR的JTAG仿真器J-Link。主要內(nèi)容1324ADS1.2集成開(kāi)發(fā)環(huán)境簡(jiǎn)介基于ARM的匯編語(yǔ)言程序設(shè)計(jì)基于ARM的硬件啟動(dòng)程序基于ARM的C語(yǔ)言與匯編語(yǔ)言混合編程5印制電路板制作簡(jiǎn)介4.2.1ARM匯編器支持的偽指令偽指令是ARM匯編語(yǔ)言程序中的一些特殊指令助記符,這些助記符與指令系統(tǒng)的助記符不同,沒(méi)有相對(duì)應(yīng)的操作碼,它們所完成的操作稱為偽操作。偽指令在源程序中的作用是為完成匯編程序做各種準(zhǔn)備工作的,這些偽指令僅在匯編過(guò)程中起作用,一旦匯編結(jié)束,偽指令的使
18、命就完成了。ARM匯編器支持的偽指令包括:符號(hào)定義偽指令、數(shù)據(jù)定義偽指令、匯編控制偽指令、宏指令以及其他偽指令。分類指令舉例符號(hào)定義偽指令GBLA/GBLL/GBLS/LCLA/LCLL/LCLS/SETA/SETL/SETS/RLISTGBLATest1;定義一個(gè)名為Test1的全局?jǐn)?shù)值字變量數(shù)據(jù)定義偽指令DCB/DCW/DCD/DCFD/DCFS/DCQ/SPACE/MAP/FIELDstrDCB“Thisisatest”;分配起始地址為str的一段連續(xù)字節(jié)存儲(chǔ)單