嵌入式实时抢占操作系统PT(preemption thread)RTOS——任务设计(3)
2014-09-10 16:04
399 查看
任务,即线程,是PT RTOS操作的最小单位,主要分为以下2部分
(1)静态调用
统一由编译器分配空间,最后不能释放,该方式适合线程从开始到最后一直运行,例如,电池电压监视器,从开始一直到没电都需要监控,不会删除该进程
(2)动态申请
在程序运行中,创建线程,从系统的堆中分配相应的空间,然后运行。该方式适合有始有终的线程,例如,PDA,点击某一应用-文档浏览器,然后系统从堆中创建该线程,关掉文档浏览器,资源重新返回到堆中
静态API
/*> pt task function definition */
(1)extern pt_err_t PTTaskInit(pt_tcb_t
*p,
const char
*name,
void (*taskentry)(void *para),
void *para,
pt_uint8_t prio,
pt_stk_t
*stackstart,
pt_uint16_t
stackSize,
pt_tick_t
everytick);
(2)extern pt_err_t PTTaskDelete(pt_tcb_t
*p);
(3)extern void PTTaskStartUp(pt_tcb_t *p);
动态API
略,目前无完成
(1)静态调用
统一由编译器分配空间,最后不能释放,该方式适合线程从开始到最后一直运行,例如,电池电压监视器,从开始一直到没电都需要监控,不会删除该进程
(2)动态申请
在程序运行中,创建线程,从系统的堆中分配相应的空间,然后运行。该方式适合有始有终的线程,例如,PDA,点击某一应用-文档浏览器,然后系统从堆中创建该线程,关掉文档浏览器,资源重新返回到堆中
静态API
/*> pt task function definition */
(1)extern pt_err_t PTTaskInit(pt_tcb_t
*p,
const char
*name,
void (*taskentry)(void *para),
void *para,
pt_uint8_t prio,
pt_stk_t
*stackstart,
pt_uint16_t
stackSize,
pt_tick_t
everytick);
(2)extern pt_err_t PTTaskDelete(pt_tcb_t
*p);
(3)extern void PTTaskStartUp(pt_tcb_t *p);
动态API
略,目前无完成
相关文章推荐
- 嵌入式实时抢占操作系统PT(preemption thread)RTOS——任务状态和任务控制块(2)
- RT-Thread创始人熊谱翔: 我和Linux、嵌入式实时操作系统RT-Thread
- 嵌入式实时操作系统设计
- Linux嵌入式实时操作系统开发与设计(九)
- [连载]嵌入式实时操作系统TINIUX设计与实现 - 启航
- Linux嵌入式实时操作系统开发与设计(十)
- [连载]嵌入式实时操作系统TINIUX设计与实现 – 准备
- (嵌入式 实时操作系统 rtos nuttx 7.1 stm32 源代码分析)
- Linux嵌入式实时操作系统开发与设计(二)
- Linux嵌入式实时操作系统开发与设计(六)
- Linux嵌入式实时操作系统开发与设计(八)
- Linux嵌入式实时操作系统开发与设计(三)
- 嵌入式实时操作系统μC/OS-||原理及应用学习4----任务的同步与通信
- 实时操作系统的任务调度示例之抢占
- RTOS实时操作系统学习笔记之qnx嵌入式系统qnx系统
- Linux嵌入式实时操作系统开发与设计(四)
- 嵌入式实时操作系统μC/OS-||原理及应用学习2---任务
- 嵌入式实时操作系统(RTOS)专题讨论:unlinux,ucOS,VxWorks,ThreadX,Nucleus,eCos,FreeRTOS,uPos...
- Linux嵌入式实时操作系统开发与设计(一)
- Linux嵌入式实时操作系统开发与设计(七)