在线时间0 小时
UID171978
ST金币0
蝴蝶豆0
注册时间2010-2-23
新手上路
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2010-2-26 16:43:11
|
显示全部楼层
a0a.1 0b0c
RE:cotexM3 tos 多任务系统,几乎100% C,只用了不到10行汇编
CORTEX-M3 TOS 多任务系统 简易手册
By liangzuoyang
QQ:82312369
Mail:liangzuoyang@126.com
1. 项目中添加 tos.a ,且把tos_datatype.h , tos.h 放到你的工程目录
2. 在需要用到tos API 的地方include” tos.h”
3. tos 自身已经接管 PendSV_Handler(),SysTick_Handler()两个中断服务函数,所以代码中勿重复定义.
4. tos 支持消息,事件,时间事件,优先级,得到事件的任务优先得到调度.
5. 例:
#define TASK_MAX_NUM 5 //最大任务数
#define TASK_STACK_SIZE 200 //任务堆栈大小
unsigned int TaskStack[TASK_MAX_NUM][TASK_STACK_SIZE]; Void task1()
{
For(;;){do anything}
}
Void task2()
{
For(;;){do anything}
}
Main()
{
Mcu_init();//MCU 初始化,时钟,uart,等,让MCU 正常跑起来.
_os_init(36000000);//os 初始化,参数是MCU 跑的频率
//建立任务
_os_task_create(&task1, &TaskStack[0][TASK_STACK_SIZE-1], 1);
//建立任务
_os_task_create(&task2, &TaskStack[1][TASK_STACK_SIZE-1], 2);
//开始多任务调度
_os_start();
}
6. 详细应用看例程.
7. tos 需要在IAR 编译器下使用,过段时间也会移到MDK 下.
8. 祝各位老板新春大吉,2010 春节. |
|