⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 版本说明.txt

📁 基本STC4052写的一个小的OS, 完成了任务调度功能,及堆栈空间切换, 及中断处理
💻 TXT
字号:

walnutcy的个人版简易实时操作系统OS------针对8051系列MCU
目前最新版本:Version 1.04

Version : 1.00
环境:
	MCU采用STC(宏晶科技)的STC12LE4052AD,256 RAM,4K Flash,具有串口ISP功能
功能:
	1) 去掉中断函数关键字:interrupt,并在进入中断后加入压栈、出栈代码;
	2) 可以采用捕获功能解码遥控按键;
	3) 串口向外发送数据,BaudRate:19200	
	
完成时间:2006年11月22日, 16:04:11

Version : 1.01
环境:
	MCU采用STC(宏晶科技)的STC12LE4052AD,256 RAM,4K Flash,具有串口ISP功能
功能:
	1) 去掉中断函数关键字:interrupt,并在进入中断后加入压栈、出栈代码;
	2) 可以采用捕获功能解码遥控按键;
	3) 串口向外发送数据,BaudRate:19200
新增功能:
	4) 增加一个简历的操作系统OS,具有任务创建,任务切换,消息唤醒,
	5) 版本查询		
	
完成时间:2006年11月23日, 12:24:21

Version : 1.02
环境:
	MCU采用STC(宏晶科技)的STC12LE4052AD,256 RAM,4K Flash,具有串口ISP功能。
	P1_2引脚上外挂一个发光LED,利用三级管驱动;
	P3_5引脚上外挂一个遥控接收头;
	串口接到PC的串口上;
功能:
	1) 去掉中断函数关键字:interrupt,并在进入中断后加入压栈、出栈代码;
	2) 可以采用捕获功能解码遥控按键;
	3) 串口向外发送数据,BaudRate:19200;
	4) 增加一个简历的操作系统OS,具有任务创建,任务切换,消息唤醒,
	5) 版本查询		
新增功能:
	6) 增加OS的功能:任务删除,资源申请、释放,任务的动态新建:
	    测试:从串口发送数据测试,在Task_LED1、Task_LED2、Task_LED3之间相互切换;
	7) 支持时钟延时任务,支持时钟新建、删除,测试:在Task_LED3中测试;

缺陷:  (可能考虑完善的,不准备完善的不提)
	1) 暂时不能在中断处理过程中发送消息;
	2) 由于8051系列MCU的SP指针是8位的,堆栈大小受限,任务数不可太多;
	3) 当前的简易OS最多只能支持16个任务;
	4) 考虑到RAM的限制,任务数与优先级数量相同;
	5) 不可在中断中任务切换;
	6)  ......	
完成时间:2006年11月23日, 15:18:37

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、Task_LED3之间相互切换;
	7) 支持时钟延时任务,支持时钟新建、删除,测试:在Task_LED3中测试;
新增功能:
	8) 在中断中做任务切换;(主要是调整中断时的堆栈结构)
	
缺陷:  (可能考虑完善的,不准备完善的不提)
	1) 串口发送过程中不允许任务切换;
	2) 由于8051系列MCU的SP指针是8位的,堆栈大小受限,任务数不可太多;
	3) 当前的简易OS最多只能支持16个任务;
	4) 考虑到RAM的限制,任务数与优先级数量相同;
	5)  ......	
完成时间:2006年11月24日, 10:19:23

Version : 1.04
环境:
	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、Task_LED3之间相互切换;
	7) 支持时钟延时任务,支持时钟新建、删除,测试:在Task_LED3中测试;
	8) 在中断中做任务切换;(主要是调整中断时的堆栈结构)
新增功能:
	9) 在中断中发消息,但在发消息后,若处于中断中,则在退出中断时进行任务切换;
	
	
缺陷:  (可能考虑完善的,不准备完善的不提)
	1) 串口发送过程中不允许任务切换;
	2) 中断级数只允许一级;(该MCU的RAM空间严重不足,详见堆栈计算部分)
	3) 由于8051系列MCU的SP指针是8位的,堆栈大小受限,任务数不可太多;
	4) 当前的简易OS最多只能支持16个任务;
	5) 考虑到RAM的限制,任务数与优先级数量相同;
	6)  ......	
完成时间:2006年11月24日, 11:36:06

////////////////////////////////////////////////////////////////////////
////walnutcy的个人版简易实时操作系统OS------针对8051系列MCU
////
////堆栈空间计算:
////
////1) 任务切换时堆栈计算:
////	函数调用:(2Bytes*N(层次)+传递的参数总长Byte);
////	寄存器保护:13Bytes;
////2) 中断中作任务切换时的堆栈计算:
////	函数调用:(2Bytes*N(层次)+传递的参数总长Byte);
////	寄存器保护:13Bytes*N+2,其中N为中断级数;
////
////
////
////附录说明:
////	对于我所采有的MCU,我给每个任务分配的堆栈空间仅为35Bytes,
////	当中断级数为1时,所需要的堆栈空间约为13+2+2*N+参数长,
////	当级数超过1时,堆栈很容易溢出,系统不稳定。
////////////////////////////////////////////////////////////////////////
	
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -