原创 基于51的圈圈操作系统(51_00_OS)

2007-3-30 13:38 7725 17 16 分类: MCU/ 嵌入式

下载51_00_OS:rar


 


*************基于51内核的圈圈操作系统****************


说明:这是圈圈在学习嵌入式操作系统后在51上写的一个简单的操作系统,提供创建任务,删除任务,任务调度,系统延时,任务挂起,发送消息,等待消息,CPU使用率统计,系统时间,串口发送、接收数据及串口资源管理等功能。由于时间匆忙,部分注释可能在调试时忘记更改,如有发现不能理解的注释,请给圈圈留言。


可使用keil自带的软件仿真,也可以使用硬件来运行,使用硬件时,上位机推荐使用windows自带的超级终端,关于超级终端的使用,可参看:http://www.ednchina.com/blog/computer00/19960/message.aspx


 


相关评论:http://computer00.21ic.org/user1/2198/archives/2006/9501.html


 


 由于task_switch.c文件中使用了在线汇编,所以task_switch.c文件的设置必须改成下面的样子编译才可以通过。


 


点击看大图


 


点击看大图

PARTNER CONTENT

文章评论6条评论)

登录后参与讨论

用户52478 2008-4-26 21:15

谢谢圈圈的回答

computer00 2008-4-26 19:33

那是编译器的事,只要你的RAM足够的,跟具体的地址在哪无关。编译器会自动帮你分配地址的,只要你的RAM足够就行了。

用户52478 2008-4-26 00:04

这个地址会影响最大任务的个数吧?越低数量越多吧。

computer00 2008-4-25 10:26

加extern的肯定是声明了,另外还有个地方定义的,在C文件里面。 不用确定它的地址,随便放哪都行。要想获取它的地址的话,数组名就是地址。

用户52478 2008-4-24 18:12

extern idata volatile PCB OS_pcb[MAX_TASK]; 怎么确定在RAM中的地址了?这个会影响堆栈大小吧 另外这个数组就这一个地方定义吧。为什么要加extern了?

用户1048052 2007-9-29 15:44

正好有一个51板.下来看看试试.

相关推荐阅读
computer00 2013-06-05 16:27
[招聘]Android系统开发工程师
任职要求: 1. 扎实的C/C++基础,熟悉嵌入式Linux和Android操作系统的软件开发; 2. 良好的沟通能力和逻辑思维能力; 3. 良好的英文文献阅读能力; 4. 具备...
computer00 2013-06-04 09:26
[招聘]Android应用开发工程师
任职要求: 1. 具备扎实的面向对象编程思想和JAVA编程基础; 2. 熟悉Eclipse+ADT开发环境,熟练掌握Android基本类库; 3. 熟悉网络应用和多媒体应用开发; ...
computer00 2012-09-26 13:15
圈圈的新浪官方围脖
http://weibo.com/computer00  ...
computer00 2012-09-26 13:12
欢迎大家去收听圈圈弹的曲子
http://www.tudou.com/home/_105209016  ...
computer00 2009-06-29 15:07
《圈圈教你玩USB》勘误(更新日期2009 年06月29日)
《圈圈教你玩USB》勘误(更新日期2009 年06月29日)下载地址1:下载地址2: 勘误.pdf...
computer00 2009-06-25 11:23
一块磐正845GE主板PS2接口的修复
圈圈有一部台式机,某天开机时,发现键盘用不了了,停留在输入BIOS密码那里。主机自检通过,但是蜂鸣器却发出很微弱的、连续的声音,同时键盘的三个LED也没有出现象往常一样的闪烁一下。圈圈以为多日未用,积...
EE直播间
更多
我要评论
6
17
关闭 站长推荐上一条 /1 下一条