- 博客(1)
- 资源 (2)
- 收藏
- 关注
原创 关于堆栈和指针
今天被问了个问题,代码如下: #include #include int *p; void f(int **q) { int s = 3; *q = &s; } int main() { f(&p); printf("%d", *p); return 0; } 看到这段代码时,我有两个想法:第一,指针是很蛋疼的,尤其这种int **p,这简直是
2011-12-24 23:50:27 898
lq51--自己写的基于51单片机的嵌入式实时操作系统
Keil 自带的 RTX51—Tiny 系统有这样几个缺点:1、非占先式任
务调度,这样系统的实时性就很难保证;2、提供的系统服务太少,
只有 wait 与 signal。而 RTX51—Tiny 的优点是:1、Keil 公司自己开
发的,使用_task_关键字区别每个任务,这样可以使得被不同任务调
用的不同函数即使没有相互调用,他们的局部变量也不会相互覆盖。
免去了在 SmallRTOS 中需要手动制止函数间局部变量的相互覆盖。
2、内核小。整个 RTX51--Tiny 完整编译只需 900B 的空间。
lq51 系统整合了 RTX51—Tiny 的优点。1、在 lq51 系统中_task_
关键依然有效,0 号任务依然是最高优先级的任务,1 号任务次之,
依次类推。2、lq51 系统完整编译只需 2.5K 的 ROM,并且系统自带
的 128B RAM 对 lq51 系统也是绰绰有余的。同时 lq51 系统弥补了
RTX51—Tiny 的缺点。首先 lq51 系统采用占先式任务调度,这样可
以最大限度保证系统的实时性。其次 lq51 系统提供
lqDelay、lqWaitFlg、 lqWaitSem、lqWaitMsg 这样四种系统服务,并
且每种系统服务都是可裁剪的。
lq51 系统中很多关于实时系统的概念及实现方法是从 ucosII 中学
来的,同时借鉴了 SmallRTOS 及 RTX51—Tiny。
2009-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人