第一篇:嵌入式存儲(chǔ)卡總結(jié)
嵌入式作業(yè)
1、NandFlash和NorFlash的區(qū)別 它們是兩種并行FLASH
Flash存儲(chǔ)器又稱(chēng)閃存,是一種可以在線多次擦除的非易失性存儲(chǔ)器,即掉電后數(shù)據(jù)不會(huì)丟失,具體積小、功耗低、抗振性強(qiáng)等優(yōu)點(diǎn),為嵌入式系統(tǒng)中典型的兩種存儲(chǔ)設(shè)備。
(1)NOR型Flash:如SST39VF160,可以直接讀取芯片內(nèi)存儲(chǔ)器的數(shù)據(jù),速度比較快,但價(jià)格較高;芯片內(nèi)執(zhí)行(XIP,eXecute In Place),應(yīng)用程序可以直接在Flash上運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中;
(2)NAND型Flash:如K9F2808U0C,內(nèi)部數(shù)據(jù)以塊為單位存儲(chǔ),地址線和數(shù)據(jù)線共用,使用控制信號(hào)選擇;極高的單元密度,可以達(dá)到高存儲(chǔ)密度,并且寫(xiě)入和擦除的速度也快,應(yīng)用NAND型的困難在于Flash的管理需要特殊的系統(tǒng)接口。(3)二者的差別:
接口差別:NOR型Flash采用的SRAM接口,提供足夠的地址引腳來(lái)尋址,可以很容易的存取其片內(nèi)的每一個(gè)字節(jié);NAND型Flash使用復(fù)雜的I/O口來(lái)串行的存取數(shù)據(jù),各個(gè)產(chǎn)品或廠商的方法可能各不相同,通常是采用8個(gè)I/O引腳來(lái)傳送控制、地址、數(shù)據(jù)信息。
讀寫(xiě)的基本單位:NOR型Flash操作是以“字”為基本單位,而NAND型Flash以“頁(yè)面”為基本單位,頁(yè)的大小一般為512字節(jié)。
性能比較:NOR型Flash的地址線和數(shù)據(jù)線是分開(kāi)的,傳輸效率很高,程序可以在芯片內(nèi)部執(zhí)行,NOR型的讀速度比NAND稍快一些;NAND型Flash寫(xiě)入速度比NOR型Flash快很多,因?yàn)镹AND讀寫(xiě)以頁(yè)為基本操作單位。
容量和成本:NAND型Flash具有較高的單元密度,容量可以做得比較大,加之其生產(chǎn)過(guò)程更為簡(jiǎn)單,價(jià)格較低;NOR型Flash占據(jù)了容量為1~16MB閃存市場(chǎng)的大部分,而NAND型Flash只是用在8~128MB的產(chǎn)品中,這也說(shuō)明NOR主要用在代碼存儲(chǔ)介質(zhì)中,NAND適合數(shù)據(jù)存儲(chǔ)在CompactFlash、PC Cards、MMC存儲(chǔ)卡市場(chǎng)上所占的份額最大。
軟件支持: NAND型和NOR型Flash在進(jìn)行寫(xiě)入和擦除時(shí)都需要MTD(Memory Technology Drivers,MTD已集成在Flash芯片內(nèi)部,它是對(duì)Flash進(jìn)行操作的接口。),這是它們的共同特點(diǎn);但在NOR型Flash上運(yùn)行代碼不需要任何的軟件支持,而在NAND型Flash上進(jìn)行同樣操作時(shí),通常需要驅(qū)動(dòng)程序,即內(nèi)存技術(shù)驅(qū)動(dòng)程序MTD。
2、對(duì)比總結(jié)外部設(shè)備(1)MMC MMC卡(Multimedia Card)翻譯成中文為“多媒體卡”。是一種快閃存儲(chǔ)器卡標(biāo)準(zhǔn)。在1997年由西門(mén)子及SanDisk共同開(kāi)發(fā),技術(shù)基于東芝的NAND快閃記憶技術(shù),因此較早期基于IntelNOR快閃記憶技術(shù)的記憶卡,例如CF卡更細(xì)小。MMC卡大小與一張郵票差不多,約24mm x 32mm x 1.5mm。
可反復(fù)進(jìn)行讀寫(xiě)記錄30 萬(wàn)次。驅(qū)動(dòng)電壓為2.7-3.6V。MMC卡的的容量多達(dá) 2 GB,并且用于幾乎所有使用存儲(chǔ)卡的設(shè)備上。、針腳兼容的MMC卡可以用在所有支持SD卡的設(shè)備上。MMC卡原本使用1bit串聯(lián)界面,但較新的標(biāo)準(zhǔn)則容許同時(shí)傳送4 bit或8 bits的資料。,但由于MMC卡仍可被兼容SD卡的設(shè)備所讀取,因此仍有使用。
MMC的發(fā)展目標(biāo)主要是針對(duì)數(shù)碼影像、音樂(lè)、手機(jī)、PDA、電子書(shū)、玩具等產(chǎn)品,尺寸只有32mm x 24mm x 1.4mm,只有1.5克。MMC也是把存貯單元和控制器一同做到了卡上,智能的控制器使得MMC保證兼容性和靈活性。
MMC存貯卡可以分為MMC和SPI兩種工作模式,MMC模式是標(biāo)準(zhǔn)的默認(rèn)模式,具有MMC的全部特性。而SPI模式則是MMC存貯卡可選的第二種模式,這個(gè)模式是MMC協(xié)議的一個(gè)子集,主要用于只需要小數(shù)量的卡(通常是1個(gè))和低數(shù)據(jù)傳輸率(和MMC協(xié)議相比)的系統(tǒng),這個(gè)模式可以把設(shè)計(jì)花費(fèi)減到最小,但性能就不如MMC。
MMC被設(shè)計(jì)作為一種低成本的數(shù)據(jù)平臺(tái)和通訊介質(zhì),它的接口設(shè)計(jì)非常簡(jiǎn)單:只有7針!接口成本低于0.5美元。在接口中,電源供應(yīng)是3針,而數(shù)據(jù)操作只用3針的串行總線即可(SPI模式再加上1針用于選擇芯片)。
MMC的操作電壓為2.7伏到3.6伏,寫(xiě)/讀電流只有27mA和23mA,功耗很低。它的讀寫(xiě)模式包括流式、多塊和單塊。最小的數(shù)據(jù)傳送是以塊為單位的,缺省的塊大小為512bytes。MMC卡也有小尺寸的型號(hào),大約是正常尺寸的一半:24 mm × 18 mm × 1.4這種可選的尺寸稱(chēng)為小尺寸的多媒體卡或者RS-MMC,它是在2004年發(fā)布的。RS-MMC卡只是小型號(hào)的MMC卡,使用一個(gè)簡(jiǎn)單的機(jī)械轉(zhuǎn)接延長(zhǎng)它,一個(gè)RS-MMC卡能夠用在任何MMC(或SD)插槽。RS-MMC卡的容量高達(dá)1 GB。
移動(dòng)式MMC4是老式的RS-MMC的一個(gè)翻版,因?yàn)樗褂昧伺cRS-MMC同樣的連接方式和連結(jié)標(biāo)準(zhǔn),但是它的尺寸大約是正常MMC卡的一半。這個(gè)標(biāo)準(zhǔn)也定義了secureMMC的規(guī)范,它的加密特征類(lèi)似于Secure Digital或者M(jìn)agicGateMemory Sticks。
SD卡不是僅有的獲得安全數(shù)字卡協(xié)會(huì)認(rèn)可的快速存儲(chǔ)卡標(biāo)準(zhǔn)。其它的安全數(shù)字卡協(xié)會(huì)格式包括miniSD和microSD(在被安全數(shù)字卡協(xié)會(huì)認(rèn)可以前稱(chēng)為T(mén)ransFlash)。
這些小型卡能夠通過(guò)一個(gè)轉(zhuǎn)換器(連結(jié)電路以及物理連接)在全尺寸的MMC/SD/SDIO插槽上使用。然而,需要注意的是,在SD尺寸上制造輸入/輸出設(shè)備已經(jīng)非常困難了,在更小的尺寸上制造就變得更加不切實(shí)際。
由于SD插槽仍然支持MMC卡,單獨(dú)發(fā)展的更小的MMC變體也與支持SD的設(shè)備兼容。與miniSD和microSD(它們與SD有很大不同,制造機(jī)械轉(zhuǎn)換器已經(jīng)很不現(xiàn)實(shí))不同,RS-MMC插槽保持了與全尺寸MMC卡的后向兼容,因?yàn)镽S-MMC僅僅是短一點(diǎn)兒的MMC卡。關(guān)于這些變體的更多信息參見(jiàn)多媒體卡。
大多數(shù),也許是全部的MMC閃存卡都支持SPI模式,盡管每個(gè)法定要求但是不支持這種模式將帶來(lái)嚴(yán)重的兼容性問(wèn)題。SanDisk、Ritek/Ridata和Kingmax制造的所有閃存卡好像都支持SPI。并且,MMC卡可以認(rèn)為在電氣性能上等同于SD卡,但是它使用一個(gè)較薄的包裝并且禁止了SD的功能(這樣就不再需要支付SD的版權(quán)費(fèi))。
MMC定義了SPI和1位MMC/SD協(xié)議。基本的SPI協(xié)議已經(jīng)作為許多微控制器的一個(gè)標(biāo)準(zhǔn)特點(diǎn)存在了許多年。從社會(huì)的觀點(diǎn)來(lái)看,定義一個(gè)新的不兼容的SD/MMC協(xié)議的理由是值得懷疑的;開(kāi)發(fā)一個(gè)不兼容的并且是非必需的新協(xié)議可能有利于貿(mào)易協(xié)會(huì)收取授權(quán)費(fèi)用和成員費(fèi)用,但是它在許多方面增加了硬件和軟件的費(fèi)用。新的協(xié)議使用開(kāi)放的信號(hào)轉(zhuǎn)換接頭(open collector signalling)以允許在同一總線上使用多個(gè)存儲(chǔ)卡,但是這實(shí)際上在使用更高時(shí)鐘頻率時(shí)帶來(lái)了問(wèn)題。盡管SPI使用三條共享的信號(hào)線外加一個(gè)單獨(dú)的芯片選擇每個(gè)存儲(chǔ)卡,新協(xié)議允許多達(dá)30塊存儲(chǔ)卡連結(jié)到同樣的三條線上(不包含片選),這樣做的代價(jià)是更加復(fù)雜的閃存卡初始化和需要每個(gè)卡有一個(gè)唯一的序列號(hào)用于即插即用;這個(gè)特性實(shí)際上很少使用并且由于速度和功耗問(wèn)題在新標(biāo)準(zhǔn)中不建議它的使用。有類(lèi)似所有權(quán)的1位協(xié)議被擴(kuò)展到四位寬(SD和MMC)和八位寬用來(lái)支持更高速度,但是計(jì)算機(jī)產(chǎn)業(yè)的其它大部分都在向更高速度更窄的通道轉(zhuǎn)移;標(biāo)準(zhǔn)的SPI能夠簡(jiǎn)單地使用更高數(shù)據(jù)速度的時(shí)鐘(如133 MHz)以獲得比四位SD更高的性能--沒(méi)有更高時(shí)鐘速度的嵌入式處理器無(wú)論如何也不能處理更快速度的數(shù)據(jù)。SD協(xié)會(huì)放棄了一些舊的一位MMC協(xié)議命令的支持并且添加了另外一些與版權(quán)保護(hù)相關(guān)的命令。
(2)SD卡
安全數(shù)碼卡,是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,它被廣泛地于便攜式裝置上使用,例如數(shù)碼相機(jī)、個(gè)人數(shù)碼助理(外語(yǔ)縮寫(xiě)PDA)和多媒體播放器等。SD卡(Secure Digital Memory Card)是一種基于半導(dǎo)體閃存工藝的存儲(chǔ)卡,SD卡具有大容量、高性能、安全等多種特點(diǎn)的多功能存儲(chǔ)卡,它比MMC卡多了一個(gè)進(jìn)行數(shù)據(jù)著作權(quán)保護(hù)的暗號(hào)認(rèn)證功能(SDMI規(guī)格),讀寫(xiě)速度比MMC卡要快4倍,達(dá)2M/秒。
SD卡的技術(shù)是基于Multimedia Card(MMC)格式上發(fā)展而來(lái),大小和MMC卡差不多,尺寸為32mm x 24mm x 2.1mm。長(zhǎng)寬和MMC卡一樣,只是比MMC卡厚了0.7mm,以容納更大容量的存貯單元。SD卡與MMC卡保持著向上兼容,也就是說(shuō),MMC卡可以被新的SD設(shè)備存取,兼容性則取決于應(yīng)用軟件,但SD卡卻不可以被MMC設(shè)備存取。(SD卡外型采用了與MMC卡厚度一樣的導(dǎo)軌式設(shè)計(jì),以使SD設(shè)備可以適合MMC卡。SD卡接口除了保留MMC卡的7針外,還在兩邊加多了2針,作為數(shù)據(jù)線。采用了NAND型Flash Memory,基本上和SmartMedia的一樣,平均數(shù)據(jù)傳輸率能達(dá)到2MB/s。
設(shè)有SD卡插槽的設(shè)備能夠使用較簿身的MMC卡,但是標(biāo)準(zhǔn)的SD卡卻不能插入到MMC卡插槽。SD卡能夠于CF卡和PCMCIA卡上,插上轉(zhuǎn)接器使用;而miniSD卡和microSD卡亦能插上轉(zhuǎn)接器于SD卡插槽使用。一些USB連接器能夠插上SD卡,而且一些讀卡器亦能夠插上SD卡,并由許多連接埠,例如USB、FireWire等存取使用。SD卡的結(jié)構(gòu)能保證數(shù)字文件傳送的安全性,也很容易重新格式化,所以有著廣泛的應(yīng)用領(lǐng)域,音樂(lè)、電影、新聞等多媒體文件都可以方便地保存到SD卡中。因此不少數(shù)碼相機(jī)也開(kāi)始支持SD卡。
SD卡容量目前有3個(gè)級(jí)別,那就是SD,SDHC和SDXC
SD容量有8MB、16MB、32MB、64MB、128MB、256MB、512MB、1GB、2GB
(所有SD和SDIO卡都必須支持較老的SPI/MMC模式。這個(gè)模式支持慢速的四線序列接口(時(shí)鐘、序列輸入,序列輸出,芯片選擇),兼容于序列終端接口(SPI)和許多微控制器。
MMC模式不支持SD卡的加密特性。從免費(fèi)的文檔里也找不到這些細(xì)節(jié)。但對(duì)于大多數(shù)消費(fèi)者來(lái)講,這無(wú)關(guān)痛癢,用戶(hù)只是用來(lái)儲(chǔ)存不受保護(hù)的數(shù)據(jù)。
SD卡共支持三種傳輸模式:SPI模式(獨(dú)立序列輸入和序列輸出),1位SD模式(獨(dú)立指令和數(shù)據(jù)通道,獨(dú)有的傳輸格式),4位SD模式(使用額外的針腳以及某些重新設(shè)置的針腳。支持四位寬的并行傳輸)
SD卡內(nèi)嵌的數(shù)字版權(quán)保護(hù)方案是按4C提出的可紀(jì)錄介質(zhì)內(nèi)容保護(hù)標(biāo)準(zhǔn)(CPRM)所制定。其核心是使用了Cryptomeria密碼(也稱(chēng)為“C2”)。這一特性是保密的。DVD-Audio光盤(pán)也采用了與CPPM非常相似的加密方案。SD卡(Secure Digital Memory Card)是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備。SD卡由日本松下、東芝及美國(guó)SanDisk公司于1999年8月共同開(kāi)發(fā)研制。大小猶如一張郵票的SD記憶卡,重量只有2克,但卻擁有高記憶容量、快速數(shù)據(jù)傳輸率、極大的移動(dòng)靈活性以及很好的安全性。
SD卡在24mm×32mm×2.1mm的體積內(nèi)結(jié)合了SanDisk快閃記憶卡控制與MLC(Multilevel Cell)技術(shù)和Toshiba(東芝)0.16u及0.13u的NAND技術(shù),通過(guò)9針的接口界面與專(zhuān)門(mén)的驅(qū)動(dòng)器相連接,不需要額外的電源來(lái)保持其上記憶的信息。而且它是一體化固體介質(zhì),沒(méi)有任何移動(dòng)部分,所以不用擔(dān)心機(jī)械運(yùn)動(dòng)的損壞。
SD卡體積小巧,廣泛應(yīng)用在數(shù)碼相機(jī)上,是由日本的松下公司、東芝公司和SanDisk公司共同開(kāi)發(fā)的一種全新的存儲(chǔ)卡產(chǎn)品,最大的特點(diǎn)就是通過(guò)加密功能,保證數(shù)據(jù)資料的安全保密。SD卡在外形上同MultiMedia Card卡保持一致,并且兼容MMC卡接口規(guī)范。不過(guò)注意的是,在某些產(chǎn)品例如手機(jī)上,SD卡和MMS卡是不能兼容的。SD 卡在售價(jià)方面要高于同容量的MultiMedia Card卡。
SD卡多用于MP3隨身聽(tīng)、數(shù)碼攝像機(jī)、數(shù)碼相機(jī)等,其投影面積與MMC卡相同,只是略微厚一點(diǎn),為2.1mm,但是SD卡的容量大得多,且讀寫(xiě)速度也MMC卡快4倍。同時(shí),SD卡的接口與MMC卡是兼容的,支持SD卡的接口大多支持MMC卡。2013年SD卡在數(shù)碼相機(jī)中正在迅速普及,大有成為主流之勢(shì)。SD卡在2013年的發(fā)展很快,已經(jīng)開(kāi)始威脅到CF卡的市場(chǎng)分額了。這是由于SD卡的體積要比CF卡小很多,并且SD卡在容量、性能和價(jià)格上和CF卡的差距越來(lái)越小,而這兩年支持SD卡的手機(jī)迅速在市場(chǎng)走熱,因此,SD卡的迅速成長(zhǎng)絕對(duì)不是偶然的。最重要的一點(diǎn)就是MMC卡也能和SD卡相兼容,這也正是SD卡迅速走紅的原因之一。(3)Memory Stick 最初的Memory Stick提供最多128MB的容量,以及Memory Stick Select容許兩張128MB的容量于一張卡內(nèi)。而含有8GB容量的Memory Stick,已于2006年在拉斯維加斯舉行的國(guó)際消費(fèi)電子展中公布,但根據(jù)索尼公司的資料,Memory Stick PRO最大可能容量為32GB。一般而言,Memory Stick是用來(lái)為手提式裝置作為儲(chǔ)存媒體的, 以易于移除的方式來(lái)被PC存取。例如,索尼的數(shù)碼相機(jī)用Memory Sticks來(lái)儲(chǔ)存影像檔。以Memory Stick讀卡器(一般是一個(gè)以USB或其他連線方式連接的細(xì)小的盒子),用戶(hù)可不需把索尼數(shù)碼相機(jī)接到電腦而復(fù)制圖片。有Memory Stick在數(shù)碼相機(jī)的索尼用戶(hù)、數(shù)碼音樂(lè)播放機(jī),PDA,手提電話(huà),PSP,和其他的裝置以及索尼的VAIO個(gè)人電腦早已包含Memory Stick插槽。除了從數(shù)碼相機(jī)復(fù)制影像檔外,用戶(hù)還可以復(fù)制任何類(lèi)型的檔案到記憶棒內(nèi)或把檔案從記憶棒內(nèi)復(fù)制出來(lái)。市面上也有PCMCIA、CompactFlash或3.5"存軟盤(pán)接口的讀卡器。兼容性方面,較老的MS卡能夠在較新的讀取裝置上使用,(較短的Memory StickDuo 加上一個(gè)適配器后也可以使用)。但是,Memory Stick PRO 和 Memory Stick PRO Duo 通常不能在較老的讀取裝置上使用。
記憶棒是索尼獨(dú)家開(kāi)發(fā)的標(biāo)準(zhǔn),第三方的生產(chǎn)廠家還有SanDisk和Lexar。盡管它是索尼獨(dú)家支持的標(biāo)準(zhǔn),記憶棒還是比其它獨(dú)家支持的快閃存儲(chǔ)格式壽命更長(zhǎng)。除了外型小巧、具有極高穩(wěn)定性和版權(quán)保護(hù)功能以及方便地使用于各種記憶棒系列產(chǎn)品等特點(diǎn)外,記憶棒的優(yōu)勢(shì)還在于索尼推出的大量利用該項(xiàng)技術(shù)的產(chǎn)品,如DV攝像機(jī)、數(shù)碼相機(jī)、VAIO個(gè)人電腦、彩色打印機(jī)、Walkman、IC錄音機(jī)、LCD電視等,而PC卡轉(zhuǎn)換器、3.5英寸軟盤(pán)轉(zhuǎn)換器、并行出口轉(zhuǎn)換器和USB讀寫(xiě)器等全線附件使得記憶棒可輕松實(shí)現(xiàn)與PC及蘋(píng)果機(jī)的連接。
記憶棒的缺點(diǎn)一是只能在索尼數(shù)碼相機(jī)和PSP中使用,二是容量尚不夠大。
尺寸為:50mm x 21.5mm x 2.8mm,重4克。采用精致醒目的藍(lán)色外殼(新的MG為白色),并具有寫(xiě)保護(hù)開(kāi)關(guān)。和很多Flash Memory存儲(chǔ)卡不同,Memory Stick規(guī)范是非公開(kāi)的,沒(méi)有什么標(biāo)準(zhǔn)化組織。采用了Sony自己的外型、協(xié)議、物理格式和版權(quán)保護(hù)技術(shù),要使用它的規(guī)范就必須和Sony談判簽訂許可。Memory Stick也包括了控制器在內(nèi),采用10針接口,數(shù)據(jù)總線為串行,最高頻率可達(dá)20MHz,電壓為2.7伏到3.6伏,電流平均為45mA。可以看出這個(gè)規(guī)格和差不多同一時(shí)間出現(xiàn)的MMC頗為相似。Memory Stick PRO是大容量記憶棒的最終解決方案。大部分老的讀取裝置也能支持MS PRO。通過(guò)Flash ROM的更新,其它較老的讀卡器也能兼容MS PRO。MS PRO的傳輸速率更快,最大支持容量能達(dá)到32GB(截至05年6月,最大容量4GB)。所有大于1GB的MS PRO都支持高速傳輸模式,大容量的記憶棒相比同樣容量的SD卡或者CF卡,價(jià)格要高的多。
索尼在2005年9月30日宣布,它與SanDisk的合資工廠會(huì)推出一種新的記憶棒格式,新的Memory Stick Micro(M2)尺寸僅 15 × 12.5 × 1.2 毫米,理論上支持32 GB。最高傳輸速度160 MB/秒。特性:
標(biāo)準(zhǔn)傳輸速度: 最高寫(xiě)速度: 14.4 M比特/秒(1.8 MB/秒);最高讀速度: 19.6 M比特/秒(2.5 MB/秒)PRO 傳輸速度:傳輸: 160 M比特/秒(20 MB/秒)最小寫(xiě)速度: 15 M比特/秒 Micro 傳輸速度:傳輸: 160 M比特/秒(20 MB/秒)外形尺寸:
標(biāo)準(zhǔn)版: 50.0 mm(寬)× 21.5 mm(高)× 2.8 mm(厚)Duo: 31.0 mm(寬)× 20.0 mm(高)× 1.6 mm(厚)Micro: 15.0 mm(高)× 12.5 mm(寬)× 1.2 mm(厚)(4)CompactFlash卡
CompactFlash(CF卡)最初是一種用于便攜式電子設(shè)備的數(shù)據(jù)存儲(chǔ)設(shè)備。作為一種存儲(chǔ)設(shè)備,它革命性的使用了閃存,于1994年首次由SanDisk公司生產(chǎn)并制定了相關(guān)規(guī)范。當(dāng)前,它的物理格式已經(jīng)被多種設(shè)備所采用。從外形上CF卡可以分為兩種:CFI型卡以及稍厚一些的CFII型卡。從速度上它可以分為CF卡、高速CF卡(CF+/CF2.0規(guī)范)、CF3.0、CF4.0,更快速的CF4.1標(biāo)準(zhǔn)也在2007年被采用。CFII型卡槽主要用于微型硬盤(pán)等一些其他的設(shè)備。
CF是與出現(xiàn)更早且尺寸更大的PCMCIAI型內(nèi)存卡競(jìng)爭(zhēng)的第一批閃存標(biāo)準(zhǔn)之一,它最初是建立在英特爾的或非型閃存的基礎(chǔ)上,之后改為使用與非型閃存。CF是最老也是最成功的標(biāo)準(zhǔn)之一,尤其適合專(zhuān)業(yè)相機(jī)市場(chǎng)。它具有比其他存儲(chǔ)方式更長(zhǎng)的壽命以及較低的單位容量成本,同時(shí)也可以在較小的尺寸上提供較大的容量。
CF卡可以通過(guò)適配器直接用于PCMCIA卡插槽,也可以通過(guò)讀卡器連接到多種常用的端口,如USB、Firewire等。另外,由于它具有較大的尺寸(相對(duì)于較晚出現(xiàn)的小型存儲(chǔ)卡而言),大多數(shù)其他格式的存儲(chǔ)卡可以通過(guò)適配器在CF卡插槽上使用,其中包括SD卡/MMC卡、MemoryStickDuo、XD卡以及SmartMedia卡等。
閃存型存儲(chǔ)設(shè)備具有非易失性和固態(tài),所以它比磁盤(pán)驅(qū)動(dòng)器更穩(wěn)固,耗電量?jī)H相當(dāng)于磁盤(pán)驅(qū)動(dòng)器的5%,卻仍然具有較快的傳輸速率(SanDiskExtremeIV型CF卡的寫(xiě)入速度和讀取速度可達(dá)40MB/s)。它們的工作電壓為3.3volts或5volts,可以在不同的系統(tǒng)間轉(zhuǎn)換。閃存型CF卡可以適應(yīng)極端的溫度變化,工業(yè)標(biāo)準(zhǔn)的閃存卡可以在-45至85攝氏度的范圍內(nèi)工作。
CF接口已廣泛用于PDA、筆記本電腦、數(shù)碼相機(jī)和包括臺(tái)式機(jī)在內(nèi)的各種設(shè)備。
到2007年,CF卡的容量規(guī)格從最小的8MB到最大可達(dá)64GB。當(dāng)前已達(dá)到256GB,最高讀寫(xiě)速度160MB/s。(5)XDpictureCard
XD卡,全稱(chēng)為XDPictureCard,是專(zhuān)為存儲(chǔ)數(shù)碼照片開(kāi)發(fā)的一種存儲(chǔ)卡。以袖珍的外形、輕便、小巧等特點(diǎn)成為時(shí)下風(fēng)尚。XD卡具有超大的存儲(chǔ)容量和優(yōu)秀的兼容性,能配合各式讀卡器,可以方便的與個(gè)人電腦連接。
XD卡是由日本奧林巴斯株式會(huì)社和富士有限公司聯(lián)合推出的一種新型存儲(chǔ)卡,有郵票般大小、極其緊湊的外形。外形尺寸為20mm×25mm×1.7mm,總體積只有0.85立方厘米,約為2克重,是目前較為輕便、小巧的數(shù)字閃存卡。
XD卡是較為新型的閃存卡,相比于其它閃存卡,它擁有眾多的優(yōu)勢(shì)特點(diǎn)。
XD卡的理論最大容量可達(dá)8GB,具有很大的擴(kuò)展空間。目前市場(chǎng)上見(jiàn)到的XD卡有512MB、1GB、2GB等不同的容量規(guī)格。
XD卡采用單面18針接口,理論上圖像存儲(chǔ)容量最高可達(dá)8GB,2004年富士與奧林巴斯聯(lián)合推出了存儲(chǔ)容量最高達(dá)1GB的 xD 卡。而且其讀寫(xiě)速度也更高,(讀取速率為5MB/S,寫(xiě)入速率為3MB/S左右)可以滿(mǎn)足大數(shù)據(jù)量寫(xiě)入,功耗也更低,XD-Picture存儲(chǔ)卡不僅可以同時(shí)用于個(gè)人電腦適配卡和USB讀卡機(jī),使之非常容易與個(gè)人電腦連接,而且其還可配合Compact Flash轉(zhuǎn)接適配器,并允許在數(shù)碼相機(jī)里做為Compact Flash卡存儲(chǔ)介質(zhì)使用。雖然XD卡目前的價(jià)格有些昂貴,不過(guò)由于隨著閃存芯片及其它存儲(chǔ)卡價(jià)格的不斷下滑,XD卡的價(jià)格將有較大的降價(jià)空間。
目前市面上常見(jiàn)到的xD卡有三種類(lèi)別:標(biāo)準(zhǔn)型、M型、H型
這三種的尺寸都是一樣的,不同的地方在于采用的技術(shù)以及芯片不同,所以速度也不同。
最早推出的XD卡就是所謂的標(biāo)準(zhǔn)型,這點(diǎn)沒(méi)有什么爭(zhēng)議,標(biāo)準(zhǔn)測(cè)試出來(lái)的數(shù)值大概在讀取5M/秒、寫(xiě)入3M/秒。
M型就是采用MLC技術(shù)生產(chǎn)的xD卡,這是2005年發(fā)表的,為的就是降低售價(jià)。然而卻碰到與奧林巴斯以及富士一些舊款機(jī)型不兼容的問(wèn)題,而且由于速度慢(MLC最大的缺點(diǎn)),在錄像功能上時(shí)常出現(xiàn)問(wèn)題,標(biāo)準(zhǔn)測(cè)試出來(lái)的數(shù)值大概在讀取4M/秒、寫(xiě)入2.5M/秒。
H型,就是HIGH-SPEED的意思,讀寫(xiě)速度比標(biāo)準(zhǔn)型快2倍、比M型快三倍,名副其實(shí)的HIGH SPEED。(6)MMCMobile 為了獲得更好的節(jié)電性能,MMC協(xié)會(huì)推出了既能在低電壓下工作又能兼容原有RS-MMC的存儲(chǔ)卡--MMC moboile,它能在1.65~19.5V和2.7~3.6V電壓兩種模式下工作,理論傳輸速度最高可達(dá)52MB/s。被稱(chēng)之為雙電壓RS-MMC。MMC moboile與RS-MMC卡的尺寸大小完全一致,最大的區(qū)別在于MMC moboile具有13個(gè)金手指。(7)MMC micro 相比microSD卡,MMC micro的體積略大一些,為12mm×14mm×1.1mm。與MMC moboile一樣都支持雙電壓,適用于對(duì)尺寸和電池續(xù)航能力要求很高的手機(jī)以及其他手持便攜式設(shè)備。傳輸速度上前面的快(8)MINISD
miniSD卡是SD卡發(fā)展而來(lái),性能和傳統(tǒng)的SD卡并無(wú)大的區(qū)別,miniSD卡和SD卡一樣,都具有每秒2MB的數(shù)據(jù)傳輸速度。與傳統(tǒng)SD卡一樣,miniSD卡同樣具有硬件數(shù)據(jù)寫(xiě)保護(hù)保護(hù)開(kāi)關(guān),可避免儲(chǔ)存內(nèi)容不慎刪除的風(fēng)險(xiǎn)。miniSD卡特點(diǎn)是體積小巧(體積只有21.5×20x1.4mm,相比較原來(lái)的SD卡減少了40%的體積)、性能穩(wěn)定,可配合專(zhuān)用轉(zhuǎn)接卡使用,完全兼容標(biāo)準(zhǔn)SD卡插槽。而且miniSD卡采用的是低耗電的設(shè)計(jì),比SD卡更適用于移動(dòng)通信設(shè)備,因此主要進(jìn)攻手機(jī)、PDA、掌上電腦的信息終端。
與TF卡相比,miniSD卡就要常見(jiàn)得多了,同樣作為一款身材比較苗條的多媒體卡,miniSD卡在手機(jī)市場(chǎng)中的使用就要廣泛得多了,比如摩托羅拉MPX100、松下X700、BQ S700等品牌的多種手機(jī)產(chǎn)品都支持它。同時(shí)通過(guò)擴(kuò)展卡它又能作為標(biāo)準(zhǔn)的SD卡使用,非常方便。(9)microSD
Micro SD Card,原名Trans-flash Card(TF卡),2004年正式更名為Micro SD Card,由SanDisk(閃迪)公司發(fā)明。在Micro SD面市之前,手機(jī)制造商都采用嵌入式記憶體,雖然這類(lèi)模組容易裝設(shè),然而有著無(wú)法應(yīng)實(shí)際應(yīng)潮流需求的困擾--容量被限制住了,無(wú)法再有升級(jí)空間。Micro SD仿效SIM卡的應(yīng)用模式,即是同一張卡可以應(yīng)用在不同型號(hào)的行動(dòng)電話(huà)內(nèi),讓行動(dòng)電話(huà)制造商不用再為插卡式的研發(fā)設(shè)計(jì)而傷腦筋。Micro SD卡足以堪稱(chēng)可移動(dòng)式的儲(chǔ)存IC。Micro SD卡是一種極細(xì)小的快閃存儲(chǔ)器卡,其格式源自SanDisk創(chuàng)造,原本這種記憶卡稱(chēng)為T(mén)-Flash,及后改稱(chēng)為T(mén)rans Flash;而重新命名為Micro SD的原因是因?yàn)楸籗D協(xié)會(huì)(SDA)采立。另一些被SDA采立的記憶卡包括Mini SD和SD卡。其主要應(yīng)用于移動(dòng)電話(huà),但因它的體積微小和儲(chǔ)存容量的不斷提高,已經(jīng)使用于GPS設(shè)備、便攜式音樂(lè)播放器和一些快閃存儲(chǔ)器盤(pán)中。它的體積為 15mm x 11mm x1mm,差不多相等于手指甲的大小,是現(xiàn)時(shí)最細(xì)小的記憶卡。它也能通過(guò)SD轉(zhuǎn)接卡來(lái)接駁于SD卡插槽中使用。現(xiàn)時(shí)MicroSD卡提供128MB、256MB、512MB、1G、2G、4G、8G、16G、32G和64G的容量(MWC 2014 世界移動(dòng)通信大會(huì)期間,SanDisk打破了儲(chǔ)存卡最高64GB容量的傳統(tǒng),正式發(fā)布了一款容量高達(dá)128GB的 Micro SD XC 儲(chǔ)存卡。
3、自己手機(jī)中的硬件設(shè)備
CPU高通驍龍600其中搭載gpu為Adreno320
攝像傳感器:背照式2代CMOS
藍(lán)牙4.0
不支持SD卡擴(kuò)展
第二篇:嵌入式總結(jié)
一、嵌入式系統(tǒng)原理與應(yīng)用課程總結(jié)
這個(gè)學(xué)期我學(xué)習(xí)了《嵌入式原理與應(yīng)用》這門(mén)課程,雖然這個(gè)學(xué)期馬上就要結(jié)束了,對(duì)嵌入式的學(xué)習(xí)也要告一段落了,但是我覺(jué)得收獲還是很大的。學(xué)期開(kāi)始,我開(kāi)始學(xué)習(xí)《嵌入式系統(tǒng)及應(yīng)用》,由于初次接觸嵌入式系統(tǒng),感覺(jué)蠻難的,所以收獲不是很大,很多的概念都比較模糊,真是茫然無(wú)從下手。雖然一個(gè)學(xué)期的學(xué)習(xí)時(shí)間不是很長(zhǎng),但是我覺(jué)得對(duì)嵌入式系統(tǒng)也已經(jīng)有了一個(gè)大致的概念。對(duì)它的歷史發(fā)展與今后展望都有了一定的了解。嵌入式技術(shù)的掌握是需要一個(gè)過(guò)程的,對(duì)嵌入式技術(shù)的全面掌握是有相當(dāng)難度的。如果要真正掌握的話(huà)還是需要一步步積累才能熟練掌握的,所以我們還要自己多加學(xué)習(xí),不斷地回顧以前學(xué)到的知識(shí),也要吸收新的概念與技術(shù),使自己的學(xué)習(xí)目標(biāo)更加明確,學(xué)習(xí)方法更加完善,也體會(huì)到軟件開(kāi)發(fā)的樂(lè)趣,更加清楚的認(rèn)識(shí)到自己在軟件開(kāi)發(fā)學(xué)習(xí)上的一些不足之處,并且不斷改進(jìn)以提高自己。
通過(guò)這門(mén)課程的學(xué)習(xí),我了解到了嵌入式系統(tǒng)是一種為特定設(shè)備服務(wù),軟硬件可裁剪的計(jì)算機(jī)系統(tǒng),其英文名稱(chēng)是Embedded System。嵌入式系統(tǒng)的范圍很廣,特點(diǎn)是形式變化多樣、體積小,可以靈活地適應(yīng)各種設(shè)備的需求。嵌入式系統(tǒng)的一些例子:手機(jī)、汽車(chē)、ATM、數(shù)字電視、醫(yī)療儀器等等。嵌入式系統(tǒng)本身是一個(gè)相對(duì)模糊的定義,一個(gè)手持的MP3和一個(gè)PC104的微型工業(yè)控制計(jì)算機(jī)都可以認(rèn)為是嵌入式系統(tǒng)。總體來(lái)說(shuō),嵌入式系統(tǒng)是“用于控制,監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝備”。一個(gè)典型的桌面Linux系統(tǒng)包括3個(gè)主要的軟件層---linux內(nèi)核、C庫(kù)和應(yīng)用程序代碼。內(nèi)核是唯一可以完全控制硬件的層,內(nèi)核驅(qū)動(dòng)程序代表應(yīng)用程序與硬件之間進(jìn)行會(huì)話(huà)。內(nèi)核之上是C庫(kù),負(fù)責(zé)把POSIX API轉(zhuǎn)換為內(nèi)核可以識(shí)別的形式,然后調(diào)用內(nèi)核,從應(yīng)用程序向內(nèi)核傳遞參數(shù)。應(yīng)用程序依靠驅(qū)動(dòng)內(nèi)核來(lái)完成特定的任務(wù)。嵌入式系統(tǒng)的發(fā)展是從電子計(jì)算機(jī)誕生以來(lái),計(jì)算機(jī)的發(fā)展有兩個(gè)方向:一個(gè)方向是體積大型化、處理能力超強(qiáng)的大型計(jì)算機(jī);另一個(gè)是向體積小型化,功能多樣化的方向發(fā)展。嵌入式微控制器,即傳統(tǒng)意義上的單片機(jī),是目前嵌入式系統(tǒng)的前身。一般都是8位或者16位。嵌入式微處理器,單片機(jī)的發(fā)展時(shí)間較早,處理能力很低,只能應(yīng)用在一些相對(duì)簡(jiǎn)單的控制領(lǐng)域。嵌入式微處理器是近幾年隨著大規(guī)模集成電路發(fā)展同步發(fā)展起來(lái)的。與單片機(jī)相比,嵌入式微處理器的處理能力更強(qiáng),主流的嵌入式微處理器都是32位的。嵌入式微處理器在一個(gè)芯片上集成了復(fù)雜的功能,有的還把常見(jiàn)的外部設(shè)備控制器也集成到芯片內(nèi)部。未來(lái)嵌入式系統(tǒng)的發(fā)展方向,隨著微電子技術(shù)的發(fā)展和電子制造工藝的進(jìn)步,嵌入式系統(tǒng)硬件的體積會(huì)不斷縮小,系統(tǒng)穩(wěn)定性也在不斷增強(qiáng),可以把更多功能集成到一個(gè)芯片上;同時(shí)功耗方面也不斷降低。隨著網(wǎng)絡(luò)的普及和IPv6技術(shù)的應(yīng)用,IPv6技術(shù)主要解決了IPv4的IP地址數(shù)目緊缺的現(xiàn)狀,越來(lái)越多的嵌入式設(shè)備也會(huì)加入到網(wǎng)絡(luò)中。典型的嵌入式系統(tǒng)的組成,嵌入式系統(tǒng)包括硬件和軟件。硬件包括了嵌入式微處理器和嵌入式微控制器以及一些外圍元器件和外部設(shè)備;軟件包括了嵌入式操作系統(tǒng)和應(yīng)用軟件。嵌入式系統(tǒng)硬件種類(lèi)繁多,有許多硬件和軟件的解決方案,不同嵌入式系統(tǒng)軟硬件很難兼容,軟件必須修改而硬件必須重新設(shè)計(jì)才能使用。不僅如此,我們還要對(duì)軟件硬件都有所了解才可以逐漸有所領(lǐng)悟。軟件和硬件都是學(xué)習(xí)嵌入式系統(tǒng)必不可少的方面。其實(shí)我現(xiàn)在仍舊覺(jué)得在嵌入式系統(tǒng)這個(gè)博大精深的領(lǐng)域,我還有太多太多不懂的地方,需要學(xué)習(xí)的還有很讀。嵌入式軟件開(kāi)發(fā)應(yīng)用廣泛而且前景很好,目前正處于人才緊缺的關(guān)口,嵌入式技術(shù)在未來(lái)能夠得到更加廣泛的應(yīng)用。學(xué)好嵌入式,C語(yǔ)言很重要,所以感覺(jué)自己有必要在學(xué)習(xí)、積累一下這方面的知識(shí)。很多東西的學(xué)習(xí)不死一帆風(fēng)順也是比較耗時(shí)的,嵌入式也不例外,要想學(xué)好還必須下大力氣,還必須堅(jiān)持。這次的課程讓我明確了一點(diǎn):嵌入式開(kāi)發(fā)對(duì)于提升我們的系統(tǒng)知識(shí)有很大的幫助,尤其是操作系統(tǒng)的知識(shí)。嵌入式系統(tǒng)開(kāi)發(fā)對(duì)于我們的知識(shí)面要求非常的廣,且要有一定的深度。,平時(shí)上完理論課很少有時(shí)間上機(jī)進(jìn)行時(shí)間或者隔幾天才上機(jī)練習(xí),等到上機(jī)時(shí)一些東西可能遺忘了,比較耗費(fèi)時(shí)間。在課上,有老師在前面演示我們感覺(jué)看得懂或感覺(jué)沒(méi)問(wèn)題,可輪到我們獨(dú)立完成的時(shí)候,因?yàn)閷?shí)際操作的少,跟著問(wèn)題就來(lái)了。有些即使老師講了很多遍的問(wèn)題,我們不會(huì),老師還是會(huì)走進(jìn)我們給我們耐心的指導(dǎo),還給我們講一些學(xué)習(xí)的方法,一些軟件開(kāi)發(fā)需要注意的細(xì)節(jié),讓我們知道自己在哪方面不足,需要加強(qiáng),也讓我們了解到哪些需要認(rèn)真的學(xué)習(xí),那些是重點(diǎn),不是沒(méi)有方向的亂學(xué)一通,結(jié)果什么也學(xué)不好。經(jīng)過(guò)這次的課程,我真真確確地感受到了嵌入式在我們生活中工作中的運(yùn)用,這些軟件、程序能讓我們提高工作的效率,更直觀更便捷的切入主題。當(dāng)然,在學(xué)習(xí)的過(guò)程中并不是一帆風(fēng)順的,在這之中,因?yàn)橐僮鞯臇|西很多,有時(shí)錯(cuò)一步,后面的結(jié)果就無(wú)法顯示,而自己的水平根本檢查不出來(lái)是哪里出了錯(cuò)。這時(shí)候,老師都會(huì)耐心的過(guò)來(lái)幫助我們一起去解決。在平時(shí)我們就需要好好的查閱書(shū)籍或者上網(wǎng)搜集相關(guān)資料去解決問(wèn)題。
在了解了基礎(chǔ)知識(shí)的情況下,我們還同步地進(jìn)行了上機(jī)操作,當(dāng)然,其中遇到很多的難題,很多東西都是第一次接觸,又沒(méi)有很多的指導(dǎo)操作,主要還是要憑借自己去摸索練習(xí)。其中的困難可想而知。然而堅(jiān)持就是勝利,只要堅(jiān)持做下去。通過(guò)這學(xué)期的實(shí)驗(yàn)課程,我感覺(jué)收獲還是蠻多的。可能我對(duì)于嵌入式的知識(shí)學(xué)習(xí)的還是不太多,但是這之外的東西收獲頗豐。它讓我學(xué)會(huì)了如何通過(guò)自己的努力去認(rèn)知一個(gè)新事物,更重要的是端正自己的學(xué)習(xí)態(tài)度,只有真正下功夫去學(xué)習(xí),才能有收獲,正所謂“一份耕耘,一份收獲”。沒(méi)有付出,何談回報(bào)呢?再者,通過(guò)這學(xué)期的實(shí)驗(yàn)課程,我也學(xué)會(huì)了如何去分析問(wèn)題,如何找出自己設(shè)計(jì)中的不足,繼而去排除解決問(wèn)題,這就是一個(gè)自我學(xué)習(xí)的過(guò)程。當(dāng)我們通過(guò)實(shí)驗(yàn)去學(xué)習(xí)理論知識(shí)時(shí),自己動(dòng)手得出的結(jié)論,不僅能加深我們對(duì)嵌入式的理解,更能加深我們對(duì)此的記憶。
其實(shí),我覺(jué)得最大的收獲不僅僅是我學(xué)習(xí)到了多少知識(shí),還有學(xué)習(xí)給我的感悟。首先是心態(tài)。一定要有一個(gè)積極的心態(tài),獨(dú)立解決問(wèn)題的意識(shí),培養(yǎng)扎實(shí)基礎(chǔ)的認(rèn)識(shí)。不要什么東西都感覺(jué)跟簡(jiǎn)單,很多東西可能是看似簡(jiǎn)單,就不去做了或者不屑一做,以至于性網(wǎng)上搜搜就可以了,這樣很不好。有自己的東西有自己的付出才會(huì)有程序運(yùn)行成功時(shí)的喜悅和小自豪,這樣也有助于培養(yǎng)自己的興趣。要時(shí)刻牢記態(tài)度決定一切。其次是興趣,感覺(jué)學(xué)習(xí)工作中興趣很關(guān)鍵,只是一個(gè)引發(fā)人積極性的問(wèn)題,有了興趣就自覺(jué)了,效率自然就高了。再次要敢于嘗試和挑戰(zhàn)。不要安于現(xiàn)成的程序,而且不要害怕失敗,在程序調(diào)試的過(guò)程中這點(diǎn)尤為重要,“發(fā)現(xiàn)出問(wèn)題然后解決問(wèn)題”是一個(gè)積累經(jīng)驗(yàn)的過(guò)程,而且很高效。最后要不懈追求。對(duì)于源代碼進(jìn)行不斷的完善,要盡可能的實(shí)現(xiàn)課題所要求的功能。對(duì)于初學(xué)者或者開(kāi)發(fā)較少的人來(lái)說(shuō),大量大寫(xiě)程序還是有必要的,但同時(shí)要注意思考,理解其實(shí)現(xiàn)的內(nèi)在意義。還可以自己添加一些有意義的功能來(lái)實(shí)現(xiàn)。當(dāng)看到自己編寫(xiě)的程序正常運(yùn)行時(shí),興趣也會(huì)隨之而來(lái),樂(lè)此不疲,形成一個(gè)良性循環(huán)。我相信在以后的學(xué)習(xí)工作中,我也會(huì)端正自己的學(xué)習(xí)態(tài)度,一絲不茍的去對(duì)待每一件事。只有做好足夠的準(zhǔn)備,才能事半功倍!
第三篇:嵌入式實(shí)驗(yàn)總結(jié)
如今,嵌入式系統(tǒng)已經(jīng)在眾多電氣電子產(chǎn)品上應(yīng)用,有人預(yù)測(cè)今后5年發(fā)展形勢(shì)看好。嵌入式是典型的交叉學(xué)科,電信、電子、電氣、計(jì)算機(jī)、通信等等都有涉及。
嵌入式理論、實(shí)踐要求多、門(mén)檻高,只有理論、實(shí)踐同步才能在積累中更好的漸次掌握,這學(xué)期我們針對(duì)嵌入式入門(mén)做了一些實(shí)驗(yàn),通過(guò)自己動(dòng)手和實(shí)驗(yàn)箱、實(shí)驗(yàn)軟件打交道,對(duì)嵌入式編程形成初步了解,為今后進(jìn)一步發(fā)展打基礎(chǔ)。
實(shí)驗(yàn)環(huán)境:
武漢創(chuàng)維特公司JXARM9-2410開(kāi)發(fā)板、PC;
Linux、windows操作平臺(tái);
DNW、VMwareWorkstation應(yīng)用軟件;
《ARM9嵌入式技術(shù)及Linux高級(jí)實(shí)踐教程》、實(shí)驗(yàn)參考資料等;
實(shí)驗(yàn)內(nèi)容及目標(biāo):
閱讀樣例程序,進(jìn)行:
1.熟悉JXARM9-2410開(kāi)發(fā)板、相關(guān)應(yīng)用軟件的使用,能成功運(yùn)行示例實(shí)驗(yàn)程序(demo-led);
2.使用VMware,修改demo-led源程序,使開(kāi)發(fā)板上數(shù)碼管按照demo-led顯示方式顯示;
3.使用VMware、DNW,修改相關(guān)源程序,實(shí)現(xiàn)開(kāi)發(fā)板鍵盤(pán)輸入的字符在DNW中顯示;
4.使用VMware、DNW,修改相關(guān)源程序,實(shí)現(xiàn)對(duì)直流電機(jī)轉(zhuǎn)動(dòng)狀態(tài)的控制;
觀看教學(xué)視頻,進(jìn)行交叉編譯:
1.加載linux內(nèi)核;
2.配置、編譯linux內(nèi)核;
3.Windows、linux跨平臺(tái)文件共享;
4.編譯、運(yùn)行l(wèi)inux程序(helloworld)
5.Linux下編譯數(shù)碼管顯示驅(qū)動(dòng)程序;
6.Linux下編譯攝像頭、GPRS驅(qū)動(dòng)程序;
學(xué)習(xí)嵌入式是一個(gè)漫長(zhǎng)的過(guò)程,學(xué)好它還是需要一番的功夫。通過(guò)嵌入式實(shí)驗(yàn)由淺入深的動(dòng)手實(shí)踐,我漸漸對(duì)嵌入式有了具體概念,也逐漸對(duì)其產(chǎn)生了興致和好奇心。
對(duì)于初學(xué)者,還有一點(diǎn)小建議,不要好高騖遠(yuǎn),要腳踏實(shí)地.
第四篇:嵌入式 知識(shí)點(diǎn)總結(jié)
1、嵌入式系統(tǒng)的特點(diǎn):
(1).嵌入式系統(tǒng)的個(gè)性化很強(qiáng),軟件系統(tǒng)和硬件在不同的應(yīng)用中均有差異;(2).由通用計(jì)算機(jī)系統(tǒng)發(fā)展而來(lái),根據(jù)應(yīng)用對(duì)軟硬件進(jìn)行裁剪;(3).高的可靠性,強(qiáng)的實(shí)用性;
(4).高的耗電量直接影響系統(tǒng)的成本及電源壽命;
2、什么是嵌入式系統(tǒng)?
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),采用可剪裁硬件,適用于對(duì)功能,可靠性,成本,體積,功耗等有嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。
3、采用RISC架構(gòu)的ARM微處理器一般具有如下特點(diǎn):(1).體積小、功耗低、成本低、性能高;
(2).支持Thumb(16位)/ARM(3位)雙指令集,能很好地兼容8位/16位器件;(3).大量使用寄存器,指令執(zhí)行速度快;(4).大多數(shù)數(shù)據(jù)操作都在寄存器中完成;(5).尋址方式靈活簡(jiǎn)單,執(zhí)行效率高;(6).采用固定長(zhǎng)度的指令格式;
4、嵌入式系統(tǒng)開(kāi)發(fā)流程:
選擇嵌入式處理器(硬件平臺(tái))---選擇嵌入式操作系統(tǒng)(軟件平臺(tái))-----開(kāi)發(fā)嵌入式應(yīng)用軟件-----測(cè)試通過(guò)---(是)---系統(tǒng)測(cè)試-----開(kāi)發(fā)結(jié)束
5、嵌入式系統(tǒng)軟件設(shè)計(jì)流程:
代碼編程(C/匯編源程序)-----交叉編譯(OBJ文件)-----交叉函數(shù)庫(kù)----交叉鏈接(系統(tǒng)映像文件)---(重定向與下載)---目標(biāo)板----調(diào)試;
6、ARM9E處理器有獨(dú)立的指令緩存(ICACHE)和數(shù)據(jù)緩存(DCACHE);
7、ARM9系列處理器共有37個(gè)寄存器,其中31個(gè)屬于通用寄存器,6個(gè)為ARM處理器;
8、ARM總共有7種不同的處理器模式,分別是:用戶(hù)模式,快速中斷模式,外部中斷模式,管理模式,數(shù)據(jù)訪問(wèn)中止模式,未定義指令中止模式,系統(tǒng)模式
9、R13一般作為棧指針SP;R14被稱(chēng)為連接寄存器LR,作用:一是在通過(guò)BL或者BLX指令調(diào)用子程序時(shí)存放當(dāng)前子程序的返回地址;二是在發(fā)生異常時(shí)用來(lái)保存該模式基于PC的返回地址;R15是程序計(jì)數(shù)器PC,用來(lái)保存處理器取值的地址;
10、流水線技術(shù)的工作原理:
ARM7采用的是3級(jí)流水線:FETCH/DECODE/EXECUTE.此時(shí)在EXECUTE階段要完成大量的工作,包括寄存器和存儲(chǔ)器的讀寫(xiě)操作、移位操作、ALU操作等,這導(dǎo)致在執(zhí)行階段往往需要多個(gè)時(shí)鐘周期,從而成為系統(tǒng)性能的瓶頸。
ARM9采用5級(jí)流水線技術(shù),分別是FETCH/DECODE/EXECUTE/MEMORY/WRITE.FETCH階段和之前功能相同,即從指令存儲(chǔ)器中取值;DECODE階段除了譯碼之外,還讀取寄存器操作數(shù);EXECUTE階段執(zhí)行運(yùn)算,產(chǎn)生ALU運(yùn)算結(jié)果或產(chǎn)生存儲(chǔ)器地址;MEMORY階段進(jìn)行存儲(chǔ)器的讀寫(xiě)操作;WRITE階段將結(jié)果寫(xiě)回寄存器;
11、ARM9使用一個(gè)統(tǒng)一的TLB來(lái)緩存頁(yè)表信息,TLB主頁(yè)分為兩個(gè)部分:主TLB和鎖定TLB;
12、ARM總共有7種處理器異常:復(fù)位異常、未定義指令異常、軟件中斷異常、指令預(yù)取終止異常、數(shù)據(jù)訪問(wèn)終止異常、外部訪問(wèn)終止異常、快速中斷請(qǐng)求異常
13、(1).復(fù)位異常和軟件中斷異常時(shí),處理器進(jìn)入管理模式;(2).未定義指令異常時(shí),處理器進(jìn)入未定義模式;
(3).指令預(yù)取終止異常和數(shù)據(jù)訪問(wèn)終止異常時(shí),處理器進(jìn)入中止模式;(4).外部中斷請(qǐng)求時(shí),處理器進(jìn)入外部中斷模式;(5).快速中斷請(qǐng)求時(shí),處理器進(jìn)入快速中斷模式; 14.ARM運(yùn)行狀態(tài):ARM狀態(tài)和Thumb狀態(tài);ARM指令必須在ARM狀態(tài)下執(zhí)行,同樣,Thumb指令也必須處于Thumb狀態(tài)下執(zhí)行。
15.ARM狀態(tài)和Thumb狀態(tài)切換可以通過(guò)BX指令來(lái)實(shí)現(xiàn)。
16.ARM指令集有5種形式的位移操作:LSL:邏輯左移;LSR:邏輯右移;ASR:算術(shù)右移;ROR:循環(huán)右移;RRX:帶擴(kuò)展的循環(huán)右移;
17.立即數(shù)并不是任意數(shù)都是合法的,在立即數(shù)尋址中,分配給立即數(shù)的空間是12位,8位用于保存一個(gè)常數(shù),4位用于保存循環(huán)右移基數(shù),而循環(huán)右移每次需要移動(dòng)偶數(shù)位,即右移的位數(shù)是基數(shù)*2;假設(shè)常數(shù)為A,循環(huán)右移位數(shù)為N,則最后得到的立即數(shù)=A循環(huán)右移(N*2位);
18.ARM指令的尋址方式及特點(diǎn):(1)立即尋址;
(2).寄存器偏移尋址;(3).寄存器偏移尋址;(4).寄存器間接尋址;(5).基址變址尋址;(6).多寄存器尋址;
(7).堆棧尋址:滿(mǎn)遞增堆棧、空遞增堆棧、滿(mǎn)遞減堆棧、空遞減堆棧; 19.LDR和STR LDR指令:從內(nèi)存讀取數(shù)據(jù)裝入寄存器; STR指令:將寄存器中的數(shù)據(jù)存入內(nèi)存;
20.CDP:是協(xié)處理器數(shù)據(jù)處理指令:用來(lái)執(zhí)行特定的數(shù)據(jù)操作; MCR:將ARM寄存器中的數(shù)據(jù)傳輸?shù)絽f(xié)處理器寄存器中;
MRC:數(shù)據(jù)傳輸方向與MCR指令相反,它將協(xié)處理器寄存器中的數(shù)據(jù)傳送到ARM處理器寄存器中;
21.ADR:小范圍的地址讀取偽指令,主要用來(lái)讀取基于PC相對(duì)偏移的地址或基于寄存器相對(duì)偏移的地址;
LDR:大范圍偽地址讀取偽指令,用于加載32位的立即數(shù)或是一個(gè)地址值; 22.Thumb跳轉(zhuǎn)指令:
B:是Thumb指令中唯一可以條件執(zhí)行的指令; BL:帶鏈接的長(zhǎng)跳轉(zhuǎn);
BX:指令在跳轉(zhuǎn)的同時(shí),會(huì)選擇性的切換指令集; BLX:帶鏈接的跳轉(zhuǎn),并選擇性的切換指令集;
23.MMU:其作用主要有2個(gè)方面:一是地址映射,負(fù)責(zé)將虛擬地址映射成物理地址;二是對(duì)地址訪問(wèn)的保護(hù)和限制;提供硬件機(jī)制的內(nèi)存訪問(wèn)授權(quán),大多數(shù)使用虛擬存儲(chǔ)器的系統(tǒng)都使用一種稱(chēng)為分頁(yè)機(jī)制,虛擬地址空間劃分成大小相同的一組頁(yè),每個(gè)頁(yè)有一個(gè)用來(lái)標(biāo)記它的頁(yè)號(hào),而相應(yīng)的物理地址空間也被進(jìn)行劃分,單位幀、頁(yè)和頁(yè)幀的大小必須相同,虛擬地址被送往MMU,MMU將虛擬地址轉(zhuǎn)化為物理地址。
24.進(jìn)程調(diào)度策略可分為:“搶占式調(diào)度”和”非搶占式調(diào)度”;
25.在用戶(hù)空間中,進(jìn)程是由進(jìn)程標(biāo)識(shí)符(PID)表示的,一個(gè)PID在進(jìn)程的整個(gè)生命期間不會(huì)更改,但PID可以在進(jìn)程進(jìn)行銷(xiāo)毀后重新使用;對(duì)用戶(hù)來(lái)說(shuō),PID是唯一標(biāo)識(shí)一個(gè)進(jìn)程的數(shù)字值;
26.Linux進(jìn)程還可以通過(guò)exec系統(tǒng)調(diào)用產(chǎn)生; 27.Linux操作系統(tǒng)有三種進(jìn)程調(diào)度策略:(1).分時(shí)調(diào)度策略;(2).先到先服務(wù)的實(shí)時(shí)調(diào)度策略;(3).時(shí)間片輪的實(shí)時(shí)調(diào)度策略; 28.嵌入式文件系統(tǒng)分類(lèi):(1).基于Flash的文件系統(tǒng):
JFFS2文件系統(tǒng);YAFFS文件系統(tǒng);Cramfs;Romfs;其他文件系統(tǒng);
(2).基于RAM的文件系統(tǒng): RamDisk;Ramfs/Tmpfs(3).網(wǎng)絡(luò)文件系統(tǒng)NFS 29.Boot Loader 階段一:1.基本的硬件初始化:a.屏蔽所有中斷;b.設(shè)置CPU的速度和時(shí)鐘頻率;c.RAM初始化;d.初始化LED;30.ARM-Linux內(nèi)存管理原理:從兩方面入手:一是Linux內(nèi)核對(duì)內(nèi)存的管理(包括最重要的地址映射、內(nèi)存空間的分配以及地址訪問(wèn)的限制,即保護(hù)機(jī)制);二是體系對(duì)內(nèi)存管理方面的特殊性;
31.Linux虛擬內(nèi)存的實(shí)現(xiàn)需要6種機(jī)制的支持:地址映射機(jī)制、請(qǐng)求頁(yè)機(jī)制、內(nèi)存分配回收機(jī)制、緩存和刷新機(jī)制、交換機(jī)制和內(nèi)存共享機(jī)制; 32.Linux虛擬內(nèi)存實(shí)現(xiàn)機(jī)制間的相互關(guān)系:
地址映射機(jī)制----請(qǐng)求頁(yè)機(jī)制----內(nèi)存分配和回收機(jī)制---交換機(jī)制----緩存和刷新機(jī)制
33.進(jìn)程,又稱(chēng)作任務(wù),是一個(gè)動(dòng)態(tài)的執(zhí)行過(guò)程,是處于執(zhí)行期的程序,進(jìn)程是系統(tǒng)資源分配的最小單位。
34.在Linux系統(tǒng)中,所有的進(jìn)程都是fork出來(lái)的,它們有個(gè)共同的祖先:0號(hào)進(jìn)程;
35.init是內(nèi)核啟動(dòng)的第一個(gè)用戶(hù)級(jí)進(jìn)程,也是系統(tǒng)的第一個(gè)真正的進(jìn)程,是其他所有進(jìn)程的父進(jìn)程,所以init內(nèi)核線程(或進(jìn)程)的標(biāo)識(shí)符為1,init有很多重要的任務(wù),負(fù)責(zé)完成系統(tǒng)的一些初始化設(shè)置任務(wù),以及執(zhí)行系統(tǒng)初始化程序,init程序使用/etc/inittab作為腳本文件來(lái)創(chuàng)建系統(tǒng)中的新進(jìn)程;
36.進(jìn)程的銷(xiāo)毀通過(guò)以下三個(gè)事件驅(qū)動(dòng):正常的進(jìn)程結(jié)束、信號(hào)、exit函數(shù)的調(diào)用;
37.進(jìn)程調(diào)度時(shí)機(jī)可分為:主動(dòng)調(diào)度和被動(dòng)調(diào)度;按細(xì)分的話(huà):(1)進(jìn)程狀態(tài)轉(zhuǎn)換;(2)當(dāng)前進(jìn)程的時(shí)間片用完;(3)設(shè)備驅(qū)動(dòng)程序;(4)進(jìn)程從中斷、異常以及系統(tǒng)調(diào)用返回到用戶(hù)態(tài); 38.選擇進(jìn)程的依據(jù):policy、priority、counter、rt_priority; 39.內(nèi)核模塊全稱(chēng)為動(dòng)態(tài)可加載內(nèi)核模塊,是Linux內(nèi)核向外部提供的一個(gè)插口,簡(jiǎn)稱(chēng)為模塊; 40.加載模塊有兩種方法:第一種是通過(guò)insmod命令手工將module載入內(nèi)核;第二種是根據(jù)需要載入module;kerneld的主要功能是module載入內(nèi)核和將它卸載出內(nèi)核; 41.中斷是一個(gè)流程,一般經(jīng)過(guò)三個(gè)環(huán)節(jié):中斷相應(yīng)、中斷處理、中斷返回;
42.ARM-Linux的系統(tǒng)調(diào)用原理:系統(tǒng)調(diào)用的過(guò)程和中斷有類(lèi)似之處,當(dāng)CPU遇到自陷指令后,跳轉(zhuǎn)到內(nèi)核態(tài),操作系統(tǒng)首先保存當(dāng)前運(yùn)行的信息,然后根據(jù)系統(tǒng)調(diào)用號(hào)來(lái)查找相應(yīng)的函數(shù)去執(zhí)行,執(zhí)行完了以后恢復(fù)原先保存的運(yùn)行信息返回,比如通常應(yīng)用程序所用的fork()函數(shù),它是經(jīng)過(guò)包裝的函數(shù),其最終的實(shí)現(xiàn)是系統(tǒng)調(diào)用;
43.在UNIX系統(tǒng)下有兩種方式實(shí)現(xiàn)系統(tǒng)調(diào)用:通過(guò)經(jīng)過(guò)封裝的C庫(kù)或者直接調(diào)用;
44.系統(tǒng)調(diào)用的過(guò)程和中斷有類(lèi)似之處,當(dāng)CPU遇到自陷指令后,跳轉(zhuǎn)到內(nèi)核態(tài),操作系統(tǒng)首先保存當(dāng)前運(yùn)行的信息,然后根據(jù)系統(tǒng)調(diào)用號(hào)查找相應(yīng)的函數(shù)去執(zhí)行,執(zhí)行完了以后恢復(fù)原先保存的運(yùn)行信息返回;通過(guò)不同的向量索引可以使CPU立即轉(zhuǎn)入不同的處理程序; 45.init進(jìn)程是系統(tǒng)所有進(jìn)程的起點(diǎn),內(nèi)核在完成核內(nèi)參數(shù)init=XXX來(lái)設(shè)置init進(jìn)程,init進(jìn)程需要讀取/etc/inittab文件作為其行為指針,inittab是以行為為單位的描述性(非執(zhí)行性)文本; 46.存儲(chǔ)文件系統(tǒng)的設(shè)備稱(chēng)為block設(shè)備(塊設(shè)備);
47.設(shè)備驅(qū)動(dòng)的接口API都是從文件管理器API中繼承下來(lái)的,所以這些設(shè)備API都有open().close().read().write().lseek()和ioctl()等與文件API類(lèi)似的接口;
48.Linux也使用文件管理器,但是它的文件管理器使用了VFS(虛擬文件系統(tǒng)),正是VFS讓Linux能夠支持目前多種文件系統(tǒng)。VFS具備訪問(wèn)各種各樣的文件系統(tǒng)的能力,也是因?yàn)閂FS在內(nèi)部去適應(yīng)各種不同文件系統(tǒng)的差異,而提供給用戶(hù)進(jìn)程的是統(tǒng)一的文件API。49.JFFS2嵌入式文件系統(tǒng)原理:
首先JFFS2是一個(gè)日志結(jié)構(gòu)文件系統(tǒng),包含數(shù)據(jù)和元數(shù)據(jù)的節(jié)點(diǎn)在閃存上順序存儲(chǔ)。JFFS2定義了三種節(jié)點(diǎn)類(lèi)型:JFFS2_NODETYPE_INODE, JFFS2_NODETYPE_DIRENT,JFFS2_NODETYPE_CLEANMARKER。JFFS2中I節(jié)點(diǎn)的信息并沒(méi)有全部存放在內(nèi)存,mount操作時(shí),會(huì)為節(jié)點(diǎn)建立映射表,但是這個(gè)映射表并不全部存放在內(nèi)存中,存放在內(nèi)存中的節(jié)點(diǎn)信息是一個(gè)縮小尺寸的結(jié)構(gòu)體。JFFS2使用了多個(gè)級(jí)別的待回收塊隊(duì)列。JFFS2寫(xiě)平衡策略是在垃圾收集中實(shí)現(xiàn)的,垃圾收集的時(shí)候會(huì)讀取系統(tǒng)時(shí)間,使用這個(gè)系統(tǒng)時(shí)間產(chǎn)生一個(gè)偽隨機(jī)數(shù)。利用這個(gè)偽隨機(jī)數(shù)結(jié)合不同的待回收鏈表選擇要進(jìn)行回收的鏈表。50.JFFS2克服了JFFS中以下缺點(diǎn):
(1).使用了基于哈希表的日志節(jié)點(diǎn)結(jié)構(gòu),大大加快了對(duì)節(jié)點(diǎn)的操作速度;(2).支持?jǐn)?shù)據(jù)壓縮;
(3).提供了”寫(xiě)平衡”支持;
(4).支持多種節(jié)點(diǎn)類(lèi)型(數(shù)據(jù)I節(jié)點(diǎn),目錄I節(jié)點(diǎn)等);(5).提高了對(duì)閃存的利用率,降低了內(nèi)存的消耗;
51.系統(tǒng)調(diào)用是操作系統(tǒng)內(nèi)核和應(yīng)用程序之間的接口,而設(shè)備驅(qū)動(dòng)程序則是操作系統(tǒng)內(nèi)核和機(jī)器硬件之間的接口;
52.Linux支持三類(lèi)硬件設(shè)備:字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備; 53.Linux內(nèi)核設(shè)備模型的目的和功能:
目的:設(shè)備模型提供獨(dú)立的機(jī)制表示設(shè)備,并表示其在系統(tǒng)中的拓?fù)浣Y(jié)構(gòu),這樣使系統(tǒng)具有以下優(yōu)點(diǎn):代碼重復(fù)最小;提供如引用計(jì)數(shù)這樣的統(tǒng)一機(jī)制;列舉系統(tǒng)中所有設(shè)備,觀察其狀態(tài),查看其連接總線;用樹(shù)的形式將全部設(shè)備結(jié)構(gòu)完整、有效地展現(xiàn),包括所有總線和內(nèi)部連接;將設(shè)備和對(duì)應(yīng)驅(qū)動(dòng)聯(lián)系起來(lái),將設(shè)備按照類(lèi)型分類(lèi);從樹(shù)的葉子向根的方向依次遍歷,確保以正確順序關(guān)閉各個(gè)設(shè)備的電源;初衷是為了節(jié)能,有助于電源管理,通過(guò)建立表示系統(tǒng)設(shè)備拓?fù)潢P(guān)系的樹(shù)結(jié)構(gòu),能夠在內(nèi)核中實(shí)現(xiàn)智能的電源管理;
功能:將系統(tǒng)中的設(shè)備組織成層次結(jié)構(gòu),然后向用戶(hù)程序提供內(nèi)核數(shù)據(jù)結(jié)構(gòu)信息; 54.同步機(jī)制的分類(lèi)及特點(diǎn):
(1).同步鎖:適用于保持時(shí)間段的情況,可以在任何上下文使用,不可以睡眠,任何時(shí)候,只能有一個(gè)持有者;
(2).信號(hào)量:不能用在內(nèi)核之外,是一種睡眠鎖,適用于鎖會(huì)被長(zhǎng)期持有的情況,允許多個(gè)持有者;
(3).原子操作:在執(zhí)行完畢前絕不會(huì)被任何其他任何或時(shí)間打斷,是最小的執(zhí)行單位,主要用在資源計(jì)數(shù)上;
(4).完成事件:適用于需要睡眠和喚醒的情景,不會(huì)引起資源競(jìng)爭(zhēng);
55.表示字符設(shè)備的設(shè)備文件可以通過(guò)”ls-l”命令輸出的第一列中的“c”來(lái)識(shí)別,而塊設(shè)備則用“b”標(biāo)識(shí);
56.dev t是一個(gè)32位的無(wú)符號(hào)數(shù),其高12位用來(lái)表示主設(shè)備號(hào),低20位用來(lái)表示次設(shè)備號(hào);
Register_chrdev_region()函數(shù)和alloc_chrdev_region()函數(shù)用于分配設(shè)備號(hào),這兩個(gè)函數(shù)最終都會(huì)調(diào)用_register_chrdev_region()函數(shù)來(lái)注冊(cè)一組設(shè)備的編號(hào)范圍,它們的區(qū)別是后者是以動(dòng)態(tài)的方式分配的,unregister_chrdev_region()函數(shù)則用于釋放設(shè)備號(hào)。Alloc_chrdev_region()函數(shù)用于動(dòng)態(tài)申請(qǐng)?jiān)O(shè)備號(hào)范圍,通過(guò)指針參數(shù)返回實(shí)際分配的起始設(shè)備號(hào);
Dev_ti_rdev:對(duì)于設(shè)備文件而言,此成員包含實(shí)際的設(shè)備號(hào); Struct cdev *i_cdev:字符設(shè)備在內(nèi)核中是用cdev結(jié)構(gòu)來(lái)表示的,此成員是指想cdev結(jié)構(gòu)的指針;
57.I/O接口是微控制器必須具備的最基本外設(shè)功能。通常在ARM里,所有I/O都是通用的,稱(chēng)為GPIO(通用輸入輸出);GPIO接口一般至少會(huì)有兩個(gè)寄存器,即控制寄存器和數(shù)據(jù)寄存器;
58.同步外設(shè)接口是由摩托羅拉公司推出的一種高速的、全雙工、同步的串行總線; 59.SPI的工作模式有兩種:主模式和從模式;
60.字符設(shè)備以字節(jié)為單位進(jìn)行讀寫(xiě),而塊設(shè)備則以塊為單位,塊設(shè)備的I/O請(qǐng)求都有對(duì)應(yīng)的緩沖區(qū)并使用了請(qǐng)求隊(duì)列對(duì)請(qǐng)求進(jìn)行管理,塊設(shè)備還支持隨機(jī)訪問(wèn),而字符設(shè)備只能順序訪問(wèn)。Linux中每一個(gè)塊設(shè)備里請(qǐng)求都有一個(gè)I/O請(qǐng)求隊(duì)列,每個(gè)請(qǐng)求隊(duì)列都有調(diào)度器的插口。
61.Bio是底層對(duì)部分塊設(shè)備的I/O請(qǐng)求描述,其包含了驅(qū)動(dòng)程序執(zhí)行請(qǐng)求所需的全部信息,通常一個(gè)I/O請(qǐng)求對(duì)應(yīng)一個(gè)bio。I/O調(diào)度器可將聯(lián)系的bio合并成一個(gè)請(qǐng)求。
62.MMC/SD卡驅(qū)動(dòng)結(jié)構(gòu):a.文件結(jié)構(gòu);b.塊設(shè)備驅(qū)動(dòng);c.MMC/SD核心;d.MMC/SD接口;
第五篇:嵌入式論文總結(jié)
嵌入式論文總結(jié)
所謂嵌入式系統(tǒng)(Embedded Systems).實(shí)際上是“嵌入式計(jì)算機(jī)系統(tǒng)”的簡(jiǎn)稱(chēng),它是相對(duì)于通用計(jì)算機(jī)系統(tǒng)而言的。在有些系統(tǒng)里也有計(jì)算機(jī),但是計(jì)算機(jī)是作為某個(gè)專(zhuān)用系統(tǒng)中的一個(gè)部件而存在的。像這樣“嵌入”到更大、專(zhuān)用的系統(tǒng)中的計(jì)算機(jī)系統(tǒng),稱(chēng)之為“嵌入式計(jì)算機(jī)”、“嵌入式計(jì)算機(jī)系統(tǒng)”或“嵌入式系統(tǒng)”。
在日常生活中,早已存在許多嵌入式系統(tǒng)的應(yīng)用,如天天必用的移動(dòng)電話(huà)、帶在手腕上的電子表、烹調(diào)用的微波爐、辦公室里的打印機(jī)、汽車(chē)?yán)锏墓┯蛧娚淇刂葡到y(tǒng)和防抱死剎車(chē)系統(tǒng)(ABS).以及現(xiàn)在流行的個(gè)人數(shù)字助理(PDA)、數(shù)碼相機(jī)、數(shù)碼攝像機(jī)等等,它們內(nèi)部都有一個(gè)中央處理器CPU。
嵌入式系統(tǒng)無(wú)處不在,從家庭中的洗衣機(jī)、電冰箱、小汽車(chē),到辦公室中的遠(yuǎn)程會(huì)議系統(tǒng)等,都屬于可以使用嵌入式技術(shù)進(jìn)行開(kāi)發(fā)和改造的產(chǎn)品。嵌入式系統(tǒng)本身是一個(gè)相對(duì)模糊的定義,一個(gè)手持的MP3和一個(gè)P(:104的微型工業(yè)控制計(jì)算機(jī)都可以認(rèn)為是嵌入式系統(tǒng)。根據(jù)英國(guó)電氣工程師協(xié)會(huì)(IEE)的定義:嵌入式系統(tǒng)是用來(lái)控制或監(jiān)視機(jī)器、裝置或工廠等大規(guī)模系統(tǒng)的設(shè)備。可以看出此定義是扶應(yīng)用上考慮的,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)電等附屬裝置。國(guó)內(nèi)對(duì)嵌入式系統(tǒng)的一般定義是:以應(yīng)用為中心.以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,從而能夠適應(yīng)實(shí)際應(yīng)用中對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。
嵌入式系統(tǒng)在應(yīng)用數(shù)量上遠(yuǎn)遠(yuǎn)超過(guò)了各種通用計(jì)算機(jī)。一臺(tái)通用計(jì)算機(jī)的外部設(shè)備中就包含了5~10個(gè)嵌入式微處理器,鍵盤(pán)、硬盤(pán)、顯示器、Modem、網(wǎng)卡、聲卡、打印機(jī)、掃描儀、數(shù)碼相機(jī)、集線器等均是由嵌入式處理器進(jìn)行控制的。在制造工業(yè)、過(guò)程控制、通信、儀器、儀表、汽車(chē)、船舶、航空、航天、軍事裝備、消費(fèi)類(lèi)產(chǎn)品等方面,嵌入式系統(tǒng)都有用武之地。在大型嵌入式應(yīng)用系統(tǒng)中,為了使嵌入式開(kāi)發(fā)更方便、快捷,需要具備一種穩(wěn)定、安全的軟件模塊集合,用來(lái)管理存儲(chǔ)器分配、中斷處理、任務(wù)間通信和定時(shí)器響應(yīng),以及提供多任務(wù)處理等,這樣的軟件模塊集合就是嵌入式操作系統(tǒng)。嵌入式操作系統(tǒng)的引入大大擴(kuò)展了嵌入式系的功能,方便了應(yīng)用軟件的設(shè)計(jì),但同時(shí)也占用了嵌入式系統(tǒng)的寶貴資源。一般在比較大型或多任務(wù)的應(yīng)用場(chǎng)合.才考慮使用嵌入式操作系統(tǒng)。
早期的嵌入式系統(tǒng)幾乎都用于控制,或多或少都有些實(shí)時(shí)要求,所以從前“嵌入式操作系統(tǒng)”實(shí)際上是“實(shí)時(shí)操作系統(tǒng)”的代名詞。近年來(lái),由于手持式計(jì)算機(jī)和掌上電腦等設(shè)備的出現(xiàn),也有了許多不帶實(shí)時(shí)要求的嵌入式系統(tǒng)。另一方面,由于C:PU速度的提高,一些原先被認(rèn)為是“實(shí)時(shí)”的反應(yīng)速度現(xiàn)在已經(jīng)很普遍了,以前需要在“實(shí)時(shí)操作系統(tǒng)”上才能實(shí)現(xiàn)的應(yīng)用,現(xiàn)在己不難在常規(guī)的操作系統(tǒng)上實(shí)現(xiàn)。在這樣的背景下,“嵌入式操作系統(tǒng)”和“實(shí)時(shí)操作系統(tǒng)”就成了不同的概念和名詞
嵌入式系統(tǒng)是應(yīng)用于特定環(huán)境下、面對(duì)專(zhuān)業(yè)領(lǐng)域的應(yīng)用系統(tǒng),不同于通用計(jì)算機(jī)系統(tǒng)的多樣化和適用性。它與通用計(jì)算機(jī)系統(tǒng)相比具有以下特點(diǎn):
(l)嵌入式系統(tǒng)通常是面向特定應(yīng)用的,一般都有實(shí)時(shí)要求。嵌入式處理器大多工作在為特定用戶(hù)群所設(shè)計(jì)的系統(tǒng)中,通常具有功耗低、體積小、集成度高、成本低等特點(diǎn),從而使嵌入式系統(tǒng)的設(shè)計(jì)趨于小型化、專(zhuān)業(yè)化,同時(shí)移動(dòng)能力大大增強(qiáng),與網(wǎng)絡(luò)的耦合也越來(lái)越緊密。
(2)嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體工藝、電子技術(shù)和通信網(wǎng)絡(luò)技術(shù)與各領(lǐng)域的具體應(yīng)用相結(jié)合的產(chǎn)物。這一特點(diǎn)決定了它必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。
(3)嵌入式系統(tǒng)與具體應(yīng)用有機(jī)地結(jié)合在一起,其升級(jí)換代也與具體產(chǎn)品同步進(jìn)行。因此,嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場(chǎng),一般具有較長(zhǎng)的生命周期。
(4)嵌入式系統(tǒng)的硬件和軟件都必須高效率地設(shè)計(jì),在保證穩(wěn)定、安全、可靠的基礎(chǔ)上,量體裁衣,去除冗余,力爭(zhēng)在同樣的硅片面積上實(shí)現(xiàn)更高的性能。這樣,才能最大限度地降低應(yīng)用成本。在縣體應(yīng)用中,對(duì)處理器的選擇決定了產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力。(5)嵌入式系統(tǒng)常常還有減小功耗的要求。這一方面是為了省電,因?yàn)榍度胧较到y(tǒng)往往以電池供電;另一方面是要減少發(fā)熱量,因?yàn)榍度胧较到y(tǒng)中常常沒(méi)有風(fēng)扇等排熱手段。
(6)可靠性與穩(wěn)定性對(duì)于嵌入式系統(tǒng)有著特別重要的意義,所以即使邏輯上的系統(tǒng)結(jié)構(gòu)相同,在物理組成上也會(huì)有所不同。由于對(duì)所用元器件(包括接插件、電源等等)的質(zhì)量和可靠性要求都比較高,所以元器件的平均無(wú)故障時(shí)間MTBF-(Mean Time Between F-ailure)成為關(guān)鍵性的參數(shù)。此外,環(huán)境溫度也是需要重點(diǎn)考慮的參數(shù)。
嵌入式系統(tǒng)以應(yīng)用為中心,強(qiáng)調(diào)體積和功能的可裁剪性,是以完成控制、監(jiān)視等功能為目標(biāo)的專(zhuān)用系統(tǒng)。在嵌入式應(yīng)用系統(tǒng)中.執(zhí)行任務(wù)的軟硬件都嵌入在實(shí)際的設(shè)備環(huán)境中,通過(guò)專(zhuān)門(mén)的I/()接口和外界交換信息。它們執(zhí)行的任務(wù)程序一般不由用戶(hù)編制。
嵌入式系統(tǒng)主要用于各種信號(hào)處理與控制,目前己在國(guó)防、國(guó)民經(jīng)濟(jì)及社會(huì)生活各領(lǐng)域普遍應(yīng)用操作系統(tǒng)OS(Operation Systems)是一組計(jì)算機(jī)程序的集合,用來(lái)有效地控制和管理計(jì)算機(jī)的硬件和軟件資源,即合理地對(duì)資源進(jìn)行調(diào)度,并為用戶(hù)提供方便的應(yīng)用接口。它為應(yīng)用ARM9嵌入式系統(tǒng)設(shè)支持軟件提供運(yùn)行環(huán)境,即為程序開(kāi)發(fā)者提供功能強(qiáng)、使用方便的開(kāi)發(fā)環(huán)境。
從資源管理的角度,操作系統(tǒng)主要包含如下功能。1.處理器管理
對(duì)處理器進(jìn)行分配,并對(duì)其運(yùn)行進(jìn)行有效的控制和管理。在多任務(wù)環(huán)境下,合理分配由任務(wù)共享的處理器,使CPU能滿(mǎn)足各程序運(yùn)行的需要,提高處理器的利用率,并能在恰當(dāng)?shù)臅r(shí)候收回分配給某任務(wù)的處理器。處理器的分配和運(yùn)行都是以進(jìn)程為基本單位進(jìn)行的,因此對(duì)處理器的管理可以歸結(jié)為對(duì)進(jìn)程的管理,包括進(jìn)程控制、進(jìn)程同步、進(jìn)程通信、作業(yè)調(diào)度和進(jìn)程調(diào)度等。2.存儲(chǔ)器管理
存儲(chǔ)器管理的主要任務(wù),是為多道程序的運(yùn)行提供良好的環(huán)境,包括內(nèi)存分配、內(nèi)存保護(hù)、地址映射、內(nèi)存擴(kuò)充等。例如,為每道程序分配必要的內(nèi)存空間,使它們各得其所,且不致因互相重疊而丟失信息;不因某道程序出現(xiàn)異常情況而破壞其他程序的運(yùn)行;方便用戶(hù)使用存儲(chǔ)器;提高存儲(chǔ)器的利用率;能從邏輯上來(lái)擴(kuò)充內(nèi)存等。3.設(shè)備管理
完成用戶(hù)提出的設(shè)備請(qǐng)求,為用戶(hù)分配l/()設(shè)備;提高C.PU和l/()的利用率;提高l/()速度.方便用戶(hù)使用l/()設(shè)備。設(shè)備管理包括緩沖管理、設(shè)備分配、設(shè)備處理、形成虛擬邏輯設(shè)備等。4.文件管理
在計(jì)算機(jī)中,大量的程序和毅據(jù)是以文件的形式存放的。文件管理的主要任務(wù)就是對(duì)系統(tǒng)文件和用戶(hù)文件進(jìn)行管理,方便用戶(hù)的使用,保證文件的安全性。文件管理包括對(duì)文件存儲(chǔ)空間的管理、目錄管理、文件的讀/寫(xiě)管理以及文件的共享與保護(hù)等。
5.用戶(hù)接口
用戶(hù)與操作系統(tǒng)的接口是用戶(hù)能方便地使用操作系統(tǒng)的關(guān)鍵所在。用戶(hù)通常只需以命令形式和系統(tǒng)調(diào)用即程序接口形式與系統(tǒng)打交道。使用圖形用戶(hù)接口(GUI).可以將文字、圖形和圖像集成在一起,用非常容易識(shí)別的圖標(biāo)將系統(tǒng)的各種功能、應(yīng)用程序和文件直觀地表示出來(lái),用戶(hù)可以通過(guò)鼠標(biāo)來(lái)獲取操作系統(tǒng)的服務(wù)。
隨著l_inux的迅速發(fā)展,嵌入式Linux現(xiàn)在已經(jīng)有許多版本,包括強(qiáng)實(shí)時(shí)的嵌入式Linux(如新墨西哥工學(xué)院的RT-I_inux和堪薩斯大學(xué)的KURT-I_inux)和一般的嵌入式Linux(如riClinux和Pocket I。lnux等)。其中.RT-Iinux通過(guò)把通常的Iinux任務(wù)優(yōu)先級(jí)設(shè)為最低,而所有的實(shí)時(shí)任務(wù)的優(yōu)先級(jí)都高于它,以達(dá)到既兼容通常的I。Inux任務(wù)又保證強(qiáng)實(shí)時(shí)性能的目的。另一種常用的嵌入式Linux是riClinux.它是針對(duì)沒(méi)有MMU的處理器而設(shè)計(jì)的。它不能使用處理器的虛擬內(nèi)存管理技術(shù),對(duì)內(nèi)存的訪問(wèn)是直接的,所有程序中訪問(wèn)的地址都是實(shí)際的物理地址。它專(zhuān)為嵌入式系統(tǒng)做了許多小型化的工作。
嵌入式系統(tǒng)與通用計(jì)算機(jī)在以下幾個(gè)方面有比較明顯的差別: 1.人機(jī)交互界面
嵌入式系統(tǒng)和通用計(jì)算機(jī)之間的最大區(qū)別就在于人機(jī)交互界面。嵌入式系統(tǒng)可能根本就不存在鍵盤(pán)、顯示器等設(shè)備,它所完成的事情也可能只是監(jiān)視網(wǎng)絡(luò)情況或者傳感器的變化情況,并按照事先規(guī)定好的過(guò)程及時(shí)完成相應(yīng)的處理任務(wù)。2.有限的功能
嵌入式系統(tǒng)的功能在設(shè)計(jì)時(shí)已經(jīng)定制好,在開(kāi)發(fā)完成投入使用之后就不再變化。系統(tǒng)將反復(fù)執(zhí)行這些預(yù)定好的任務(wù),而不像通用計(jì)算機(jī)那樣可以隨時(shí)運(yùn)行新任務(wù)。雖然嵌入式操作系統(tǒng)可以添加新的任務(wù),刪除舊的任務(wù),但這樣的變化對(duì)嵌入式系統(tǒng)而言是關(guān)鍵性變化,有可能會(huì)對(duì)整個(gè)系統(tǒng)行為產(chǎn)生影響。3.時(shí)間關(guān)鍵性和穩(wěn)定性
嵌入式系統(tǒng)可能要求實(shí)時(shí)響應(yīng),具有嚴(yán)格的時(shí)序性。同時(shí),嵌入式系統(tǒng)還要求有非常可靠的穩(wěn)定性。其工作環(huán)境可能非常惡劣,如高溫、高壓、低溫、潮濕等,這就要求在設(shè)計(jì)時(shí)考慮目標(biāo)系統(tǒng)的工作環(huán)境,合理選擇硬件和保護(hù)措施。軟件穩(wěn)定也是一個(gè)重要特征。軟件系統(tǒng)需要經(jīng)過(guò)反復(fù)測(cè)試,達(dá)到預(yù)先規(guī)定的要求才能真正投入使用。
嵌入式軟件的開(kāi)發(fā)與傳統(tǒng)軟件的開(kāi)發(fā)有許多共同點(diǎn),它繼承了許多傳統(tǒng)軟件的開(kāi)發(fā)習(xí)慣。由于嵌入式軟件運(yùn)行于特定昀目標(biāo)應(yīng)用環(huán)境,而該目標(biāo)環(huán)境只針對(duì)特定的應(yīng)用領(lǐng)域,所以嵌入式軟件的功能比較專(zhuān)一,只完成預(yù)期要完成的功能。出于對(duì)系統(tǒng)成本方面的考慮,應(yīng)用系統(tǒng)的C:PU、存儲(chǔ)器、通信資源都恰到好處。嵌入式軟件的開(kāi)發(fā)具有其自身的特點(diǎn):
在Iinux的發(fā)展歷程中.Unix和Minix扮演著十分重要的角色。1990年,芬蘭人Unus 'ror-valds在赫爾辛基大學(xué)接觸到Unix;但是當(dāng)時(shí)上機(jī)學(xué)習(xí)要排隊(duì)等候很長(zhǎng)時(shí)間,所以I。inus購(gòu)買(mǎi)了自己的PC機(jī),希望安裝一個(gè)類(lèi)似的操作系統(tǒng)。由于Unix的內(nèi)核代碼不容易得到,所以他安裝了Minix。Minix是一個(gè)基于微內(nèi)核技術(shù)的類(lèi)似于Unix的操作系統(tǒng),是Andrew Tanebaum教授利用業(yè)余時(shí)間開(kāi)發(fā)的用于教學(xué)的操作系統(tǒng)。當(dāng)時(shí).Minix并不是完全免費(fèi)的,而且Andrew Tane-baum教授不允許別人為Minix再加入其他東西,目的是為了教學(xué)的簡(jiǎn)明扼要。