在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>單片機程序到底是如何運行的?資料下載

單片機程序到底是如何運行的?資料下載

2021-04-09 | pdf | 252.25KB | 次下載 | 2積分

資料介紹

我們在之前的四期中對利用單片機的功能進行程序設計進行了說明。單片機內置了非常便于使用的外設功能,大家一定也能感受到單片機可應對各種要求的能力。但是,如果要有效地運行單片機,程序是不可或缺的,那么程序到底是如何運行的呢?從本期開始,我們將分兩期連續向大家介紹單片機與程序的關系。 關注單片機的存儲器 在此之前,GR-SAKURA電路板(搭載瑞薩電子單片機“RX63N”)的程序設計是使用Web編譯器來進行的。將通過編譯器搭建的程序(Object Code,結果代碼)如同寫入U盤一樣將之傳送到GR-SAKURA電路板后再執行。那么,問題來了。寫入(傳送到)單片機的程序應該保存在哪兒呢?另外,程序又是如何被執行的呢?在解答這些問題的同時,讓我們一起來了解一下單片機與程序的關系吧。 首先來了解存儲器﹑主存儲器和外置存儲器的兩種作用 記憶(保存)程序和數據的地方即存儲器。存儲器有以下兩種類型。 主存儲器 CPU能夠直接進行存取的存儲器,用于保存正在執行中的程序和數據 外置存儲器(輔助存儲器、二級緩存器) 不能從CPU直接進行存取,需通過USB或串行、并行的各種I/O來進行存取,用于保存不在執行當中(處理中)的應用和數據 外置存儲器中的程序需傳送到主存儲器后才能執行。 關于單片機的存儲器,常會看到ROM(Read Only Memory:只讀存儲器)和RAM(Random Access Memory:可讀寫存儲器)等詞匯,其實ROM和RAM僅是表示存儲器性質,而與存儲器的作用無關。 地址空間(內存空間) CPU能夠直接進行讀寫的所有空間被稱為“地址空間(或內存空間)”。這個地址空間的每個字節都標注有號碼。這個號碼稱為“地址(address)”,一般以十六進制來表示。上面所介紹過的主存儲器都包含在地址空間內。 根據不同用途,單片機的CPU已開發出了4位、8位、16位和32位。在GR-SAKURA中使用的RX63N單片機搭載了32位的CPU,因此也被稱為“32位單片機”。那么,單片機所擁有的地址空間容量到底有多少呢?以RX63N為例,由于是32位的CPU,因此最大能夠指定約40億(2的32次方)個地址。確切地說是4,294,967,296(4x1024x1024x1024)個地址。由于一個地址可以記憶一個字節,這時也可以表示為具有“4GB(千兆字節)的地址空間”(請參考專欄“計算機的單位”)。地址空間的容量越大越能搭載大容量的存儲器, 也可容納更大的程序。因此能夠實現更高功能的應用。 32位字節的CPU所擁有的4G字節的地址空間示例如圖1所示。左邊所示的是以十六進制標示的地址(參考專欄“表示地址的十六進制指的是什么?”)。由于一列保存有4個字節(=32位),所以左邊所標記的地址就是每4個地址的值。 圖1:地址空間及標示例 計算機的單位:位、字節、兆、千兆和兆兆(太) 數據的基本單位是位(b=bit),每個位的值為"0"或"1"。8位為1個字節(B=Byte)。例如,3個字節(3×8位)等同于24位。 電腦存儲設備的容量所使用的單位,大家耳熟能詳的有KB(千字節)、MB(兆字節)、GB(千兆字節)和TB(太字節)等。一般情況下會說1GB=1000MB或者這樣寫出來,但在計算機的世界里,此單位并非為1000倍,而是1024倍(2的10次方),因此正確的表示如下: 1KB(千字節)=2的10次方 = 1,024 字節 1MB(兆字節)=1,024KB = 2的20次方 1,048,576 字節 1GB(千兆字節)=1,024MB = 2的30次方 = 1,073,741,824 字節 1TB(太字節)=1,024GB = 2的40次方 = 1,099,511,627,776字節 表示地址的十六進制指的是什么? 地址空間內的地址以16進制來表示。例如,擁有16位(2的16次方)大小的地址空間中,如果以10進制來表示,就是“從地址0到地址65535”,如果以16進制來表示,則是從“地址0h到地址FFFFh”。在10進制中,每一位所取的值都在0到9之間,而在16進制中,則是0到F(相當于10進制的15)。以16進制表示的數,最后都有一個“h”,標明是以16進制來表示的。 程序保存在哪兒呢?(向量表) 那么,程序被保存在地址空間的什么地方,又是怎么樣開始工作的呢?單片機復位后便開始執行最優先程序。復位是在接通電源或接收到復位信號時發生。實際上,這種“開始執行最優先程序”處理中,有如下所示的兩種方法。 即開始執行程序時,有將執行程序的起始地址設為固定的CPU及將之設為可變地址的CPU。 在將起始地址設為固定的CPU中,大多是從地址0(地址空間中最小的地址)開始執行。這就是程序開始的地點。而且,有時要事先在地址0中實現寫入“下一個要執行的是地址○○”的跳轉(Jump)指令,并將程序預先放置在“地址○○”中。如果改寫“地址○○”,將可獲得與將起始地址設為可變地址同樣的效果。 將起始地址設為可變地址的CPU將起始地址寫入被稱為“向量表”的部分中(圖2)。向量表是只存放地址空間中各種起始地址的特定區域的名稱。一般來說是它放置在地址空間中最大地址的部分。 圖2:RX63N系列的向量表 以RX63N為例,由于地址是以32位來顯示的,為了保存它就需要4個字節。這就意味著圖3中的“復位”部分表示從地址FFFFFFFCh到地址FFFFFFFFh的4個字節中保存了程序的起始地址。CPU復位后將讀取保存于此的地址,并從作了標記的地址開始執行。被寫入向量表的不僅是復位后的起始地址,向量表中還保存發生中斷時程序的起始地址和異常處理(Exception Handling)的起始地址。也正因為保存了發生中斷及異常處理等因多種事由的起始地址,所以才被稱為“表(Table)”。 我們來設想一下使用了向量表的程序處理的情況。圖3表示出了發生非屏蔽中斷(NMI) (*1) 時的處理流程例。 1、產生NMI, 2、讀取寫在向量表的NMI的起始地址(此例中為10000000h), 3、執行所讀取地址(10000000h)中的NMI程序。 圖3:使用向量表進行處理的流程 (*1)非屏蔽中斷(NMI):所謂非屏蔽指的是無法禁止的意思。如有中斷請求,CPU將無條件地執行中斷處理。可用于通過看門狗定時器進行的中斷處理等。關于看門狗定時器,在本連載的第2期--“定時器”中已為大家作了介紹。 如上所述,在將程序的起始地址設為可變的CPU中,由于能夠通過寫入向量表來指定中斷處理的起始地址,因此具有在地址空間中自由配置中斷處理程序的特征。 本期我們介紹了CPU的地址空間與外設功能的關系、以及程序是從哪里開始執行的等內容。如果單片機為32位,就有非常巨大的地址空間可以使用。內存是非常寶貴的資源,所以將保存在內存中的程序設計得小巧非常重要,但32位單片機的地址空間已比16位的大了很多。為了縮小程序,沒有必要進行復雜的編程,我們的程序都是在更易于讀取的目標下來編寫的。 下期我們將通過說明執行程序時的處理和內存的關系來進一步理解單片機的有效運行。? (mbbeetchina)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1EN60335-1安規標準 中文版本
  2. 1.86 MB   |  53次下載  |  1 積分
  3. 2LT7406FJ N溝道增強型功率MOSFET規格書
  4. 1.38 MB   |  2次下載  |  免費
  5. 3米爾-瑞芯微RK3562核心板開發板,4核CPU,ARM中量級多面手
  6. 3.45 MB  |  2次下載  |  免費
  7. 4運算放大電路入門教程
  8. 0.70 MB   |  1次下載  |  免費
  9. 5開源鴻蒙版真4K顯示器廣告機主板AIoT-6780SE彩頁
  10. 613.79 KB  |  1次下載  |  免費
  11. 6LTS6806SR N溝道增強型功率MOSFET規格書
  12. 0.99 MB   |  次下載  |  免費
  13. 7LT3810FP-X N溝道增強型功率MOSFET規格書
  14. 0.92 MB   |  次下載  |  免費
  15. 8LTS4008TRB N溝道增強型功率MOSFET規格書
  16. 1.58 MB   |  次下載  |  免費

