色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>DSP>詳解嵌入式Boot與Remap資料下載

詳解嵌入式Boot與Remap資料下載

2021-04-22 | pdf | 363.42KB | 次下載 | 2積分

資料介紹

??引言 ??隨著半導體工藝技術與處理器設計技術的不斷提高,嵌入式處理器的速度愈來愈快;而非易失性存儲器的讀取速度卻遠遠跟不上CPU的發展。傳統的單片機運行模式——機器代碼存儲在非易失性存儲器(如ROM,FLASH),在運行時由CPU直接從其中取出指令執行——逐漸顯得力不從心。如果繼續沿用傳統的程序運行模式,那么在絕大多數時間內高速CPU將處于空閑等待狀態,這既浪費了CPU的計算能力,也無法實現高密度數據流的實時處理與傳輸。而在短期之內,半導體工業界尚無法實現低成本的非易失性高速存儲器技術。為了解決上述處理器和非易失性存儲器之間速度不匹配的矛盾,工程師們在嵌入式系統領域內引用了Boot技術和Remap技術。而要正確理解Boot技術和Remap技術,必須先建立Memory Map(存儲器映射)的概念。 ??技術概念描述 ??Memory Map ??計算機最重要的功能單元之一是Memory。Memory是眾多存儲單元的集合,為了使CPU準確地找到存儲有某個信息的存儲單元,必須為這些單元分配一個相互區別的“身份證號”,這個“身份證號”就是地址編碼。在嵌入式處理器內,集成了多種類型的Memory,通常,我們稱同一類型的Memory為一個Memory Block。一般情況下,處理器設計者會為每一個Memory Block分配一個數值連續、數目與其存儲單元數相等、以16進制表示的自然數集合作為該Memory Block的地址編碼。這種自然數集合與Memory Block的對應關系,就是Memory Map(存儲器映射),有時也叫Address Map(地址映射)。實際上,Address Map在字面意義上更加貼切。 ??需要強調的是,Memory Map是一個邏輯概念,是計算機系統在(上電)復位后才建立起來的。Memory Map相當于這樣一個數學函數:函數的輸入量是地址編碼,輸出量被尋址單元中的數據。當計算機系統掉電后或復位時,這個數學函數不復存在,只剩下計算機系統中實現這個數學函數的物理基礎——電路連接。也可以這樣認為:Memory Map是計算機系統(上電)復位時的預備動作,是一個將CPU所擁有的地址編碼資源向系統內各個物理存儲器塊分配的自動過程。 ??Boot/Bootload ??Boot在計算機專業英文中的意思是“引導”,它是計算機系統(上電)復位后CPU的第一個機器動作。那么,Boot引導的是什么呢?簡要地說,Boot就是引導CPU如何裝入機器指令。最簡單的Boot動作就是8位單片機系統復位后從復位向量中取出跳轉指令,轉移到用戶程序代碼段執行的這個過程。 ??通常,在計算機系統中,(上電)復位后除了執行Boot動作,還跟隨著一個Load過程。一般情況下,該Load從低速非易失性存儲器中“搬運”一些數據到高速易失性存儲器中。Boot和Load連續執行,一氣呵成,我們稱之為Bootload。最典型的例子之一就是DSP實時信號處理系統,系統上電后,將存儲在EEPROM中的實時信號處理程序復制到系統的RAM中,然后CPU直接從RAM中讀取機器指令運行。 ??Remap ??Remap與計算機的異常處理機制是緊密相關的。 ??完整的計算機系統必須具備異常處理能力。當異常產生時,CPU在硬件驅動機制下跳轉到預先設定的存儲器單元中,取出相應的異常處理程序的入口地址, 并根據該入口地址進入異常處理程序。這個保存有異常處理程序入口地址的存儲器單元就是通常所說的“異常入口”,單片機系統中也叫“中斷入口”。實際的計算機系統有多種類型的異常,CPU設計人員為了簡化芯片設計,一般將所有的異常入口集中起來置于非易失性存儲器中,并在系統上電時映射到一個固定的連續地址空間上。位于這個地址空間上的異常入口集合就是“異常向量表”。 ??系統上電后的異常向量表是從低速非易失性存儲器映射得到的。隨著處理器速度的不斷提高,很自然地,人們希望計算機系統在異常處理時也充分發揮出CPU的處理能力,而非易失性存儲器的讀取速度使得CPU只能以多個空閑等待同期來獲取異常向量,這樣就限制了CPU計算能力的充分發揮。尤其是非易失性存儲器位寬小于CPU位寬時,這種負面的影響更加明顯。于是,Remap技術被引入,以提高系統對異常的實時響應能力。 ??從Remap這個英文單詞的構成不難看出,它是對此前已確立的存儲器映射的再次修改。從本質上講,Map和Remap是一樣的,都是將地址編碼資源分配給存儲器塊,只不過二者產生的時間不同:前者在系統上電的時刻發生,是任何計算機系統都必需的;而后者在系統上電后穩定運行的時刻發生,對計算機系統設計人員來說是可選的。典型的8位單片機系統中,就沒有使用Remap技術。 ??完整的Remap過程實際上通常始于系統的Bootload過程。具體執行動作為:Bootload將非易失性存儲器中的異常向量復制到高速易失性存儲器塊的一端,然后執行Remap命令,將位于高速易失性存儲器中的異常向量塊映射到異常向量表地址空間上。此后,系統若產生異常,CPU將從已映射到異常微量表地址空間的高速非易失性存儲器中讀取異常向量。具體到典型的ARM7嵌入式系統中,就是由Bootload程序將片內或片外的Flash/ROM中的異常向量復制到片內的SRAM中指定的存在器單元中,然后再執行Remap命令。由于片內的SRAM數據位寬通常與CPU數據位寬相等,因而CPU可以無等待地全速跳入異常處理程序,獲得最佳的實時異常響應。 ??LPC2000的Boot和Remap解析 ??從上面的技術描述中可知,典型的Boot、Memory Map和Remap的時間順序應該是:Memory Map-〉Boot-〉Remap。但是,LPC2000處理器中這三個動作的順序卻有一點不同,依次為Memory Map-〉Remap-〉Boot-〉Remap,最后一個Remap過程是用戶可選的,可執行也可不執行。每當系統復位以后,LPC2000處理器就順次執行上述四個過程,下面分析這幾個階段。為簡化起見,以總線不開放的LPC2104處理器為例。 ??LPC2106的片上存儲器分類 ??LPC2104片內的存儲器類型只有兩種:Flash塊和SRAM塊。其中,部分Flash存儲器塊在芯片出廠前由Philips寫入了Bootload程序和64字節的異常向量表。為方便討論,我們稱這部分Flash塊為Bootload子塊,其大小為8KB。如前所述,在處理器未上電之前或復位時,Flash塊和SRAM塊僅僅是兩個沒有地址編碼的物理存儲器,與地址編碼尚未建立起實際的映射關系。 ??Memory Map ??LPC2104處理器(上電)復位以后,Flash塊和SRAM塊的地址映射結果為:SRAM占據0x40000000—0x40003FFF范圍的地址編碼空間;Flash占據0x00000000—0x0001FFFF范圍的地址編碼空間。該映射結果是個中間態,只存在極短的時間,應用系統開發人員無法看到這個中間態。處理器內核外圍模塊的地址映射結果為0xE0000000—0xFFFFFFFF。 ?? ??Remap ??Memory Map完成以后,緊接著LPC2104會作一次Remap,這次Remap操作的對象是Bootload子塊,由處理的內部硬件邏輯執行完成,不受開發人員的控制。經過Remap后,Bootload子塊被整體Remap到了0x7FFFE000—0x7FFFFFFF的片內高地址內存空間;同時,原Memory Map后占用0x00000000—0x0000003F地址空間的那部分64 字節大小的Flash子塊被暫時注銷映射關系,由Bootload子塊中的異常向量部分取而代之。 ??至此,Flash塊對內存地址空間的占用情況如下: ??1、除去因Remap被暫時注銷了映射關系的那小部分64字節的Flash子塊外,Flash塊作為一個整體占用的地址編碼空間為0x00000040—0x0001FFFF; ??2、同時,Bootload子塊又占用了0x7FFFE000—0x7FFFFFF的地址編碼空間,Bootload子塊中的異常向量表部分占用了0x00000000—0x0000003F。 ??因此,Bootload子塊中的異常向量表部分實際上是占用了重復占用了三段地址編碼空間:0x00000000—0x0000003F、0x0001E000—0x0001E03F以及0x7FFFE000—0x7FFFE03F。 ??圖2中,存儲器的映射順序為:Memory Map-〉Reset Remap-〉Bootload Remap。 ??SRAM塊和內核外圍模塊的映射關系在Remap之后保持不變,可參見圖1。 ??* - 本貼最后修改時間:2005-3-10 17:31:19 修改者:andrewpei ??* - 修改原因:Append ?? ??Boot ??LPC2104有效的異常向量表地址編碼空間是0x00000000—0x0000003F(嚴格來說應該是0x00000000—0x0000001F)。處理器復位后的Boot動作就是從0x00000000處起始字中取出跳轉指令,開始程序的執行。由于處理器復位后,映射到0x00000000—0x0000003F地址空間的異常向量表源于Bootload子塊,因此CPU實際上開始執行的是Philips在芯片出廠前寫入的Bootload程序。 ??進入Bootload后,程序首先檢查看門狗溢出標志是否置位。 ??若看門狗溢出標志置位,則表明當前的系統復位是內部軟復位,CPU下一步將對Flash塊中的異常向量表進行加和校驗。如果加和檢驗結果為零,Bootload程序將撤銷Bootload子塊中異常向量表部分在0x00000000—0x00000003F地址空間上的映射,恢復Flash塊的異常向量表在這64字節地址空間上的映射關系(如圖3),然后跳轉到異常向量表地址0x00000000處轉入用戶程序的執行。如果加和校驗結果不為零,Bootload程序將進行UART0接口的波特率自動偵測,隨時響應ISP宿主機的編程請求,執行處理器芯片的ISP編程工作。 ?? ??若Bootload沒有發現看門狗溢出標志置位,則表明當前的系統復位是外部硬復位,CPU將采樣P0.14引腳的外部邏輯電平輸入。如果為0,Bootload執行UART0的自動波特率偵測,隨時響應ISP宿主機的編程請求;如果為1,Bootload的后續動作將與前面檢測到看門狗溢出標志置位的程序執行完全相同。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費下載
  2. 0.00 MB  |  1489次下載  |  免費
  3. 2單片機典型實例介紹
  4. 18.19 MB  |  91次下載  |  1 積分
  5. 3S7-200PLC編程實例詳細資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關電源原理及各功能電路詳解
  10. 0.38 MB  |  9次下載  |  免費
  11. 6基于AT89C2051/4051單片機編程器的實驗
  12. 0.11 MB  |  4次下載  |  免費
  13. 7基于單片機和 SG3525的程控開關電源設計
  14. 0.23 MB  |  3次下載  |  免費
  15. 8基于單片機的紅外風扇遙控
  16. 0.23 MB  |  3次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費
  7. 4LabView 8.0 專業版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費
  9. 5555集成電路應用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費
  11. 6接口電路圖大全
  12. 未知  |  30319次下載  |  免費
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費
  15. 8開關電源設計實例指南
  16. 未知  |  21539次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537791次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191183次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138039次下載  |  免費
