2788|0

6931

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

DSP/BIOS——任务管理 [复制链接]

TSK任务管理模块
TSK模块中提供一系列函数,这些函数通过TSK_Handle句柄访问和管理任务对象。DSP/BIOS的任务管理模块根据任务对象的优先级安排运行,并通过切换函数完成从一项任务切换到另一项任务。


每个任务都有四个执行状态:运行(run)、就绪(ready)、暂停(blocked)和终止。一旦任务被创建,它总是处在四个状态之一。


在DSP/BIOS还可定义一个或多个钩子函数,无论什么时候,这些任务状态发生状态改变时,这些钩子函数就会运行。


另外,用户还可以定义一个切换函数,当新任务变成运行态时会调用该切换函数 。切换函数允许应用程序在任务转换间访问当前和下一个任务对象句柄。


TSK模块API函数:


TSK_checkstatcks:检查任务堆栈


TSK_create:新建一个任务


TSK_delete:删除任务


TSK_deltatime:更新的任务时间统计参数


TSK_disable:禁止DSP/BIOS 内核进行任务管理调度


TSK_enable : 允许DSP/BIOS 内核进行任务管理调度


TSK_exit:终止当前任务的运行


TSK_getnv:返回任务的环境变量


TSK_geterr:返回任务错误代码


TSK_getname:返回任务的名字


TSK_getpri:返回任务的优先级


TSK_getsts:从STS模块中返回任务的统计结果


TSK_itick:系统告警时钟加1(仅用于中断)


TSK_self:返回当前任务的句柄


TSK_setnv:设置任务的环境变量


TSK_seterr:设置任务的错误代码


TSK_setpri:设置任务的优先级


TSK_settime:设置任务统计的起始时间


TSK_sleep:延迟当前任务的执行


TSK_stat:返回任务的状态参数


TSK_tick:系统告警时钟加1


TSK_time:返回任务的系统时钟


TSK_yield:切换到下一个任务


2.HOOK钩子函数管理模块


   HOOK模块是对任务管理模块的延伸,使我们在重要的执行点上执行多重的钩子函数。每个钩子对象都有一个为每个使用该钩子函数的任务保留的专用数据区。钩子函数可在程序初始化时或在任务函数运行时调用。


  HOOK模块管理着一组涉及钩子函数的对象。在DSP/BIOS初始化期间,每个HOOK对象都分配了一个数字标识符。每个HOOK模块都有一个初始化函数,该函数会在钩子函数调用前运行。在调用初始化函数时,DSP/BOIS内核把HOOK对象的标识符以参数形式传给初始化函数。


3.IDL模块——DSP/BIOS的后台管理,最低等级的线程,IDL模块执行DSP/BIOS 的API函数,DSP/BIOS内核真是利用这些函数来处理与主机通信和CPU负载计算。


   IDL模块只提供了一个API函数:


   IDL_run:将一次执行IDL模块定义的所有IDL函数,该函数在所有IDL函数执行一次后返回。

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

猜你喜欢
随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
ADI &文晔 探索季第一站,邀您在活动帖跟帖,ADI资深工程师将与您一道寻求解决之道! ...
春晚,最出圈当属穿着棉马甲跳秧歌的机器人”秧Bot”。
转手绢、飞手绢、变换队形,精准度和稳定性甚至超越人类,这背后少不了电机控制技术。

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表