我與ARM的那些事兒1初識ARM
最近一直在研究ARM,說到ARM,我們首先想到了是三星、高通等公司,這些公司都制造CPU的,其實ARM也是一家公司,只不過它是提供最核心的邏輯電路,而且它的賺錢方式是與其他公司進(jìn)行雙贏的!你賣出多少芯片,我就收這些芯片的一點分紅,真他么機(jī)智的公司!
本文引用地址:http://www.butianyuan.cn/article/201901/396580.htm

微處理器說白一點就是"腦子",那么這個腦子它是咋么組成的呢?通常有3大部分
控制單元

算術(shù)邏輯單元
寄存器

那么ARM有哪些特點呢?
支持Thumb/ARM雙指令集
采用3級流水線/5級流水線
采用哈弗結(jié)構(gòu),有指令cache和數(shù)據(jù)cache
尋址方式靈活簡單、執(zhí)行效率高
支持大端小端格式
支持bytehalfwordword三種數(shù)據(jù)類型
7種模式
采用片上AMBA
采用存儲器映射I/O的方式
具備協(xié)處理器接口
3.0v以下工作電壓
體積小、低成本、高性能

所謂流水線的工作模式,就是說一個程序把他分成n多塊來處理,要知道真正意義上CPU只處理一個資源,那么把程序分解開來,像流水線一樣處理多個程序,那么效率不就馬上上來了!



個人覺得ARM了不起的地方就在這里,可以在ARM狀態(tài)和Thumb狀態(tài)進(jìn)行相互切換,解決了不少因為指令可能導(dǎo)致系統(tǒng)的臃腫的問題
ARM狀態(tài):32位,這種狀態(tài)下執(zhí)行的是字方式的ARM指令;
Thumb狀態(tài):16位,這種狀態(tài)下執(zhí)行半字方式的ARM指令。


7種工作模式,玩過的都知道!
除用戶模式,其他模式叫特權(quán)模式
除用戶、系統(tǒng)模式,其他模式叫異常模式

ARM有37個寄存器!31個為通用寄存器、6個為狀態(tài)寄存器


光了解寄存器還遠(yuǎn)遠(yuǎn)不夠,要知道寄存器也有你需要注意的地方!
正常情況下:

R14會保存好回調(diào)時主程序的地址。
當(dāng)發(fā)生異常嵌套時,這些異常之間可能會發(fā)生沖突。

R14_IRQ原來保存的是地址A,可是當(dāng)發(fā)生嵌套的時候,原來保存的地址A被修改了,于是完成嵌套后的程序,他的PC指針完全不知道要指向誰了?于是ERROR了~~~~~
至于尋址方式,好吧,我其實想說,我又懶了,因為我覺得我自己也說不清尋址方式?;仡^我再去研究一下《ARM體系結(jié)構(gòu)與編程》這本書,匯編不熟悉,也不清楚,硬傷~~~

靠,不知不覺地寫了那么多!我果然是一個勤奮的孩子~~~不扯了。
下載地址:http://url.cn/JbTFjf

找到SETUP.EXE,然后各種下一步。
等到出現(xiàn)一個粉紅色的界面,記得,還是下一步哦!
然后把

這個復(fù)制到你安裝的路徑下,
我就用默認(rèn)的路徑:C:Program Files (x86)ARMADSv1_2
然后黏貼。
然后再粉紅界面上加載里面的

大功告成!
于是你可以在開始里面找到

啟動!
至于如何用呢?且聽我下回分解!
評論