本文以gokit為例,闡述RT-thread接入機(jī)智云,創(chuàng)建一個線程,點亮一盞燈。
硬件準(zhǔn)備:
GoKit3、USB數(shù)據(jù)線
軟件環(huán)境:
mdk5、機(jī)智云APP
進(jìn)入正文
RT-thread接入機(jī)智云流程:
1.RT-thread與機(jī)智云介紹
2.基于mkd5安裝RT-Thread Nano Pack
3.注冊機(jī)智云開發(fā)作者賬號(建議注冊企業(yè)賬號)
4.創(chuàng)建新產(chǎn)品
5.定義數(shù)據(jù)點
7.給自動生成mcu代碼移植RGB燈驅(qū)動
8.給自動生成mcu代碼移植RT-thread,并燒寫進(jìn)gokit(重點)
9.下載機(jī)智云APP控制gokit
1.RT-thread與機(jī)智云介紹
使用RT-thread接入機(jī)智云的好處:
1.機(jī)智云mcu SDK沒有嵌入式操作系統(tǒng)的概念,只有前后臺系統(tǒng),直接操作裸機(jī),RT-thread剛好彌補(bǔ)這一空白,使得機(jī)智云mcu SDK也可以多任務(wù)/線程并行運(yùn)行程序,并提供一系列任務(wù)調(diào)度機(jī)制、同步機(jī)制、任務(wù)間通信機(jī)制,使得程序更豐富多彩,功能更強(qiáng)。
2.RT-thread具備非常優(yōu)異的實時性、穩(wěn)定性、可剪裁性,當(dāng)進(jìn)行最小配置時,內(nèi)核體積可以到 3k ROM 占用、1k RAM 占用。機(jī)智云GoKit硬件條件使用RT-thread無壓力。
3.RT-thread移植難度低,習(xí)慣使用機(jī)智云mcu SDK的開發(fā)者也容易上手使用。
2.基于mkd5安裝RT-ThreadNano Pack
3.注冊機(jī)智云開發(fā)作者賬號
4.創(chuàng)建新產(chǎn)品
5.根據(jù)產(chǎn)品需求,分析硬件開發(fā)需求,定義數(shù)據(jù)點
本文以點亮一盞燈為例,數(shù)據(jù)點分析如下:
6.下載自動生成mcu代碼
在機(jī)智云自助開發(fā)平臺自動生成MCU代碼包并下載(請注意,硬件平臺需與板卡型號保持一致,如不一致,則選擇“其他方案”)
7.給自動生成mcu代碼移植RGB燈驅(qū)動
從MCU SDK文件內(nèi)容目錄結(jié)構(gòu)(上圖)看到,自動生成MCU代碼里面沒有rgb_led燈驅(qū)動,我們可以去機(jī)智云官網(wǎng),開發(fā)者中心,下載中心,去參考下載其他含rgb_led燈驅(qū)動的項目,把里面的rgb_led燈驅(qū)動提取出來移植,以移植微信寵物屋rgb_led燈驅(qū)動為例。
我們把剛剛下載的微信寵物項目解壓,進(jìn)入如下目錄,可以看到有個rgb_led燈驅(qū)動文件夾,把文件夾復(fù)制到自己的自動生成MCU驅(qū)動目錄里面
回到我們自己MCU代碼,在驅(qū)動目錄里面添加rgb_led驅(qū)動文件
在main.c和gizwits_product.c文件加入#include “Hal_rgb_led/Hal_rgb_led.h”
8.給自動生成mcu代碼移植RT-thread,并燒寫進(jìn)gokit(重點)
8.1.添加RTOS的kernel文件
8.2.添加kernel文件后,我們可看到工程目錄多了”RTOS”的目錄,進(jìn)入rtconfig.h文件,第15行改成宏定義1000,第108行去掉注釋
8.3.進(jìn)入board.c文件,第25行加上#include "STM32f1xx_hal.h",第37行宏定義改成10,第66行到76行去掉注釋,并加上HAL_IncTick();HAL_SYSTICK_IRQHandler();兩個函數(shù)。
8.4.進(jìn)入stm32f1xx_it.c文件,注釋掉HardFault_Handler()、PendSV_Handler()、SysTick_Handler()這三個函數(shù)
8.5.進(jìn)入main.c文件,第47行加上#include "rtthread.h"
8.6.進(jìn)入main.c文件,在main函數(shù)注釋原while(1)大循環(huán),并創(chuàng)建線程
至此,我們便完成了使用RT-Thread來跑機(jī)智云邏輯程序,也就實現(xiàn)了RT-thread快速接入機(jī)智云。當(dāng)然我們還可以根據(jù)自己實際需求來創(chuàng)建更多線程來跑自己的程序,這里就不一一累述了
8.7.編譯程序
通過數(shù)據(jù)線給gokit燒寫移植了RT-thread與RGB驅(qū)動的固件進(jìn)gokit。將stm32底板(左)與功能板(右)與小心翼翼地分離開來,然后stm32底板中間撥鍵撥到system,插上數(shù)據(jù)線,即可使用stm32flashloader軟件燒寫固件。燒寫完后,中間撥鍵撥到flash,功能板與stm32底板合并,再按stm32底板左邊的reset,即可正常使用。
-
led
+關(guān)注
關(guān)注
242文章
23264瀏覽量
660662 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1286瀏覽量
40102 -
機(jī)智云
+關(guān)注
關(guān)注
2文章
589瀏覽量
26395
原文標(biāo)題:【教程】RT-thread接入機(jī)智云,點亮一盞燈(附源碼)
文章出處:【微信號:IoTMaker,微信公眾號:機(jī)智云開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論