国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

單片機(jī)的快速啟動技術(shù)

發(fā)布時間:2010-9-3 13:07    發(fā)布者:techshare
關(guān)鍵詞: 單片機(jī) , 快速啟動
系統(tǒng)硬件初始化

系統(tǒng)上電或復(fù)位后,程序從位于地址0x0的Reset Exception Vector處開始執(zhí)行,因此需要在這里放置Bootloader的第一條指令:b ResetHandler,跳轉(zhuǎn)到標(biāo)號為ResetHandler處進(jìn)行第一階段的硬件初始化,主要內(nèi)容為:關(guān)看門狗定時器,關(guān)中斷,初始化PLL和時鐘,初始化存儲器系統(tǒng)。執(zhí)行完以上程序后,系統(tǒng)進(jìn)行堆棧和存儲器的初始化。系統(tǒng)堆棧初始化取決于用戶使用了哪些中斷,以及系統(tǒng)需要處理哪些錯誤類型。一般情況下,管理者堆棧必須設(shè)置,如果使用了IRQ中斷,則IRQ堆棧也必須設(shè)置。如果系統(tǒng)使用了外設(shè),則需要設(shè)置相關(guān)的寄存器,以確定其刷新頻率、總線寬度等信息。

代碼段復(fù)制到RAM中運(yùn)行


因?yàn)?a href="http://m.qingdxww.cn/keyword/嵌入式" target="_blank" class="relatedlink">嵌入式系統(tǒng)的代碼通常都是固化在ROM或者Flash中,上電后開始運(yùn)行。由于ROM和Flash的讀取速度相對較慢,這樣無疑會降低代碼的執(zhí)行速度和系統(tǒng)的運(yùn)行效率。為此,需要把系統(tǒng)的代碼復(fù)制到RAM中運(yùn)行。使用SDT鏈接器ARMLink產(chǎn)生的定位信息,把RO的有效代碼和數(shù)據(jù)段到RAM中。 ARMLink將編譯后的程序鏈接成ELF文件。映像文件內(nèi)部共有三種輸出段:RO段、RW段和ZI段。這三種輸出段分別包含了只讀代碼及包含在代碼段中的少量數(shù)據(jù)、可讀寫的數(shù)據(jù)、初始化為0的數(shù)據(jù),ARMLink同時還產(chǎn)生了這三種輸出段的起始和終止定位信息:Image$$RO$$Base、 Image$$RO$$Limit、Image$$RW$$Base、Image$$Limit、Image$$Linit和Image$$ZI$$ Limit。可以在程序中使用這些定位信息。將ROM中的代碼和數(shù)據(jù)搬移到RAM中,具體程序如下。

LDR r0, =|Image$$RO$$Base| /*RO段起始地址*/
LDR r1, =|Image$$RO$$Limit| /*RO段結(jié)束地址*/
LDR r2, =|Image$$RW$$Base|
LDR r3, =|Image$$RW$$Limit|
/*分別求出需要映像的代碼和數(shù)據(jù)的長度并累加,放到寄存器R1中*/
SUB r1, r1, r0
SUB r3, r3, r2
ADD r1, r1, r3
/*將需要映象的代碼和數(shù)據(jù)復(fù)制到RAM中去*/
0 /*標(biāo)示符*/
LDR r3, [r0], #4
STR r3, [r2], #4
SUBS r1, r1, #4
BNE %B0 /*如果沒有復(fù)制完,跳轉(zhuǎn)到0標(biāo)示符處的匯編語句,繼續(xù)復(fù)制,參見ARM指令幫助手冊*/

建立二級中斷向量表

在ARM 系統(tǒng)中,中斷向量表位于0X0開始的地址處,意味著無論運(yùn)行什么樣的上層軟件,一旦發(fā)生中斷,程序就得到Flash存儲器中的中斷向量表里去,降低系統(tǒng)的運(yùn)行效率。因此在RAM中建立自己的二級中斷向量表,當(dāng)中斷發(fā)生后,程序直接從RAM中取中斷向量進(jìn)入中斷子程序。尤其是在中斷頻繁發(fā)生的系統(tǒng)里,這種方法可以大大提高系統(tǒng)的運(yùn)行效率,具體的實(shí)現(xiàn)代碼如下。

