学习新体验-itron

ITRON(Industrial the Real-Time Operation System  Nucleus,工业实时操作系统中心)

地址:https://blog.csdn.net/u013286409/article/details/48342749

完整文档地址:https://wenku.baidu.com/view/d6a4c3300b4c2e3f572763c4.html

ITRON系统主要由内核、接口库、辅助工具这三个基本子系统组成

辅助工具:包括编译工具、Task Debuger等

TASK相关:

任务的应用
创建任务
在Itron系统中创建任务存在两种方式,一种方式是静态注册任务;另一种方法是动态的创建任务。动态创建任务主要通过cre_tsk调用来实现的。
激活任务
Itron系统中,初始创建的任务的状态是Dormant状态,这个时候任务还处于系统无法调度的状态,所以必须激活任务,激活任务的系统调用是sta_tsk,作用就是将指定任务由Dormant状态迁移到Ready状态。
终止任务
在Itron系统中如果需要实现将任务由ready state, run state, wait state, suspend state, wait-suspend state迁移到Dormant状态的话,需要通过下面两种方式实现,正常终止和强制终止。正常终止是任务自身主动放弃系统的使用权。
强制终止是任务自身出现错误,无法自主释放系统使用权,这个时候只能通过其他任务来完成对本任务使用权的剥夺。
实现任务终止的系统调用主要有下面三个:
ext_tsk system call
The task that issued the ext_tsk system call is switched from the run state to the dormant state.
exd_tsk system call
The task that issued the exd_tsk system call is switched from the run state to the non-existent state.
ter_tsk system call
The task specified by the parameters is forcibly switched to the dormant state.
删除任务
实现任务状态从Run或者Dormant状态切换到nonexistent状态,实现这个功能主要通过下面两个调用来完成的。
exd_tsk system call
The task that issued the exd_tsk system call is switched from the run state to the non-existent state.
del_tsk system call
The task specified by the parameters is switched from the dormant state to the non-existent state.

扫描二维码关注公众号,回复: 4925651 查看本文章

EVENT FLAG

为任务之间的等待提供了场所,

ITRON系统中,一个Event Flag是ITRON工作区中的一个32 位的变量。32 位中的每一位都是表示一个事件标志,事件标志有两种状态,设置(1)和清除(0)。当一个标志处于设置状态时,表示相关的事件已经发生了,任务和ISRs 可以使用事件标志来向其他任务发送信号, 表示事件已发生。

MAIL BOX

为了实现任务之间的通信功能,并且邮箱包含有多任务应用的等待队列和邮箱专用的信息等待队列,除了任务之间的通信功能使用,也作为任务之间的协作功能使用。

semaphore

ITRON系统中提供了非负计数器-Semaphore,由管理资源个数的计数器进行资源使用得调配。

内存申请

Itron系统中存在三种方式来实现内存的申请,get_blk, pget_blk,和 tget_blk,这三种调用的使用方式如下:

get_blk:申请指定大小的内存块,如果申请失败,任务状态将迁移到等待状态,直到有满足任务使用的内存被释放。

pget_blk:申请指定大小的内存块,如果申请成功,任务保持执行状态,如果失败,系统也不进行等待,直接运行其他指令。

tget_blk:如果没有申请到制订大小的内存,任务将等待指定的时间,之后迁移到Ready状态。

猜你喜欢

转载自blog.csdn.net/weixin_41864235/article/details/86488138