原创 (原创)--也说OS,简易实时任务切换块Cy_OS---针对8051(整理偶一年多前的东西)

2008-7-30 23:15 5095 7 8 分类: MCU/ 嵌入式

打算抽些时间把以前做得东西整理整理,温故而知新嘛


(原创)--也说OS,简易实时任务切换块Cy_OS---针对8051(一起学习)


来源:21ic 作者:walnutcy 栏目:单片机


rar

(原创)--也说OS,简易实时任务切换块Cy_OS---针对8051(一起学习)
walnutcy的个人版简易实时操作系统Cy_OS------针对8051系列MCU
目前最新版本:Version 1.03

/// 闲了两天,
/// 就心血来潮就写了一个小的实时调度程序,
/// 以便于支持中断,且减少汇编代码的量,,
/// 同时给大家演示了一下不使用interrupt实现C中断的方式
/// 因为我不喜欢写汇编程序,不是不会写,觉得移植起来不爽,,
/// 最近对CPU架构感兴趣,正在研究MICROCHIP的pic18系列,当然也
/// 只是针对其中一款学习,,因为毕竟买IC也要money嘛,,
/// 我一般喜欢拿插装的IC,可以自己焊一个小的简易平台,,这样学起来更有感觉,,
///
///
///这里使用STC的IC,并不是因为他好,而是因为我手头上只有他的东西,,
///这款IC不怎么好,也不是太坏,还算是可以用吧,,
///不过宏晶的服务可就差太远啦..
///因为还未量产过的IC,所以总是存在一些问题,本来没问题,
///他们一改动出新版,就出了不少问题,
///如果各位同仁想用,可以考虑采用别的IC来测试Cy_OS,只是可能会将遥控
///解码会移植一下,

///东西早就写好啦,一直没把文档写好,所以一直没发,,
///愿大家给个好的提议,,我们一起来学习实时操作系统....

// 自身特点:
//     支持实时中断,
//     自建中断向量列表,,不使用Keil C51中的interrupt关键字,
//     针对8051实现,,
///    
///------------2007-1-11-15:50

///六楼的那个好像可以下,....

Version : 1.03
环境:
    MCU采用STC(宏晶科技)的STC12LE4052AD,256 RAM,4K FLASH,具有串口ISP功能。
    P1_4引脚上外挂一个发光LED,利用三级管驱动;
    P3_5引脚上外挂一个遥控接收头;
    串口接到PC的串口上;
功能:
    1) 去掉中断函数关键字:interrupt,并在进入中断后加入压栈、出栈代码;
    2) 可以采用捕获功能解码遥控按键;
    3) 串口向外发送数据,BaudRate:19200;
    4) 增加一个简历的操作系统OS,具有任务创建,任务切换,消息唤醒,
    5) 版本查询        
    6) 增加OS的功能:任务删除,资源申请、释放,任务的动态新建:
        测试:从串口发送数据测试,在Task_LED1、Task_LED2之间相互切换;
新增功能:
    7) 在中断中做任务切换;(主要是调整中断时的堆栈结构)
    
缺陷:  (可能考虑完善的,不准备完善的不提)
    1) 串口发送过程中不允许任务切换;
    2) 由于8051系列MCU的SP指针是8位的,堆栈大小受限,任务数不可太多;
    3) 当前的简易OS最多只能支持16个任务;
    4) 考虑到RAM的限制,任务数与优先级数量相同;
    5)  ......    
完成时间:2006年11月24日, 10:19:23


* - 本贴最后修改时间:2007-1-12 17:58:41 修改者:walnutcy


稍后我会重新温新两年前的思想,看看自己到底这两年有没有学点东西,古人曰:吾日三省吾身。我做不到那么勤,有空也该省省自身,顺便考虑些以后的事。


 

文章评论1条评论)

登录后参与讨论

用户1137541 2009-1-11 07:36

稍后我会重新温新两年前的思想,看看自己到底这两年有没有学点东西,古人曰:吾日三省吾身。我做不到那么勤,有空也该省省自身,顺便考虑些以后的事。 支持你,感觉你技术水平一流。 只是:不要这么早就考虑后事,呵呵。开玩笑。
相关推荐阅读
walnutcy_696810119 2012-11-21 08:37
Linux下使用smartCOM调试串口
在Windows下的串口调试一直使用sscom,在Linux下只找到一个cutecom,用了几次,很不喜欢,就着手开发了一款自己的串口调试工具,smartCOM。 smartCOM介绍:http...
walnutcy_696810119 2012-03-29 18:12
【博客大赛】原创--测量基础:什么是测量
写在正文之前: 适逢EDNChina搞活动,而我本人也算在测量业工作,就一起作下笔记吧。若有错误,请大家一起斧正。笔者写本文一方面是梳理知识,另一方面也希望与大家探讨有关测量的知识、应用等,希...
walnutcy_696810119 2011-12-20 18:29
GLONASS 15年来,首次实现24颗星在轨可用
  EDN的博客改版后,不太好用,在SINA重开一个,不过重点改为关注GNSS行业新闻 http://blog.sina.com.cn/s/blog_7420cd1701012en9....
walnutcy_696810119 2011-12-20 17:49
逆向工程第一步:通信协议分析
工程中常有这样的事,想分析下其他知名公司产品中的通信协议,以便生产设计兼容产品。 1) 逆向工程,首先要了解产品,知己知彼,百战不怠;     去年受命想仿一款GARMIN的导航盒,但无法...
walnutcy_696810119 2011-11-14 11:30
通用代码调试方法 (Keil, VCC)
调试代码一般需要定位问题,这里给出一个解决方案, 一般的编译器均支持这些宏指令。   #define DEBUG_WALT_1113     1 extern void log_t...
我要评论
1
7
关闭 站长推荐上一条 /2 下一条