RM新时代网站-首页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>嵌入式開發(fā)復(fù)位和初始化詳細討論

嵌入式開發(fā)復(fù)位和初始化詳細討論

2017-10-19 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

13.5 復(fù)位和初始化
  任何運行在實際硬件上的嵌入式應(yīng)用程序,都必須在啟動時實現(xiàn)一些基本的系統(tǒng)初始化。本節(jié)將對此予以詳細討論。
  13.5.1 初始化序列
  圖13.14顯示了一個適用于ARM嵌入式系統(tǒng)的初始化序列。
  嵌入式開發(fā)復(fù)位和初始化詳細討論
  圖13.14 ARM嵌入式系統(tǒng)的初始化序列
  系統(tǒng)啟動時立即執(zhí)行復(fù)位處理程序,然后進入$Sub$$main()的代碼執(zhí)行。
  復(fù)位處理程序是用匯編語言編寫的代碼塊,它在系統(tǒng)復(fù)位時執(zhí)行,完成系統(tǒng)初始化操作。對于具有局部存儲器的內(nèi)核,如Caches、緊密藕荷存儲器(TCM)、存儲管理單元(MMU)和存儲器保護單元(MPU)等,在初始化過程這一階段完成必要的配置。復(fù)位處理程序在執(zhí)行之后,通常跳轉(zhuǎn)到__main以開始C庫的初始化序列。
  13.5.2 向量表
  所有的ARM系統(tǒng)都有一個向量表(vector table)。向量表不是初始化序列的一部分,但是對每個要處理的異常,它必須存在。這些地址通常包含以下形式的跳轉(zhuǎn)指令。
  · B《address》:該條指令實現(xiàn)了相對于pc的跳轉(zhuǎn)
  · LDR pc,[pc,offset]:這條指令將異常處理程序的入口地址從存儲器裝載到pc。該地址是一個32位的絕對地址。由于有額外的存儲器訪問,裝載跳轉(zhuǎn)地址會使分支跳轉(zhuǎn)到特定處理程序,給系統(tǒng)執(zhí)行帶來延時。不過,可以使用這種方法跳轉(zhuǎn)到存儲空間內(nèi)的任意地址。
  · MOV pc,#immediate:將一個立即數(shù)復(fù)制到pc。使用該指令可以跨越整個地址空間,但是受到地址對齊問題的限制。這個地址必須由8位立即數(shù)循環(huán)右移偶數(shù)次得到。
  另外,也可以在向量表中使用其他類型的指令。例如,F(xiàn)IQ處理程序可以從地址0x1c處開始執(zhí)行。因為它位于向量表的最后,這樣FIQ處理程序就可以不用跳轉(zhuǎn),立即從FIQ向量地址處開始執(zhí)行。
  下面的例子顯示了一個使用LDR指令的向量表裝載過程。
  ;**********************************
  ;* VECTOR TABLE *
  ;**********************************
  AREA vectors, CODE
  ENTRY
  ; 定義標準的ARM向量表
  INT_Vectors
  LDR PC, INT_Reset_Addr
  LDR PC, INT_Undef_Addr
  LDR PC, INT_Software_Addr
  LDR PC, INT_Prefetch_Addr
  LDR PC, INT_Data_Addr
  LDR PC, INT_Reserved_Addr
  LDR PC, INT_IRQ_Addr
  LDR PC, INT_FIQ_Addr
  在向量表的入口處要有ENTRY標識。該標識通知鏈接程序該代碼是一個可能的入口點,因而在鏈接時,不能被清除。
  13.5.3 ROM/RAM重映射
  啟動時,0x0處必須要有一條有效指令,因此,復(fù)位時0x0000地址必須為非易失性存儲器,如ROM或FLASH。
  注意有些系統(tǒng)是從0xffff0000處開始執(zhí)行的,對于這樣的系統(tǒng),地址0xffff0000處必須為非易失性存儲器。
  可以將ROM定位在0x0處。但是,這樣配置有幾個缺點。首先ROM存取速度通常較RAM要慢,當(dāng)跳轉(zhuǎn)到異常處理程序時,系統(tǒng)性能可能會大受影響。其次,將向量表放于ROM中,運行時不能修改。
  存儲器地址重映射(Memory Remap)是當(dāng)前很多先進控制器所具有的功能。所謂地址重映射就是可以通過軟件配置來改變存儲器物理地址的一種機制或方法。
  當(dāng)一段程序?qū)\行自己得存儲器進行重映射時,需要特別注意保證程序執(zhí)行流程在重映射前后的承接關(guān)系。實現(xiàn)重映射的關(guān)鍵就是要使程序指針在remap以后能繼續(xù)往下得到正確的指令。本書中介紹兩種實現(xiàn)重映射的機制,不同的系統(tǒng)可能會有多種靈活的remap方案,用戶在具體實現(xiàn)時要具體分析。
  1.先搬移后映射(Remap after Copy)
  圖13.15顯示一種典型的存儲器地址重映射情況。
  嵌入式開發(fā)復(fù)位和初始化詳細討論
  圖13.15 ROM/RAM重映射(1)
  原來RAM和ROM各有自己的地址,進行重映射以后RAM和ROM的地址都發(fā)生了變化。這種情況下,可以采用以下方案。
 ?、?上電后,從0x0地址的ROM開始往下執(zhí)行。
  ② 根據(jù)映射前的地址,對RAM進行必要的代碼和數(shù)據(jù)拷貝。
 ?、?拷貝完后,進行remap操作。
 ?、?因為RAM在remap前準備好了內(nèi)容,使得PC指針能繼續(xù)在RAM里取到正確的指令。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設(shè)計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
RM新时代网站-首页