吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RT-Thread記錄(一、版本開發(fā)環(huán)境及配合CubeMX)

矜辰所致 ? 來(lái)源:矜辰所致 ? 作者:矜辰所致 ? 2022-06-20 00:28 ? 次閱讀

期間幾個(gè)月時(shí)間關(guān)于 RT-Thread 的項(xiàng)目有好幾個(gè),感覺(jué)最近 RT-Thread 越來(lái)越火,
在幾年前用過(guò) RT-Thread,那個(gè)時(shí)候都還沒(méi)有RT-Thread Studio IDE,現(xiàn)在啥都有了。
RT-Thread官方資料也多,理論,示例,說(shuō)明應(yīng)有盡有,自己重新學(xué)習(xí)一邊,做個(gè)記錄貼。

目錄

前言
1、RT-Thread 版本(以哪個(gè)版本開始學(xué)習(xí))
1.1 RT-Thread Nano
1.2 RT-Thread 標(biāo)準(zhǔn)版
1.3 RT-Thread Smart
2、RT-Thread 開發(fā)環(huán)境
2.1 開發(fā)板(自己畫的開發(fā)板)
2.2 開發(fā)工具
2.3 環(huán)境搭建
2.4 RT-Thread Studio For Vscode
3、第一個(gè)工程
3.1 根據(jù)自己環(huán)境新建工程
3.2 配合 CubeMX 配置使用
3.2.1 SConscript 文件修改
3.2.2 CubeMX 再次修改配置問(wèn)題記錄
3.3 創(chuàng)建一個(gè)跑馬燈任務(wù)
————————————————

前言

作為一款國(guó)產(chǎn)的操作系統(tǒng),相對(duì)其他操作系統(tǒng),官網(wǎng)對(duì)大部分工程師來(lái)說(shuō)友好到了極點(diǎn) = =!

什么資料直接可以查看官網(wǎng)即可。所以有問(wèn)題,先上官網(wǎng)!

1、RT-Thread 版本(以哪個(gè)版本開始學(xué)習(xí))

目前來(lái)說(shuō),RT-Thread 主要分為3個(gè)大版本,這個(gè)在文檔中心就有,這里列出來(lái)根據(jù)自己的情況簡(jiǎn)單說(shuō)明一下:


1.1 RT-Thread Nano

RT-Thread Nano 和 FreeRTOS 是比較類似的東西 ,一個(gè)內(nèi)核,Nano適用于一些 內(nèi)存 空間小的MCU, 就比如我現(xiàn)在常用的 STM32L051C8 ,只有8KB 的RAM 空間,在講解FreeRTOS 的時(shí)候使用 STM32L051C8 不止一次的提到內(nèi)存問(wèn)題。

學(xué)習(xí)的話根據(jù)自己需要,建議還是從標(biāo)準(zhǔn)版本開始學(xué)習(xí),因?yàn)闃?biāo)準(zhǔn)版本包含Nano的一切,還多出了很多組件,方便使用的軟件包等。

實(shí)際應(yīng)用的話,在一般普通的應(yīng)用項(xiàng)目上,Nano估計(jì)用起來(lái)還更多,內(nèi)存就是成本!

RT-Thread Nano 的資料可以查看官方文檔中心,記住一點(diǎn)就行,它是一個(gè)極簡(jiǎn)版的硬實(shí)時(shí)內(nèi)核。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_19,color_FFFFFF,t_70,g_se,x_16


1.2 RT-Thread 標(biāo)準(zhǔn)版

