rtos
shareinfo2018
复杂问题简单化,力求精简强悍。
展开
-
各任务间的堆栈空间变换
各任务间的堆栈空间变换原创 2015-08-28 15:55:41 · 441 阅读 · 0 评论 -
rt-thread中的XXX_EXPORT()测试
测试代码:#include <stdio.h>#include <unistd.h>#include <stdint.h> typedef long (*syscall_func)(void);typedef struct st_syscall{ const char* name; const char* ...原创 2019-01-25 22:08:06 · 2256 阅读 · 0 评论 -
浅谈可重入函数与不可重入函数【转】
来自:https://blog.csdn.net/lianghe_work/article/details/47611961在实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果有一个函数不幸被设计成为这样:那么不同任务调用这个函数时可能修改其他任务调用这个函数的数据,从而导致不可预料的后果。这样的函数是不安全的函数,也叫不可重入函数。相反,肯定有一个安全的函数,这个安全的函数又...转载 2018-09-13 08:47:36 · 11933 阅读 · 2 评论 -
rtos的核心原理简析
来自论坛rtos的核心原理简析rtos全称real-time operating system(实时操作系统),我来简单分析下:我们都知道,c语句中调用一个函数后,该函数的返回地址都是放在堆栈中的(准确的说是栈中)。rtos个人理解是一种黑客行为,他悄悄的修改了这个保存在栈中的返回这个地址,让调用函数返回到我们想让他返回的地方。好了,这个返回什么时候返回呢?原创 2017-10-11 09:28:25 · 5629 阅读 · 0 评论 -
51操作系统之延时实现源代码
51操作系统之延时实现源代码原创 2015-08-28 15:54:58 · 743 阅读 · 0 评论 -
死循环之间穿梭(51操作系统之任务主动放弃cpu控制权)
死循环之间穿梭(51操作系统之任务主动放弃cpu控制权)原创 2015-08-28 15:52:59 · 727 阅读 · 0 评论 -
基于proteus的ARM7TDMI-RTOS
很久前的代码(初学代码较乱),希望对阅读本文的读者理解RTOS有所帮助。main.c#include#include #include #include"ARM7.h"#define P3 *((volatile unsigned *)0x80000090)#define P2 *((volatile unsigned *)0x80000088)#define P1 *(原创 2016-06-17 22:25:03 · 782 阅读 · 1 评论 -
n久前的51_rtos原理实现测试源码
初学时期写的代码,比较乱,希望对阅读本文的读者有所帮助。代码是撇开了效率问题,为了方便理解任务切换过程,故都尽可能的使用了c实现的,而非汇编。main.c #include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char#define T...原创 2016-06-19 08:22:21 · 533 阅读 · 0 评论 -
死循环之间穿梭(51操作系统之抢占式任务切换)
死循环之间穿梭(51操作系统之抢占式任务切换)原创 2015-08-28 15:53:59 · 1212 阅读 · 0 评论 -
rt-thread中的list测试
rt-thread通过list管理相关设备,分层以及接口管理,list的大致框架如下:测试代码:#include <stdio.h> #include <stdlib.h>#include <stdint.h>#include <string.h>enum obj_class_type{ Obj_Test1 = 0...原创 2019-01-26 16:09:51 · 1299 阅读 · 0 评论