基础类的DSP/BIOS API调用

本文详细介绍了DSP/BIOS的基础API调用,包括时钟管理(CLK)、周期函数(PRD)、软件中断(SWI)和任务管理(TSK)等方面。通过这些API,可以实现对系统时钟的精确控制,管理周期函数执行,处理软件中断,以及创建和管理任务。此外,还提到了统计模块(STS)和特定于C6000的模块,如C64x中断管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础类的DSP/BIOS API调用
 


一、时钟管理CLK
(1)Uns ncounts   = CLK_countspms(void)
  返回每毫秒的定时器高分辨率时钟的计数值 
(2)LgUns currtime = CLK_gethtime(void)
  返回高分辨率时钟的计数值 超过32bit归零
  高分辨率时钟是DSP时钟除以(TDDR+1)
(3)LgUns currtime = CLK_getltime(void)
  返回低分辨率时钟的计数值 超过32bit归零
  高分辨率时钟是DSP时钟除以(TDDR+1)再除以(PRD+1) 
(4)Uns period   = CLK_getprd(void)
  返回CLK管理器周期寄存器的值
  sp; 基础类的DSPBIOS API调
二、周期函数PRD
(1)LgUns num   = PRD_getticks(void)
  返回32位周期函数管理计数值 
(2)void PRD_start(PRD_Obj* period)
  启动PRD模块计数器,一般地,mode=one-shot
(3)void PRD_stop(PRD_Obj* period)
  关闭PRD模块计数器
(4)void PRD_tick(void)
  对周期模块的计数器加1,以便周期模块管理器确定哪个周期性函数得以运行 
  
三、软件中断管理SWI
(1)void SWI_andn(SWI_Obj* swi, Uns mask)  mask 屏蔽字参数
  将邮箱值与mask做与运算,并用结果代替以前的邮箱值,若为0,启动软件中断,恢复邮箱初始值
(2)void SWI_andn(SWI_Obj* swi)
  将邮箱值减1,并用结果代替以前的邮箱值,若为0,启动软件中断,恢复邮箱初始值
(3)void SWI_disable(Void)
  禁止软件中断
(4)void SWI_enable(Void)
  使能软件中断
(5)Uns num = SWI_getmbox(void)
  返回当前SWI对象在被执行的邮箱值,若中断已经开始执行,DSP/BIOS会先保存此值
(6)Uns key = SWI_getpri(SWI_Obj * swi)
  返回指定的SWI对象的优先级
(7)void SWI_inc(SWI_Obj * swi)
  将指定的SWI对象的邮箱值加1,同时启动软件中断,就算用户调用多次,最终执行一次。
(8)void SWI_or(SWI_Obj* swi, Uns mask)  mask 屏蔽字参数
  将启动指定的软件中断,并将此软件中断的邮箱值与mask做与运算,并用结果代替以前的邮箱值,
  等到中断完成之后,邮箱值恢复为初始值,一般地,调用SWI_getmbox获得触发此软件中断的邮箱值
(9)void SWI_post(SWI_Handle swi)
  启动指定的SWI对象的软件中断,此函数不受邮箱值的影响,也不影响邮箱值。
  一般地,周期性低启动一个软件中断,将_SWI_post填入PRD对象的函数设置栏,启动软件中断的参数写入arg0
(10)Uns key = SWI_raisepri(Uns mask)
  提高SWI软件中断的优先级,一般地sp; 基础类的DSPBIOS API调
  key = SWI_raisepri(SWI_getpri(&swi_1));
  --access shared resouces--
  SWI_restorepri(key)
(11)void SWI_restorepri(Uns key)
  恢复原来的优先级
(12)SWI_Obj * swi = SWI_self(void)
  当前执行的SWI对象的软件中断的地址
  
四、信息输出管理LOG 
(1)void LOG_disable(LOG_Obj * log)
  关闭指定对向的日志功能
(2)void LOG_enable(LOG_Obj * log)
  开启指定对向的日志功能
(3)void LOG_error(String format, Arg arg0)
  void LOG_message(String format, Arg arg0)   
  前一个函数可以将一个事件、数据或出错信息按照指定的格式串写入系统日志,不受TRC跟踪管理模块的影响
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值