RT-Thread 標(biāo)準(zhǔn)版本是包含 Nano 的,標(biāo)準(zhǔn)版帶帶有豐富的組件軟件包,這是它與 FreeRTOS 主要區(qū)別之一,在一些應(yīng)用,比如 MQTT,云端接入等使用上,RT-Thread 具備現(xiàn)成的軟件包,使用起來(lái)簡(jiǎn)單方便。
學(xué)習(xí)的話建議從標(biāo)準(zhǔn)版 入手,雖然在某些情況下,豐富的組件,軟件包可能會(huì)讓初學(xué)者犯難,組件和軟件包到底是如何與硬件相互關(guān)聯(lián),但是只要確實(shí)去學(xué)習(xí)了解了以后,才會(huì)發(fā)現(xiàn)其便捷之處,同時(shí)了解了原理,也能夠針對(duì)自己的應(yīng)用對(duì)組件進(jìn)行對(duì)應(yīng)的裁剪,增加,更加能夠滿足各種項(xiàng)目需求。

介紹還是去官網(wǎng)查看,簡(jiǎn)介截取自官網(wǎng):
RT-Thread 與其他很多 RTOS 如 FreeRTOS、uC/OS 的主要區(qū)別之一是,它不僅僅是一個(gè)實(shí)時(shí)內(nèi)核,還具備豐富的中間層組件:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16


即便是選好了 RT-Thread 標(biāo)準(zhǔn)版 作為學(xué)習(xí)的版本,但是就標(biāo)準(zhǔn)版而言,也有很多版本:

在這里插入圖片描述

具體版本的不同以及如何選擇可以參考官方說(shuō)明。

1.3 RT-Thread Smart

RT-Thread Smart 幾年前是沒(méi)有的,最近出來(lái)的分之,是針對(duì)于帶 MMU 的芯片,就是以前可以跑 Linux 系統(tǒng)的芯片。
比如近兩年比較火的多家出了開發(fā)板的 STM32MP1 和 IMX6ULL 兩款系列芯片。出的開發(fā)板最初當(dāng)然都是以 Linux 系統(tǒng)為主,現(xiàn)在 RT-Thread 也能夠跑在這些芯片上了。
這個(gè)版本就不是本欄目的博文需要記錄的了,如果后期在寫完 嵌入式Linux 后,有機(jī)會(huì)也來(lái)做些記錄。

簡(jiǎn)介截取自官網(wǎng):
RT-Thread Smart(簡(jiǎn)稱 rt-smart)是基于 RT-Thread 操作系統(tǒng)衍生的新分支,面向帶 MMU,中高端應(yīng)用的芯片,例如 ARM Cortex-A 系列芯片,MIPS 芯片,帶 MMU 的 RISC-V 芯片等。rt-smart 在 RT-Thread 操作系統(tǒng)的基礎(chǔ)上啟用獨(dú)立、完整的進(jìn)程方式,同時(shí)以混合微內(nèi)核模式執(zhí)行。

2、RT-Thread 開發(fā)環(huán)境

2.1 開發(fā)板(自己畫的開發(fā)板)

通過(guò)上面的介紹,我們將以標(biāo)準(zhǔn)版來(lái)進(jìn)行 RT-Thread 的記錄。

板子使用的是自己以前畫的 STM32F103VGT6(ROM:1MB RAM:96KB):

在這里插入圖片描述

2.2 開發(fā)工具

還記得以前學(xué)習(xí) RT-Thread 的時(shí)候,還沒(méi)有出 RT-Thread Studio IDE,整體的工程搭建 需要用到 ENV,SCons 等工具,不管是MDK,IRA,GCC工具鏈開發(fā),都得先用到 ENV 和Scons 工具,配置操作一遍, 對(duì)于初學(xué)者來(lái)說(shuō),很不友好,具體的這些詳細(xì)介紹可以在官網(wǎng)查詢:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

最初的學(xué)習(xí)根據(jù)官方的文檔手冊(cè)視頻等內(nèi)容,自己倒是也用起來(lái)了,但是,一段時(shí)間沒(méi)用,命令還是忘得差不多了。
現(xiàn)在好了,RT-Thread 官方團(tuán)隊(duì)推出了 RT-Thread Studio 。RT-Thread Studio把以前的這些開發(fā)工具集成好了,不用死記以前那些命令,界面圖形話的工程搭建相對(duì)以前更加的簡(jiǎn)便和直觀。


