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

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

數(shù)(shù)字圖像模式識(shí)別技術(shù)(shù)

  • HT45F23 ADC 功能應(yīng)用實例

    具備處理外部模擬信號功能是很多電子設(shè)備的基本要求。為了將模擬信號轉(zhuǎn)換為數(shù)字信 號,就需要藉助A/D 轉(zhuǎn)換器。將A/D 功能和MCU 整合在一起,就可減少電路的元件數(shù)量和 電路板的空間使用。 HT45F23 微控制器內(nèi)建6 通道,12 位解析度的A/D 轉(zhuǎn)換器。在本應(yīng)用說明中,將介紹如何 使用HT45F23 微控制器的A/D 功能。

    標(biāo)簽: 45F F23 ADC HT

    上傳時間: 2013-10-27

    上傳用戶:nostopper

  • 深度睡眠模式操作技術(shù)筆記

    LM3S系列單片機主要有3種工作模式:運行模式(Run-Mode)、睡眠模式(Sleep-Mode)、深度睡眠模式(Deep-Sleep-Mode)。某些型號還具有單獨的極為省電的冬眠模塊(Hibernation Module)。而對各個模式下的外設(shè)時鐘選通以及系統(tǒng)時鐘源的控制主要由表 2.1中的寄存器來完成。 運行模式是正常的工作模式,處理器內(nèi)核將積極地執(zhí)行代碼。在睡眠模式下,系統(tǒng)時鐘不變,但處理器內(nèi)核不再執(zhí)行代碼(內(nèi)核因不需要時鐘而省電)。在深度睡眠模式下,系統(tǒng)時鐘可變,處理器內(nèi)核同樣也不再執(zhí)行代碼。深度睡眠模式比睡眠模式更為省電。有關(guān)這3種工作模式的具體區(qū)別請參見表 2.2的描述。調(diào)用函數(shù)SysCtlSleep( )可使處理器立即進(jìn)入睡眠模式,而調(diào)用函數(shù)SysCtlDeepSleep( )可使處理器立即進(jìn)入深度睡眠模式。任一中斷都可以將處理器從睡眠或深度睡眠模式喚醒,并使處理器恢復(fù)到睡眠前的運行狀態(tài)。因此在進(jìn)入睡眠或深度睡眠之前,必須配置某個片內(nèi)外設(shè)的中斷并允許其在睡眠或深度睡眠模式下繼續(xù)工作,如果不這樣,則只有復(fù)位或重新上電才能結(jié)束睡眠或深度睡眠狀態(tài)。

    標(biāo)簽: 深度睡眠 模式 操作

    上傳時間: 2013-11-08

    上傳用戶:ArmKing88

  • 淺談單片機A/D轉(zhuǎn)換的處理方法

    單片機在日常生活中用得越來越多,其集成度也越來越高,目前擁有多種單片機都集成有A/D轉(zhuǎn)換功能,如PIC,AVR,SUNPLUS,SH等。處理器的位數(shù)從4位到32位或更高,轉(zhuǎn)換精度從6位,8位,10位或更高。

    標(biāo)簽: 單片機 轉(zhuǎn)換 處理方法

    上傳時間: 2013-10-28

    上傳用戶:xa_lgy

  • LPC900單片機SPI互為主從模式詳解

    LPC900 FLASH單片機,是PHILIPS公司推出的一款高性能、微功耗51內(nèi)核單片機,主要集成了字節(jié)方式的I2C總線、SPI總線、增強型UART接口、實時時鐘、E2PROM、A/D轉(zhuǎn)換器、ISP/IAP在線編程和遠(yuǎn)程編程方式等一系列有特色的功能部件。LPC900系列單片機提供從8腳DIP到28腳的PLCC等豐富的封裝形式,可以滿足各種對成本、線路板空間有限制而又要求高性能、高可靠性的應(yīng)用。且其具有高速率(6倍于普通51單片機),低功耗(完全掉電模式功耗僅為1uA),高穩(wěn)定性,小封裝,多功能(內(nèi)嵌眾多流行的功能模塊),多選擇等特點(該系列有多款不同封裝,不同價位,不同功能的型號供用戶選擇)。

    標(biāo)簽: LPC 900 SPI 單片機

    上傳時間: 2013-10-19

    上傳用戶:hanbeidang

  • I/O 型單片機使用手冊

    I/O 型單片機使用手冊 目錄 間接尋址寄存器 – IAR, IAR0, IAR1 .............................................35間接尋址指針 – MP, MP0, MP1 ......................................................35存儲區(qū)指針 – BP .........................................................................36累加器 – ACC...................................................................................37程序計數(shù)器低字節(jié)寄存器 – PCL....................................................37表格寄存器 – TBLP,TBHP,TBLH....................................................37看門狗定時寄存器 – WDTS............................................................38狀態(tài)寄存器 – STATUS.....................................................................38中斷控制寄存器 – INTC,INTC0,INTC1 .........................................39定時/計數(shù)寄存器...............................................................................39輸入/輸出端口和控制寄存器...........................................................40UART 寄存器 .USR,UCR1,UCR2,TXR/RXR,BRG.......................40輸入/輸出端口..........................................................................................41上拉電阻............................................................................................41PA 口的喚醒......................................................................................41輸入/輸出端口控制寄存器...............................................................41引腳共享功能....................................................................................42編程注意事項....................................................................................45定時/計數(shù)器..............................................................................................46配置定時/計數(shù)器輸入時鐘源...........................................................47定時/計數(shù)寄存器 – TMR, TMR0,TMR0L/TMR0H,TMR1L/TMR1H,TMR2.....................................................................49定時/計數(shù)控制寄存器 – TMRC,TMR0C,TMR1C,TMR2C............50定時器模式........................................................................................53事件計數(shù)器模式................................................................................53脈沖寬度測量模式............................................................................54可編程分頻器(PFD)和蜂鳴器的應(yīng)用..............................................55預(yù)分頻器(Prescaler)...........................................................................56輸入/輸出接口...................................................................................56編程注意事項....................................................................................57定時/計數(shù)器應(yīng)用范例.......................................................................57中斷............................................................................................................59中斷寄存器........................................................................................59中斷優(yōu)先權(quán)........................................................................................62外部中斷............................................................................................63定時/計數(shù)器中斷...............................................................................64UART 中斷........................................................................................64編程注意事項....................................................................................65復(fù)位和初始化............................................................................................66復(fù)位....................................................................................................66目錄iii異步串行口——UART............................................................................74UART 特性..........................................................................................74UART 外部引腳..................................................................................74數(shù)據(jù)發(fā)送.............................................................................................75UART 狀態(tài)控制寄存器......................................................................75波特率發(fā)生器.....................................................................................79UART 設(shè)置與控制..............................................................................81UART 發(fā)送器......................................................................................83UART 接收器......................................................................................84接收錯誤處理.....................................................................................85接收中斷圖解.....................................................................................86地址檢測模式.....................................................................................86暫停模式下的UART 功能.................................................................87UART 應(yīng)用范例.................................................................................87振蕩器........................................................................................................89系統(tǒng)時鐘配置....................................................................................89系統(tǒng)晶體/陶瓷振蕩器.......................................................................89系統(tǒng)電阻電容振蕩器........................................................................90內(nèi)部系統(tǒng)電阻電容振蕩器................................................................90RTC 振蕩器........................................................................................91看門狗定時振蕩器............................................................................91暫停和喚醒................................................................................................92暫停.....................................................................................................92進(jìn)入暫停.............................................................................................92靜態(tài)電流.............................................................................................92喚醒....................................................................................................92看門狗定時器............................................................................................94掩膜選項....................................................................................................96應(yīng)用電路....................................................................................................97第二部份 程序語言.....................................................................99第二章 指令集介紹.................................................................................101指令集......................................................................................................101指令周期..........................................................................................101數(shù)據(jù)的傳送......................................................................................101算術(shù)運算..........................................................................................102邏輯和移位運算..............................................................................102分支和控制的轉(zhuǎn)換..........................................................................102位運算..............................................................................................102查表運算..........................................................................................103其它運算..........................................................................................103指令設(shè)定一覽表......................................................................................104慣例..................................................................................................104I/O 型單片機使用手冊iv第三章 指令定義.....................................................................................107第四章 匯編語言和編譯器.....................................................................121常用符號..................................................................................................121語句語法..................................................................................................122名稱..................................................................................................122操作項..............................................................................................122操作數(shù)項..........................................................................................122注解..................................................................................................122編譯偽指令..............................................................................................123條件編譯偽指令..............................................................................123文件控制偽指令..............................................................................124程序偽指令......................................................................................126數(shù)據(jù)定義偽指令..............................................................................130宏指令..............................................................................................132匯編語言指令..........................................................................................136名稱..................................................................................................136助記符..............................................................................................136操作數(shù)、運算子和表達(dá)式..............................................................136其它..........................................................................................................139前置引用..........................................................................................139局部標(biāo)號..........................................................................................139匯編語言保留字..............................................................................140編譯器選項..............................................................................................141編譯列表文件格式..................................................................................141源程序列表......................................................................................141編譯總結(jié)..........................................................................................142其它..................................................................................................142第三部份 開發(fā)工具................................................................... 145第五章 單片機開發(fā)工具.........................................................................147HT-IDE 集成開發(fā)環(huán)境............................................................................147盛群單片機仿真器(HT-ICE) ..................................................................149HT-ICE 接口卡.................................................................................149OTP 燒寫器.....................................................................................149OTP 適配卡.....................................................................................149系統(tǒng)配置..................................................................................................150HT-ICE 接口卡設(shè)置........................................................................151安裝..........................................................................................................153系統(tǒng)要求..........................................................................................153硬件安裝..........................................................................................153軟件安裝..........................................................................................154目錄v第六章 快速開始.....................................................................................159步驟一:建立一個新項目..............................................................159步驟二:將源程序文件加到項目中..............................................159步驟三:編譯項目..........................................................................159步驟四:燒寫OTP 單片機.............................................................160步驟五:傳送程序與掩膜選項單至Holtek ..................................160附錄............................................................................................... 161附錄A 特性曲線圖...................................................................................163附錄B 封裝信息.......................................................................................173

    標(biāo)簽: 單片機 使用手冊

    上傳時間: 2013-10-18

    上傳用戶:blacklee

  • 單片機串行通信發(fā)射機

    單片機串行通信發(fā)射機 我所做的單片機串行通信發(fā)射機主要在實驗室完成,參考有關(guān)的書籍和資料,個人完成電路的設(shè)計、焊接、檢查、調(diào)試,再根據(jù)自己的硬件和通信協(xié)議用匯編語言編寫發(fā)射和顯示程序,然后加電調(diào)試,最終達(dá)到準(zhǔn)確無誤的發(fā)射和顯示。在這過程中需要選擇適當(dāng)?shù)脑侠淼碾娐穲D扎實的焊接技術(shù),基本的故障排除和糾正能力,會使用基本的儀器對硬件進(jìn)行調(diào)試,會熟練的運用匯編語言編寫程序,會用相關(guān)的軟件對自己的程序進(jìn)行翻譯,并燒進(jìn)芯片中,要與對方接收機統(tǒng)一通信協(xié)議,要耐心的反復(fù)檢查、修改和調(diào)試,直到達(dá)到預(yù)期目的。單片機串行通信發(fā)射機采用串行工作方式,發(fā)射并顯示兩位數(shù)字信息,既顯示00-99,使數(shù)據(jù)能夠在不同地方傳遞。硬件部分主要分兩大塊,由AT89C51和多個按鍵組成的控制模塊,包括時鐘電路、控制信號電路,時鐘采用6MHZ晶振和30pF的電容來組成內(nèi)部時鐘方式,控制信號用手動開關(guān)來控制,P1口來控制,P2、P3口產(chǎn)生信號并通過共陽極數(shù)碼管來顯示,軟件采用匯編語言來編寫,發(fā)射程序在通信協(xié)議一致的情況下完成數(shù)據(jù)的發(fā)射,同時顯示程序?qū)Πl(fā)射的數(shù)據(jù)加以顯示。畢業(yè)設(shè)計的目的是了解基本電路設(shè)計的流程,豐富自己的知識和理論,鞏固所學(xué)的知識,提高自己的動手能力和實驗?zāi)芰Γ瑥亩邆湟欢ǖ脑O(shè)計能力。我做得的畢業(yè)設(shè)計注重于對單片機串行發(fā)射的理論的理解,明白發(fā)射機的工作原理,以便以后單片機領(lǐng)域的開發(fā)和研制打下基礎(chǔ),提高自己的設(shè)計能力,培養(yǎng)創(chuàng)新能力,豐富自己的知識理論,做到理論和實際結(jié)合。本課題的重要意義還在于能在進(jìn)一步層次了解單片機的工作原理,內(nèi)部結(jié)構(gòu)和工作狀態(tài)。理解單片機的接口技術(shù),中斷技術(shù),存儲方式,時鐘方式和控制方式,這樣才能更好的利用單片機來做有效的設(shè)計。我的畢業(yè)設(shè)計分為兩個部分,硬件部分和軟件部分。硬件部分介紹:單片機串行通信發(fā)射機電路的設(shè)計,單片機AT89C51的功能和其在電路的作用。介紹了AT89C51的管腳結(jié)構(gòu)和每個管腳的作用及各自的連接方法。AT89C51 與MCS-51 兼容,4K字節(jié)可編程閃爍存儲器,壽命:1000次可擦,數(shù)據(jù)保存10年,全靜態(tài)工作:0HZ-24HZ,三級程序存儲器鎖定,128*8 位內(nèi)部RAM,32 跟可編程I/O 線,兩個16 位定時/計數(shù)器,5 個中斷源,5 個可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)震蕩和時鐘電路,P0和P1 可作為串行輸入口,P3口因為其管腳有特殊功能,可連接其他電路。例如P3.0RXD 作為串行輸出口,其中時鐘電路采用內(nèi)時鐘工作方式,控制信號采用手動控制。數(shù)據(jù)的傳輸方式分為單工、半雙工、全雙工和多工工作方式;串行通信有兩種形式,異步和同步通信。介紹了串行串行口控制寄存器,電源管理寄存器PCON,中斷允許寄存器IE,還介紹了數(shù)碼顯示管的工作方式、組成,共陽極和共陰極數(shù)碼顯示管的電路組成,有動態(tài)和靜態(tài)顯示兩種方式,說明了不同顯示方法與單片機的連接。再后來還介紹了硬件的焊接過程,及在焊接時遇到的問題和應(yīng)該注意的方面。硬件焊接好后的檢查電路、不裝芯片上電檢查及上電裝芯片檢查。軟件部分:在了解電路設(shè)計原理后,根據(jù)原理和目的畫出電路流程圖,列出數(shù)碼顯示的斷碼表,計算波特率,設(shè)置串行口,在與接受機設(shè)置相同的通信協(xié)議的基礎(chǔ)上編寫顯示和發(fā)射程序。編寫完程序還要進(jìn)行編譯,這就必須會使用編譯軟件。介紹了編譯軟件的使用和使用過程中遇到的問題,及在編譯后燒入芯片使用的軟件PLDA,后來的加電調(diào)試,及遇到的問題,在沒問題后與接受機連接,發(fā)射數(shù)據(jù),直到對方準(zhǔn)確接收到。在軟件調(diào)試過程中將詳細(xì)介紹調(diào)試遇到的問題,例如:通信協(xié)議是否相同,數(shù)碼管是否與芯片連接對應(yīng),計數(shù)器是否開始計數(shù)等。

    標(biāo)簽: 單片機 串行通信 發(fā)射機

    上傳時間: 2013-10-19

    上傳用戶:uuuuuuu

  • MSP430單片機實現(xiàn)微波成像系統(tǒng)的掃描控制與數(shù)據(jù)采集

    MSP430單片機實現(xiàn)微波成像系統(tǒng)的掃描控制與數(shù)據(jù)采集應(yīng)用MSP430單片機實現(xiàn)微波成像系統(tǒng)的天線掃描控制與數(shù)據(jù)采集功能,介紹了該系統(tǒng)控制及采集部分的硬件結(jié)構(gòu)及軟件設(shè)計。

    標(biāo)簽: MSP 430 單片機 微波成像

    上傳時間: 2013-10-28

    上傳用戶:王慶才

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

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

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

    上傳時間: 2013-12-04

    上傳用戶:壞壞的華仔

  • PIC單片機實用教程基礎(chǔ)篇

    PIC單片機實用教程基礎(chǔ)篇+提高篇  PIC單片機(Peripheral Interface Controller)是一種用來開發(fā)的去控制外圍設(shè)備的集成電路(IC)。一種具有分散作用(多任務(wù))功能的CPU。與人類相比,大腦就是CPU,PIC 共享的部分相當(dāng)于人的神經(jīng)系統(tǒng)。  PIC 單片機是一個小的計算機  PIC單片機有計算功能和記憶內(nèi)存像CPU并由軟件控制允行。然而,處理能力—存儲器容量卻很有限,這取決于PIC的類型。但是它們的最高操作頻率大約都在20MHz左右,存儲器容量用做寫程序的大約1K—4K字節(jié)。   時鐘頻率與掃描程序的時間和執(zhí)行程序指令的時間有關(guān)系。但不能僅以時鐘頻率來判斷程序處理能力,它還隨處理裝置的體系結(jié)構(gòu)改變(1*)。如果是同樣的體系結(jié)構(gòu),時鐘頻率較高的處理能力會較強。   這里用字來解釋程序容量。用一個指令(2*)表示一個字。通常用字節(jié)(3*)來表示存儲器(4*)容量。一個字節(jié)有8位,每位由1或0組成。PIC16F84A單片機 的指令由14位構(gòu)成。當(dāng)把1K個子轉(zhuǎn)換成位為:1 x 1,024 x 14 = 14,336位。再轉(zhuǎn)換為字節(jié)為:14,336/(8 x 1,024) = 1.75K。在計算存儲器的容量時,我們規(guī)定 1G 字節(jié) = 1,024M 字節(jié), 1M 字節(jié) = 1,024K 字節(jié), 1K 字節(jié)= 1,024 字節(jié). 它們不是以1000為倍數(shù),因為這是用二進(jìn)制計算的緣故。   1*計算機的物理結(jié)構(gòu),包括組織結(jié)構(gòu)、容量、該計算機的CPU、存儲器以及輸入輸出設(shè)備間的互連。經(jīng)常特指CPU的組織結(jié)構(gòu),包括它的寄存器、標(biāo)志、總線、算術(shù)邏輯部件、指令譯碼與執(zhí)行機制以及定時和控制部件。  2*指出某種操作并標(biāo)識其操作數(shù)(如果有操作數(shù)的話)的一種語言構(gòu)造  3*作為一個單位來操作(運算)的一個二進(jìn)制字符串,通常比計算機的一個字短。  4*處理機內(nèi)的所有可尋址存儲空間以及用于執(zhí)行指令的其它內(nèi)存儲器。  在計算存儲器的容量時,我們規(guī)定 1G 字節(jié) = 1,024M 字節(jié), 1M 字節(jié) = 1,024K 字節(jié), 1K 字節(jié)= 1,024 字節(jié). 它們不是以1000為倍數(shù),因為這是用二進(jìn)制計算的緣故。   用PIC單片機使電路做的很小巧變得可能。  因為PIC單片機可以把計算部分、內(nèi)存、輸入和輸出等都做在一個芯片內(nèi)。所以她工作起來效率很高、功能也自由定義還可以靈活的適應(yīng)不同的控制要求,而不必去更換不同的IC。這樣電路才有可能做的很小巧。

    標(biāo)簽: PIC 單片機 實用教程

    上傳時間: 2013-10-15

    上傳用戶:sxdtlqqjl

  • at91rm9200啟動過程教程

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

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

    上傳時間: 2013-10-27

    上傳用戶:wsf950131

主站蜘蛛池模板: 正蓝旗| 吐鲁番市| 普兰店市| 阿拉善左旗| 黄冈市| 历史| 治县。| 鹤庆县| 海南省| 富平县| 蒙自县| 原阳县| 灵宝市| 九龙城区| 金寨县| 泰和县| 镇远县| 凌海市| 深水埗区| 永嘉县| 塘沽区| 泰安市| 宁强县| 东丽区| 静乐县| 南和县| 江门市| 荆门市| 分宜县| 广安市| 南城县| 镇康县| 黎川县| 循化| 麻栗坡县| 贺州市| 东明县| 鹤山市| 巴楚县| 江都市| 江安县|