国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

RT-Thread studio使用(持續(xù)更新)

這篇具有很好參考價(jià)值的文章主要介紹了RT-Thread studio使用(持續(xù)更新)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


  • 官方的RT-Thread Studio的用戶手冊:(界面介紹,編譯下載調(diào)試、導(dǎo)入工程等官方文檔說明)
    RT-Thread Studio 用戶手冊

============================================================

1、RT-Thread studio下載安裝

1-1、官網(wǎng)下載安裝包:

RT-Thread 官方下載中心
文檔中心關(guān)于nano版本講了移植的幾種方式,打開使用RT-Thread_Studio移植,選擇安裝RT-Thread_Studio跳轉(zhuǎn)到官網(wǎng),拉到最底下,點(diǎn)擊RT-Thread nano,
RT-Thread studio使用(持續(xù)更新)
RT-Thread studio使用(持續(xù)更新)
RT-Thread studio使用(持續(xù)更新)
選擇下載即可;

1-2、安裝:

RT-Thread studio使用(持續(xù)更新)
勾選協(xié)議:
RT-Thread studio使用(持續(xù)更新)
選擇自己想要安裝的位置:
RT-Thread studio使用(持續(xù)更新)
RT-Thread studio使用(持續(xù)更新)
開始安裝
RT-Thread studio使用(持續(xù)更新)
v2.2.4版本安裝提示重命名某個(gè)文件失敗,。。。。。,下個(gè)v2.2.3版本試下:(v2.2.3版本還是一樣的報(bào)錯(cuò))
RT-Thread studio使用(持續(xù)更新)
解決:最后發(fā)現(xiàn)是安裝路徑的問題。。。安裝在默認(rèn)的D盤根目錄下就成功安裝了,真是很無語!(這個(gè)現(xiàn)象在我自己的電腦上安裝是自定義的路徑,但是沒有出現(xiàn)這個(gè)錯(cuò)誤,不知道什么原因,解決了就好)

1-3、注冊登錄:

注冊好登錄,即可開始使用啦;
RT-Thread studio使用(持續(xù)更新)

2、新建RT-Thread nano工程

2-1、新建nano工程

2-1-1、打開 文件—>新建—>RT-Thread Nano項(xiàng)目:
RT-Thread studio使用(持續(xù)更新)
2-2-2、新建項(xiàng)目配置項(xiàng):
1>、設(shè)置工程名字
2>、工程保存路徑
3>、基于芯片創(chuàng)建、nano版本選擇
4>、芯片選擇
5>、串口控制臺(tái)與引腳配置
6>、調(diào)試配置
全部配置完成之后自動(dòng)生成了nano項(xiàng)目代碼;
注:
1、我選擇先在stm32f103c8t6上面先跑,所以第4和5項(xiàng)配置要根據(jù)實(shí)際情況配置
2、配置時(shí)鐘,默認(rèn)是用內(nèi)部的HSI時(shí)鐘,后續(xù)自己在文件drv_clk.c中修改;
RT-Thread studio使用(持續(xù)更新)
stm32f103c8t6的串口1當(dāng)調(diào)試串口:
RT-Thread studio使用(持續(xù)更新)
2-1-3、生成工程之后如下,選擇了小錘子debug后,編譯0 error,0 warning;

RT-Thread studio使用(持續(xù)更新)

2-2、連接硬件,下載到板子上測試(選擇的是stm32f103c8t6)

2-2-1、下載到stm32f103c8t6最小系統(tǒng)板上
RT-Thread studio使用(持續(xù)更新)
竟然彈出窗口然后一直下載中
問題解決:嗐,這臺(tái)電腦第一次用j-link ob,沒裝驅(qū)動(dòng),裝了驅(qū)動(dòng)之后,下載正常;
關(guān)于j-link的問題解決查看博客:j-link使用(持續(xù)更新)
RT-Thread studio使用(持續(xù)更新)
2-2-2、打開RT-Thread studio中的串口終端,可以看到代碼中實(shí)現(xiàn)的輸出到串口的內(nèi)容;
生成的代碼main函數(shù)中定時(shí)打印字符串到串口,由于在配置工程時(shí)候配置了控制臺(tái)串口的串口號和引腳號,在工程中自動(dòng)實(shí)現(xiàn)了串口的驅(qū)動(dòng)和rt_hw_console_output(),默認(rèn)可以進(jìn)行打?。?br>RT-Thread studio使用(持續(xù)更新)

