Skip to content

rockcarry/fftask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

+------------------------------+
 fftask 是一个简单的 rtos 实现 
+------------------------------+

功能说明
--------

总共代码 700 多行,实现了如下功能:


1. 无优先级的多任务调度
2. 无任务个数限制
3. 时间片轮转调度
4. 内置空闲任务,无可调度任务时会执行它
5. 任务休眠、挂起、恢复、等待、取结束码等操作
6. 互斥体对象
7. 信号量对象


目前是在 dos 平台上开发的,在 winxp 下可以调试运行。需要使用到 tc-2.01 编译器。
(tc-2.01 下载地址 https://github.com/rockcarry/tools)


应该可以很容易的移植到其他平台。


调试的时候 dos 平台上,dos 中断是不可重入的,这就导致很多 c 标准库的函数,会存
在重入问题。比如说 printf 的实现,就是用到了 dos 的中断,因此不可重入。简单说,
就是在多个线程中同时调用 printf,程序是会崩溃的。这个问题可以通过 mutex 加锁来
解决,可参考 test.c 的代码。

目前只是造了个简单的轮子,只能作为研究和学习的“玩具”,请不要用到实际项目中。
出了问题,赔钱不要找我,谢谢。


+---------+
 编译方法 
+---------+
需要正确安装 tc-2.01 编译器,然后双击执行 build.bat


---------
rockcarry
2018-6-25



Releases

No releases published

Packages

No packages published