綜述
從keil4到keil5,keil的功能越來(lái)越強(qiáng)大。特別是keil5之后,出現(xiàn)了RTE配置環(huán)境,我感覺(jué)特別方便,省去了那么多移植步驟,對(duì)于像我們這種“懶癌”真是福音??!RTX這款實(shí)時(shí)操作系統(tǒng)還是我在逛論壇是發(fā)現(xiàn)的,不看不知道,一看忘不了啊!從此就覺(jué)得得好好研習(xí)一番,不過(guò)實(shí)時(shí)操作系統(tǒng)原理基本都一樣。但是RTX有它獨(dú)特之處,就是它中斷延時(shí)對(duì)M3/M4內(nèi)核可以實(shí)現(xiàn)零等待,帶有免版稅,確定性的RTOS。話不多說(shuō),咱們開(kāi)始創(chuàng)建RTX工程。前提是你得安裝了keil5,我的是5.22版本。
創(chuàng)建工程
1.創(chuàng)建一個(gè)新工程
2.選擇你的平臺(tái)芯片。(我的是F103VET6)
3.勾選必要的組件。這里RTOS有2個(gè)版本,我選擇的是版本4,版本區(qū)別可以點(diǎn)擊后面的Description鏈接查看說(shuō)明。當(dāng)勾選其中的一個(gè)組件時(shí),RTE窗口會(huì)提示缺少的組件(感嘆標(biāo)志),此時(shí)缺少什么就勾選什么
此圖是描述RTOS如何使用,就相當(dāng)于用戶手冊(cè)一樣
4.一個(gè)完整工程必要的組件。我創(chuàng)建的工程只是簡(jiǎn)單的使用實(shí)時(shí)系統(tǒng)閃了個(gè)燈。RCC、GPIO、Framework必不可少
5.勾選完組件后,點(diǎn)擊OK,回到工程界面。然后給Source Group1增加mian.c文件
6.選擇Use Code Template ,添加mian.c文件
7.配置RTE_Device.h 和 RTX_Conf_CM.c文件。RTE_devie.h文件要配置正確的時(shí)鐘系統(tǒng)
配置RTXConf,這些選項(xiàng)跟UCOSIII很相似,基本上看命名上就能讀懂
8.添加bsp文件到工程中去,并增加頭文件路徑
編寫(xiě)用戶任務(wù)
RTX的任務(wù)編寫(xiě)同UCOS差不多,包括線程函數(shù)、線程ID、線程對(duì)象。其實(shí),注釋已經(jīng)給你很好的提示啦,只需要按著照做就可以啦
編寫(xiě)完后,就可以編譯下載運(yùn)行了?;仡櫫鞒蹋琑TX使用還是非常簡(jiǎn)單。沒(méi)有像UCOS、FreeRTOS移植那么麻煩。當(dāng)然,你使用keil4還是得移植,其移植也非常簡(jiǎn)單。另外,可能有讀者發(fā)現(xiàn)沒(méi)有中斷服務(wù)文件stm32f10x_it.c,當(dāng)你要使用譬如串口中斷服務(wù)時(shí),需要添加中斷服務(wù)函數(shù),這個(gè)文件的添加跟mian.c的文件是一樣的。當(dāng)然,讀者也可以將中斷服務(wù)函數(shù)寫(xiě)在bsp文件里,但這不是我的習(xí)慣,我比較喜歡統(tǒng)一管理的方式。
當(dāng)然,更方便的是調(diào)試功能,從Debug選項(xiàng)卡選擇OS Support->System and Thread viewr,可以看到當(dāng)前系統(tǒng)運(yùn)行的線程狀態(tài)。另一個(gè)Event viewr選型則需要平臺(tái)的調(diào)試接口留出swo接口才行,也就是標(biāo)準(zhǔn)的SWD接口。否則是用不了此功能。
總結(jié)
RTX和keil5聯(lián)合使用,就如同雙劍合璧,歷害無(wú)比。使用keil調(diào)試RTX也是非常直觀的,雖然ucos也有uc probe工具可以調(diào)試使用,但那個(gè)需要收費(fèi),不是很方便。況且,keil5的RTE環(huán)境還可以直接創(chuàng)建FileSystem、GUI、ETH、USB等復(fù)雜的工程,非常方便。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。