3、用RT-Thread studio創(chuàng)建的nano工程的文件解讀

待更新

4、基于RT-Thread nano添加Finsh(實(shí)現(xiàn)命令輸入)

4-1、什么是Finsh

RT-Thread FinSH 是 RT-Thread 的命令行組件(shell),提供一套供用戶在命令行調(diào)用的操作接口,主要用于調(diào)試或查看系統(tǒng)信息。它可以使用串口 / 以太網(wǎng) / USB 等與 PC 機(jī)進(jìn)行通信;

4-2、基于Nano添加FinSH(用RT-Thread studio)

4-2-1、雙擊 RT-Thread Settings 進(jìn)入配置,打開組件,勾選 FinSH Shell,保存配置。此操作將把 FinSH 組件的源碼加入工程中。其中,rt_hw_console_getchar() 已經(jīng)在 drv_uart.c 中實(shí)現(xiàn),無需再實(shí)現(xiàn)對接 FinSH 的代碼。

如下打開組件之后,就可用FinSH功能了
RT-Thread studio使用(持續(xù)更新)
4-1-2、鏈接硬件,重新編譯下載時(shí)候,在RT-Thread studio軟件中的終端中按下tab鍵,可查看系統(tǒng)中的命令:

正常情況下是可以實(shí)現(xiàn)了命令行輸入,但是出現(xiàn)了tab鍵之后沒有反應(yīng)現(xiàn)象:
RT-Thread studio使用(持續(xù)更新)
問題解決:
不屏蔽上圖中的 rt_thread_mdelay(1000);(應(yīng)該是程序陷入了死循環(huán),現(xiàn)在對RT-Thread不熟悉,后續(xù)回頭解答原因)

RT-Thread studio使用(持續(xù)更新)

5、【問題】怎么用RT-Thread studio打開已經(jīng)創(chuàng)建好的RT-Thread項(xiàng)目工程;

問題描述:
RT-Thread studio使用(持續(xù)更新)
問題解決:
RT-Thread studio【問題】怎么用RT-Thread studio打開已經(jīng)創(chuàng)建好的RT-Thread項(xiàng)目工程;

6、【問題】怎么查找打開指定內(nèi)容

1、搜索:
RT-Thread studio使用(持續(xù)更新)
2、打開元素:
RT-Thread studio使用(持續(xù)更新)

7、【問題】項(xiàng)目工程怎么添加自己的路徑和源文件頭文件(SConscript和SConstruct)(未完善)

見自己博客

8、 RT-Thread工程新建工程之后,用cubemx重新配置參數(shù)(時(shí)鐘,串口等)

參考博文鏈接:
RT-Thread Studio與CubeMX聯(lián)合編程(超級詳細(xì))

8-1、cubemx配置:

打開工程中的插件(要先安裝好stm32cubemx這個(gè)軟件)進(jìn)行配置,軟件的安裝和配置見下面的博文鏈接:
RT-Thread studio使用(持續(xù)更新)

stm32cubeMX使用

配置好之后關(guān)閉cubemx這個(gè)軟件,然后進(jìn)入RT-Thread studio之后彈出這個(gè)窗口,提示
生成了stm32f1xx_hal_conf.h原來的文件重命名,調(diào)用cubemx生成的這個(gè)文件,點(diǎn)確定即可;
RT-Thread studio使用(持續(xù)更新)
RT-Thread studio使用(持續(xù)更新)

8-2、用cubemx生成工程后需要關(guān)閉軟件;

