在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 16448|回复: 44

[原创] DSP/BIOS内核的应用程序运行原理

[复制链接]
发表于 2008-7-16 19:32:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 cjsb37 于 2013-4-29 08:59 编辑

dsp/BIOS内核的应用程序中,优先级从低到高有四个线程:
后台线程(IDL)线程;
TSK(任务)线程;
SWI线程(软件中断);
HWI线程(硬件中断);
应用程序从默认进入点_c_int00开始运行,首先完成系统的初始化,包括DSP/BIOS配置中指定的各个寄存器的设置以及PLL倍频时钟的设置等,然后调用main()函数,在main()函数结束返回,调用BIOS_start(),开始按优先级检测并执行HWI,SWI,TSK,当前面所有线程都没有执行时(没有HWI和SWI,有的任务已经完成,而有的被挂起),开始进入IDL_F_LOOP循环,执行后台的IDL线程(LOG模块的信息显示就是在IDL线程中完成的,cpu负荷图的数据也是这时读取并送到PC主机,以便完成图形绘制等)。在IDL_F_LOOP中,若有HWI,则立即暂停IDL,切换到硬件中断服务子程序。当硬件ISR完成后,根据具体情况判定有无SWI或唤醒任务,最后才回到IDL继续运行。
注意,DSP/BIOS内核仍然是个多任务的内核,但并不是一个严格意义上的抢先式内核。除了HWI,其他所有线程都必须自己自动放弃对CPU的控制,以便完成切换。当然,当硬件中断发生后,也会产生线程的切换,这时所有线程都将按优先级重新安排运行,所以从这点讲,DSP/BIOS内核也具有抢先的特点。
在DSP/BIOS内核应用中,用户可以将自己的处理代码(如G723的编码、解码,MP3 解压等)放到硬件中断,软件中断,任务或后台线程中的任何一个线程中调用运行。一般推荐在SWI和TSK中调用。用户可以在DSP/BIOS的配置文件中简单说明这些软件中断或任务(即所谓的静态说明),也可以在运行过程中通过DSP/BIOS内核提供的API函数调用动态创建。
API函数调用几乎都可以使用C或C++语言直接调用。通过这些API,用户可以完成硬件中断的管理,软件中断的启动,任务的切换,各线程之间的同步和数据通信等。





发表于 2008-7-17 12:21:17 | 显示全部楼层
xia look
发表于 2008-7-21 13:21:14 | 显示全部楼层
能更详细些就好了,谢谢
发表于 2008-10-10 21:01:00 | 显示全部楼层
学习了,谢谢
发表于 2008-10-22 15:02:46 | 显示全部楼层
这些观念对初学者的我真是获益匪浅啊
感谢楼主的说明
发表于 2008-12-6 12:11:35 | 显示全部楼层
不错
发表于 2009-9-7 15:49:50 | 显示全部楼层

不错了

虽然不详细,
至少让我了解了一些
发表于 2009-9-11 11:10:59 | 显示全部楼层
要想深入了解,还是得看TI的文档,那里面写的非常的详细。
发表于 2009-9-12 10:00:01 | 显示全部楼层
散客游
发表于 2009-9-16 17:06:58 | 显示全部楼层

thank you

还没入门,看看有个准备
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 00:51 , Processed in 0.043094 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表