作為國(guó)產(chǎn)的 IDE,界面操作那是相當(dāng)?shù)挠押茫?我們本系列的教程是以項(xiàng)目為目的,為了能夠使用 RT-Thread 完成一個(gè)完整項(xiàng)目的開發(fā),所以不會(huì)去花太多精力去折騰 工程架構(gòu)的搭建之類的 事情,所以使用 RT-Thread Studio 是完美的選擇。

2.3 環(huán)境搭建

根據(jù)上面介紹,我們定下使用 RT-Thread Studio 來(lái)作為本系列博文的開發(fā) IDE,安裝下載可直接在官方找到,根據(jù)手冊(cè)安裝走起來(lái):

在這里插入圖片描述


等待安裝完成,運(yùn)行軟件需要登錄一下 RT-Thread 賬號(hào):

在這里插入圖片描述

根據(jù)官方文檔說(shuō)明,第一步先安裝更新 SDK 包:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

在我這臺(tái)電腦上,以前搭建過(guò)環(huán)境,我有點(diǎn)感覺(jué) RT-Thread Studio 會(huì)自動(dòng)識(shí)別電腦中的環(huán)境變量,以找到電腦上已經(jīng)存在的環(huán)境,比如上面的版本,和我使用的 GCC 工具鏈版本:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

安裝好了SDK包,基本上就可以開始建立工程測(cè)試了。

再次說(shuō)明, RT-Thread Studio 使用手冊(cè),界面配置等操作,官方文檔,視頻,都有詳細(xì)的說(shuō)明。 這里記錄的是自己使用中必須的步驟。

2.4 RT-Thread Studio For Vscode

(待更新… 先還是使用 IDE 熟練起來(lái),再來(lái) Vscode 里用插件玩玩,畢竟相對(duì)來(lái)說(shuō) 還是 IDE 配置更簡(jiǎn)單)

3、第一個(gè)工程

3.1 根據(jù)自己環(huán)境新建工程

在上面操作結(jié)束以后,我們直接來(lái)新建一個(gè)工程,新建工程之前:

再次說(shuō)明一下本文說(shuō)使用的環(huán)境:

  1. 使用 RT-Thread 標(biāo)準(zhǔn)版
  2. 自己畫的開發(fā)板,基于STM32F103VGT6

所以我們?cè)?RT-Thread Studio 里面新建項(xiàng)目的界面做如下選擇:

在這里插入圖片描述

點(diǎn)擊完成,等待工程自動(dòng)生成,因?yàn)榇?是在新建工程的時(shí)候默認(rèn)已經(jīng)配置好,然后直接編譯一下,燒錄:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

通過(guò)串口助手連接上開發(fā)板,波特率默認(rèn)的位115200:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

可以看到 RT-Thread 已經(jīng)在板子上正常運(yùn)行起來(lái):

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

3.2 配合 CubeMX 配置使用

上面的通過(guò)終端看到的測(cè)試結(jié)果,也只用到了 串口 功能,至于萬(wàn)年不變的開局跑馬燈,我們都沒(méi)有看到,那么如何真正的在硬件上能夠體現(xiàn)出來(lái)呢,在官方文檔也有對(duì)應(yīng)的介紹:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

但是官方這部分的說(shuō)明不是太多,我們這里還是需要測(cè)試說(shuō)明下,測(cè)試結(jié)果前面還算順利,后面的操作也有一些小問(wèn)題,需要注意!!!

點(diǎn)擊工程目錄下面的 CubeMx Setting:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

打開了以后注意,以前使用 CubeMx 該怎么設(shè)置就怎么設(shè)置,時(shí)鐘,串口(如果只使用打印串口,不用其他串口通訊這里可以不設(shè)置,工程中已經(jīng)做過(guò)打印串口初始化),IO口等,雖然開始我們?cè)诠こ探⒌臅r(shí)候已經(jīng)是能過(guò)時(shí)鐘,串口,但是打開了這個(gè)設(shè)置,就得重新全部設(shè)置一遍!

