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