FreeRTOS
文章平均质量分 59
诗晓涵
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
带你快速理解FreeRTOS的代码规范
转载自:https://mp.weixin.qq.com/s/2T-lrDl1OLohrr2wmWv72g带你快速理解FreeRTOS的代码规范嵌入式大杂烩 今天以下文章来源于嵌入式客栈 ,作者逸珺关注「嵌入式大杂烩」,选择「星标公众号」一起进步![导读] 遇到些朋友感觉FreeRTOS内核代码看起来很不习惯,不习惯其编码风格,本文就来梳理一下其代码规范,便于提高阅读其代码的效率。代码基于FreeRTOS V10.4.3。FreeRTOS代码结构其内核代码文件就这几个.转载 2021-09-02 22:59:56 · 695 阅读 · 0 评论 -
RT-Thread和Freertos的区别?
转载自:https://blog.csdn.net/u013184273/article/details/103805733https://mp.weixin.qq.com/s/VUESS8Rj2kkmwpkDS_7eZwRT-Thread和Freertos的区别?嵌入式大杂烩 今天关注「嵌入式大杂烩」,选择「星标公众号」一起进步!Freertos是一个国外推出的一个迷你的实时操作系统内核,开源,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可转载 2021-08-31 22:00:47 · 8884 阅读 · 0 评论 -
小米自2017年开始基于NuttX开发物联网产品
转载自:https://www.sohu.com/a/430837476_472880小米在建IoT护城河2020-11-10 11:45本文作者:市大妈MIDC 2020小米开发者大会刚刚过去。整场大会下来,几个印象比较深刻的点是:雷军宣布扩招5000名工程师; 最新伸缩式大光圈镜头技术; 小爱同学5.0发布;……当然了,还有一个更加值得被提及的重点是:首次亮相的Xiaomi Vela物联网软件平台!弱水三千,为何小米去了NuttX这一瓢?Xiaomi V转载 2021-08-04 11:49:04 · 1969 阅读 · 0 评论 -
这个pxCurrentTCB可能就是关键的中断里面改变的标志位,影响实际执行的任务。
这个pxCurrentTCB可能就是关键的终端里面改变的标志位,影响实际执行的任务。下面拍自野火的freertos书原创 2021-07-26 17:18:14 · 458 阅读 · 0 评论 -
每个任务都是一个不带返回值的无限循环的函数
每个任务都是一个不带返回值的无限循环的函数拍自野火的freertos书原创 2021-07-26 11:03:13 · 250 阅读 · 0 评论 -
什么叫吃透freertos呢,就是把freertos的代码,从裸机层面分析清楚,因为其本质还是一个裸机代码,比如所谓多任务,本质是靠裸机程序中断实现的。
什么叫吃透freertos呢,就是把freertos的代码,从裸机层面分析清楚,因为其本质还是一个裸机代码,比如所谓多任务,本质是靠裸机程序中断实现的。到这个层面我们再去看freertos的代码就有意思了。而不是只会调用几个API。就像opencv,自己写图像处理。也就像自己写一个操作系统出来。我们应该是往这个方向去,而不是单纯追求做出几个freertos项目。https://blog.csdn.net/sinat_16643223/article/details/108743597原创 2021-07-25 20:23:52 · 823 阅读 · 5 评论 -
UCOS的事件有:信号量,消息邮箱,消息队列,信号量集
原创 2020-12-31 12:56:10 · 393 阅读 · 0 评论 -
freertos里一种简单粗暴的在任务间传递数据的方式,建立全局变量
freertos里一种简单粗暴的在任务间传递数据的方式,建立全局变量我也是看这个人写的学到了,今天我也是想把T265发过来的数据实时显示到屏幕上,但是想到要任务间通信,自己暂时也不会写(原来在裸机编程多简单,哪里这么麻烦是不是),就暂时没弄,我看这个知道了有这么一种简单粗暴的方法。这种也说明是C语言学到位了。摘自这里面:...原创 2020-10-28 20:41:28 · 6512 阅读 · 4 评论 -
ACfly UART驱动程序讲解,基于freertos
见我B站视频https://www.bilibili.com/video/BV1bK411A7sE原创 2020-10-27 09:28:58 · 833 阅读 · 0 评论 -
最新的freertos(10.0版本之后)目录里面是有stream_buffer.c的,所以ACfly的工程的freertos目录里面有stream_buffer.c
最新的freertos目录里面是有stream_buffer.c的,所以ACfly的工程的freertos目录里面有stream_buffer.c而你会发现正点原子的minifly里面没有,野火的freertos书,正点原子的freertos书都没讲过这个,可能因为是新出了的,他们书可能是基于旧版本的代码,还没来得及更新。https://www.cnblogs.com/icefree/p/8684511.html...原创 2020-10-27 00:34:48 · 1214 阅读 · 0 评论 -
死锁的四个必要条件
死锁似乎也是面试喜欢考的?摘自:https://blog.csdn.net/jyy305/article/details/70077042死锁的四个必要条件置顶 Hyacinth_Dy 2017-04-11 19:54:03 52608 收藏 7 分类专栏: linux 文章标签: 操作系统-死锁版权死锁产生的四个必要条件互斥条件:资源是独占的且排他使用,进程互斥使用资源,即任意时刻一个资源只能给一个进程使用,其他进程若申请一个资源,而该资源被另一进程占有时,则申请者等待直到资转载 2020-10-14 12:50:55 · 323 阅读 · 0 评论 -
互斥信号量和二值信号量的区别在于优先级翻转,注意了,有区别,之前一直以为差不多。
拍自野火的freertos书。原创 2020-10-13 23:16:13 · 609 阅读 · 0 评论 -
每获取一次信号量就对应着要释放一次信号量,这也是为什么你在ACfly工程里面看到这么多次释放信号量的原因。
每获取一次信号量就对应着要释放一次信号量,这也是为什么你再ACfly工程里面看到这么多次释放信号量的原因。原创 2020-10-13 22:02:46 · 723 阅读 · 0 评论 -
ACfly工程Freertos层面上解析
每个传感器都会创建一个任务,在每个传感器的驱动文件的最末尾(在每个传感器对应的Init函数中),传感器的驱动文件的大部分就是这个任务的执行函数。我随便拿一个传感器驱动文件出来,比如这是光流的驱动文件。然后所有传感器的Init函数在drv_Main.cpp的init_drv_Main()函数中被调用,也就是调用init_drv_Main()这个函数就可以把所有的传感器任务都创建起来。...原创 2020-10-13 18:46:04 · 523 阅读 · 0 评论 -
一些信号量的函数里面其实就是调用的消息队列的函数实现的!怪不得华清的老师说先讲消息队列其他都弄懂了。
可能看函数内部的实现最能看出一些本质这互斥量的创建函数就是调用的消息队列的创建函数。原创 2020-10-13 16:24:47 · 359 阅读 · 0 评论 -
semaphore就是信号量的意思,以后看见信号量相关的函数不用怕,函数命名都是有规则的,查词典就可以了。
semaphore就是信号量的意思所以你再看到这类函数不要不清楚什么意思,你之前也知道freertos的函数的命令都是有一定规则的那么你看下面这种标蓝的函数不要觉得自己没有认真学freertos信号量这方面的函数,弄不清,其实这些不用死记的,就直接看函数名称就行了。...原创 2020-10-13 16:04:52 · 388 阅读 · 0 评论 -
FreeRTOS三种数据结构区别(StreamBuffer,MessageBuffer,Queue)
摘自:https://blog.csdn.net/zh_666888/article/details/88745311FreeRTOS三种数据结构区别(StreamBuffer,MessageBuffer,Queue)暗狼天使 2019-03-22 16:56:02 2943 收藏 7 分类专栏: 嵌入式版权转载自博客:https://blog.zh123.top/?p=308Queue队列是最基本的数据结构,在FreeRTOS v10.0后提供了另外两种高级数据结构为Stre...转载 2020-10-08 16:28:45 · 940 阅读 · 0 评论 -
freertos工程似乎都是先创建一个任务,再在这个任务里面创建其他任务,似乎就像任务树
具体可以见这篇博文:https://blog.csdn.net/sinat_16643223/article/details/108790809。原创 2020-10-02 03:47:43 · 769 阅读 · 0 评论 -
《四旋翼无人飞行器设计》这本书基于UCOS来写飞控
这本书基于UCOS来写飞控原创 2020-09-25 20:27:54 · 953 阅读 · 1 评论 -
正点原子minifly工程FreeRTOS层面上解析
传感器任务就是专门把传感器数据发送到消息队列,然后我估计是那个姿态控制任务通过消息队列读取传感器数据然后进行姿态控制的。获取传感器数据就是从消息队列获取的原创 2020-09-25 17:48:17 · 1029 阅读 · 0 评论 -
其实事件这个概念也很简单很好理解
你把他们的本质弄清楚之后就不会被那些花里胡哨的名字弄乱。拍自原子的freertos书。原创 2020-09-25 14:10:51 · 297 阅读 · 0 评论 -
《多旋翼无人飞行器嵌入式飞控开发指南》里面也是基于FreeRTOS开发飞控,这也目前已经至少有三个用FreeRTOS开发飞控的,正点原子,ACfly,PX4/APM也是基于操作系统
《多旋翼无人飞行器嵌入式飞控开发指南》里面也是基于FreeRTOS开发飞控,这也目前已经至少有三个用FreeRTOS开发飞控的,正点原子,ACfly原创 2020-09-25 12:42:47 · 2962 阅读 · 2 评论 -
freertos工程的main函数
对比几个freertos工程发现main函数写法是一样的这是正点原子的minifly的main.c文件#include "system.h" /*头文件集合*//******************************************************************************** * 本程序只供学习使用,未经作者许可,不得用于其它任何用途 * ALIENTEK MiniFly * main.c * 包括系统初始化和创建任务 * 正点原子.原创 2020-09-25 10:18:28 · 4922 阅读 · 2 评论 -
*关于系统调用我自己再整理一下(系统调用,任务切换,pendsv中断,SVC,整个理顺打通了)
关于系统调用我自己再整理一下https://www.sohu.com/a/163180953_777180也就是系统调用之后还要恢复到用户态的,这感觉似乎就像中断,莫非内核态是在中断服务函数中完成的,还是说产生两次中断,用户态到内核态一次中断,内核态恢复到用户态一次中断。https://blog.csdn.net/distancening/article/details/79503987...原创 2020-09-25 01:29:08 · 958 阅读 · 0 评论 -
第一个任务的启动是在SVC中断服务函数里面
第一个任务的启动是在SVC中断服务函数里面看来任务的启动和切换与中断,中断服务函数密不可分啊。拍自原子的freertos书原创 2020-09-25 00:11:09 · 635 阅读 · 0 评论 -
操作系统中任务是怎么切换的
摘自:http://www.360doc.com/content/18/0201/10/44422250_726879093.shtml操作系统中任务是怎么切换的 想记下点专业方面的知识,但又感觉难以组织好语言,因为不想出现很多名词错误,也想讲得清楚一点,要做到这点的话,还要回去翻之前看过的书,或者要去做好搜索确认。然而...转载 2020-09-24 23:36:24 · 1133 阅读 · 0 评论 -
FreeRTOS启动第一个任务和任务的切换实现过程
摘自:https://blog.csdn.net/qq_15100379/article/details/86166994FreeRTOS启动第一个任务和任务的切换实现过程此篇文章主要参考了野火的《FreeRTOS内核实现与应用开发指南》,和其他博主的一些资料并加入了一些个人理解,作为学习笔记,在此感谢火哥和其他博主;第一个任务的启动vPortSVCHandler函数开始真正启动第一个任务;上代码:__asm void vPortSVCHandler( void ){ exter转载 2020-09-24 22:53:59 · 505 阅读 · 0 评论 -
UCOS操作系统的资料是市面上最多的
华清的老师讲freertos时说UCOS操作系统的资料是市面上最多的,确实是的,我搜freertos的书只能搜到两本,一本野火的一本原子的。。...原创 2020-09-24 12:12:34 · 221 阅读 · 0 评论 -
是不是正是因为linux主奴机制,所以Linux不需要杀毒软件?
是不是正是因为linux主奴机制,所以Linux不需要杀毒软件?几乎什么操作都要先经过内核的系统调用https://zhuanlan.zhihu.com/p/36725483原创 2020-09-24 08:17:14 · 597 阅读 · 0 评论 -
系统调用时为什么发生任务切换?
https://blog.csdn.net/u010820757/article/details/48344991https://blog.csdn.net/jeanter/article/details/51776320?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_re..原创 2020-09-23 23:57:17 · 638 阅读 · 0 评论 -
FreeRTOS任务切换分析
摘自:https://blog.csdn.net/qingzhuyuxian/article/details/80604129FreeRTOS任务相关的代码大约占总代码的一半左右,这些代码都在为一件事情而努力,即找到优先级最高的就绪任务,并使之获得CPU运行权。任务切换是这一过程的直接实施者,为了更快的找到优先级最高的就绪任务,任务切换的代码通常都是精心设计的,甚至会用到汇编指令或者与硬件相关的特性,比如Cortex-M3的CLZ指令。因此任务切换的大部分代码是由硬件移植层提供的,不同的平台,实现.转载 2020-09-23 22:49:22 · 713 阅读 · 0 评论 -
上下文切换
这个词在freertos的书上经常看到,一直不明白什么意思https://baike.baidu.com/item/%E4%B8%8A%E4%B8%8B%E6%96%87%E5%88%87%E6%8D%A2/4842616?fr=aladdin原创 2020-09-23 20:45:39 · 191 阅读 · 0 评论 -
我发现ucos里面也是任务,任务控制块,消息队列,信号量,事件 。这些概念感觉和freertos一模一样啊
我发现ucos里面也是任务,任务控制块,消息队列,信号量 。这些概念感觉和freertos一模一样啊,感觉大家就是抄来抄去?下面拍自《跟工程师学嵌入式开发》原创 2020-09-23 18:31:42 · 295 阅读 · 0 评论 -
华清B站上freertos课听课笔记
https://blog.csdn.net/sinat_16643223/article/details/108691209https://blog.csdn.net/sinat_16643223/article/details/108692477https://blog.csdn.net/sinat_16643223/article/details/108699547https://blog.csdn.net/sinat_16643223/article/details/10869原创 2020-09-22 23:24:03 · 540 阅读 · 0 评论 -
任务栈里到底存放的是一些什么东西?(任务切换,中断,函数调用)
任务栈里到底存放的是一些什么东西?这个我觉得有必要弄清楚。C语言的栈也是,中断发生时,栈保存的是当前函数的什么,指令地址和寄存器值么?。...原创 2020-09-22 23:16:53 · 1012 阅读 · 1 评论 -
消息队列,信号量不光是freertos任务间通信的方式,也是Linux进程间通信的方式。
消息队列,信号量不光是freertos任务间通信的方式,也是Linux进程间通信的方式。。原创 2020-09-22 19:40:24 · 413 阅读 · 1 评论 -
一个好的嵌入式工程师他同样是具备非常丰富的面向对象的思想的,什么叫面向对象思想,说得直白一点通俗一点就是,用尽量少的代码实现更多的功能。
一个好的嵌入式工程师他同样是具备非常丰富的面向对象的思想的,,什么叫面向对象思想,说得直白一点通俗一点就是,用尽量少的代码实现更多的功能。(操作系统里面似乎就有很多面向对象思想,虽然是用C写的,好像驱动的代码也是的)华清B站上的freertos课第四讲。...原创 2020-09-22 17:40:36 · 292 阅读 · 0 评论 -
任务创建后第一个状态是就绪态,所有的任务几乎都会处于阻塞态,长时间处于阻塞态。
任务创建后第一个状态是就绪态,所有的任务几乎都会处于阻塞态,长时间处于阻塞态。华清B站里面免费的freertos视频第四讲原创 2020-09-22 14:04:23 · 668 阅读 · 0 评论 -
freertos弄懂了再去学Linux就非常简单
freertos弄懂了再去学Linux就非常简单,原理都是一样的。这是华清的老师讲的。。原创 2020-09-22 12:13:04 · 2546 阅读 · 1 评论 -
一般中断里停留的时间不要过长,一般中断只是做个标记,具体执行还是放到主函数去执行(似乎更多指freertos里中断服务函数要保持精简短小,快进快出)
一般中断里停留的时间不要过长,一般中断只是做个标记,具体执行还是放到主函数去执行,不是放在中断函数里面执行。主函数里面,也就是while(1)里面做标志位的判断并执行相应操作。https://www.bilibili.com/video/BV1864y1T7Z7...原创 2020-09-20 11:38:38 · 6508 阅读 · 1 评论
分享