我們根據(jù)步驟,把基本的 時(shí)鐘,調(diào)試方式,串口,LED,按鍵 配置好進(jìn)行初步的簡(jiǎn)單測(cè)試。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

在生產(chǎn)代碼前把 Code Generator 欄目勾選一下:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

然后點(diǎn)擊生成工程。

工程生成后不需要打開,但是必須關(guān)閉 CubeMX,這樣才能在RT-Thread Studio 上正常進(jìn)行下面的操作 !

生成工程以后,關(guān)閉CubeMX會(huì)提示cubemx.ioc 已經(jīng)被修改,是否要保存配置,點(diǎn)擊確定,如下圖:

poYBAGKtyQSAAwIzAAAq4AVOpO8896.png

分析一下使用了CubeMX生成代碼后的工程:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

  • 原來(lái)的hal_conf.h就被cubeMX新生成的替換掉
  • RT-Thread Studio 會(huì)且只會(huì)使用CubeMX生成的 Inc 和 Src 文件夾下的內(nèi)容
  • 主函數(shù) RT-Thread Studio 會(huì)在 CubeMX生成的 main 函數(shù)前用 _WEAK 聲明
  • 時(shí)鐘初始化函數(shù),會(huì)使用 CubeMx 中的設(shè)置
poYBAGKtyQSAXF-mAABOWXHMRZo984.png

一些基本的構(gòu)建現(xiàn)在版本的RT-Thread Studio 都會(huì)自動(dòng)設(shè)置好,通過(guò)SConscript

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

工程可以直接編譯通過(guò)。

我們主函數(shù)是在 applications 下面的 main.c 文件中,所以使用CubeMX生成的配置,我們需要在applications 下面的 main.c 文件中包含對(duì)應(yīng)的頭文件,和函數(shù)main中調(diào)用初始化。

3.2.1 SConscript 文件修改

但是沒(méi)想到在這里遇到了一個(gè)問(wèn)題:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

仔細(xì)看了看,發(fā)現(xiàn)這是找不到這兩個(gè)初始化的實(shí)現(xiàn),看著工程架構(gòu)中確實(shí)沒(méi)有這兩個(gè).c文件,研究了半天,還是找到方法,修改SConscript文件,類似Makefile:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

注意!修改完SConscript之后,是需要同步 scons 配置才能生效的,操作如下:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_19,color_FFFFFF,t_70,g_se,x_16

同步 scons 以后 cubemx -> Src -> 下面多了對(duì)應(yīng)的 .c 文件,重新構(gòu)建能按照我們的設(shè)置編譯了!

額外說(shuō)明:

上面我示例中我還是使用了MX_USART1_UART_Init();,其實(shí)這里并不需要,因?yàn)榇? 在工程 drivers 文件夾里的drv_usart.c 文件中已經(jīng)使用INIT_BOARD_EXPORT(rt_hw_usart_init); 初始化了,所以不需要再次初始化,這里如果再配置一次,也不會(huì)出現(xiàn)問(wèn)題,但是最好是不需要。

通過(guò) Makefile 可以直接看到我們 CubeMX 生成了多少 .c 文件:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_17,color_FFFFFF,t_70,g_se,x_16

我們?cè)谏厦娉?RT-Thread Studio 默認(rèn)給我們添加的,我們還添加了 GPIO 和 串口 的驅(qū)動(dòng)文件,還有一個(gè) it 是和中斷有關(guān)的,我們并沒(méi)有添加!!

那么是不是中斷就無(wú)法響應(yīng)了呢?

還有,如果不添加 CubeMX生成的 GPIO 和 串口 的驅(qū)動(dòng)文件,不使用CubeMX中的初始化,是不是GPIO就不能用了呢?

這些問(wèn)題暫時(shí)不做解釋,RT-Thread 內(nèi)核自己還有板級(jí)驅(qū)動(dòng), 因?yàn)檫@是后面文章需要介紹的 RT-Thread 內(nèi)核驅(qū)動(dòng)的一些知識(shí)。

