2022年2月15日

摘要: 先了解下如何使用PendSV异常。(为何要使用PendSV而不是其他的异常,请参考《cortex-M3权威指南》) PendSV异常 ​ PendSV,即可悬起的系统调用,OS可以利用它缓期执行一个异常,直到其它重要的任务完成后才执行操作。触发PendSV只需往NVIC的PendSV悬起寄存器的第2 阅读全文
posted @ 2022-02-15 20:33 tycoon3 阅读(1326) 评论(0) 推荐(0)
摘要: 简介 每个进程中访问临界资源的那段代码称为临界区(Critical Section) (临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进行访问。多个进程中涉及到同一个临界资源的临界区称 阅读全文
posted @ 2022-02-15 18:57 tycoon3 阅读(381) 评论(0) 推荐(0)
摘要: [root@bogon gcc-arm-embedded]# yum install gcc-arm-linux-gnu Loaded plugins: fastestmirror, langpacks Repository epel is listed more than once in the 阅读全文
posted @ 2022-02-15 16:26 tycoon3 阅读(1018) 评论(0) 推荐(0)
摘要: 优先级翻转简介: 就是高优先级的任务运行起来的效果好像成了低优先级,而低优先级比高优先级先运行。 优先级翻转如下所示: 优先级翻转过程: 为什么会发生优先级翻转? 因为两个任务(L和H)使用了同一个二值信号量,而在这两个任务之间,又有一个中等优先级的任务M,在这种情况下就容易发生优先级翻转。主要就是 阅读全文
posted @ 2022-02-15 12:03 tycoon3 阅读(559) 评论(0) 推荐(1)
摘要: ARM:FreeRTOS系统栈和任务栈背景:ARM 有两个栈指针PSP和MSP, 通过Control 寄存器来决定SP(R13)使用哪个栈。我们下面谈论的系统栈和任务栈,就和这两个栈指针有关。 FreeRTOS 任务栈 FreeRTOS不同于裸机每个TASK都有一个任务栈。FreeRTOS的任务栈是 阅读全文
posted @ 2022-02-15 10:38 tycoon3 阅读(1519) 评论(0) 推荐(0)
摘要: 信号量是操作系统中重要的一部分,信号量一般用来进行资源管理和任务同步,FreeRTOS 中信号量又分为二值信号量、计数型信号量、互斥信号量和递归互斥信号量。 1、信号量用于控制对共享资源的访问 举一个很常见的例子,某个停车场有100个停车位,这 100 个停车位大家都可以用,对于大家来说这 100 阅读全文
posted @ 2022-02-15 10:28 tycoon3 阅读(712) 评论(0) 推荐(0)
摘要: what tos_knl_irq_enter/tos_knl_irq_leave,大多数RTOS实现都提供了类似此一对函数功能的对应接口,需要开发者主动地分别在中断服务函数(ISR)的开始(tos_knl_irq_enter)及结束时调用(tos_knl_irq_leave)。 why 为什么要设计 阅读全文
posted @ 2022-02-15 10:12 tycoon3 阅读(202) 评论(0) 推荐(0)
摘要: 内容导读: 第一篇文章讲述了任务的三大元素:任务控制块、任务栈、任务入口函数,并讲述了编写RTOS任务入口函数时三个重要的注意点。 RTOS内功修炼记(一)—— 任务到底应该怎么写? 第二篇文章从任务如何切换开始讲起,引出RTOS内核中的就绪列表、优先级表,一层一层为你揭开RTOS内核优先级抢占式调 阅读全文
posted @ 2022-02-15 10:05 tycoon3 阅读(334) 评论(0) 推荐(0)

导航