亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? armstady.txt

?? 一篇適合于ARM初學者的文章,讓新手在學習的過程少一些迷惑
?? TXT
字號:
ARM初學寶典
首先聲明:這是別人寫的,作者是鐘和平,我覺得說得比較好,我比較認同,轉帖過來的。現(xiàn)在我雖然在使用ARM但,真正很多功能都沒認真去研究過,只是使用了我需要的那部分 ,如果從學習的角度看,還是應該了解全面點


   一直都在聽說ARM有多么好,有多神奇,有多難學。故學它時都興奮加恐懼。呵呵,我剛好用ARM也有一段時間了。寫點東西給ARM的初學者,希望能起到幫助作用。

1,記住:ARM很簡單,就如從51轉換到PIC或者轉換到AVR一樣簡單。ARM的一個功能就如同掌握一個其他IC的使用一樣,如時鐘芯片,存在芯片,等等,甚至更簡單。所以ARM的那些功能就可以忽略了。

2,和51系列相比,arm的寄存器不在存儲空間之內(nèi),而且不分數(shù)據(jù)、程序空間。記住它的分配圖.

3,ARM有多種處理器模式,每個模式都有自己的獨立

   記住表格

   記住寄存器的使用

4,ARM的中斷加強了,增加了軟件中斷,掌握swi

   可以把處理器模式及異常看成都是中斷的擴張,從這些方面去理解也許快些。

   swi是嵌入式系統(tǒng)中任務切換的一個關鍵指令。故先有個心里準備。用法:swi 立即數(shù)。執(zhí)行該執(zhí)行時,程序會跑到swi中斷處。立即數(shù)包含在該指令代碼中,如果要根據(jù)立即數(shù)執(zhí)行程序必須找出立即數(shù)。 

5,ARM的啟動程序及引導地址

   你編寫的代碼啟動時:ARM都是從0x00000000開始運行。

   實際芯片運行時:ARM啟動時,先根據(jù)硬件判斷是否進入ISP還是經(jīng)入程序運行。如進行程序運行,又會根據(jù)硬件判斷會從0x00000000內(nèi)部flash空間,還是外部flash空間0x80000000處運行(此時芯片會自動改變映射,也就是將0x80000000映射到0x00000000)

   在ADS軟件上:ADS軟件會把ARM Linker-Layout-Place at beginning of image-Objiect/symbol中指明開始代碼的文件。

Section中指明代碼開始的程序塊。一般習慣Objiect/symbol中填寫的時Startup.o。Section中填寫Start。因為大家一般會將開始程序放在Startup文件中的Start段。

   ADS軟件知道了我們程序的開始地方,還不知道這個程序的開始地方放到實際芯片的那個地址,所以我們還要為ADS軟件指明開始地址,ARM Linker-Option-Image entry point中指明就行了。

   這樣我們自己編寫的代碼、實際芯片、仿真器程序起始的關系就差不多明白了,然后記住下面中斷向量表的代碼。

6,地址重新映射

   這是個新概念,但記住它的功能是存儲器映射用于改變從0x00000000開始的中斷向量的映射。記住1:是0x00000000開始的中斷向量的映射;記住2:為什么要這樣做是為了不管你這段程序放在芯片實際的那個可以開始放的地方,ARM內(nèi)部都可以從0x00000000開始運行。

7,匯編語言與c語言的混合編程

   如果你不會這個先最好了解一點概念

   匯編與c的參數(shù)傳遞是靠R0,R1這些寄存器傳遞的。

   函數(shù)的返回值也是靠R0。

   匯編中的標號與函數(shù)名相當

   c語言函數(shù)結束時實際上是匯編子程序的返回指令,故用匯編語言中用BL調(diào)用c的函數(shù)。否則就會返回出錯。

8,匯編指令的記憶

   多了幾種尋址方式

   先記住基本指令然后進行擴展,在記指令的執(zhí)行條件,在搞懂特性符合的意義,如!,^等

