
RTOS开发
杨善锦
一名AI算法工程师,
欢迎小店:https://shop418333081.taobao.com/?spm=pc_detail.27183998/evo365560b447259.202202.1.35147dd6JlDWdC (AI硬件和美食)
github : https://github.com/dreamflyforever
展开
-
RTOS一般锁保护使用与解决死锁问题
RTOS有时候会因为用户的一句代码造成实时性或是性能降低,锁的正确使用更是能体现这一点。一、RTOS一般锁使用情景:Semaphore:适用于较长代码的保护,或是任务之间、中断与任务之间的同步。如果该函数会引起任务阻塞,则不可以在中断中去获取信号量。Mutex:适用于三个任务以上抢占的资源保护。因为mutex有优先级反转解决策略。 而semaphore一般都没有,所以它只适用于两个任务原创 2015-01-16 22:54:11 · 4766 阅读 · 0 评论 -
mutex和semaphore不为人知的秘密
mutex 缘由:试想这么一个问题:优先级 task1 > task2 > task3, 并且拥有同一资源。task3运行,并且获取资源,这时候task1运行抢占资源,task1获取不到资源阻塞,这时候task2就绪运行。这个过程违背了RTOS的原理,任何时候都是最高优先级就绪的任务运行的,task1没有运行,task2就运行了。这就是优先级转问题。所以为了解决这个问题,可原创 2014-11-24 11:07:20 · 1303 阅读 · 0 评论 -
搭建一个多任务调度环境
目标实现一个多任务环境。1. 可以多任务;2. 任务模块编程;3. 没有调度算法, 调度点由用户决定。操作系统描述的是多任务处理。多任务的意思是在宏观上多个任务是同时在运行的,但是微观上,任何一个时刻只有一个任务在运行。操作系统有一个任务控制块的结构体,里面有一个最重要的成员:栈指针,记录任务在切换时候上下文的位置。先定义TCB结构体typedef struct T原创 2014-03-22 22:26:00 · 1861 阅读 · 0 评论 -
Protothread调度分析
Prothread存在于contiki、uip中,是由用户创建线程必须要使用系统提供的框架,static int user_pthread( struct pt *pt){ YSJ_INIT(pt); YSJ_BEGIN(pt); while(1) { YSJ_WAIT_UNTIL(pt, your_event ==原创 2014-07-13 10:59:54 · 2804 阅读 · 0 评论 -
实现flash延长写寿命算法
flash的擦写次数是有限的,NAND flash中每个块的最大擦写次数为100万次,而NOR是10W次,flash单个存储单元bit只能从1变为0,而不能从0变成1。想要变成1,只能block擦 除,这里的block表示一个擦除单位,擦除过程就是把block所有的位都写1.这种硬件特性决定需要一种比较高效的写flash算法。总不能一次更改数值时擦除整一大片flash。总体思想:写满一个blo原创 2014-07-07 23:28:38 · 5871 阅读 · 0 评论 -
RTOS基本原理概述
嵌入式实时操作系统英文为EmbedReal Time OperatingSystem,简称RTOS。与PC机上的通用的操作系统Windows或是Linux相比,RTOS精简,实时性强。不同的RTOS根据性能特点适应于航天航空、生物医学、工业控制、消费电子等行业。RTOS是一种架构。历史以来,任何一个阶段都有一定的软件架构在主宰软件行业。最开始的架构是前后台的超循环模式。While(1)大循原创 2014-07-09 23:21:14 · 6515 阅读 · 0 评论 -
YSJ_FSM状态机软件框架分析
基于状态机的软件框架好处1. 有较好的代码框架2. 相对与一般的操作系统,占用内存比较少,因为传统的操作系统每个任务必须给够栈,一般都要3K左右。而FSM始终用一个栈。3. 避免了由于资源竞争引发的问题FSM的最基本思想: 当前状态 + 事件 = 动作 + 下一个状态。状态、事件、动作是FSM的三个基本属性。一般进入FSM有一个初始化的状态,事件触发其状态的动作原创 2013-12-07 22:45:04 · 1371 阅读 · 0 评论 -
为何使用RTOS与商业如何选择哪个RTOS
一、为什么要使用RTOS?个人觉得如下:1. 当代码量超过上万行时,需要有一个稳定的,结构清晰的框架,方便后面开发与维护,而且对于新人对接较快。2. RTOS中间件比较多,可以方便移植使用。3. 用RTOS写task,可以做到更加模块化,高内聚,低耦合,比较文雅,有利于学习,技术提升。4. 未来32位的cpu占据市场会越来越多,RTOS使用是一个趋势。5.可以用RTOS代替使用原创 2015-01-15 23:48:31 · 3568 阅读 · 0 评论