學(xué)習(xí)ARM裸機(jī),是一件復(fù)雜事情,入門的概念性和基礎(chǔ)性知識必須要了解到,以便于后面的知識的理解。
ARM概念
ARM首先是一個公司,這家公司設(shè)計CPU并向各個CPU制造商授權(quán)許可,所以ARM公司是一家CPU設(shè)計公司。同時,ARM也是ARM公司主導(dǎo)設(shè)計的CPU系列的簡稱。
ARM版本區(qū)分
ARM版本號可以分為三類:
·內(nèi)核版本號,例如ARMv5,ARMv7,ARMv7a,ARMv8a……
·Soc版本號,例如Cortex-A8,Cortex-A9...
·芯片型號,例如2410,2440,6410,S5PV210...
Soc
Soc是System on Chip的簡寫,即片上系統(tǒng)。Soc主要包括了CPU中央處理器以及各種外設(shè)模塊,CPU和外設(shè)通過集成電路被安置在一個芯片中。
現(xiàn)在已經(jīng)沒有純粹的CPU了,都是SoC
ARM賣的內(nèi)核其實(shí)就是CPU(當(dāng)然還需要總線),各種外設(shè)是半導(dǎo)體廠商自己添加的。
平臺區(qū)別:
主流的單片機(jī)平臺有51,PIC,STM32,AVR,MSP430,
主流的嵌入式平臺有ARM,PPC,MIPS
資源,價格,應(yīng)用領(lǐng)域
單片機(jī)片上資源有限,價格低,應(yīng)用領(lǐng)域大多為小家電,終端設(shè)備。
嵌入式片上資源豐富,價格高,應(yīng)用領(lǐng)域廣泛,基本可以適用于任何領(lǐng)域。
開發(fā)模式
單片機(jī)一般都是裸機(jī)開發(fā),程序規(guī)模較小,只有在比較高端的芯片上才會使用RTOS
嵌入式開發(fā)一般都會使用嵌入式系統(tǒng)
技術(shù)特征
單片機(jī)主要使用C語言和簡單的匯編,而且C語言和標(biāo)準(zhǔn)C略有不同,很少使用C語言的高級特性,
嵌入式比較復(fù)雜,一般會進(jìn)行分層設(shè)計和開發(fā),分為底層,應(yīng)用層,不同的成冊可能使用不同的開發(fā)語言,例如C++與Java,較多使用C語言的高級特性
CPU設(shè)計原理和總線
CPU主要包括運(yùn)算器,控制器,存儲器通過總線與Flash與內(nèi)存連接。
總線就類似于CPU中的道路,數(shù)據(jù)通過總線在CPU和外設(shè)之間傳輸,CPU也通過內(nèi)部總線與SOC中的其他外設(shè)連接,例如UART設(shè)備,內(nèi)部總線由于在芯片內(nèi)部,抗干擾能力強(qiáng),運(yùn)算速度更快。
總線分為兩種,地址總線和數(shù)據(jù)總線:
地址總線用于傳輸?shù)刂?,CPU通過地址總線尋址,告訴設(shè)備要取的數(shù)據(jù)在哪個地址中,地址總線的位數(shù)決定了尋址范圍
數(shù)據(jù)總線用于傳輸數(shù)據(jù),CPU通過數(shù)據(jù)總線與外部交換信息,將設(shè)備要的數(shù)據(jù)通過該總線發(fā)送給對方,數(shù)據(jù)總線的位數(shù)決定了CPU單次通信能交換的信息數(shù)量
總線的速度決定了CPU和外設(shè)互換信息的速度
CPU的地址總線和數(shù)據(jù)總線的位數(shù)可以不同,CPU的位數(shù)就指的是數(shù)據(jù)總線的位數(shù)
32位CPU的尋址范圍是4G所以最多支持4G內(nèi)存,數(shù)據(jù)總線是32位的,那么傳輸一個int和傳輸一個char的效率是一樣的。
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44960瀏覽量
648775 -
ARM
+關(guān)注
關(guān)注
134文章
9337瀏覽量
376097 -
cpu
+關(guān)注
關(guān)注
68文章
11062瀏覽量
216454
原文標(biāo)題:基礎(chǔ)要打牢!ARM裸機(jī)入門知識
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
什么是STM32? STM32與ARM有什么關(guān)系? STM32能做什么?
ARM7、ARM9、ARM11、ARM-Cortex有什么關(guān)系?
嵌入式,單片機(jī),ARM,Android底層開發(fā)之間有什么關(guān)系?
什么是STM32? STM32與ARM有什么關(guān)系? STM32能做什么?
嵌入式/單片機(jī)/ARM/Android底層開發(fā)之間是什么關(guān)系?
請問ARM7/ARM9/ARM11/ARM-Cortex之間是什么關(guān)系?
STM32與ARM的關(guān)系是什么
ARM和嵌入式是什么關(guān)系
小白求助AMD跟ARM有什么關(guān)系
嵌入式系統(tǒng)ARM和PLC及80C51單片機(jī)的用途和區(qū)別是什么?有什么關(guān)系

評論