我先是記住了以下幾個指令:B,BX,BL,LDR,STR,LDM,STM,MOV,MRS,MSR,DCD,SWI,ADD,AND,CMP,MUL這些指令后,以后就邊用邊記。 

9,ARM初始化要干些什么

   ARM初始化靈活方式,很多功能都可以方便設置。故開始初始化的事情也是蠻的多,主要做那些呢

   開始的中斷向量表要做好吧。

   每個處理器模式都有自己的SP,你要指明每個SP的開始地址,進行堆棧的初始化。

   初始化外部總線控制

   設置存儲器加速模塊

   初始化時鐘,初始化VIC等等,當然有很多你不必管,先拷貝

   在網(wǎng)上找資料就行了。中斷向量表與初始化堆棧一般如下

;中斷向量表

Reset

        LDR     PC, ResetAddr

        LDR     PC, UndefinedAddr

        LDR     PC, SWI_Addr

        LDR     PC, PrefetchAddr

        LDR     PC, DataAbortAddr

        DCD     0xb9205f80           ;ARM保留位,使向量表所有數(shù)據(jù)32位累加和為0,才能脫機運行。

        LDR     PC, [PC, #-0xff0]    ;

        LDR     PC, FIQ_Addr

ResetAddr           DCD     ResetInit

UndefinedAddr       DCD     Undefined

SWI_Addr            DCD     SoftwareInterrupt

PrefetchAddr        DCD     PrefetchAbort

DataAbortAddr       DCD     DataAbort

Nouse               DCD     0  ;

IRQ_Addr            DCD     0  ;

FIQ_Addr            DCD     FIQ_Handler

;未定義指令

Undefined

        B       Undefined

;軟中斷

SoftwareInterrupt

        B       SoftwareInterrupt

;取指令中止

PrefetchAbort

        B       PrefetchAbort

;取數(shù)據(jù)中止

DataAbort

        B       DataAbort

;快速中斷

FIQ_Handler

        STMFD   SP!, {R0-R3, LR}

        BL      FIQ_Exception

        LDMFD   SP!, {R0-R3, LR}

        SUBS    PC,  LR,  #4

;初始化堆棧

InitStack    

        MOV     R0, LR

;設置管理模式堆棧

        MSR     CPSR_c, #0xd3

        LDR     SP, StackSvc

;設置中斷模式堆棧

        MSR     CPSR_c, #0xd2

        LDR     SP, StackIrq

;設置快速中斷模式堆棧

        MSR     CPSR_c, #0xd1

        LDR     SP, StackFiq

;設置中止模式堆棧

        MSR     CPSR_c, #0xd7

        LDR     SP, StackAbt

;設置未定義模式堆棧

        MSR     CPSR_c, #0xdb

        LDR     SP, StackUnd

;設置系統(tǒng)模式堆棧

        MSR     CPSR_c, #0xdf

        LDR     SP, =StackUsr

        MOV     PC, R0

StackSvc           DCD     SvcStackSpace + (SVC_STACK_LEGTH - 1)* 4  ;

StackIrq           DCD     IrqStackSpace + (IRQ_STACK_LEGTH - 1)* 4

StackFiq           DCD     FiqStackSpace + (FIQ_STACK_LEGTH - 1)* 4

StackAbt           DCD     AbtStackSpace + (ABT_STACK_LEGTH - 1)* 4

StackUnd           DCD     UndtStackSpace + (UND_STACK_LEGTH - 1)* 4

        AREA    MyStacks, DATA, NOINIT, ALIGN=2

SvcStackSpace      SPACE   SVC_STACK_LEGTH * 4  ;管理模式堆棧空間

IrqStackSpace      SPACE   IRQ_STACK_LEGTH * 4  ;中斷模式堆棧空間

FiqStackSpace      SPACE   FIQ_STACK_LEGTH * 4  ;快速中斷模式堆棧空間

AbtStackSpace      SPACE   ABT_STACK_LEGTH * 4  ;中止義模式堆棧空間

UndtStackSpace     SPACE   UND_STACK_LEGTH * 4  ;未定義模式堆棧

10,邊看書邊實踐,不斷培養(yǎng)自己對ARM的興趣,不斷取得點成績,別奢望一口吃成一個胖子,不斷的給自己帶來成功得快樂,我們都需要短期成績的刺激才能長久的堅持。

11,做一個項目吧。否則永遠也不能說你學會了。

12,本文給初學者指路用,背下本文,然后去看學習ARM的書籍,現(xiàn)在網(wǎng)上到處都有的ARM指令集,ARM的芯片資料,ARM應用系統(tǒng)開發(fā)詳解,ADS-EasyJTAG,本篇寶典將是你學習ARM的加速器。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91女人视频在线观看| 欧美无人高清视频在线观看| 亚洲一区免费观看| 日韩欧美国产综合一区| 成人污视频在线观看| 午夜精品久久久久久| 国产精品天美传媒| 精品福利二区三区| 欧美日本一区二区| 91女人视频在线观看| 国产凹凸在线观看一区二区| 日韩高清不卡在线| 亚洲女同ⅹxx女同tv| 国产欧美日韩亚州综合| 日韩精品在线看片z| 在线播放一区二区三区| 91麻豆免费视频| 成人午夜在线播放| 国产激情视频一区二区在线观看| 日韩av电影免费观看高清完整版在线观看 | 欧美一级久久久| 在线观看三级视频欧美| 9l国产精品久久久久麻豆| 国产一区二区三区综合| 麻豆精品精品国产自在97香蕉| 亚洲bt欧美bt精品| 亚洲电影激情视频网站| 亚洲综合成人在线| 亚洲精品免费在线播放| 亚洲精品欧美在线| 亚洲狠狠丁香婷婷综合久久久| 综合精品久久久| 亚洲青青青在线视频| 亚洲视频香蕉人妖| 综合在线观看色| 亚洲色图一区二区三区| 亚洲女同一区二区| 亚洲综合999| 亚洲成a人片在线不卡一二三区| 亚洲影院理伦片| 亚洲一区二区中文在线| 亚洲h精品动漫在线观看| 亚洲一区二区三区免费视频| 亚洲成a人片综合在线| 免费看精品久久片| 久久成人久久爱| 国产一区二区中文字幕| 国产麻豆91精品| 成人免费看黄yyy456| 99国产精品久久久久久久久久久| 99视频国产精品| 日本道免费精品一区二区三区| 欧美午夜一区二区三区| 91精品午夜视频| 精品国产91亚洲一区二区三区婷婷| 久久亚洲综合色| 亚洲欧美一区二区在线观看| 亚洲精品美国一| 日韩成人午夜精品| 国产一区二区伦理片| av电影在线观看完整版一区二区| 色婷婷精品大视频在线蜜桃视频| 欧美三级欧美一级| 精品欧美乱码久久久久久1区2区| 国产午夜一区二区三区| 亚洲欧美一区二区三区国产精品 | 日韩1区2区3区| 激情五月激情综合网| 不卡高清视频专区| 欧美日韩一级黄| 久久综合九色综合欧美亚洲| 亚洲天堂成人网| 日韩av成人高清| 成人精品高清在线| 欧美人妇做爰xxxⅹ性高电影| 日韩欧美你懂的| 亚洲日本中文字幕区| 秋霞影院一区二区| 不卡高清视频专区| 欧美一区二区三区视频在线观看| 国产欧美日韩久久| 偷拍与自拍一区| 成人午夜视频在线| 欧美一区二区日韩| 中文字幕亚洲一区二区av在线| 日韩电影在线看| 99精品国产视频| 精品日韩在线观看| 亚洲精品国产视频| 黄网站免费久久| 欧美日本在线播放| 国产精品国产a级| 久久精品99国产精品| 色综合网色综合| 国产亚洲综合色| 日本欧美久久久久免费播放网| gogogo免费视频观看亚洲一| 精品三级在线观看| 亚洲国产精品久久人人爱| 国产+成+人+亚洲欧洲自线| 91精品国产丝袜白色高跟鞋| 亚洲免费在线观看| 国产**成人网毛片九色| 日韩欧美国产一区二区三区| 亚洲与欧洲av电影| 94-欧美-setu| 国产香蕉久久精品综合网| 日本午夜精品一区二区三区电影| 欧美一级高清大全免费观看| 亚洲欧美偷拍卡通变态| 国产白丝网站精品污在线入口| 日韩欧美一卡二卡| 日本欧美在线看| 欧美精品777| 亚洲综合色区另类av| av毛片久久久久**hd| 亚洲国产高清aⅴ视频| 国产一区二区在线电影| 91精品欧美一区二区三区综合在 | 国产激情一区二区三区四区| 欧美一区二区国产| 偷拍亚洲欧洲综合| 欧美日韩国产美女| 婷婷中文字幕综合| 欧美日韩在线综合| 亚洲777理论| 欧美日本在线播放| 丝袜脚交一区二区| 91麻豆精品国产无毒不卡在线观看| 亚洲综合色自拍一区| 欧美伊人久久大香线蕉综合69 | 国产精品国产自产拍高清av王其| 国产成人精品综合在线观看 | 日本va欧美va欧美va精品| 91精品国产综合久久久蜜臀粉嫩| 亚洲图片欧美一区| 欧美日韩在线免费视频| 日韩中文欧美在线| 欧美一区二区三区在线观看视频 | 一区二区三区欧美亚洲| 五月激情丁香一区二区三区| 欧美日本一区二区三区四区| 天天色天天操综合| 欧美电影在哪看比较好| 青青草原综合久久大伊人精品 | 5858s免费视频成人| 日韩电影免费在线看| 欧美不卡一二三| 国产精品一区二区久久精品爱涩| 久久久久成人黄色影片| 成人动漫在线一区| 亚洲乱码国产乱码精品精98午夜| 欧美伊人久久大香线蕉综合69| 爽爽淫人综合网网站| 精品国产第一区二区三区观看体验| 国产精品18久久久久久久久久久久 | 91在线精品一区二区| 亚洲一区中文在线| 欧美一区二区日韩一区二区| 国产精品一区二区男女羞羞无遮挡| 国产精品国产三级国产aⅴ中文| 色久优优欧美色久优优| 日韩av不卡在线观看| 国产亚洲人成网站| 在线观看成人小视频| 麻豆视频一区二区| 欧美激情在线一区二区三区| 91黄色免费观看| 老汉av免费一区二区三区| 一区二区日韩av| 欧美成人一级视频| 99久久99久久精品国产片果冻 | 亚洲成av人影院| 2021中文字幕一区亚洲| 91首页免费视频| 日韩不卡一二三区| 亚洲欧美一区二区在线观看| 欧美二区在线观看| 高清成人免费视频| 视频在线观看一区二区三区| 国产精品天天看| 日韩午夜av一区| 91麻豆成人久久精品二区三区| 日本午夜精品一区二区三区电影| 国产精品美女视频| 欧美一区二区啪啪| 日本韩国精品在线| 丰满岳乱妇一区二区三区| 偷拍日韩校园综合在线| 国产精品久久久爽爽爽麻豆色哟哟 | 欧美日韩精品免费观看视频| 国产精品亚洲а∨天堂免在线| 亚洲主播在线播放| 中文字幕av一区 二区| 欧美一区二区三区四区视频| 色一情一乱一乱一91av| 国产精品一区免费视频| 蜜桃精品在线观看| 一区二区三区四区视频精品免费 | 久久久久久99精品|