簡介
一般嵌入式操作系統(tǒng)因?yàn)樗奶厥庑员樵福陀布脚_密切相關(guān)連,具體的嵌入式操作系統(tǒng)往往只能在特定的硬件上運(yùn)行耘斩。對于剛接觸 OneOS-Lite
操作系統(tǒng)的讀者要想馬上獲得一個(gè)和 OneOS-Lite
操作系統(tǒng)相配套的硬件模塊并不容易沼填,但隨著計(jì)算機(jī)技術(shù)的發(fā)展,我們可以采用軟件方式來模擬一個(gè)能夠運(yùn)行 OneOS-Lite
操作系統(tǒng)的硬件模塊括授,這就是 ARM
公司的 MDK-ARM(Keil)
仿真模擬環(huán)境坞笙。
MDK虛擬硬件環(huán)境
MDK-ARM(MDK-ARM Microcontroller Development Kit,也稱為Keil)
軟件是一套完整的集成開發(fā)環(huán)境(IDE)荚虚,它出自 ARM
公司薛夜,包括了針對 ARM
芯片(ARM7
、ARM9
版述、Cortex-M
系列梯澜、Cortex-R
系列等)的高效C/C++
編譯器;針對各類 ARM
設(shè)備渴析、評估板的工程向?qū)Ш凸こ坦芾硗砘铮挥糜谲浖M運(yùn)行硬件平臺的模擬器;以及與市面上常見的如ST-Link
俭茧,JLink
等在線仿真器相連接以配合調(diào)試目標(biāo)板的調(diào)試器撬腾。MDK-ARM
軟件中的軟件仿真模擬器,采用完全軟件模擬方式解釋執(zhí)行 ARM 的機(jī)器指令恢恼,并實(shí)現(xiàn)外圍的一些外設(shè)邏輯民傻,從而構(gòu)成一套完整的虛擬硬件環(huán)境,使得用戶能夠不借助真實(shí)的硬件平臺就能夠在電腦上執(zhí)行相應(yīng)的目標(biāo)程序场斑。
MDK-ARM
集成開發(fā)環(huán)境因?yàn)槠渫陚涞?STM32F103
軟件仿真環(huán)境,也讓我們有機(jī)會在不使用真實(shí)硬件環(huán)境的情況下直接在電腦上運(yùn)行目標(biāo)代碼漏隐。這套軟件仿真模擬器能夠完整地虛擬出 ARM Cortex-M3
的各種運(yùn)行模式喧半、外設(shè),如中斷異常青责、時(shí)鐘定時(shí)器挺据、串口等取具,這幾乎和真實(shí)的硬件環(huán)境完全一致。實(shí)踐也證明扁耐,本文使用到的這份 OneOS-Lite
入門例程暇检,在編譯成二進(jìn)制代碼后,不僅能夠在模擬器上運(yùn)行婉称,也能夠在不加任何修改的情況下在真實(shí)硬件平臺上正常運(yùn)行块仆。
下面我們將選擇 MDK-ARM
集成開發(fā)環(huán)境作為目標(biāo)硬件平臺來觀察OneOS-Lite
操作系統(tǒng)是如何運(yùn)行的。
準(zhǔn)備工作
準(zhǔn)備工程如下:
安裝 5.14 版本及以上的
MDK-ARM (Keil)
集成開發(fā)環(huán)境(具體安裝過程參見MDK環(huán)境搭建)王暗,在安裝好MDK-ARM
集成開發(fā)環(huán)境后悔据,再安裝STM32F1xx\_DFP PACK
包;下載一份完整的
OneOS-Lite
代碼俗壹,該代碼已上線gitee科汗,可直接訪問并clone,地址如下:gitee: https://gitee.com/cmcc-oneos/OneOS-Lite
打開使用Keil模擬器的示例工程
進(jìn)入到oneos-lite\projects\stm32f103rc
目錄中绷雏,雙擊“project.uvprojx”
文件肛捍,打開stm32f103rc
的Keil
工程文件,見下圖:
編譯和仿真
見下圖:
打開模擬器串口之众、運(yùn)行程序并觀察SHELL界面
見下圖:
運(yùn)行help命令
通過help
命令可以查看當(dāng)前系統(tǒng)支持的命令:
查看內(nèi)存堆使用情況
其中 mem
是查看內(nèi)存堆使用的情況,執(zhí)行此命令依许,結(jié)果見下圖:
關(guān)注&&聯(lián)系
gitee: https://gitee.com/cmcc-oneos/OneOS-Lite
docs: https://oneos-lite.com/
公眾號:CMCC-OneOS