现在位置: 首页 > 技术文章 > RTOS > 文章
2018年08月25日 RTOS ⁄ 共 2958字 cortex-M3 的SVC、PendSV异常与RTOS已关闭评论 ⁄ 阅读 681 次
SVC和PendSV SVC(系统服务调用,亦简称系统调用)和PendSV(可悬起系统调用),它们多用于在操作系统之上的软件开发中。 SVC: SVC 用于产生系统函数的调用请求。 例如,操作系统不让用户程序直接访问硬件,而是通过提供一些系统服务函数,用户程序使用SVC 发出对系统服务函数的呼叫请求,以这种方法调用它们来间接访问硬件。 因此, 当用户程序想要控制特定的硬件时,它就会产生一个SVC 异常, 然后操作系统提供的SVC 异常服...
阅读全文
2013年11月27日 RTOS ⁄ 共 280字 UCOS-II在STM32上移植成功已关闭评论 ⁄ 阅读 323 次
ucos-ii 今天闲来无事,找点事做啊,记得以前看过一段时间的UCOS-II,正好手上有一块STM32的板子,就算温故一下知识吧,把UCOS-II移植到STM32上,经过N多错误之后,最后终于在STM32上跑起来了,创建了3个任务,每个任务都是点一个LED灯,运行正常,对于STM32移植UC0S-II,网上有很多教程的,移植起来也比较简单,有需要移植好的源码的,可以联系我,我的是STM32F103RE,不过都差不多了~~~~
阅读全文
2013年11月17日 RTOS ⁄ 共 1563字 什么是优先级反转,优先级继承已关闭评论 ⁄ 阅读 637 次
使用实时内核,优先级反转问题是实时系统中出现得最多的问题。下图解释优先级反转是如何出现的。如图,任务1优先级高于任务2,任务2优先级高于任务3。任务1和任务2处于挂起状态,等待某一事件的发生,任务3正在运行如[下图(1)]。此时,任务3要使用其共享资源。使用共享资源之前,首先必须得到该资源的信号量(Semaphore)。任务3得到了该信号量,并开始使用该共享资源[下图(2)]。由于任务1优先级高,它等待的事件到来之后剥夺了...
阅读全文
2013年11月17日 RTOS ⁄ 共 1084字 什么是可重入函数,什么是不可重入函数已关闭评论 ⁄ 阅读 579 次
可重入型函数可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数或者只使用局部变量,即变量保存在CPU寄存器中或堆栈中。如果使用全局变量,则要对全局变量予以保护。如下程序是一个可重入型函数的例子。 void strcpy(char *dest, char *src) { while (*dest++ = *src++) { ; } *dest = NUL; } 函数Strcpy()做字符串复制...
阅读全文
×