基于μC/OS-II的便攜式飛行參數(shù)數(shù)據(jù)卸載器
3 嵌入式系統(tǒng)移植及實(shí)現(xiàn)功能
嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II是一個(gè)可移植、固化、裁剪的占先式實(shí)時(shí)多任務(wù)內(nèi)核,要想在μC/OS-II內(nèi)核上進(jìn)行應(yīng)用程序的開發(fā),就要在μC/OS-II的基礎(chǔ)上建立完整的實(shí)時(shí)操作系統(tǒng)。一個(gè)相對(duì)完整的嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng),需要進(jìn)行較多擴(kuò)展工作。為外部設(shè)備建立相應(yīng)的API函數(shù),創(chuàng)建圖形用戶界面函數(shù)和建立文件系統(tǒng)等。
μC/OS-II的工作流程為首先進(jìn)行操作系統(tǒng)初始化OSInit(),主要完成任務(wù)控制塊初始化。隨后就可以開始創(chuàng)建新任務(wù)OSTaskCreate()、初始化任務(wù)堆棧區(qū)。最后調(diào)用OSStait()函數(shù),啟動(dòng)多任務(wù)調(diào)度。在多任務(wù)調(diào)度開始后,啟動(dòng)時(shí)鐘節(jié)拍源開始計(jì)時(shí)。當(dāng)中斷時(shí),系統(tǒng)把當(dāng)前正在執(zhí)行的任務(wù)掛起,保護(hù)現(xiàn)場,進(jìn)行中斷處理。
μC/GUI是μC/OS-II設(shè)計(jì)者所開發(fā)的一種用于嵌入式應(yīng)用的圖形支持軟件。μC/GUI的主要特點(diǎn)有:通過可選組件可以實(shí)現(xiàn)個(gè)性定制。具有豐富的開發(fā)工具和小封裝的特點(diǎn)。可適用各種內(nèi)存容量的系統(tǒng)。相比較其它常用的GUI而言,μC/GUI具有其獨(dú)特的優(yōu)勢,并且可以方便地移植到μC/OS-II系統(tǒng)上。
3.1 系統(tǒng)軟件移植
文中基于μC/OS-II內(nèi)核系統(tǒng)軟件結(jié)構(gòu)的整體框圖如圖3所示。本文引用地址:http://m.butianyuan.cn/article/193415.htm
(1)系統(tǒng)外圍設(shè)備的硬件部分。系統(tǒng)外圍設(shè)備的硬件部分是保證系統(tǒng)能夠?qū)崿F(xiàn)指定功能的最底層的部分。系統(tǒng)外圍設(shè)備硬件部分包括:液晶屏LCD、Flash存儲(chǔ)器、文件管理控制芯片、鍵盤驅(qū)動(dòng)芯片、JTAG調(diào)試接口等。
(2)驅(qū)動(dòng)程序模塊。驅(qū)動(dòng)程序是連接底層的硬件和上層的應(yīng)用程序接口API函數(shù)的紐帶,每個(gè)器件的開發(fā)都有一個(gè)通用API驅(qū)動(dòng),API對(duì)該驅(qū)動(dòng)程序的結(jié)構(gòu),函數(shù)和參數(shù)名稱都進(jìn)行了標(biāo)準(zhǔn)化。如stm32f10x固件庫里提供了各種資源的接口,可方便地利用庫函數(shù)對(duì)GPIO、SPI等外設(shè)接口進(jìn)行編程。
(3)操作系統(tǒng)的API函數(shù)。在操作系統(tǒng)中提供標(biāo)準(zhǔn)的API函數(shù),可以加速用戶應(yīng)用程序的開發(fā),在API函數(shù)中,提供了大量的常用模塊簡化應(yīng)用程序的編寫,如任務(wù)管理函數(shù)、時(shí)間管理函數(shù)、信號(hào)量管理函數(shù)等。
(4)實(shí)時(shí)操作系統(tǒng)的多任務(wù)管理。μC/OS-II作為操作系統(tǒng)內(nèi)核,主要任務(wù)是完成多任務(wù)間的調(diào)度和同步。在建立多任務(wù)時(shí)指定優(yōu)先級(jí),對(duì)μC/OS-II這個(gè)可剝奪內(nèi)核而言,讓進(jìn)入就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)開始運(yùn)行。
(5)用戶應(yīng)用程序。用戶的應(yīng)用程序建立在系統(tǒng)的主任務(wù)基礎(chǔ)之上。用戶應(yīng)用程序主要通過調(diào)用系統(tǒng)的API函數(shù)對(duì)系統(tǒng)進(jìn)行操作,完成用戶的要求。在用戶的應(yīng)用程序中也可以創(chuàng)建自己的任務(wù)。任務(wù)之間的協(xié)調(diào)主要依賴于系統(tǒng)對(duì)任務(wù)的調(diào)度以及任務(wù)優(yōu)先級(jí)的分配。
(6)通用圖形界面。用戶將配置好LCD驅(qū)動(dòng)的μC/GUI加入μC/OS-II實(shí)時(shí)操作系統(tǒng)之中,利用一個(gè)任務(wù)對(duì)GUI進(jìn)行初始化,隨后進(jìn)行相應(yīng)的功能顯示。
評(píng)論