摘要:
一个高性能、高稳定性的跨平台MQTT客户端,基于socket API之上开发,可以在嵌入式设备(FreeRTOS/LiteOS/RT-Thread/TencentOS tiny)、Linux、Windows、Mac上使用,拥有非常简洁的API接口,以极少的资源实现QOS2的服务质量,并且无缝衔接了mbedtls加密库。 阅读全文
摘要:
软件定时器的基本概念 TencentOS tiny 的软件定时器是由操作系统提供的一类 ,它构建在硬件定时器基础之上,使系统能够提供不受硬件定时器资源限制的定时器服务,本质上软件定时器的使用相当于扩展了定时器的数量,允许创建更多的定时业务,它实现的功能与硬件定时器也是类似的。 硬件定时器是芯片本身提 阅读全文
摘要:
引言 大家在裸机编程中很可能经常用到 这种变量,用来标志一下某个事件的发生,然后在循环中判断这些标志是否发生,如果是等待多个事件的话,还可能会 这样子做判断。当然,如果聪明一点的同学就会拿 的`某些位 A`事件,第二位表示 事件,当这两个事件都发生的时候,就判断 的值是多少,从而判断出哪个事件发生了 阅读全文
摘要:
互斥锁 互斥锁又称互斥互斥锁,是一种特殊的信号量,它和信号量不同的是,它具有 等特性,在操作系统中常用于对临界资源的 处理。在任意时刻互斥锁的状态只有两种, ,当互斥锁被任务持有时,该互斥锁处于闭锁状态,当该任务释放互斥锁时,该互斥锁处于开锁状态。 一个任务持有互斥锁就表示它拥有互斥锁的所有权,只有 阅读全文
摘要:
信号量 信号量( )在操作系统中是一种实现系统中任务与任务、任务与中断间同步或者临界资源互斥保护的机制。在多任务系统中,各任务之间常需要同步或互斥,信号量就可以为用户提供这方面的支持。 抽象来说,信号量是一个非负整数,每当信号量被获取( )时,该整数会减一,当该整数的值为 时,表示信号量处于无效状态 阅读全文
摘要:
消息队列 在前一篇文章中 "【TencentOS tiny学习】源码分析(3)——队列" 我们描述了TencentOS tiny的队列实现,同时也点出了TencentOS tiny的队列是依赖于消息队列的,那么我们今天来看看消息队列的实现。 其实消息队列是TencentOS tiny的一个 基础组件 阅读全文
摘要:
队列基本概念 队列是一种常用于任务间通信的数据结构,队列可以在 传递消息,实现了任务接收来自其他任务或中断的不固定长度的消息,任务能够从队列里面读取消息,当队列中的消息是空时,读取消息的任务将被阻塞,用户还可以指定任务等待消息的时间 ,在这段时间中,如果队列为空,该任务将 状态以等待队列数据有效。当 阅读全文
摘要:
温馨提示:本文不描述与浮点相关的寄存器的内容,如需了解自行查阅(毕竟我自己也不懂) 调度器的基本概念 中提供的任务调度器是基于优先级的全抢占式调度,在系统运行过程中,当有比当前任务优先级更高的任务就绪时,当前任务将立刻被 ,高优先级任务 处理器运行。 内核中也允许创建相同优先级的任务。相同优先级的任 阅读全文
摘要:
任务的基本概念 从系统的角度看,任务是竞争系统资源的最小运行单元。TencentOS tiny是一个支持多任务的操作系统,任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行,理论上任何数量的任务都可以共享同一个优先级,这样子处于就绪态的多个相同优先级任务将会以时间片切换的方式共享 阅读全文
摘要:
移植前的准备工作 1. 获取STM32的裸机工程模板 STM32的裸机工程模板直接使用野火STM32开发板配套的固件库例程即可。可以从我 上获取 "https://github.com/jiejieTop/TencentOS Demo" 下载TencentOS tiny 源码 TencentOS t 阅读全文