創(chuàng)建工程
創(chuàng)建一個(gè)Keil工程,芯片依舊選擇STM32F103C8T6,然后在Manage Run-Time Environment對(duì)話框中選擇需要用的的軟件組件,與上文不同的是,我們需要把RTT一起勾上。如下圖:
上圖中,紅線框中即為RTT操作系統(tǒng)的組件,分別為設(shè)備驅(qū)動(dòng),系統(tǒng)內(nèi)核以及shell。藍(lán)線框中為Keil的RTX操作系統(tǒng)。我們現(xiàn)在要用的是RTT,所以勾選RTT的組件即可,其中Kernel為必選項(xiàng),device drivers依賴(lài)kernel,shell又依賴(lài)device drivers。
shell也提一下,shell強(qiáng)翻成中文就是命令行外殼,如同linux操作系統(tǒng)一樣,RTT也提供了一套共用戶(hù)在命令行操作的操作接口。RTT提供的這套接口叫做finsh,主要用于調(diào)試、查看系統(tǒng)信息。finsh支持兩種模式:
1. C語(yǔ)言解釋器模式, 為行文方便稱(chēng)之為c-style;
2. 傳統(tǒng)命令行模式,此模式又稱(chēng)為msh(module shell)。
在大部分嵌入式系統(tǒng)中,一般開(kāi)發(fā)調(diào)試都使用硬件調(diào)試器和printf日志打印,在有些情況下,這兩種方式并不是那么好用。比如對(duì)于RT-Thread這個(gè)多線程系統(tǒng),我們想知道某個(gè)時(shí)刻系統(tǒng)中的線程運(yùn)行狀態(tài)、手動(dòng)控制系統(tǒng)狀態(tài)。如果有一個(gè)shell,就可以輸入命令,直接相應(yīng)的函數(shù)執(zhí)行獲得需要的信息,或者控制程序的行為。這無(wú)疑會(huì)非常方便。finsh就是基于此而設(shè)計(jì),它運(yùn)行于開(kāi)發(fā)板,可以使用串口/以太網(wǎng)/USB等與PC機(jī)進(jìn)行通信。
創(chuàng)建工程后,相對(duì)上一篇推文創(chuàng)建的工程,項(xiàng)目中會(huì)多出了RTT,如下圖。至于各個(gè)文件及其作用,后續(xù)使用的時(shí)候再逐步理解。我們當(dāng)前最需要關(guān)注的是board.c和rtthread.h兩個(gè)文件。從圖中可以看出,只有這兩個(gè)文件上沒(méi)有標(biāo)注鑰匙,有鑰匙標(biāo)注的是不允許更改,也就是我們能更改就是這兩個(gè)文件。后面再分析這兩個(gè)文件。且走下一步。
編寫(xiě)點(diǎn)燈程序
創(chuàng)建好工程后,開(kāi)始編寫(xiě)點(diǎn)燈程序了,與上篇推文一樣,直接貼上代碼:
#include"rtthread.h"
-
STM32
+關(guān)注
關(guān)注
2270文章
10914瀏覽量
356723 -
keil
+關(guān)注
關(guān)注
68文章
1214瀏覽量
167036 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1299瀏覽量
40263
原文標(biāo)題:STM32F103+RT-Thread從零開(kāi)始(二)——RTT系統(tǒng)中點(diǎn)亮LED
文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論