RTThread物联网操作系统
国内优秀的物联网操作系统RTThread的学习笔记,包括内核、设备驱动以及各类组件的学习笔记,还有基于RTThread的应用笔记。
Sanjay_Wu
不断思考,持续探索
展开
-
手把手教你如何在没有开发板的情况下学习RT-Thread——RT-Thread simulator的使用
前言细心的朋友可能发现,RT-Thread的bsp目录下有一个simulator文件夹,simulator可以用于模拟开发板环境进行学习RT-Thread,本文将详细讲述如何在没有开发板环境下学习RT-Thread。使用visual studio 2015作为编译器,因为在这里我还搭建了虚拟LCD。一、搭建RT-Thread simulator环境1、下载RT-Thread源码我是在W...原创 2020-01-08 09:31:00 · 5992 阅读 · 1 评论 -
使用RT-Thread Studio创建基于芯片工程
一、前言前面使用RT-Thread Studio创建基于BSP工程,而只有已经做好提交到RT-Thread的BSP才能用,如果想使用RT-Thread Studio基于自己的开发板创建一个工程怎么做呢?只需要创建基于芯片的工程即可,这里我使用中移物联的NBIOT开发进行使用,芯片是STM32F103RET6。二、创建工程1、在创建的时候选择基于芯片,选择对应的芯片型号,并选择控制台串口,其他...原创 2019-12-27 15:59:47 · 3003 阅读 · 0 评论 -
使用RT-Thread Studio创建基于BSP工程
上周六RT-Thread在深圳开发者大会发布了RT-Thread Studio工具,我也是到现场参加了开发者大会,了解了RT-Thread Studio工具,它可真的RT-Thread开发者的一大利器,使用它真的减去了很多开发过程中的繁琐,不用再去学习ENV怎么使用,对于刚刚接触RT-Thread的小伙伴来说,真的是太方便了。点击这里下载RT-Thread Studio,本文积累学习RT-Thr...原创 2019-12-27 10:27:51 · 2210 阅读 · 0 评论 -
基于RT-Thread的AT device实现ESP8266 通过socket对接OneNET进行POST和GET
一、介绍1、实现功能通过esp8266 WiFi模块对接OneNET,使用OneNET的HTTP协议,基于RT-Thread的AT device软件包,实现POST数据流到OneNET云平台和从OneNET云平台GET数据流,使用Finsh/MSH测试命令进行测试。2、软硬件平台(1)STM32F103RET6、外部12M晶振(2)ESP8266 WiFi模块(3)BH1750光照强度...原创 2019-05-13 13:57:45 · 4058 阅读 · 1 评论 -
基于RT-Thread的光照强度传感器BH1750FVI 软件包
最近抽时间学习了RT-Thread I2C设备框架,不得不说RT-Thread让开发更加简单。我用的是RT-Thread的软件I2C,在使用这个软件包之前必须先配置I2C,通过ENV工具可以方便的配置。例如:Enable I2C2 BUS (software simulation)(29) i2c2 scl pin number(28) i2c2 sda pin number1 ...原创 2019-04-22 20:39:39 · 1600 阅读 · 4 评论 -
RT-Thread学习的综合应用——使用AP6181 WiFi模组对接OneNET应用示例
RT-Thread学习的综合应用——使用AP6181 WiFi模组对接OneNET应用示例学习了RT-Thread的内核也有一段时间了,由于各种各样的琐事自己没有去做一个综合应用示例,刚最近有点时间,做了一个对接OneNET的历程,采用的是OneNET的EDP协议,关于OneNET的EDP协议可以点击跳转至OneNET EDP协议讲解与应用这篇博客看一下,这篇博客会比较详细的介绍对接EDP协议...原创 2019-03-16 12:21:24 · 8945 阅读 · 7 评论 -
RT-Thread学习笔记——PIN 设备
前言本文主要学习RT-Thread的设备驱动框架之PIN 设备,这里以及后面更新的博客内容将不会详细介绍I/O 设备模型,当学习PIN 设备以及其他设备需要对I/O 设备模型有所了解,请和我一样刚学习RT-Thread的朋友们先自行到《RT-Thread编程指南》看一下I/O 设备模型。这里主要讲解如何访问PIN 设备,针对PIN设备各个函数讲解,以及教你如何基于PIN设备实现自己的GPIO...原创 2019-02-25 11:57:31 · 7544 阅读 · 0 评论 -
RT-Thread学习笔记——中断管理
前言本文学习RT-Thread的中断管理,这里主要包括异常与中断的基本概念、RT-Thread 中断工作机制,更多关于RT-Thread的中断管理请看《RT-Thread编程指南》,后面通过使用STM32来进行实验。一、异常与中断的基本概念异常是导致处理器脱离正常运行转向执行特殊代码的任何事件,如果不及时进行处理,轻则系统出错,重则会导致系统毁灭性瘫痪。所以正确地处理异常,避免错...原创 2019-02-19 16:17:36 · 7864 阅读 · 0 评论 -
RT-Thread学习笔记——内存管理
前言本文讲RT-Thread的内存管理,包括为何不使用C标准库的内存管理函数、内存管理的特点、RT-Thread 程序内存分布、内存堆管理、内存池管理以及使用STM32进行实验。一、不直接使用 C 标准库中的内存管理函数的原因很多人会有疑问,什么不直接使用 C 标准库中的内存管理函数呢?在电脑中我们可以用 malloc()和 free()这两个函数动态的分配内存和释放内存。但...原创 2019-02-18 16:44:55 · 8259 阅读 · 3 评论 -
RT-Thread学习笔记——消息队列
前言本文学习RT-Thread的消息队列,支持不定长度消息的收发,涉及消息队列的工作机制、消息队列相关函数以及基于STM32的RT-Thread消息队列应用示例,采用RTT&正点原子联合出品潘多拉开发板进行实验,基于STM32L475VET6。一、消息队列的工作机制消息队列能够接收来自线程或中断服务例程中不固定长度的消息,并把消息缓存在自己的内存空间中。其他线程也能够从消...原创 2019-02-13 19:43:23 · 9056 阅读 · 1 评论 -
RT-Thread学习笔记——邮箱
前言前面讲了RT-Thread的信号量、互斥量以及事件集这些都是线程间的同步方式。在我们进行实际的项目开发的时候,经常会涉及到一个线程更新某个全局变量值,然后另外一个线程去读取这个全局变量值,根据这个全局变量值的不同而去执行不同的操作,在RT-Thread 中则提供了更多的工具帮助在不同的线程中间传递信息,包括邮箱、消息队列、信号用于线程间的通信方式。本文将RT-Thread的邮箱服务,包括...原创 2019-02-12 16:53:11 · 15684 阅读 · 3 评论 -
RT-Thread学习笔记——事件集
前言本文学习RT-Thread的事件集,事件集也是线程间同步的机制之一,一个事件集可以包含多个事件,利用事件集可以完成一对多,多对多的线程间同步。将理论讲事件集的工作机制以及相关函数,后面用RTT&正点原子联合出品的潘多拉开发板进行实验。一、事件集的工作机制1、一个线程与多个事件的关系可设置为:其中任意一个事件唤醒线程,或几个事件都到达后才唤醒线程进行后续的处理;同样,事件...原创 2019-02-12 10:27:44 · 6046 阅读 · 2 评论 -
RT-Thread学习笔记——互斥量
前言前面学习了RT-Thread的信号量,但信号量在一些场合使用会存在优先级翻转问题,接下来我们学习互斥量,在 RT-Thread 操作系统中,互斥量可以解决优先级翻转问题,实现的是优先级继承算法。互斥量和信号量不同的是:拥有互斥量的线程拥有互斥量的所有权,互斥量支持递归访问且能防止线程优先级翻转;并且互斥量只能由持有线程释放,而信号量则可以由任何线程释放。这里主要讲RT-Thread互斥量...原创 2019-01-29 15:54:46 · 5326 阅读 · 3 评论 -
RT-Thread学习笔记——信号量
前言本文讲RT-Thread的线程间同步之信号量,包括为什么要进行线程间同步、信号量创建与删除、信号量获取与释放以及基于STM32的二值信号量示例和计算型信号量示例,采用RTT&正点原子联合出品潘多拉开发板进行实验。一、线程间同步1、什么是线程间同步? 同步是指按预定的先后次序进行运行,线程同步是指多个线程通过特定的机制来控制线程之间的执行顺序,也可以说是在线程之间通过...原创 2019-01-25 19:18:12 · 11257 阅读 · 4 评论 -
RT-Thread学习笔记——时钟管理
前言本文记录RT-Thread的时钟相关知识,包括时钟节拍、RT-Thread定时器工作机制以及定时器的管理方式,在定时器方面有硬件定时器和软件定时器,这里不讲硬件定时器。后面进行实际的操作时采用STM32L475VET6,RTT&正点原子联合出品潘多拉开发板进行实验。一、时钟节拍任何操作系统都需要提供一个时钟节拍,以供系统处理所有和时间有关的事件,如线程的延时、线程的时...原创 2019-01-24 16:41:24 · 3752 阅读 · 0 评论 -
RT-Thread学习笔记——线程管理
前言本文主要讲RT-Thread的线程管理,基于STM32L475VET5。学习RT-Thread的线程管理,实现线程的创建、多线程创建,线程的挂起与恢复等,过程中会涉及核对象容器概念,读者如果对RT-Thread的对象容器不了解,可先看《RT-Thread编程指南》的内核基础部分。一、RT-Thread线程管理的功能特点RT-Thread 线程管理的主要功能是对线程进行管理和调...原创 2019-01-23 17:36:15 · 5185 阅读 · 7 评论 -
RT-Thread学习笔记——移植RT-Thread到STM32
前言从本文开始,记录自己的RT-Thread学习笔记,基于STM32L475VET6讲解,相关开发板用RTT&正点原子的潘多拉IoT Board开发板。本文先从Nano开始学起,个人觉得对于初学者,还是先学会Nano的移植,把内核部分向学一遍,再去学组件和设备驱动以及其他的东西,这里包括RT-Thread的内核移植、FinSH移植,相关代码到GitHub下载:https://gith...原创 2019-01-22 11:08:27 · 35366 阅读 · 14 评论
分享