ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)課件.ppt

ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)課件.ppt

ID:57011703

大小:217.00 KB

頁數(shù):34頁

時(shí)間:2020-07-26

ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)課件.ppt_第1頁
ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)課件.ppt_第2頁
ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)課件.ppt_第3頁
ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)課件.ppt_第4頁
ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)課件.ppt_第5頁
資源描述:

《ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第4章ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)主要內(nèi)容1324ADS1.2集成開發(fā)環(huán)境簡介基于ARM的匯編語言程序設(shè)計(jì)基于ARM的硬件啟動(dòng)程序基于ARM的C語言與匯編語言混合編程5印制電路板制作簡介4.1ADS1.2集成開發(fā)環(huán)境簡介ADS的英文全稱為ARMDeveloperSuite,是ARM公司推出的新一代ARM集成開發(fā)工具。ADS由六個(gè)部分組成,分別是:代碼生成工具集成開發(fā)環(huán)境調(diào)試器指令集模擬器ARM開發(fā)包ARM應(yīng)用庫4.1.1ADS1.2集成開發(fā)環(huán)境下工程的創(chuàng)建使用ADS創(chuàng)建工程的步驟:新建工程“File

2、New…”設(shè)置目標(biāo)及其參數(shù)“Edit

3、D

4、ebugSettings…”向工程中添加文件“Project

5、AddFiles”4.1.2ADS1.2集成開發(fā)環(huán)境下進(jìn)行仿真和調(diào)試的方法在Codewarrior中,如果工程編譯成功,將產(chǎn)生一個(gè)后綴為.axf的映像文件,接下來就可以使用AXDDebugger進(jìn)行調(diào)試。常用調(diào)試按鈕主要內(nèi)容1324ADS1.2集成開發(fā)環(huán)境簡介基于ARM的匯編語言程序設(shè)計(jì)基于ARM的硬件啟動(dòng)程序基于ARM的C語言與匯編語言混合編程5印制電路板制作簡介4.2.1ARM匯編器支持的偽指令偽指令是ARM匯編語言程序中的一些特殊指令助記符,這些助記符與指令系統(tǒng)的助記

6、符不同,沒有相對應(yīng)的操作碼,它們所完成的操作稱為偽操作。偽指令在源程序中的作用是為完成匯編程序做各種準(zhǔn)備工作的,這些偽指令僅在匯編過程中起作用,一旦匯編結(jié)束,偽指令的使命就完成了。ARM匯編器支持的偽指令包括:符號定義偽指令、數(shù)據(jù)定義偽指令、匯編控制偽指令、宏指令以及其他偽指令。分類指令舉例符號定義偽指令GBLA/GBLL/GBLS/LCLA/LCLL/LCLS/SETA/SETL/SETS/RLISTGBLATest1;定義一個(gè)名為Test1的全局?jǐn)?shù)值字變量數(shù)據(jù)定義偽指令DCB/DCW/DCD/DCFD/DCFS/DCQ/SPACE

7、/MAP/FIELDstrDCB“Thisisatest”;分配起始地址為str的一段連續(xù)字節(jié)存儲(chǔ)單元存放字符串匯編控制偽指令I(lǐng)F/ELSE/ENDIF/WHILE/WEND/IFTest=TRUE;如果條件成立指令序列1;執(zhí)行指令序列1ELSE;否則執(zhí)行指令序列2指令序列2ENDIF宏指令MACRO/MEND/MEXITMACROSeg指令序列MEND;定義一個(gè)名為Seg的宏指令其他偽指令A(yù)REA/ALIGN/CODE16/CODE32/ENTRY/END/EQU/EXPORT/GLOBAL/IMPORT/EXTERN/GET/IN

8、CLUDE/INCBINAREAInit,CODE,READONLY,ALIGN=3;定義了一個(gè)代碼段,段名為Init,屬性為只讀,并指定其后的指令為8(23)字節(jié)對齊。ARM匯編器支持的常見偽指令4.2.2基于ARM的匯編語言語句格式ARM匯編語言的語句格式[標(biāo)號][指令或偽指令][;注釋]標(biāo)號是代表地址的符號,必須在一行的頂格書寫,其后不能添加冒號“:”,而所有指令均不能頂格書寫。ARM匯編語言對標(biāo)識符的大小寫敏感,書寫標(biāo)號及指令時(shí)字母大小寫要一致。在ARM匯編語言中,ARM指令、偽指令、寄存器名等可以全部大寫或者全部小寫,但不能

9、大小寫混合使用。為了使源文件易讀,可以將一條長的指令通過使用反斜杠字符“”將其分成幾行書寫。每行從第一個(gè)分號開始到本行結(jié)束為注釋內(nèi)容,所有的注釋內(nèi)容均被匯編起忽略。4.2.3ARM匯編語言程序的基本結(jié)構(gòu)在ARM匯編語言程序中,以程序段為單位來組織代碼。段是相對獨(dú)立的指令或數(shù)據(jù)序列,具有特定的名稱。段可以分為代碼段和數(shù)據(jù)段,代碼段的內(nèi)容為執(zhí)行代碼,數(shù)據(jù)段存放代碼運(yùn)行時(shí)所需的數(shù)據(jù)??蓤?zhí)行映像文件通常由以下幾部分構(gòu)成:一個(gè)或多個(gè)代碼段,代碼段為只讀屬性。零個(gè)或多個(gè)包含初始化數(shù)據(jù)的數(shù)據(jù)段,數(shù)據(jù)段的屬性為可讀寫。零個(gè)或多個(gè)不包含初始化數(shù)據(jù)的數(shù)

10、據(jù)段,數(shù)據(jù)段的屬性為可讀寫。一個(gè)含有子程序調(diào)用的代碼段的例子AREAInit,CODE,READONLYENTRYLDRR0,=0x3FF5000LDRR1,0x0fSTRR1,[R0]LDRR0,=0x3F50008LDRR1,0x1STRR1,[R0]BLPROC;子程序調(diào)用…PROC;子程序開始…MOVPC,LR;從子程序返回…END一個(gè)數(shù)據(jù)段的例子AREADataArea,DATA,NOINIT,ALIGN=2DISPBUFSPACE200RCVBUFSPACE200…其中DATA為數(shù)據(jù)段的標(biāo)識。4.2.4基于ARM的匯編語言

11、程序舉例舉例:連續(xù)發(fā)送128個(gè)ASCII字符的匯編語言的例子…;呼叫子程序UARTbUARTUART;子程序開始ldrr0,=GPHCON;設(shè)置GPIO(RxD0,TxD0引腳)ldrr1,=0x2afaaastrr1,

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。