不用板子也能跑!Keil模擬STM32F103體驗

簡介

一般嵌入式作業系統因為它的特殊性,往往和硬體平臺密切相關連,具體的嵌入式作業系統往往只能在特定的硬體上執行。對於剛接觸

OneOS-Lite

作業系統的讀者要想馬上獲得一個和

OneOS-Lite

作業系統相配套的硬體模組並不容易,但隨著計算機技術的發展,我們可以採用軟體方式來模擬一個能夠執行

OneOS-Lite

作業系統的硬體模組,這就是

ARM

公司的

MDK-ARM(Keil)

模擬模擬環境。

MDK虛擬硬體環境

MDK-ARM(MDK-ARM Microcontroller Development Kit,也稱為Keil)

軟體是一套完整的整合開發環境(IDE),它出自

ARM

公司,包括了針對

ARM

晶片(

ARM7

ARM9

Cortex-M

系列、

Cortex-R

系列等)的高效

C/C++

編譯器;針對各類

ARM

裝置、評估板的工程嚮導和工程管理;用於軟體模擬執行硬體平臺的模擬器;以及與市面上常見的如

ST-Link

JLink

等線上模擬器相連線以配合除錯目標板的偵錯程式。

MDK-ARM

軟體中的軟體模擬模擬器,採用完全軟體模擬方式解釋執行 ARM 的機器指令,並實現外圍的一些外設邏輯,從而構成一套完整的虛擬硬體環境,使得使用者能夠不借助真實的硬體平臺就能夠在電腦上執行相應的目標程式。

MDK-ARM

整合開發環境因為其完備的

STM32F103

軟體模擬環境,也讓我們有機會在不使用真實硬體環境的情況下直接在電腦上執行目的碼。這套軟體模擬模擬器能夠完整地虛擬出

ARM Cortex-M3

的各種執行模式、外設,如中斷異常、時鐘定時器、串列埠等,這幾乎和真實的硬體環境完全一致。實踐也證明,本文使用到的這份

OneOS-Lite

入門例程,在編譯成二進位制程式碼後,不僅能夠在模擬器上執行,也能夠在不加任何修改的情況下在真實硬體平臺上正常執行。

下面我們將選擇

MDK-ARM

整合開發環境作為目標硬體平臺來觀察

OneOS-Lite

作業系統是如何執行的。

準備工作

準備工程如下:

安裝 5。14 版本及以上的

MDK-ARM (Keil)

整合開發環境(具體安裝過程參見MDK環境搭建),在安裝好

MDK-ARM

整合開發環境後,再安裝

STM32F1xx\_DFP PACK

包;

下載一份完整的

OneOS-Lite

程式碼,該程式碼已上線gitee,可直接訪問並clone,地址如下:gitee: https://gitee。com/cmcc-oneos/OneOS-Lite

開啟使用Keil模擬器的示例工程

進入到

oneos-lite\projects\stm32f103rc

目錄中,雙擊

“project。uvprojx”

檔案,開啟

stm32f103rc

Keil

工程檔案,見下圖:

不用板子也能跑!Keil模擬STM32F103體驗

編譯和模擬

見下圖:

不用板子也能跑!Keil模擬STM32F103體驗

開啟模擬器串列埠、執行程式並觀察SHELL介面

見下圖:

不用板子也能跑!Keil模擬STM32F103體驗

執行help命令

透過

help

命令可以檢視當前系統支援的命令:

不用板子也能跑!Keil模擬STM32F103體驗

檢視記憶體堆使用情況

其中

mem

是檢視記憶體堆使用的情況,執行此命令,結果見下圖:

不用板子也能跑!Keil模擬STM32F103體驗

關注&&聯絡

gitee: https://gitee。com/cmcc-oneos/OneOS-Lite

docs: https://oneos-lite。com/

公眾號:CMCC-OneOS