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

蟲(chóng)蟲(chóng)首頁(yè)| 資源下載| 資源專(zhuān)輯| 精品軟件
登錄| 注冊(cè)

太陽(yáng)能控制器

  • C8051F單片機(jī)

    C8051F單片機(jī) C8051F系列單片機(jī)  單片機(jī)自20世紀(jì)70年代末誕生至今,經(jīng)歷了單片微型計(jì)算機(jī)SCM、微控制器MCU及片上系統(tǒng)SoC三大階段,前兩個(gè)階段分別以MCS-51和80C51為代表。隨著在嵌入式領(lǐng)域中對(duì)單片機(jī)的性能和功能要求越來(lái)越高,以往的單片機(jī)無(wú)論是運(yùn)行速度還是系統(tǒng)集成度等多方面都不能滿(mǎn)足新的設(shè)計(jì)需要,這時(shí)Silicon  Labs 公司推出了C8051F系列單片機(jī),成為SoC的典型代表。   C8051F具有上手快(全兼容8051指令集)、研發(fā)快(開(kāi)發(fā)工具易用,可縮短研發(fā)周期)和見(jiàn)效快(調(diào)試手段靈活)的特點(diǎn),其性能優(yōu)勢(shì)具體體現(xiàn)在以下方面:  基于增強(qiáng)的CIP-51內(nèi)核,其指令集與MCS-51完全兼容,具有標(biāo)準(zhǔn)8051的組織架構(gòu),可以使用標(biāo)準(zhǔn)的803x/805x匯編器和編譯器進(jìn)行軟件開(kāi)發(fā)。CIP-51采用流水線結(jié)構(gòu),70%的的指令執(zhí)行時(shí)間為1或2個(gè)系統(tǒng)時(shí)鐘周期,是標(biāo)準(zhǔn)8051指令執(zhí)行速度的12倍;其峰值執(zhí)行速度可達(dá)100MIPS(C8051F120等),是目前世界上速度最快的8位單片機(jī)。  增加了中斷源。標(biāo)準(zhǔn)的8051只有7個(gè)中斷源Silicon  Labs 公司 C8051F系列單片機(jī)擴(kuò)展了中斷處理這對(duì)于時(shí)實(shí)多任務(wù)系統(tǒng)的處理是很重要的擴(kuò)展的中斷系統(tǒng)向CIP-51提供22個(gè)中斷源允許大量的模擬和數(shù)字外設(shè)中斷一個(gè)中斷處理需要較少的CPU干預(yù)卻有更高的執(zhí)行效率。  集成了豐富的模擬資源,絕大部分的C8051F系列單片機(jī)都集成了單個(gè)或兩個(gè)ADC,在片內(nèi)模擬開(kāi)關(guān)的作用下可實(shí)現(xiàn)對(duì)多路模擬信號(hào)的采集轉(zhuǎn)換;片內(nèi)ADC的采樣精度最高可達(dá)24bit,采樣速率最高可達(dá)500ksps,部分型號(hào)還集成了單個(gè)或兩個(gè)獨(dú)立的高分辨率DAC,可滿(mǎn)足絕大多數(shù)混合信號(hào)系統(tǒng)的應(yīng)用并實(shí)現(xiàn)與模擬電子系統(tǒng)的無(wú)縫接口;片內(nèi)溫度傳感器則可以迅速而精確的監(jiān)測(cè)環(huán)境溫度并通過(guò)程序作出相應(yīng)處理,提高了系統(tǒng)運(yùn)行的可靠性。  集成了豐富的外部設(shè)備接口。具有兩路UART和最多可達(dá)5個(gè)定時(shí)器及6個(gè)PCA模塊,此外還根據(jù)不同的需要集成了SMBus、SPI、USB、CAN、LIN等接口,以及RTC部件。外設(shè)接口在不使用時(shí)可以分別禁止以降低系統(tǒng)功耗。與其他類(lèi)型的單片機(jī)實(shí)現(xiàn)相同的功能需要多個(gè)芯片的組合才能完成相比,C8051單片機(jī)不僅減少了系統(tǒng)成本,更大大降低了功耗。  增強(qiáng)了在信號(hào)處理方面的性能,部分型號(hào)具有16x16 MAC以及DMA功能,可對(duì)所采集信號(hào)進(jìn)行實(shí)時(shí)有效的算法處理并提高了數(shù)據(jù)傳送能力。  具有獨(dú)立的片內(nèi)時(shí)鐘源(精度最高可達(dá)0.5%),設(shè)計(jì)人員既可選擇外接時(shí)鐘,也可直接應(yīng)用片內(nèi)時(shí)鐘,同時(shí)可以在內(nèi)外時(shí)鐘源之間自如切換。片內(nèi)時(shí)鐘源降低了系統(tǒng)設(shè)計(jì)的復(fù)雜度,提高了系統(tǒng)可靠性,而時(shí)鐘切換功能則有利于系統(tǒng)整體功耗的降低。  提供空閑模式及停機(jī)模式等多種電源管理方式來(lái)降低系統(tǒng)功耗  實(shí)現(xiàn)了I/O從固定方式到交叉開(kāi)關(guān)配置。固定方式的I/O端口,既占用引腳多,配置又不夠靈活。在C8051F中,則采用開(kāi)關(guān)網(wǎng)絡(luò)以硬件方式實(shí)現(xiàn)I/O端口的靈活配置,外設(shè)電路單元通過(guò)相應(yīng)的配置寄存器控制的交叉開(kāi)關(guān)配置到所選擇的端口上。  復(fù)位方式多樣化,C8051F把80C51單一的外部復(fù)位發(fā)展成多源復(fù)位,提供了上電復(fù)位、掉電復(fù)位、外部引腳復(fù)位、軟件復(fù)位、時(shí)鐘檢測(cè)復(fù)位、比較器0復(fù)位、WDT復(fù)位和引腳配置復(fù)位。眾多的復(fù)位源為保障系統(tǒng)的安全、操作的靈活性以及零功耗系統(tǒng)設(shè)計(jì)帶來(lái)極大的好處。  從傳統(tǒng)的仿真調(diào)試到基于JTAG接口的在系統(tǒng)調(diào)試。C8051F在8位單片機(jī)中率先配置了標(biāo)準(zhǔn)的JTAG接口(IEEE1149.1)。C8051F的JTAG接口不僅支持Flash ROM的讀/寫(xiě)操作及非侵入式在系統(tǒng)調(diào)試,它的JTAG邏輯還為在系統(tǒng)測(cè)試提供邊界掃描功能。通過(guò)邊界寄存器的編程控制,可對(duì)所有器件引腳、SFR總線和I/O口弱上拉功能實(shí)現(xiàn)觀察和控制。  C8051F系列單片機(jī)型號(hào)齊全,可根據(jù)設(shè)計(jì)需求選擇不同規(guī)模和帶有特定外設(shè)接口的型號(hào),提供從多達(dá)100個(gè)引腳的高性能單片機(jī)到最小3mmX3mm的封裝,滿(mǎn)足不同設(shè)計(jì)的需要。  基于上述特點(diǎn),Silicon  Labs 公司C8051F系列單片機(jī)作為SoC芯片的杰出代表能夠滿(mǎn)足絕大部分場(chǎng)合的復(fù)雜功能要求,并在嵌入式領(lǐng)域的各個(gè)場(chǎng)合都得到了廣泛的應(yīng)用:在工業(yè)控制領(lǐng)域,其豐富的模擬資源可用于工業(yè)現(xiàn)場(chǎng)多種物理量的監(jiān)測(cè)、分析及控制和顯示;在便攜式儀器領(lǐng)域,其低功耗和強(qiáng)大的外設(shè)接口也非常適合各種信號(hào)的采集、存儲(chǔ)和傳輸;此外,新型的C8051F5xx系列單片機(jī)也在汽車(chē)電子行業(yè)中嶄露頭角。正是這些優(yōu)勢(shì),使得C8051單片機(jī)在進(jìn)入中國(guó)市場(chǎng)的短短幾年內(nèi)就迅速風(fēng)靡,相信隨著新型號(hào)的不斷推出以及推廣力度的不斷加大,C8051系列單片機(jī)將迎來(lái)日益廣闊的發(fā)展空間,成為嵌入式領(lǐng)域的時(shí)代寵兒  此系列單片機(jī)完全兼容MCS-51指令集,容易上手,開(kāi)發(fā)周期短,大大節(jié)約了開(kāi)發(fā)成本。C8051F系統(tǒng)集成度高,總線時(shí)鐘可達(dá)25M

    標(biāo)簽: C8051F 單片機(jī)

    上傳時(shí)間: 2013-11-24

    上傳用戶(hù):testAPP

  • LM3S 系列微控制器Flash 存儲(chǔ)器應(yīng)用

    LM3S 系列微控制器Flash 存儲(chǔ)器應(yīng)用 在眾多的單片機(jī)中都集成了 Flash 存儲(chǔ)器系統(tǒng),該存儲(chǔ)器系統(tǒng)可用作代碼和數(shù)據(jù)的存儲(chǔ)。它在整個(gè)存儲(chǔ)器中所處的位置在最起始的位置,一般其起始地址從零開(kāi)始。

    標(biāo)簽: Flash LM3S 微控制器 存儲(chǔ)器

    上傳時(shí)間: 2013-10-09

    上傳用戶(hù):aix008

  • LM3S系列微控制器中斷優(yōu)先級(jí)應(yīng)用筆記

    LM3S系列微控制器中斷優(yōu)先級(jí)應(yīng)用筆記 正常的程序被暫時(shí)中止,處理器便進(jìn)入異常。所有異常可以通過(guò)NVIC(嵌套向量中斷控制器)進(jìn)行控制,通過(guò)NVIC 可以設(shè)置各個(gè)異常的優(yōu)先等級(jí)并對(duì)異常進(jìn)行處理。異常可分為系統(tǒng)異常和外部中斷,它們通過(guò)不同的寄存器組進(jìn)行控制(包括優(yōu)先級(jí)的設(shè)置)

    標(biāo)簽: LM3S 微控制器 中斷優(yōu)先級(jí) 應(yīng)用筆記

    上傳時(shí)間: 2013-11-05

    上傳用戶(hù):我叫李小進(jìn)

  • 自學(xué)單片機(jī)(提高篇)

    自學(xué)單片機(jī)(提高篇) 在入門(mén)篇里,我們利用網(wǎng)絡(luò)資源建立了自己的學(xué)習(xí)環(huán)境,在提高篇里,我們將帶領(lǐng)愛(ài)好者充分利用網(wǎng)絡(luò)資源,登堂入室,盡快從學(xué)習(xí)者變?yōu)橐粋€(gè)開(kāi)發(fā)者。當(dāng)愛(ài)好者學(xué)到一定程度后,必然會(huì)結(jié)合自身的情況,向各個(gè)不同的方向發(fā)展,這里無(wú)法對(duì)每一個(gè)方向作詳細(xì)論述,僅討論一些能從網(wǎng)絡(luò)上獲得的、典型的資源,難免掛一漏萬(wàn),但希望能夠給讀者一些引導(dǎo)。 、分門(mén)別類(lèi)用單片機(jī)目前,國(guó)內(nèi)單片機(jī)應(yīng)用呈現(xiàn)百花齊放之勢(shì),很多不同類(lèi)型的單片機(jī)逐漸進(jìn)入中國(guó),這給我們?cè)黾恿诉x擇余地,不必不管什么應(yīng)用千篇一律都用51單片機(jī)。因此在入門(mén)以后,愛(ài)好者可以根據(jù)實(shí)際情況,選擇進(jìn)一步學(xué)習(xí)另一種或多種單片機(jī)。通常每一種單片機(jī)都會(huì)在國(guó)內(nèi)找一些代理公司,要使用這些單片機(jī),最好是找到這些代理,可以得到較好的技術(shù)支持。目前,愛(ài)好者有可能接觸和使用的單片機(jī)主要是這要的一些種類(lèi):圖4 21ic資料搜索1.51系列基于51內(nèi)核的單片機(jī)依然是最多的,目前國(guó)內(nèi)較常見(jiàn)的有以下幾種。1)PHILPS公司的的LPC系列,基于80C51內(nèi)核的微控制器,每機(jī)器周期只需6個(gè)時(shí)鐘,比標(biāo)準(zhǔn)51快一倍;嵌入了諸如掉電檢測(cè)、模擬功能以及片內(nèi)RC振蕩器等功能,可減少外部元件的使用;低功耗。該系列芯片適用于大批量、低成本、低功耗的應(yīng)用,如電子門(mén)禁系統(tǒng)、倒車(chē)?yán)走_(dá)、里程表等。該系列單片機(jī)由周立功公司代理,網(wǎng)址:http://www.zlgmcu.com。

    標(biāo)簽: 單片機(jī)

    上傳時(shí)間: 2013-11-13

    上傳用戶(hù):674635689

  • 給初學(xué)單片機(jī)的經(jīng)典必備實(shí)驗(yàn)

    給初學(xué)單片機(jī)的經(jīng)典必備實(shí)驗(yàn)單片機(jī)學(xué)習(xí)最重要是的是要搞清楚其內(nèi)部的硬件結(jié)構(gòu)。如:p0 p1 p2 p3 T1 T2 以及UART。 至于在編程方面,首先要理解單片機(jī)其編程語(yǔ)言和一般的匯編語(yǔ)言以及c語(yǔ)言的區(qū)別。 最大的不 同是在于單片機(jī)編程主要是圍繞定時(shí)器和UART來(lái)編程的, 所以要你對(duì)那些特殊寄存器要特別的熟 悉,如TMOD PCON SCON PSW IP,一提起這些你應(yīng)該馬上知道這些寄存器里面所包含位及其中的意 義。如果你做到了這點(diǎn),可以說(shuō)單片機(jī)你算入門(mén)了。 剛開(kāi)始不要學(xué)太多的單片機(jī),單片機(jī)的種類(lèi)很多,但你學(xué)精了一個(gè),其他的很好學(xué)的,無(wú)非只是 在定時(shí)器和寄存器上有所不同罷了。 單片機(jī)學(xué)習(xí)是一個(gè)辛苦的過(guò)程,希望大家能吃苦耐勞,持之以恒。 鑒于本人學(xué)習(xí)的不足之處,少許錯(cuò)誤,盡情諒解。 感謝您使用本教程。

    標(biāo)簽: 單片機(jī) 實(shí)驗(yàn)

    上傳時(shí)間: 2013-11-19

    上傳用戶(hù):xjy441694216

  • NEC78K0/KF1用戶(hù)手冊(cè) 8位單片微控制器

    NEC78K0/KF1用戶(hù)手冊(cè) 8位單片微控制器 本手冊(cè)適用于那些希望了解78K0/KF1產(chǎn)品功能,并設(shè)計(jì)開(kāi)發(fā)相關(guān)應(yīng)用系統(tǒng)和程序的用戶(hù)。主要產(chǎn)品如下。78K0/KF1: μPD780143,780144,780146,780148,78F0148,780143(A),780144(A),780146(A),780148(A),78F0148(A),780143(A1),780144(A1),780146(A1),780148(A1),78F0148(A1),780143(A2),780144(A2),780146(A2)和780148(A2)

    標(biāo)簽: NEC 78 KF 8位

    上傳時(shí)間: 2014-12-27

    上傳用戶(hù):魚(yú)哥哥你好

  • 利用LPC微控制器進(jìn)行低成本的模/數(shù)轉(zhuǎn)換 AN10187

    利用LPC微控制器進(jìn)行低成本的模/數(shù)轉(zhuǎn)換  AN10187 datasheet 要想利用數(shù)字計(jì)算機(jī)來(lái)處理連續(xù)變化的數(shù)據(jù),就必須將模擬值轉(zhuǎn)換成數(shù)字量。模/數(shù)轉(zhuǎn)換器(ADC)根據(jù)不同的原理工作,其性能、效果和成本都會(huì)發(fā)生變化。某些微控制器具有能夠提供10位及更高分辨率的集成ADC,但所需的芯片面積和為了保證要求精度而進(jìn)行的全面試驗(yàn)增加了此類(lèi)裝置的成本。

    標(biāo)簽: 10187 LPC AN 微控制器

    上傳時(shí)間: 2013-12-26

    上傳用戶(hù):清山綠水

  • Cortex-M3 技術(shù)參考手冊(cè)

    Cortex-M3 技術(shù)參考手冊(cè) Cortex-M3是一個(gè)32位的核,在傳統(tǒng)的單片機(jī)領(lǐng)域中,有一些不同于通用32位CPU應(yīng)用的要求。譚軍舉例說(shuō),在工控領(lǐng)域,用戶(hù)要求具有更快的中斷速度,Cortex-M3采用了Tail-Chaining中斷技術(shù),完全基于硬件進(jìn)行中斷處理,最多可減少12個(gè)時(shí)鐘周期數(shù),在實(shí)際應(yīng)用中可減少70%中斷。   單片機(jī)的另外一個(gè)特點(diǎn)是調(diào)試工具非常便宜,不象ARM的仿真器動(dòng)輒幾千上萬(wàn)。針對(duì)這個(gè)特點(diǎn),Cortex-M3采用了新型的單線調(diào)試(Single Wire)技術(shù),專(zhuān)門(mén)拿出一個(gè)引腳來(lái)做調(diào)試,從而節(jié)約了大筆的調(diào)試工具費(fèi)用。同時(shí),Cortex-M3中還集成了大部分存儲(chǔ)器控制器,這樣工程師可以直接在MCU外連接Flash,降低了設(shè)計(jì)難度和應(yīng)用障礙。   ARM Cortex-M3處理器結(jié)合了多種突破性技術(shù),令芯片供應(yīng)商提供超低費(fèi)用的芯片,僅33000門(mén)的內(nèi)核性能可達(dá)1.2DMIPS/MHz。該處理器還集成了許多緊耦合系統(tǒng)外設(shè),令系統(tǒng)能滿(mǎn)足下一代產(chǎn)品的控制需求。ARM公司希望Cortex-M3核的推出,能幫助單片機(jī)廠商實(shí).  Cortex的優(yōu)勢(shì)應(yīng)該在于低功耗、低成本、高性能3者(或2者)的結(jié)合。  Cortex如果能做到 合理的低功耗(肯定要比Arm7 & Arm9要低,但不大可能比430、PIC、AVR低) + 合理的高性能(10~50MIPS是比較可能出現(xiàn)的范圍) + 適當(dāng)?shù)牡统杀?1~5$應(yīng)該不會(huì)奇怪)。  簡(jiǎn)單的低成本不大可能比典型的8位MCU低。對(duì)于已經(jīng)有8位MCU的廠商來(lái)說(shuō),比如Philips、Atmel、Freescale、Microchip還有ST和Silocon Lab,不大可能用Cortex來(lái)打自己的8位MCU。對(duì)于沒(méi)有8位MCU的廠商來(lái)說(shuō),當(dāng)然是另外一回事,但他們?cè)趪?guó)內(nèi)進(jìn)行推廣的實(shí)力在短期內(nèi)還不夠。  對(duì)于已經(jīng)有32位ARM的廠商來(lái)說(shuō),比如Philips、Atmel、ST,又不大可能用Cortex來(lái)打自己的Arm7/9,對(duì)他們來(lái)說(shuō),比較合理的定位把Cortex與Arm7/9錯(cuò)開(kāi),即<40MIPS的性能+低于Arm7的價(jià)格,當(dāng)然功耗也會(huì)更低些;當(dāng)然這樣做的結(jié)果很可能是,斷了16位MCU的后路。  對(duì)于仍然在推廣16位MCU的廠商來(lái)說(shuō),比如Freescal、Microchip,處境比較尷尬,因?yàn)镃ortex基本上可以完全替代16位MCU。  所以,未來(lái)的1~2年,來(lái)自新廠商的Cortex比較值得期待-包括國(guó)內(nèi)的供應(yīng)商;對(duì)于已有32位ARM的廠商,情況比較有趣;對(duì)于16位MCU的廠商,反應(yīng)比較有意思。  關(guān)于編程模式  Cortex-M3處理器采用ARMv7-M架構(gòu),它包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架構(gòu),Cortex-M3處理器不能執(zhí)行ARM指令集。  Thumb-2在Thumb指令集架構(gòu)(ISA)上進(jìn)行了大量的改進(jìn),它與Thumb相比,具有更高的代碼密度并提供16/32位指令的更高性能。  關(guān)于工作模式  Cortex-M3處理器支持2種工作模式:線程模式和處理模式。在復(fù)位時(shí)處理器進(jìn)入“線程模式”,異常返回時(shí)也會(huì)進(jìn)入該模式,特權(quán)和用戶(hù)(非特權(quán))模式代碼能夠在“線程模式”下運(yùn)行。  出現(xiàn)異常模式時(shí)處理器進(jìn)入“處理模式”,在處理模式下,所有代碼都是特權(quán)訪問(wèn)的。  關(guān)于工作狀態(tài)  Coretx-M3處理器有2種工作狀態(tài)。  Thumb狀態(tài):這是16位和32位“半字對(duì)齊”的Thumb和Thumb-2指令的執(zhí)行狀態(tài)。  調(diào)試狀態(tài):處理器停止并進(jìn)行調(diào)試,進(jìn)入該狀態(tài)。

    標(biāo)簽: Cortex-M 技術(shù)參考手冊(cè)

    上傳時(shí)間: 2013-12-04

    上傳用戶(hù):壞壞的華仔

  • NXP Cortex-M3 LPC1700系列微控制器簡(jiǎn)介

    LPC1700系列ARM是基于第二代ARM Cortex-M3內(nèi)核的微控制器,是為嵌入式系統(tǒng)應(yīng)用而設(shè)計(jì)的高性能、低功耗的32位微處理器,適用于儀器儀表、工業(yè)通訊、電機(jī)控制、燈光控制、報(bào)警系統(tǒng)等領(lǐng)域。其操作頻率高達(dá)100MHz,采用3級(jí)流水線和哈佛結(jié)構(gòu),帶獨(dú)立的本地指令和數(shù)據(jù)總線以及用于外設(shè)的低性能的第三條總線,使得代碼執(zhí)行速度高達(dá)1.25MIPS/MHz,并包含1個(gè)支持隨機(jī)跳轉(zhuǎn)的內(nèi)部預(yù)取指單元。

    標(biāo)簽: Cortex-M 1700 NXP LPC

    上傳時(shí)間: 2013-10-27

    上傳用戶(hù):wyc199288

  • at91rm9200啟動(dòng)過(guò)程教程

    at91rm9200啟動(dòng)過(guò)程教程 系統(tǒng)上電,檢測(cè)BMS,選擇系統(tǒng)的啟動(dòng)方式,如果BMS為高電平,則系統(tǒng)從片內(nèi)ROM啟動(dòng)。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個(gè)地址處都可以訪問(wèn)到ROM。由于9200的ROM中固化了一個(gè)BOOTLOAER程序。所以PC從0X0處開(kāi)始執(zhí)行這個(gè)BOOTLOAER(準(zhǔn)確的說(shuō)應(yīng)該是一級(jí)BOOTLOADER)。這個(gè)BOOTLOER依次完成以下步驟: 1、PLL SETUP,設(shè)置PLLB產(chǎn)生48M時(shí)鐘頻率提供給USB DEVICE。同時(shí)DEBUG USART也被初始化為48M的時(shí)鐘頻率; 2、相應(yīng)模式下的堆棧設(shè)置; 3、檢測(cè)主時(shí)鐘源(Main oscillator); 4、中斷控制器(AIC)的設(shè)置; 5、C 變量的初始化; 6、跳到主函數(shù)。 完成以上步驟后,我們可以認(rèn)為BOOT過(guò)程結(jié)束,接下來(lái)的就是LOADER的過(guò)程,或者也可以認(rèn)為是裝載二級(jí)BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來(lái)找合法的BOOT程序。所謂合法的指的是在這些存儲(chǔ)設(shè)備的開(kāi)始地址處連續(xù)的存放的32個(gè)字節(jié),也就是8條指令必須是跳轉(zhuǎn)指令或者裝載PC的指令,其實(shí)這樣規(guī)定就是把這8條指令當(dāng)作是異常向量表來(lái)處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關(guān)于如何計(jì)算和寫(xiě)這條指令可以參考用戶(hù)手冊(cè)。一旦合法的映像找到之后,則BOOT程序會(huì)把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過(guò)16K-3K的大小。當(dāng)BOOT程序完成了把合法的映像搬到SRAM的任務(wù)以后,接下來(lái)就進(jìn)行存儲(chǔ)器的REMAP,經(jīng)過(guò)REMAP之后,SRAM從映設(shè)前的0X200000地址處被映設(shè)到了0X0地址并且程序從0X0處開(kāi)始執(zhí)行。而ROM這時(shí)只能在0X100000這個(gè)地址處看到了。至此9200就算完成了一種形式的啟動(dòng)過(guò)程。如果BOOT程序在以上所列的幾種存儲(chǔ)設(shè)備中找到合法的映像,則自動(dòng)初始化DEBUG USART口和USB DEVICE口以準(zhǔn)備從外部載入映像。對(duì)DEBUG口的初始化包括設(shè)置參數(shù)115200 8 N 1以及運(yùn)行XMODEM協(xié)議。對(duì)USB DEVICE進(jìn)行初始化以及運(yùn)行DFU協(xié)議。現(xiàn)在用戶(hù)可以從外部(假定為PC平臺(tái))載入你的映像了。在PC平臺(tái)下,以WIN2000為例,你可以用超級(jí)終端來(lái)完成這個(gè)功能,但是還是要注意你的映像的大小不能超過(guò)13K。一旦正確從外部裝載了映像,接下來(lái)的過(guò)程就是和前面一樣重映設(shè)然后執(zhí)行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內(nèi)的ROM啟動(dòng)的一個(gè)過(guò)程。如果BMS為低電平,則AT91RM9200會(huì)從片外的FLASH啟動(dòng),這時(shí)片外的FLASH的起始地址就是0X0了,接下來(lái)的過(guò)程和片內(nèi)啟動(dòng)的過(guò)程是一樣的,只不過(guò)這時(shí)就需要自己寫(xiě)啟動(dòng)代碼了,至于怎么寫(xiě),大致的內(nèi)容和ROM的BOOT差不多,不同的硬件設(shè)計(jì)可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設(shè)計(jì)的大,所以這里編寫(xiě)的BOOTLOADER可以一步到位,也就是說(shuō)不用像片內(nèi)啟動(dòng)可能需要BOOT好幾級(jí)了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個(gè)開(kāi)放源代碼的軟件,用戶(hù)可以自由下載并根據(jù)自己的應(yīng)用配置。總的說(shuō)來(lái),筆者以為AT91RM9200的啟動(dòng)過(guò)程比較簡(jiǎn)單,ATMEL的服務(wù)也不錯(cuò),不但提供了片內(nèi)啟動(dòng)的功能,還提供了UBOOT可供下載。筆者寫(xiě)了一個(gè)BOOTLODER從片外的FLASHA啟動(dòng),效果還可以。 uboot結(jié)構(gòu)與使用uboot是一個(gè)龐大的公開(kāi)源碼的軟件。他支持一些系列的arm體系,包含常見(jiàn)的外設(shè)的驅(qū)動(dòng),是一個(gè)功能強(qiáng)大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動(dòng)uboot,還有兩個(gè)boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級(jí)boot。其源碼可以從atmel的官方網(wǎng)站下載。 我們知道,當(dāng)9200系統(tǒng)上電后,如果bms為高電平,則系統(tǒng)從片內(nèi)rom啟動(dòng),這時(shí)rom中固化的boot程序初始化了debug口并向其發(fā)送'c',這時(shí)我們打開(kāi)超級(jí)終端會(huì)看到ccccc...。這說(shuō)明系統(tǒng)已經(jīng)啟動(dòng),同時(shí)xmodem協(xié)議已經(jīng)啟動(dòng),用戶(hù)可以通過(guò)超級(jí)終端下載用戶(hù)的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內(nèi)的sram中。這個(gè)loder完成的功能主要是初始化時(shí)鐘,sdram和xmodem協(xié)議,為下載和啟動(dòng)uboot做準(zhǔn)備。當(dāng)下載了loader.bin后,超級(jí)終端會(huì)繼續(xù)打印:ccccc....。這時(shí)我們就可以下在uboot了。uboot將被下載到sdram中的一個(gè)地址后并把pc指針調(diào)到此處開(kāi)始執(zhí)行uboot。接著我們就可以在終端上看到uboot的shell啟動(dòng)了,提示符uboot>,用戶(hù)可以u(píng)boot>help 看到命令列表和大概的功能。uboot的命令包含了對(duì)內(nèi)存、flash、網(wǎng)絡(luò)、系統(tǒng)啟動(dòng)等一些命令。 如果系統(tǒng)上電時(shí)bms為低電平,則系統(tǒng)從片外的flash啟動(dòng)。為了從片外的flash啟動(dòng)uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動(dòng)后首先執(zhí)行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開(kāi)始從片內(nèi)rom啟動(dòng)uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫(xiě)到flash中的目的,假如我們已經(jīng)啟動(dòng)了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統(tǒng)復(fù)位,就可以看到系統(tǒng)先啟動(dòng)boot,然后解壓縮uboot.gz,然后啟動(dòng)uboot。注意,這里uboot必須壓縮成.gz文件,否則會(huì)出錯(cuò)。 怎么編譯這三個(gè)源碼包呢,首先要建立一個(gè)arm的交叉編譯環(huán)境,關(guān)于如何建立,此處不予說(shuō)明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項(xiàng)目,正確填寫(xiě)你的編譯器的所在路徑。 對(duì)loader和boot,直接make。對(duì)uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會(huì)在當(dāng)前目錄下分別生成*.bin文件,對(duì)于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對(duì)loader和boot搞不清楚為什么要兩個(gè),有什么區(qū)別嗎?首先有區(qū)別,boot主要完成從flash中啟動(dòng)uboot的功能,他要對(duì)uboot的壓縮文件進(jìn)行解壓,除此之外,他和loader并無(wú)大的區(qū)別,你可以把boot理解為在loader的基礎(chǔ)上加入了解壓縮.gz的功能而已。所以這兩個(gè)并無(wú)多大的本質(zhì)不同,只是他們的使命不同而已。 特別說(shuō)名的是這三個(gè)軟件包都是開(kāi)放源碼的,所以用戶(hù)可以根據(jù)自己的系統(tǒng)的情況修改和配置以及裁減,打造屬于自己系統(tǒng)的bootloder。

    標(biāo)簽: 9200 at 91 rm

    上傳時(shí)間: 2013-10-27

    上傳用戶(hù):wsf950131

主站蜘蛛池模板: 中江县| 汶川县| 正阳县| 千阳县| 修武县| 东至县| 灵璧县| 红安县| 冕宁县| 高台县| 油尖旺区| 四会市| 浦江县| 阳春市| 双柏县| 子洲县| 衡阳市| 闸北区| 百色市| 尼木县| 屏边| 上杭县| 哈巴河县| 广宁县| 武夷山市| 甘孜| 金昌市| 宁陕县| 巩留县| 新昌县| 宣汉县| 伊吾县| 沂源县| 昭觉县| 加查县| 平塘县| 谷城县| 泸水县| 车险| 龙井市| 蓝山县|