📄 版本说明.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 + -