0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何让RT-thread接入机智云来创建一个线程去点亮LED

9GxC_IoTMaker 来源:未知 作者:易水寒 2018-07-17 08:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文以gokit为例,阐述RT-thread接入机智云,创建一个线程,点亮一盏灯。

硬件准备:

GoKit3、USB数据线

软件环境:

mdk5、机智云APP

进入正文

RT-thread接入机智云流程:

1.RT-thread与机智云介绍

2.基于mkd5安装RT-Thread Nano Pack

3.注册机智云开发作者账号(建议注册企业账号)

4.创建新产品

5.定义数据点

6.下载自动生成mcu代码

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
    led
    +关注

    关注

    243

    文章

    24434

    浏览量

    687406
  • RT-Thread
    +关注

    关注

    32

    文章

    1540

    浏览量

    44275
  • 机智云
    +关注

    关注

    3

    文章

    629

    浏览量

    27631

原文标题:【教程】RT-thread接入机智云,点亮一盏灯(附源码)

文章出处:【微信号:IoTMaker,微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    rt-thread studio 如何进行多线程编译?

    使用 rt-thread studio在工程配置 C/C++构建->Behavior->parallel build数量修改,CPU的占用率没有明显的改变
    发表于 10-11 09:16

    RT-Thread Studio 2.2.8创建新项目直接构建编译报错怎么解决?

    RT-Thread Studio 2.2.8 尝试了RT-Thread Source Code 5.1.05.0.24.0.34.0.2版本 创建新的项目工程后,没有任何修改直接构建编译报错
    发表于 09-24 07:28

    如何在RT-Thread创建GD32F470工程?

    如何在RT-Thread创建GD32F470工程
    发表于 09-23 06:09

    RT-Thread Nano移植后动态创建线程创建不了怎么解决?

    RT-Thread Nano 移植后动态创建线程创建不了,静态可以.直接烧录DEMO也样,将RT
    发表于 09-19 06:28

    RT-Thread Studio 基于芯片创建的工程能直接输出keil 工程吗?

    您好!RT-Thread Studio 基于芯片创建的工程能直接输出keil 工程吗? 基于BSP创建的工程可以通过,ENV 生成keil 工程。但是那个工程的厂家驱动文件太久没有更新了。 或者有没有办法配置
    发表于 09-12 07:06

    【好书推荐】RT-Thread第20本相关书籍!《嵌入式实时操作系统RT-Thread原理与应用》| 技术集结

    01内容简介ContentSummary本书为读者提供了全面、系统的RT-Thread学习指南,旨在帮助初学者及有经验的开发者掌握RT-Thread实时操作系统和STM32嵌入式微
    的头像 发表于 08-24 10:05 685次阅读
    【好书推荐】<b class='flag-5'>RT-Thread</b>第20本相关书籍!《嵌入式实时操作系统<b class='flag-5'>RT-Thread</b>原理与应用》| 技术集结

    如何移植 RT-Thread Nano 并创建 2 线程

    基于 BSP 中的 GPIO_OutputInput 演示,展示了如何移植 RT-Thread Nano 并创建 2 线程
    发表于 08-19 07:45

    RT-Thread 遇上 Rust:安全内核 RusT-Thread 的诞生

    大家好,我们是中国科学技术大学操作系统原理与设计(H)课oooooS小组。这个项目是我们的课程大作业:参考RT-Thread架构,使用Rust搭建原生的嵌入式操作系统内核。初识Rust是因为xk
    的头像 发表于 08-02 11:03 3206次阅读
    <b class='flag-5'>RT-Thread</b> 遇上 Rust:安全内核 RusT-<b class='flag-5'>Thread</b> 的诞生

    RT-Thread荣获2025优秀开源项目 | 新闻速递

    6月底,RT-Thread睿赛德受邀参与由上海开源信息技术协会主办的2025上海开源创新精英荟。上海市商委副主任张杰出席会议并致辞。RT-Thread嵌入式操作系统项目凭借其卓越的技术创新与开源生态
    的头像 发表于 07-04 09:04 2431次阅读
    <b class='flag-5'>RT-Thread</b>荣获2025优秀开源项目 | 新闻速递

    深度剖析 RT-Thread 线程调度流程

    RT-Thread调度第一个线程的主要流程分如下:rtthread_startup:RTT的启动函数,主要负责板级驱动,调度器,系统线程初始化,启动调度的工作
    的头像 发表于 06-25 18:24 1437次阅读
    深度剖析 <b class='flag-5'>RT-Thread</b> <b class='flag-5'>线程</b>调度流程

    RT-Thread Nano移植后动态创建线程创建不了怎么处理?

    RT-Thread Nano移植后动态创建线程创建不了,静态可以.直接烧录DEMO也样,将RT
    发表于 06-11 06:36

    RT-Thread审核团招募: 深度参与开源RTOS社区治理与演进

    全球开发者招募:RT-Thread审核团(ReviewTeam)正式开放申请!在开源的世界里,代码审查(CodeReview)是保证软件质量、促进技术交流的关键环节。RT-Thread作为全球领先
    的头像 发表于 05-21 18:02 1065次阅读
    <b class='flag-5'>RT-Thread</b>审核团招募: 深度参与开源RTOS社区治理与演进

    从“私人教练”到“技术保镖”,RT-Thread生态圈你的产品所向披靡!

    在当今嵌入式行业这个“速度与激情”的赛道上,选择靠谱的技术伙伴比选咖啡还重要。RT-Thread,实力也杠杠的嵌入式操作系统,正以其高性能和轻量级的特性,成为众多企业的“技术咖啡因”。在促进
    的头像 发表于 03-11 18:45 595次阅读
    从“私人教练”到“技术保镖”,<b class='flag-5'>RT-Thread</b>生态圈<b class='flag-5'>让</b>你的产品所向披靡!

    请问rt-thread studio如何进行多线程编译?

    使用 rt-thread studio 在工程配置 C/C++构建->Behavior->parallel build 数量修改,CPU的占用率没有明显的改变
    发表于 02-19 08:30

    如何将RT-Thread移植到NXP MCUXPressoIDE上

    RT-Thread默认支持的IDE只有IAR 和 Keil, 那如何将RT-Thread移植到NXP MCUXPressoIDE上呢?本文内容比较简单但稍有琐碎,希望对有需要的小伙伴有所帮助。
    的头像 发表于 02-13 10:37 2439次阅读
    如何将<b class='flag-5'>RT-Thread</b>移植到NXP MCUXPressoIDE上