打算抽些时间把以前做得东西整理整理,温故而知新嘛(原创)--也说OS,简易实时任务切换块Cy_OS---针对8051(一起学习) |
来源:21ic 作者:walnutcy 栏目:单片机 |
(原创)--也说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 |
稍后我会重新温新两年前的思想,看看自己到底这两年有没有学点东西,古人曰:吾日三省吾身。我做不到那么勤,有空也该省省自身,顺便考虑些以后的事。
用户1137541 2009-1-11 07:36