3.2.2 CubeMX 再次修改配置問(wèn)題記錄

第一次我們?yōu)榱藴y(cè)試,配置比較簡(jiǎn)單,所以初始化的外設(shè)也比較少,隨著我們學(xué)習(xí)的深入,需要添加的外設(shè)越來(lái)越多,我們需要使用 CubeMX setting 再次修改配置,那么一些問(wèn)題也隨之而來(lái),這里就做個(gè)記錄:

1、__WEAK int main(void) 前面的 __WEAK 需要手動(dòng)添加,注意這兩個(gè)下橫線是兩個(gè)英文的下劃線。

pYYBAGKtyQ6Ab0CTAAAR7eZOn7Y511.png

2、新添加的外設(shè)文件,需要通過(guò)修改SConscript文件添加,步驟就按照上面說(shuō)明:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_20,color_FFFFFF,t_70,g_se,x_16

注意有個(gè)文件stm32f1xx_it.c是不建議加的,因?yàn)槠渲械囊恍┲袛囗憫?yīng)函數(shù)在 RT-Thread 內(nèi)部有實(shí)現(xiàn)這里會(huì)沖突,除非自己完全能懂哪些需要哪些不需要。

(stm32f1xx_it.c這個(gè)文件在后面 RT-Thread 應(yīng)用篇 — 在STM32L051上使用 RT-Thread 系列博文中會(huì)使用到,里面說(shuō)明了如何修改)

3.3 創(chuàng)建一個(gè)跑馬燈任務(wù)

完成上述配置,我們開始可以跑馬燈走起來(lái)了,既然用了 RTOS,那么當(dāng)然是通過(guò)創(chuàng)建 一個(gè) LED 跑馬燈任務(wù)來(lái)完成我們的快速上手。

我們?cè)诔绦蛑?靜態(tài)創(chuàng)建一個(gè)線程 led1_blink ,上電就啟動(dòng)調(diào)度,開始運(yùn)行;
動(dòng)態(tài)創(chuàng)建一個(gè)線程 led2_blink, 需要通過(guò)命令啟動(dòng)調(diào)度,程序源碼如下:

/*
 * Copyright (c) 2006-2022, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2022-02-16     QZH    	first lesson for test
 */

#include 
#include "main.h"
#include "usart.h"
#include "gpio.h"

#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include 

static struct rt_thread led1_thread;    //led1線程
static char led1_thread_stack[256];

static rt_thread_t led2_thread = RT_NULL; //led2線程

static void led1_thread_entry(void *par){
    while(1){
        LED1_ON;
        rt_thread_mdelay(1000);
        LED1_OFF;
        rt_thread_mdelay(1000);
    }
}

static void led2_thread_entry(void *par){
    while(1){
        LED2_ON;
        rt_thread_mdelay(500);
        LED2_OFF;
        rt_thread_mdelay(500);
    }
}

int main(void)
{
    MX_GPIO_Init();
    MX_USART1_UART_Init();
    int count = 1;

    rt_err_t rst2;
    rst2 = rt_thread_init(&led1_thread,
                        "led1_blink ",
                        led1_thread_entry,
                        RT_NULL,
                        &led1_thread_stack[0],
                        sizeof(led1_thread_stack),
                        RT_THREAD_PRIORITY_MAX -1,
                        50);

    if(rst2 == RT_EOK){
        rt_thread_startup(&led1_thread);
    }

    while (count++)
    {
        if(count < 11){
            LOG_D("Hello RT-Thread!%d",count);
        }
        if(count >= 0XFFFFFF00) count = 0;
        rt_thread_mdelay(1000);
    }

    return RT_EOK;
}