8-2-1、在RT-Thread studio軟件中打開cubemx插件配置工程之后,必須要關(guān)閉掉cubemx軟件,這樣在RT-Thread studio軟件上才能正常操作
RT-Thread studio使用(持續(xù)更新)

8-3、用cubemx重新配置之后生成的文件分析:

RT-Thread studio使用(持續(xù)更新)
如上圖,cubemx生成了文件夾cubemx下面包含頭文件和源文件,尤其是也有一個(gè)main.c,那到底用哪一個(gè)main.c執(zhí)行我們的用戶代碼呢?

先繼續(xù)下一步吧,先執(zhí)行編譯;

8-4、編譯后報(bào)錯(cuò)解決

直接編譯后報(bào)21個(gè)錯(cuò)誤。。。
RT-Thread studio使用(持續(xù)更新)
解決的步驟:

8-4-1、需要用SConscript文件告訴編譯器cubemx生成的需要編譯

在cubumx文件夾下有生成SConscript文件,要是沒有自己創(chuàng)建一個(gè),自己生成的SConscript文件已經(jīng)實(shí)現(xiàn)了生成文件的路徑包含了
RT-Thread studio使用(持續(xù)更新)

import os   #引入os模塊
from building import *    #導(dǎo)入building的所有模塊

cwd = GetCurrentDir()	#獲取獲取當(dāng)前路徑,并保存至變量cwd
src  = Glob('*.c')	#獲取當(dāng)前目錄下的所有 C 文件,并保存至src變量

# add cubemx drivers 
#由于RT-Thread工程中存在部分相同函數(shù)文件,所以對src重新賦值
#文件中的stm32g4xx_it.c 、 system_stm32g4xx.c不加入構(gòu)建
#其余文件按相同格式填寫到下述括號內(nèi)

src = Split('''
Src/stm32f1xx_hal_msp.c
Src/main.c
''')

path = [cwd]    #創(chuàng)建路徑列表,并保存至path中
path += [cwd + '/Inc']	

group = DefineGroup('cubemx', src, depend = [''], CPPPATH = path)  #這是 RT-Thread 基于 SCons 擴(kuò)展的一個(gè)方法(函數(shù))。

Return('group')

8-4-2、右鍵SConscript更新軟件包

更新軟件包!非常重要!別漏了
RT-Thread studio使用(持續(xù)更新)

8-5、weak掉cubemx生成的main函數(shù),然后在applications下調(diào)用cubemx生成的函數(shù):

8-5-1、weak掉cubemx生成的main函數(shù):

網(wǎng)上有說手動(dòng)_weak掉cubemx生成的main函數(shù),但是我這版本自動(dòng)生成好了;
RT-Thread studio使用(持續(xù)更新)

8-5-2、將hal生成初始化函數(shù)在application的main下調(diào)用

將hal生成初始化函數(shù)在application的main下調(diào)用,如下,在applications下的main.c中去調(diào)用cubemx生成的hal函數(shù):(這里我用cubemx配置的外設(shè)很少,所有只有一個(gè)main。h頭文件)
RT-Thread studio使用(持續(xù)更新)
然后重新編譯;

8-6【問題】做了SConscript腳本和weak cubemx生成的main函數(shù),還是編譯錯(cuò)誤

現(xiàn)象:

16:22:09 **** Incremental Build of configuration Debug for project test2 ****
make -j4 all 
arm-none-eabi-gcc "../drivers/drv_usart.c"
../drivers/drv_usart.c:28:8: error: unknown type name 'UART_HandleTypeDef'
 static UART_HandleTypeDef handle;
        ^
../drivers/drv_usart.c:380:30: error: unknown type name 'UART_HandleTypeDef'
 __WEAK void HAL_UART_MspInit(UART_HandleTypeDef *huart)
                              ^
../drivers/drv_usart.c: In function 'stm32_configure':
../drivers/drv_usart.c:393:11: error: request for member 'Instance' in something not a structure or union
     handle.Instance          = config->Instance;
           ^
