国产a在线播放观看片

<rp id="syalm"></rp>
<s id="syalm"><acronym id="syalm"></acronym></s><tbody id="syalm"><pre id="syalm"></pre></tbody>
  • <button id="syalm"><acronym id="syalm"></acronym></button>

    <rp id="syalm"></rp>
    1. <button id="syalm"></button>
      <rp id="syalm"></rp>

      <button id="syalm"><acronym id="syalm"></acronym></button>
      打開客服菜單
      contact us

      聯系我們

      IC解密首頁 > 解密案例 > Keil 模擬器 STM32F103 上手指南
      Keil 模擬器 STM32F103 上手指南
      編輯 :

      專業芯片解密公司

      時間 : 2020-03-30 23:44 瀏覽量 : 46

      一般嵌入式操作系統因為它的特殊性,往往和硬件平臺密切相關連,STM32F103芯片解密,具體的嵌入式操作系統往往只能在特定的硬件上運行。對于剛接觸 RT-Thread 操作系統的讀者并不容易馬上就獲得一個和 RT-Thread 操作系統相配套的硬件模塊,但隨著計算機技術的發展,我們可以采用軟件方式來模擬一個能夠運行 RT-Thread 操作系統的硬件模塊,這就是 ARM 公司的 MDK-ARM 仿真模擬環境。


      MDK-ARM(MDK-ARM Microcontroller Development Kit)軟件是一套完整的集成開發環境(IDE),它出自 ARM 公司,包括了針對 ARM 芯片(ARM7,ARM9,Cortex-M 系列,Cortex-R 系列等)的高效 C/C++ 編譯器;針對各類 ARM 設備、評估板的工程向導,工程管理;用于軟件模擬運行硬件平臺的模擬器;以及與市面上常見的如 ST-Link,JLink 等在線仿真器相連接以配合調試目標板的調試器。MDK-ARM 軟件中的軟件仿真模擬器,STM32F103芯片解密,采用完全軟件模擬方式解釋執行 ARM 的機器指令,并實現外圍的一些外設邏輯,從而構成一套完整的虛擬硬件環境,使得用戶能夠不借助真實的硬件平臺就能夠在電腦上執行相應的目標程序。


      MDK-ARM 集成開發環境因為其完全的 STM32F103 軟件仿真環境,也讓我們有機會在不使用真實硬件環境的情況下直接在電腦上運行目標代碼。這套軟件仿真模擬器能夠完整地虛擬出 ARM Cortex-M3 的各種運行模式、外設,如中斷異常,時鐘定時器,串口等,這幾乎和真實的硬件環境完全一致。實踐也證明,本文使用到的這份 RT-Thread 入門例程,在編譯成二進制代碼后,不僅能夠在模擬器上軟件模擬運行,也能夠不需要修改地在真實硬件平臺上正常運行。


      下面我們將選擇 MDK-ARM 集成開發環境作為目標硬件平臺來觀察 RT-Thread 操作系統是如何運行的。


      準備工作

      MDK 開發環境:需要安裝 MDK-ARM 5.24 (正式版或評估版,5.14 版本及以上版本均可),這個版本也是當前比較新的版本,它能夠提供相對比較完善的調試功能。安裝方法可以參考Keil MDK安裝。




      各個目錄所包含的文件類型的描述如下表所示:


      在目錄下,有一個 project.uvprojx 文件,它是本文內容所引述的例程中的一個 MDK5 工程文件,雙擊 “project.uvprojx” 圖標,打開此工程文件:



      在工程主窗口的左側 “Project” 欄里可以看到該工程的文件列表,這些文件被分別存放到如下幾個組內,分別是:


      現在我們點擊一下窗口上方工具欄中的按鈕,對該工程進行編譯,如圖所示:


      編譯的結果顯示在窗口下方的 “Build” 欄中,沒什么意外的話,最后一行會顯示“0 Error(s), * Warning(s).”,即無任何錯誤和警告。


      在編譯完 RT-Thread/STM32 后,我們可以通過 MDK-ARM 的模擬器來仿真運行 RT-Thread。點擊窗口右上方的按鈕或直接按 “Ctrl+F5” 進入仿真界面,再按 F5 開始運行,然后點擊該圖工具欄中的按鈕或者選擇菜單欄中的 “View→Serial Windows→UART#1”,打開串口 1 窗口,可以看到串口的輸出只顯示了 RT-Thread 的 LOGO,這是因為用戶代碼是空的,其模擬運行的結果如圖所示:



      系統啟動代碼


      一般了解一份代碼大多從啟動部分開始,同樣這里也采用這種方式,先尋找啟動的源頭。以 MDK-ARM 為例,MDK-ARM 的用戶程序入口為 main() 函數,位于 main.c 文件中。系統啟動后先從匯編代碼 startup_stm32f103xe.s 開始運行,然后跳轉到 C 代碼,進行 RT-Thread 系統功能初始化,最后進入用戶程序入口 main()。

      下面我們來看看在 components.c 中定義的這段代碼:

      cache
      Processed in 0.005887 Second.
      国产a在线播放观看片
      <rp id="syalm"></rp>
      <s id="syalm"><acronym id="syalm"></acronym></s><tbody id="syalm"><pre id="syalm"></pre></tbody>
    2. <button id="syalm"><acronym id="syalm"></acronym></button>

      <rp id="syalm"></rp>
      1. <button id="syalm"></button>
        <rp id="syalm"></rp>

        <button id="syalm"><acronym id="syalm"></acronym></button>