b ResetHandler
b HandlerUndef /*未定義模式句柄*/
b HandlerSWI /*SWI中斷句柄*/
b HandlerPabort /*PAbort中斷句柄*/
b HandlerDabort /*Dabort中斷句柄*/
b. /*保留*/
b HandlerIRQ /*IRQ 中斷句柄*/
b HandlerFIQ /*FIQ中斷句柄*/
HandlerFIQ HANDLER HandleFIQ
HandlerIRQ HANDLER HandleIRQ
HandlerUndef HANDLER HandleUndef
HandlerSWI HANDLER HandleSWI
HandlerDabort HANDLER HandleDabort
HandlerPabort HANDLER HandlePabort

其中HANDLER是一個宏,用于查找中斷處理程序的入口地址。這些地址存放在由HandleXXX指向的表項(xiàng)中,該表定位在RAM高端,基地址為_ISR_STARTADDRESS。

^ _ISR_STARTADDRESS
HandleReset # 4
HandleUndef # 4
HandleSWI # 4
HandlePabort # 4
HandleDabort # 4
HandleReserved # 4
HandleIRQ # 4
HandleFIQ # 4

MMU的應(yīng)用

MMU 是存儲器管理單元的縮寫,是用來管理虛擬內(nèi)存系統(tǒng)的器件。MMU通常是CPU的一部分,本身有少量存儲空間存放從虛擬地址到物理地址的匹配表,此表稱作 TLB(轉(zhuǎn)換旁置緩沖區(qū))。所有數(shù)據(jù)請求都送往MMU,由MMU決定數(shù)據(jù)是在RAM內(nèi)還是在大容量外部存儲器設(shè)備內(nèi)。如果數(shù)據(jù)不在存儲空間內(nèi),MMU將產(chǎn)生頁面錯誤中斷。MMU存儲器系統(tǒng)的結(jié)構(gòu)允許對存儲器系統(tǒng)的精細(xì)控制,大部分的控制細(xì)節(jié)由存在存儲器中的轉(zhuǎn)換表提供。這些表的入口定義了從1KB~1MB 的各種存儲器區(qū)域的屬性。MMU完成的兩個主要功能是:將虛地址轉(zhuǎn)換成物理地址,控制存儲器存取允許。MMU關(guān)掉時,虛地址直接輸出到物理地址總線。

經(jīng)過以上的分析可以發(fā)現(xiàn),系統(tǒng)啟動程序主要是完成了硬件的初始化,以及克服Flash或ROM讀取速度慢的弱點(diǎn),提高指令和數(shù)據(jù)的讀取速度,實(shí)現(xiàn)系統(tǒng)的高速運(yùn)行,并且通過MMU的應(yīng)用,減少RAM的使用,降低系統(tǒng)成本。
本文地址:http://m.qingdxww.cn/thread-25411-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)在線工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩三级在线 | 天天干天操 | 日韩高清一区二区三区五区七区 | 狠狠亚洲 | 国产亚洲精品yxsp | 99热这里有免费国产精品 | 欧美日韩视频免费播放 | sese天堂| 日韩福利影院 | 亚洲视频一区在线观看 | 午夜理伦大片一级 | 国产精品真实对白精彩久久 | 国产午夜精品不卡观看 | 国产在线精品成人一区二区三区 | 九九热视频在线播放 | 五月婷婷之婷婷 | 国产免费久久精品 | a级日韩乱理伦片在线观看 a级片免费在线播放 | 欧美日韩精品国产一区在线 | 激情视频导航 | 99久久精品毛片免费播放 | 97在线视频免费观看 | 日剧在线 | 亚洲欧美一区二区三区久本道 | 久久这里精品青草免费 | 女人wwxxxxx | 我不卡在线观看 | 色视频网站大全免费 | www欧美com| 日韩小视频在线 | 蜜桃tv在线观看 | 国产在线原创剧情麻豆 | 亚洲综合色婷婷久久 | 亚洲宅男天堂 | 两个人在线观看视频www | 色婷婷亚洲十月十月色天 | 天天曰夜夜操 | 国产区精品福利在线观看精品 | 中文字幕一区2区3区 | 日本高清中文字幕一区二区三区a | 日韩精品在线视频 |