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

    关注

    242

    文章

    23264

    浏览量

    660724
  • RT-Thread
    +关注

    关注

    31

    文章

    1286

    浏览量

    40110
  • 机智云
    +关注

    关注

    2

    文章

    589

    浏览量

    26406

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

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

收藏 人收藏

    评论

    相关推荐

    RT-Thread上CAN实践

    开箱测试RT-Thread官方已完成了对英飞凌XMC7200EVK的移植,通过shell可以看到做好了uart3的console。本文将介绍如何进行RT-ThreadCan移植。接下来我们要完成CAN_FD的驱动移植,并正常启动RT-T
    的头像 发表于 11-13 01:03 1173次阅读
    <b class='flag-5'>RT-Thread</b>上CAN实践

    开源共生 商业共赢 | RT-Thread 2024开发者大会报名启动!

    亲爱的RT-Thread开发者我们很高兴地宣布,一年一度的RDC(RT-ThreadDeveloperConference,RT-Thread开发者大会)正式启动报名!2024
    的头像 发表于 10-29 08:06 388次阅读
    开源共生 商业共赢 | <b class='flag-5'>RT-Thread</b> 2024开发者大会报名启动!

    2024 RT-Thread全球巡回 线下培训火热来袭!

    亲爱的RT-Thread社区成员们:我们非常高兴地宣布,2024年RT-Thread全球开发者线下培训即将拉开帷幕!24年全球巡回培训将覆盖超10座城市及国家,为开发者提供深入学习
    的头像 发表于 08-07 08:35 1212次阅读
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 线下培训火热来袭!

    玩转RT-Thread之消息队列的应用

    在嵌入式系统开发中,实时处理串口和ADC数据是项重要的任务。本文将介绍如何在RT-Thread实时操作系统中,利用消息队列同时处理来自串口和ADC的数据。通过这种方法,我们能够高效地管理和处理
    的头像 发表于 07-23 08:11 614次阅读
    玩转<b class='flag-5'>RT-Thread</b>之消息队列的应用

    RT-Thread 新里程碑达成——GitHub Star 破万!

    RT-Thread实时操作系统开源项目在GitHub上的star数量突破一万!截止发文,RT-Thread作为实时操作系统在业界Star数量排名第!仓库地址:https://github.com
    的头像 发表于 07-04 08:35 478次阅读
    <b class='flag-5'>RT-Thread</b> 新里程碑达成——GitHub Star 破万!

    6月6日杭州站RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    6月6日下午我们将在杭州举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 05-28 08:35 444次阅读
    6月6日杭州站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    2024 RT-Thread 全球技术大会演讲议程发布!

    RT-ThreadGlobalTechConference(RT-ThreadGTC,RT-Thread全球技术大会)致力于围绕RT-Thread基础软件技术发展、实践创新、开发者能力
    的头像 发表于 05-16 08:34 548次阅读
    2024 <b class='flag-5'>RT-Thread</b> 全球技术大会演讲议程发布!

    4月25日北京站RT-Thread线下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我们将在北京举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 04-16 08:35 420次阅读
    4月25日北京站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    4月10日深圳场RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    4月10日我们将在深圳福田举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深嵌入式软件工程师农晓明老师为您讲
    的头像 发表于 03-27 11:36 821次阅读
    4月10日深圳场<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳场RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    4月10日我们将在深圳福田举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 03-27 08:34 532次阅读
    4月10日深圳场<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    rt-thread是如何在线程运行结束后识别到的呢?

    _mdelay(1000); } return RT_EOK; } 总所周知,main本身就是rt-thread创建线程,我在这个线程
    发表于 03-22 08:20

    恩智浦半导体正式加入RT-Thread全球合作伙伴计划!

    前不久,恩智浦半导体正式加入RT-Thread全球合作伙伴计划,成为RT-Thread高级会员合作伙伴。同时,RT-Thread现已成为恩智浦注册合作伙伴(RT-Thread| 简介合
    的头像 发表于 03-14 10:40 619次阅读
    恩智浦半导体正式加入<b class='flag-5'>RT-Thread</b>全球合作伙伴计划!

    RT-Thread创建SQLite数据库失败是什么原因呢?

    STM32F103ZET6基于RT-Thread V4.1.1,文件系统littlefs,SQLite是从github下载的;在线程中调用示例代码create_student_tbl()创建数据库报错,大佬们知道是什么原因吗?
    发表于 03-05 06:35

    RT-Thread Nano在调用rt_thread_control时,修改线程优先级直不执行的原因?如何解决?

    RT-Thread Nano在调用rt_thread_control时,修改线程优先级直不执行
    发表于 02-23 07:32

    移植RT-THREAD在stm32开发板上,使用rt_kprintf不能正常打印的原因是什么?怎么解决?

    开发环境: STM32CubeMX 用于生成代码; STM32CubeIDE用于调试代码; 移植过程: 使用STM32CubeMX移植RT-Thread;移植成功了;(操作LED能够正常
    发表于 02-20 06:24