
TencentOS
_杰杰_
一个超级可爱的杰杰ღ( ´・ᴗ・` )
展开
-
TencentOS学习笔记(1)
文章目录IoT Development Board 开箱初识TencentOS tinyIoT Development Board 开箱很荣幸收到 Tencent汪礼超大神 的内测邀请,让我提前了解并且学习了一下 TencentOS tiny,这是一个很小巧的实时操作系统RTOS,很nice。进入正题,先看看IoT Development Board 开发板的开箱~ EVB_MX 是腾讯物联...原创 2019-08-15 10:15:11 · 3946 阅读 · 4 评论 -
TencentOS tiny 移植到STM32F103全教程(基于标准库)
移植前的准备工作1. 获取STM32的裸机工程模板STM32的裸机工程模板直接使用野火STM32开发板配套的固件库例程即可。可以从我github上获取https://github.com/jiejieTop/TencentOS-Demo下载TencentOS tiny 源码TencentOS tiny的源码可从TencentOS tiny GitHub仓库地址https://github...原创 2019-09-19 22:06:00 · 23479 阅读 · 11 评论 -
【TencentOS tiny】又有一个操作系统开源
新闻今日,腾讯宣布将开源 自主研发的轻量级物联网实时操作系统TencentOS tiny。相比市场上其它系统,腾讯TencentOS tiny在资源占用、设备成本、功耗管理以及安全稳定等层面极具竞争力。该系统的开源可大幅降低物联网应用开发成本,提升开发效率,同时支持一键上云,对接云端海量资源。正题很荣幸,能亲眼见证TencentOS tiny的开源,也很荣幸能在一个多月前内测使用过它~不得...原创 2019-09-18 22:35:37 · 43024 阅读 · 62 评论 -
【TencentOS tiny学习】源码分析(7)——事件
文章目录引言事件事件数据结构事件控制块与事件相关的宏定义创建事件销毁事件引言大家在裸机编程中很可能经常用到flag这种变量,用来标志一下某个事件的发生,然后在循环中判断这些标志是否发生,如果是等待多个事件的话,还可能会if((xxx_flag)&&(xxx_flag))这样子做判断。当然,如果聪明一点的同学就会拿flag的某些位做标志,比如这个变量的第一位表示A事件,第二位表示...原创 2019-09-04 08:27:08 · 4358 阅读 · 3 评论 -
【TencentOS tiny学习】源码分析(3)——队列
文章目录队列基本概念队列的阻塞机制队列实现的数据结构队列控制块消息控制块任务控制块中的消息成员变量与消息相关的宏定义消息池队列创建销毁队列清空队列等待队列(消息)(消息)写入队列总结队列基本概念队列是一种常用于任务间通信的数据结构,队列可以在任务与任务间、中断和任务间传递消息,实现了任务接收来自其他任务或中断的不固定长度的消息,任务能够从队列里面读取消息,当队列中的消息是空时,读取消息的任务将...原创 2019-08-17 03:06:48 · 7477 阅读 · 2 评论 -
【TencentOS tiny学习】源码分析(2)——调度器
文章目录调度器的基本概念启动调度器Cortex-M内核关中断指令回归正题看看任务栈的初始化查找最高优先级任务任务切换的实现SysTickSysTick初始化SysTick中断调度器的基本概念TencentOS tiny中提供的任务调度器是基于优先级的全抢占式调度,在系统运行过程中,当有比当前任务优先级更高的任务就绪时,当前任务将立刻被切出,高优先级任务抢占处理器运行。TencentOS ti...原创 2019-08-16 02:25:58 · 4318 阅读 · 3 评论 -
【TencentOS tiny学习】源码分析(6)——互斥锁
文章目录互斥锁优先级翻转优先级继承互斥锁的数据结构互斥锁控制块与互斥锁相关的宏定义创建互斥锁销毁互斥锁获取互斥锁释放互斥锁互斥锁互斥锁又称互斥信号量,是一种特殊的二值信号量,它和信号量不同的是,它具有互斥锁所有权、递归访问以及优先级继承等特性,在操作系统中常用于对临界资源的独占式处理。在任意时刻互斥锁的状态只有两种,开锁或闭锁,当互斥锁被任务持有时,该互斥锁处于闭锁状态,当该任务释放互斥锁时,...原创 2019-08-28 10:10:32 · 2677 阅读 · 0 评论 -
【TencentOS tiny学习】源码分析(5)——信号量
文章目录信号量信号量的数据结构信号量控制块与信号量相关的宏定义信号量实现创建信号量销毁信号量获取信号量释放信号量总结信号量信号量(sem)在操作系统中是一种实现系统中任务与任务、任务与中断间同步或者临界资源互斥保护的机制。在多任务系统中,各任务之间常需要同步或互斥,信号量就可以为用户提供这方面的支持。抽象来说,信号量是一个非负整数,每当信号量被获取(pend)时,该整数会减一,当该整数的值为...原创 2019-08-24 20:06:02 · 2443 阅读 · 0 评论 -
【TencentOS tiny学习】源码分析(1)——task
任务的基本概念从系统的角度看,任务是竞争系统资源的最小运行单元。TencentOS是一个支持多任务的操作系统,任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行,理论上任何数量的任务都可以共享同一个优先级,这样子处于就绪态的多个相同优先级任务将会以时间片切换的方式共享处理器,(不过要注意的是:在TencentOS中,不能创建与空闲任务相同优先级的任务K_TASK_PRIO_I...原创 2019-08-15 09:39:21 · 27443 阅读 · 12 评论 -
【TencentOS tiny学习】源码分析(4)——消息队列
文章目录消息队列系统消息池初始化消息队列创建消息队列销毁从消息队列获取消息向消息队列写入消息消息队列在前一篇文章中【TencentOS tiny学习】源码分析(3)——队列我们描述了TencentOS tiny的队列实现,同时也点出了TencentOS tiny的队列是依赖于消息队列的,那么我们今天来看看消息队列的实现。其实消息队列是TencentOS tiny的一个基础组件,作为队列的底...原创 2019-08-20 01:21:40 · 3165 阅读 · 0 评论 -
TencentOS tiny源码分析(8)—— 软件定时器
文章目录软件定时器的基本概念软件定时器的基本概念TencentOS tiny 的软件定时器是由操作系统提供的一类系统接口,它构建在硬件定时器基础之上,使系统能够提供不受硬件定时器资源限制的定时器服务,它实现的功能与硬件定时器也是类似的。硬件定时器是芯片本身提供的定时功能。一般是由外部晶振提供给芯片输入时钟,芯片向软件模块提供一组配置寄存器,接受控制输入,到达设定时间值后芯片中断控制器产生时...原创 2019-10-02 18:21:44 · 2888 阅读 · 0 评论