../drivers/drv_usart.c:394:11: error: request for member 'Init' in something not a structure or union
     handle.Init.BaudRate     = 115200;
           ^
../drivers/drv_usart.c:395:11: error: request for member 'Init' in something not a structure or union
     handle.Init.HwFlowCtl    = UART_HWCONTROL_NONE;
           ^
../drivers/drv_usart.c:395:32: error: 'UART_HWCONTROL_NONE' undeclared (first use in this function)
     handle.Init.HwFlowCtl    = UART_HWCONTROL_NONE;
                                ^
../drivers/drv_usart.c:395:32: note: each undeclared identifier is reported only once for each function it appears in
../drivers/drv_usart.c:396:11: error: request for member 'Init' in something not a structure or union
     handle.Init.Mode         = UART_MODE_TX_RX;
           ^
../drivers/drv_usart.c:396:32: error: 'UART_MODE_TX_RX' undeclared (first use in this function)
     handle.Init.Mode         = UART_MODE_TX_RX;
                                ^
../drivers/drv_usart.c:397:11: error: request for member 'Init' in something not a structure or union
     handle.Init.OverSampling = UART_OVERSAMPLING_16;
           ^
../drivers/drv_usart.c:397:32: error: 'UART_OVERSAMPLING_16' undeclared (first use in this function)
     handle.Init.OverSampling = UART_OVERSAMPLING_16;
                                ^
../drivers/drv_usart.c:398:11: error: request for member 'Init' in something not a structure or union
     handle.Init.WordLength   = UART_WORDLENGTH_8B;
           ^
../drivers/drv_usart.c:398:32: error: 'UART_WORDLENGTH_8B' undeclared (first use in this function)
     handle.Init.WordLength   = UART_WORDLENGTH_8B;
                                ^
../drivers/drv_usart.c:399:11: error: request for member 'Init' in something not a structure or union
     handle.Init.StopBits     = UART_STOPBITS_1;
           ^
../drivers/drv_usart.c:399:32: error: 'UART_STOPBITS_1' undeclared (first use in this function)
     handle.Init.StopBits     = UART_STOPBITS_1;
                                ^
../drivers/drv_usart.c:400:11: error: request for member 'Init' in something not a structure or union
     handle.Init.Parity       = UART_PARITY_NONE;
           ^
../drivers/drv_usart.c:400:32: error: 'UART_PARITY_NONE' undeclared (first use in this function)
     handle.Init.Parity       = UART_PARITY_NONE;
                                ^
../drivers/drv_usart.c:402:9: warning: implicit declaration of function 'HAL_UART_Init' [-Wimplicit-function-declaration]
     if (HAL_UART_Init(&handle) != HAL_OK)
         ^
../drivers/drv_usart.c: In function 'rt_hw_console_output':
../drivers/drv_usart.c:429:13: warning: implicit declaration of function 'HAL_UART_Transmit' [-Wimplicit-function-declaration]
             HAL_UART_Transmit(&handle, (uint8_t *)&a, 1, 1);
             ^
../drivers/drv_usart.c: In function 'rt_hw_console_getchar':
../drivers/drv_usart.c:440:9: warning: implicit declaration of function '__HAL_UART_GET_FLAG' [-Wimplicit-function-declaration]
     if (__HAL_UART_GET_FLAG(&handle, UART_FLAG_RXNE) != RESET)
         ^
../drivers/drv_usart.c:440:38: error: 'UART_FLAG_RXNE' undeclared (first use in this function)
     if (__HAL_UART_GET_FLAG(&handle, UART_FLAG_RXNE) != RESET)
                                      ^
../drivers/drv_usart.c:447:20: error: request for member 'Instance' in something not a structure or union
         ch = handle.Instance->DR & 0xff;
                    ^
../drivers/drv_usart.c:452:41: error: 'UART_FLAG_ORE' undeclared (first use in this function)
         if(__HAL_UART_GET_FLAG(&handle, UART_FLAG_ORE) != RESET)
                                         ^