void led2_Blink(){
    led2_thread = rt_thread_create("led2_blink",
                            led2_thread_entry,
                            RT_NULL,
                            256,
                            RT_THREAD_PRIORITY_MAX -1,
                            50);

    /* 如果獲得線程控制塊,啟動(dòng)這個(gè)線程 */
    if (led2_thread != RT_NULL)
        rt_thread_startup(led2_thread);
}

MSH_CMD_EXPORT(led2_Blink, Led2 sample);

上述代碼測(cè)試的結(jié)果如下:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55-c6L6w5omA6Ie0,size_18,color_FFFFFF,t_70,g_se,x_16

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1305

    瀏覽量

    40383
  • CubeMx
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    1378
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RT-Thread記錄(三、RT-Thread線程操作函數(shù))

    講完了RT-Thread開發(fā)環(huán)境,啟動(dòng)流程,啟動(dòng)以后當(dāng)然是開始跑線程了,那么自然我們得學(xué)會(huì)如何創(chuàng)建線程以及線程的有關(guān)操作。
    的頭像 發(fā)表于 06-20 00:31 ?7033次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>記錄</b>(三、<b class='flag-5'>RT-Thread</b>線程操作函數(shù))

    RT-Thread記錄(二、RT-Thread內(nèi)核啟動(dòng)流程)

    在前面我們RT-Thread Studio工程基礎(chǔ)之上講RT-Thread內(nèi)核啟動(dòng)流程.
    的頭像 發(fā)表于 06-20 00:30 ?5096次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>記錄</b>(二、<b class='flag-5'>RT-Thread</b>內(nèi)核啟動(dòng)流程)

    rt-thread開發(fā)環(huán)境

    首先介紹下開發(fā)環(huán)境:硬件:STM32F107VC金牛開發(fā)板。 rt-thread版本:2.0.0下載器:jlink V9
    發(fā)表于 08-06 08:05

    記錄RT-Thread Studio配合CubeMX聯(lián)合開發(fā)遇到的坑

    前言邊開發(fā)記錄的過(guò)程,寫的可能不是很好,請(qǐng)見諒。在使用CubeMX配合studio聯(lián)合開發(fā)的時(shí)候遇到幾個(gè)大坑,在此
    發(fā)表于 06-28 14:33

    【原創(chuàng)精選】RT-Thread征文精選技術(shù)文章合集

    、I2C通訊)STM32L051上使用RT-Thread (四、串口通訊)STM32L051上使用RT-Thread (五、完結(jié)篇)2. RT-Thread開發(fā)
    發(fā)表于 07-26 14:56

    RT-Thread開發(fā),如何有效學(xué)習(xí)RT-Thread的五個(gè)步驟

    RT-Thread推出RT-Thread Inside戰(zhàn)略開放RT-Thread開發(fā)平臺(tái)授權(quán)合作,與硬件十萬(wàn)個(gè)為什么合作首次推出第
    的頭像 發(fā)表于 09-25 09:55 ?3.5w次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>開發(fā)</b>,如何有效學(xué)習(xí)<b class='flag-5'>RT-Thread</b>的五個(gè)步驟

    記錄——基于 RT-Thread 實(shí)現(xiàn) USB 虛擬串口

    記錄——基于 RT-Thread 實(shí)現(xiàn) USB 虛擬串口記錄下我在正點(diǎn)原子 F429 阿波羅開發(fā)板上實(shí)現(xiàn) USB 虛擬串口的過(guò)程,希望可以
    發(fā)表于 12-02 17:21 ?6次下載
    <b class='flag-5'>記錄</b>——基于 <b class='flag-5'>RT-Thread</b> 實(shí)現(xiàn) USB 虛擬串口

    RT-Thread零基礎(chǔ)快速入門第0講——環(huán)境安裝

    RT-Thread快速入門第1講——環(huán)境安裝目錄RT-Thread快速入門第1講——環(huán)境安裝、 前言二、 編程資料下載三、 ENV工具下載
    發(fā)表于 12-03 14:21 ?14次下載
    <b class='flag-5'>RT-Thread</b>零基礎(chǔ)快速入門第0講——<b class='flag-5'>環(huán)境</b>安裝

    RT-Thread STM32 配置系統(tǒng)時(shí)鐘(使用外部晶振)

    RT-Thread STM32 配置系統(tǒng)時(shí)鐘開發(fā)環(huán)境芯片:STM32F103RCT6RT-Thread Studio: V1.0.6(現(xiàn)在已經(jīng)更新到1.1.3,由于本人使用RTT
    發(fā)表于 12-14 18:45 ?14次下載
    <b class='flag-5'>RT-Thread</b> STM32 配置系統(tǒng)時(shí)鐘(使用外部晶振)

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與移植

    機(jī)智云設(shè)備移植RT-Thread

    開發(fā)環(huán)境:Keil版本:V5.30RT-Thread版本:3.1.5STM32cubeMX:V6
    的頭像 發(fā)表于 04-19 18:39 ?1009次閱讀
    機(jī)智云設(shè)備移植<b class='flag-5'>RT-Thread</b>

    基于 RT-Thread 的 RoboMaster 電控框架(

    由于 RT-Thread 穩(wěn)定高效的內(nèi)核,豐富的文檔教程,積極活躍的社區(qū)氛圍,以及設(shè)備驅(qū)動(dòng)框架、Kconfig、Scons、日志系統(tǒng)、海量的軟件包……很難不選擇 RT-Thread 進(jìn)行項(xiàng)目開發(fā)
    的頭像 發(fā)表于 09-19 19:55 ?815次閱讀

    RT-Thread v5.0.2 發(fā)布

    RT-Thread 代碼倉(cāng)庫(kù)地址: ●? https://github.com/RT-Thread/rt-thread RT-Thread 5.0.2
    的頭像 發(fā)表于 10-10 18:45 ?1563次閱讀
    <b class='flag-5'>RT-Thread</b> v5.0.2 發(fā)布

    RT-Thread移植使用webserver (lwip+httpd)

    開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本版本: 2.2.6,stm32f4的資源包為0.2.2,
    的頭像 發(fā)表于 10-12 12:49 ?1465次閱讀
    <b class='flag-5'>RT-Thread</b>移植使用webserver (lwip+httpd)

    RT-Thread使用Soft RTC(軟件模擬RTC)

    開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本版本: 2.2.6,rt-th
    的頭像 發(fā)表于 10-12 17:39 ?765次閱讀
    <b class='flag-5'>RT-Thread</b>使用Soft RTC(軟件模擬RTC)
    百家乐太阳城菲律宾| 在线百家乐官网作弊| 大发888 大发888游戏平台| 雅加达百家乐官网的玩法技巧和规则| 利来博彩通| G3百家乐的玩法技巧和规则| 网上有百家乐官网玩吗| 网上真人娱乐场| 百家乐群到shozo网| 做生意选店铺位置| 百家乐官网视频美女| 百家乐平台注册| 百家乐官网发脾机| 鸿利国际娱乐城| 威尼斯人娱乐上网导航| 百家乐扑克桌布| 百家乐官网庄闲和的概率| 百家乐官网连赢的策略| 大发888手机下载| 百家乐双层筹码盘| 娱乐城百家乐官网送白菜| 必博国际| 新全讯网321| 百家乐官网ho168平台| 注册送现金| 大发888娱乐客户端真钱| 网上百家乐正规代理| 百家乐官网77scs官| 百家乐官网捡揽方法| 太阳城洋伞| 海王星百家乐的玩法技巧和规则 | 大发888娱乐城加速器| 菲律宾百家乐娱乐| 什么百家乐平注法| 实战百家乐官网十大取胜原因百分百战胜百家乐官网不买币不吹牛只你能做到按我说的.百家乐官网基本规则 | 百家乐套利| 百家乐从哪而来| 百家乐官网有没有绝| 乐天堂在线投注| 澳门顶级赌场金鹰娱乐| 太阳神百家乐的玩法技巧和规则 |