本月

  1. 1STM32CubeMX用于STM32配置和初始化C代碼生成
  2. 21.90 MB   |  619次下載  |  免費
  3. 2STM32開發板教程之STM32開發指南免費下載
  4. 24.88 MB   |  176次下載  |  3 積分
  5. 3DeepSeek:從入門到精通
  6. 5.36 MB   |  95次下載  |  1 積分
  7. 4EN60335-1安規標準 中文版本
  8. 1.86 MB   |  53次下載  |  1 積分
  9. 5OAH0428最新規格書(中文)
  10. 2.52 MB   |  27次下載  |  10 積分
  11. 6UHV系列雷電沖擊電壓發生器試驗裝置詳細說明使用
  12. 1.07 MB   |  17次下載  |  免費
  13. 7Altium-常用3D封裝庫(Step)接插件篇
  14. 4.95 MB   |  14次下載  |  免費
  15. 8介紹一些常用的電子元器件
  16. 3.20 MB   |  8次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935124次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420063次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191371次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183336次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81583次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73814次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
主站蜘蛛池模板: 国产在线麻豆自在拍91精品 | 亚洲永久网站 | 亚洲欧美国产五月天综合 | 91极品女神私人尤物在线播放 | 午夜五月天 | 亚洲一区二区三区四区在线观看 | 美女 免费 视频 黄的 | 亚洲天天做夜夜做天天欢人人 | 午夜亚洲福利 | 美女视频很黄很暴黄是免费的 | 国产美女视频一区二区三区 | 色综合天天 | 在线播放国产不卡免费视频 | 国产资源免费观看 | 日本色图视频 | 全黄色一级片 | 天天操天天透 | 欧美日本一区 | 国产成人亚洲毛片 | 爱爱视频天天看 | 色wwww| 韩国十八禁毛片无遮挡 | ass嫩美女胴体 | 种子在线搜索 | 亚洲一二三区视频 | haose16在线永久免费 | 亚洲伊人久久大香线蕉啊 | 最新亚洲情黄在线网站 | 日本www色视频 | 日韩毛片大全免费高清 | 如果我们是季节韩剧在线观看 | 色噜噜色偷偷 | 国产精品久久在线 | 天堂中文最新版www 天堂资源8中文最新版在线 | 亚洲色图第一页 | 美女张开大腿让男人桶 | 日本不卡在线播放 | 亚洲视频你懂的 | 一区二区三区视频在线观看 | 四虎影院一区二区 | 欧美性色欧美a在线播放 |