../drivers/drv_usart.c:454:13: warning: implicit declaration of function '__HAL_UART_CLEAR_OREFLAG' [-Wimplicit-function-declaration]
             __HAL_UART_CLEAR_OREFLAG(&handle);
             ^
../drivers/drv_usart.c: At top level:
../drivers/drv_usart.c:251:17: warning: 'stm32_gpio_configure' defined but not used [-Wunused-function]
 static rt_err_t stm32_gpio_configure(struct stm32_uart_config *config)
                 ^
make: *** [drivers/subdir.mk:27: drivers/drv_usart.o] Error 1
"make -j4 all" terminated with exit code 2. Build might be incomplete.

16:22:10 Build Failed. 20 errors, 5 warnings. (took 1s.459ms)

問題解決:其實(shí)是在cubemx配置的時(shí)候我沒有配置到用作RT-Thread studio終端用的usart1導(dǎo)致的問題,具體操作如下博文:

【rtt問題】RT-Thread studio用cubemx配置后提示串口錯(cuò)誤:error: unknown type name ‘UART_HandleTypeDef‘

9、【rtt問題】RT-Thread studio新建項(xiàng)目編譯成功,j-link下載失敗

【rtt問題】RT-Thread studio新建項(xiàng)目編譯成功,j-link下載失敗文章來源地址http://www.zghlxwxcb.cn/news/detail-416921.html

