Home
Softono
fftask

fftask

Open source C
13
Stars
11
Forks
0
Issues
2
Watchers
7 years
Last Commit

About fftask

a simple rtos.

Platforms

Web Self-hosted

Languages

C

Links

+------------------------------+ 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