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

📄 ˵

📁 单片机C51语言的Mini X 嵌入式操作系统
💻
字号:
感谢各位参与本内核的测试.
由于本人水平有限,C代码暂时还无法实现移植功能,所以暂时未公开原代码,
请见量.

如果各位发现该内核有缺陷,或者不足.请各位直言,我诚恳地接受各位的教诲.
在此本人作出声明:
    本内核竟未测试版本,版本号V0.01B
    该内核可供各位免费使用,但不得用于商业用途.
    如果你想将其用在商业用途,请与本人联系.否则出现的一切后果本人绝不
负责.


内核描述:
    该内核暂时取名Mini X
    该内核目前只支持任务调度
    内核C长度不超过300行,汇编长度不超过120行
    编译内核代码长度为1010
    支持优先级 255个 ,最低优先级为空闲任务
    支持任务时间片轮延时
    只提供4个任务函数

    建立线程      OS_CREATE_TASK
    线程延时      OS_TASK_DLY
    读线程状态    OS_GET_READY
    设置线程状态  OS_SET_READY

    空闲任务由用户自行编写(必须编写),并且必须为最低优先级(0xff)
    用户可以让空闲线程进入低功耗或者作统计
    用户最多可以建立255条线程,用户线程必须为闭环函数.

    目前还处于测试和整理阶段,暂时还只基于8051
    使用的开发环境为KEIL 7




以下是内核文件说明:
   MINIX.H       内核头文件,里面包含相关内核设置.
   MINIX.LIB     内核库文件.
   MINIX_CP.C    内核时间片轮函数

   userc.c       用户函数,该文件里面包含简单的应用例子.

以下对内核函数进行说明:
void OS_SAVE_SYSTEM(void);                  //保存系统积存器函数(属于系统函数,用户可不与理会)
void OS_RESTORE_SYSTEM(void);               //恢复系统积存器函数(属于系统函数,用户可不与理会)

unsigned char OS_TASK_SELECT(void);         //线程选择器(属于系统函数,用户可不与理会)

void OS_TASK_DLY(unsigned char times);      //线程延时程序(属于用户函数,用于设置当前线程的等待时
                                                           钟片轮的等待时间数量)

unsigned char OS_GET_TASK_ID(void (*task));    //获取线程ID(属于用户函数,用于获取指定线程的ID,暂
                                                            时意义不大)

void OS_SET_READY(void (*task),unsigned char key);//设置READY位(属于用户函数,用于设置线程的活动状
                                                               态,KEY未1线程激活,KEY未0线程运作关
                                                               闭)

unsigned char OS_GET_READY(void (*task));   //获取线程READY状态(属于用户函数,读取线程状态,如果读
                                                                出为1表示线程处于激活状态,如果为
                                                                0线程处于停止状态)

void OS_START_TICK(void);                   //开时钟(属于用户函数,不过由系统调用.用户可以通过修
                                                     改MINIX_CP.C文件进行修改)
void OS_RESTORE_TICK(void);                 //恢复时钟(属于用户函数,不过由系统调用.用户可以通过修
                                                     改MINIX_CP.C文件进行修改)


//构造函数声明(用户函数,用于建立线程)
void OS_CREATE_TASK(
                    void *task,                  //线程入口地址,线程函数的物理地址
                    unsigned char task_ready,    //线程状态,设置线程状态1为激活0为停止
		    unsigned char task_pri,      //线程优先级,0~255,0为最高优先级,255最低并保留给
                                                   空闲任务
	            unsigned char task_sp_bot    //线程堆栈底部,设置线程的堆栈位置,该参数占用内存
                                                   资源,并且该线程要与上一条线程与下一条线程保持
                                                   一定的距离,因为线程工作时会对其进行入栈出栈工作
                                                    和保存线程CPU积存器工作,设置时需要要慎重考虑.
		   );

⌨️ 快捷键说明

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