到了這里,關(guān)于RT-Thread studio使用(持續(xù)更新)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用rt-thread Studio下載固件時(shí)出現(xiàn)Unable to enter Isp mode

    使用rt-thread Studio下載固件時(shí)出現(xiàn)Unable to enter Isp mode

    根據(jù) 我發(fā)現(xiàn)我缺了圖中的文件夾? 解決方法: 在rt-thread studio的sdk管理包中下載 ?

    2024年02月16日
    瀏覽(26)
  • 使用RT-Thread studio IDE開發(fā)stm32F407(實(shí)現(xiàn)adc多通道采集)

    使用RT-Thread studio IDE開發(fā)stm32F407(實(shí)現(xiàn)adc多通道采集)

    注意:使用這個(gè)IDE配置工程特別簡單( only? ?10? minutes ) step1:選擇對應(yīng)的芯片或開發(fā)板創(chuàng)建RT-Thread項(xiàng)目 ? step2:配置RT-Thread Settings(按我的步驟順序進(jìn)行) 由于要用到ADC,所以我們使能這個(gè)框架,直接把它選上就ok 是不是特別簡單?接下來第三步,要難一點(diǎn)了 step3 注意: 這

    2024年02月09日
    瀏覽(23)
  • RT-Thread Studio學(xué)習(xí)(十四)ADC

    RT-Thread Studio學(xué)習(xí)(十四)ADC

    本文將基于STM32F407VET芯片介紹如何在RT-Thread Studio開發(fā)環(huán)境下使用ADC設(shè)備。硬件及開發(fā)環(huán)境如下: OS WIN10 STM32F407VET6 STM32CubeMX v6.10.0 STM32Cube MCU Package for STM32F4 Series v1.28.0 RT-Thread Studio v2.2.7 RT-Thread Source Code v5.0.2 STM32F4 chip support packages v0.2.3 打開RT-Thread Studio軟件新建基于芯片的項(xiàng)

    2024年01月19日
    瀏覽(31)
  • RT-Thread Studio配置LAN8720+LWIP+TCP服務(wù)器實(shí)現(xiàn)

    RT-Thread Studio配置LAN8720+LWIP+TCP服務(wù)器實(shí)現(xiàn)

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 由于項(xiàng)目上需要使用RT-Thread建立TCP服務(wù)器實(shí)現(xiàn)與客戶端的數(shù)據(jù)交互,查閱了不少資料以及踩了不少坑,這里記錄和分享一下實(shí)現(xiàn)的過程,希望能幫助到有需要的同學(xué),您的支持是我創(chuàng)作的最大動(dòng)力,謝謝

    2024年01月25日
    瀏覽(25)
  • RT-Thread入門筆記2-動(dòng)態(tài)內(nèi)存堆的使用

    棧(stack): 由編譯器自動(dòng)分配釋放 堆(heap) : 一般由程序員分配和釋放 PS:一個(gè)ARM程序包含3部分:RO,RW和ZI RO是程序中的指令和常量 RW是程序中的已初始化變量 ZI是程序中的未初始化的變量 void *rt_malloc(rt_size_t nbytes):rt_malloc函數(shù)會(huì)從系統(tǒng)堆空間中找到合適大小的內(nèi)存塊.

    2024年02月02日
    瀏覽(23)
  • RT-Thread 1. GD32移植RT-Thread Nano

    RT-Thread 1. GD32移植RT-Thread Nano

    1. RT-Thread Nano?下載 RT-Thread Nano 是一個(gè)極簡版的硬實(shí)時(shí)內(nèi)核,它是由 C 語言開發(fā),采用面向?qū)ο蟮木幊趟季S,具有良好的代碼風(fēng)格,是一款可裁剪的、搶占式實(shí)時(shí)多任務(wù)的 RTOS。其內(nèi)存資源占用極小,功能包括任務(wù)處理、軟件定時(shí)器、信號量、郵箱和實(shí)時(shí)調(diào)度等相對完整的實(shí)

    2024年02月05日
    瀏覽(29)
  • 【STM32&RT-Thread零基礎(chǔ)入門】 2. 新建RT-Thread項(xiàng)目

    【STM32&RT-Thread零基礎(chǔ)入門】 2. 新建RT-Thread項(xiàng)目

    硬件:STM32F103ZET6、ST-LINK、usb轉(zhuǎn)串口工具 RT-Thread的全稱是Real Time Thread,顧名思義,它是一個(gè)嵌入式實(shí)時(shí)多線程操作系統(tǒng)。相較于 Linux 操作系統(tǒng),RT-Thread 體積小,成本低,功耗低、啟動(dòng)快速,除此之外 RT-Thread 還具有實(shí)時(shí)性高、占用資源小等特點(diǎn),非常適用于各種資源受限(

    2024年02月13日
    瀏覽(25)
  • RT-Thread 9. VS2012下仿真RT-Thread 和LVGL

    RT-Thread 9. VS2012下仿真RT-Thread 和LVGL

    1. 在ENV中添加組件 2. 下載組件 3. 生成代碼 4. 打開代碼 雙擊project.vcxproj 編譯 5. 運(yùn)行

    2024年02月06日
    瀏覽(25)
  • 使用qemu在windows系統(tǒng)下搭建樹莓派3b環(huán)境運(yùn)行RT-Thread

    表1 下載資源 序號 資源名稱 下載地址 說明 1 raspi3b_run_rt_thread_in_Qemu.rar https://download.csdn.net/download/camelbrand/87371458 包含內(nèi)容: 1.qemu在windows環(huán)境下的安裝包以及win7 64位系統(tǒng)的dll補(bǔ)丁文件 2.rt-thread env配置腳本 3.rt-thread源碼包 4.編譯好的樹莓派3b運(yùn)行rt-thread的環(huán)境 5.aarch64在win64環(huán)

    2024年02月05日
    瀏覽(22)
  • RT-Thread使用PWM實(shí)現(xiàn)燈亮度調(diào)節(jié)——STM32F407

    RT-Thread使用PWM實(shí)現(xiàn)燈亮度調(diào)節(jié)——STM32F407

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 RT-Thread使用PWM實(shí)現(xiàn)燈亮度調(diào)節(jié)——STM32F407ZG 作為新入門的嵌入式選手,最近在學(xué)習(xí)RT-Thread操作系統(tǒng),鑒于自己健忘的記性,打算記錄下來后面好回顧學(xué)習(xí)。 今天要總結(jié)的是RT-Thread使用PWM實(shí)現(xiàn)燈亮度調(diào)節(jié)

    2024年02月15日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包