主站蜘蛛池模板: 老头狠狠挺进小莹体内视频 | 国产成人一区二区三中文 | 中文字幕永久在线 | 性色AV一区二区三区咪爱四虎 | 国产扒开美女双腿屁股流白浆 | 亚洲中文 字幕 国产 综合 | 产传媒61国产免费 | 一区二区不卡在线视频 | 东北真实仑乱 | 国产人妻午夜无码AV天堂 | 国产人妻人伦精品59HHH | 精品视频一区二区三三区四区 | 北岛玲手机在线观看视频观看 | 青柠在线观看免费完整版 | 国产亚洲福利在线视频 | mdapptv麻豆下载 | 99影视久久电影网久久看影院 | 麻豆AV久久无码精品九九 | 一区二区三区无码高清视频 | 久久伊人草 | 九色PORNY蝌蚪视频首页 | 轻轻挺进女教师的身体 | 欧美自拍亚洲综合图区 | 国产成人在线小视频 | 亚洲欧美日韩在线码不卡 | 欧美人禽Zozo动人物杂交 | 日本护士性生活 | 放射源分类办法 | 女人被躁到高潮嗷嗷叫69 | 国产在线播放精品视频 | 暖暖视频免费观看社区 | 又黄又爽又无遮挡在线观看免费 | 有人在线观看的视频吗免费 | 亚洲精品九色在线网站 | 久草在线在线精品观看99 | 99视频网址| 亚洲婷婷天堂综合国产剧情 | 在线观看亚洲专区5555 | 精品无码久久久久久久动漫 | 国产精品外围在线观看 | YELLOW在线观看高清视频免费 |