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