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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[原创] dsp bios初步的帖子[转载]

[复制链接]
发表于 2006-8-28 17:27:08 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 cjsb37 于 2013-4-29 09:02 编辑

在21ic的对头论坛发的,快找不着了也没人会,只好提这来. dsp bios使用的1点心得 我是用c55的dsp bios做1个项目,在这之前没用过任何1种rtos, 所以对dsp bios也只是用点皮毛。 1.ti的dsp bios可以动态产生任务,使用TSK_create,不过ti的文档说, 动态产生的代码,比静态产生的要大至少1倍。所以,1般都通过ccs的 cdb配置工具来声明1个任务。按我的理解,基本上所有ccs提供的资源, 比如mailbox,que等,都跟task类似,静态代码量远小于动态生成的, 所以应该尽量使用cdb。 2。每个任务都是1个TSK_obj型的数据类型,必须将这个任务跟某个函数 对应,这个函数其实内部就是1个死循环,等待消息或信号量执行相应的 处理,如果没等到消息,就被bios内核自动挂起。比如你的这个任务的c函数 是void tsk_proc_a(void),那么在cdb的相应位置填上_tsk_proc_a即可(注意 前面的下划线)。 3。消息传递机制我使用了邮箱和信号量。邮箱做消息队列的主要好处是可以 多个任务向1个消息队列发消息驱动同1个任务。信号量可以用来做任务驱动, 也可以用来实现资源的互斥,唯一的区别是初始值是0还是1。邮箱和信号量 都可以在cdb中定义,使用前必须在用户程序声明为extern MBX_obj和 extern QUE_obj。邮箱在cdb中设置是需要设2个参数,消息宽度,和队列长度。 4。que是dsp bios提供的1个数据结构,我总觉得不是rtos的组成部分。使用 que来做缓冲区管理的确很方便,以后在讲。我不是软件科班出身,对1些常用 的数据结构不了解,看来真得恶补1下。 5。dsp bios得中断管理我认为是这个rtos的1个大缺点(或许我理解有误)。所有 的中断都由dsp bios内核来管理,1有中断则进入调度内核去查询,中断处理程序 其实是bios内核调用的1个回调函数。这个处理方式尽管很方便,但是对有些对 时间要求特别critical的中断,并不合适---因为每次中断都要先进入内核,执行 好几百条指令。中断其实在bios中就是优先级最高的任务,个人是这么感觉的。 6。如果只是把这个rtos用起来,其实很简单的,新手在做的时候可以先看看ti的例子, 然后立即开干,边做边看ti的文档。 举个例子.. extern MBX_obj mbx1,mbx2; #define MSG_START 100 #define MSG_STOP 200 #define MSG_NULL 0 void tsk_proc(void)//任务处理模块,接收消息并处理 { Uint16 msg; whie(1) { MBX_pend(&mbx1,&msg,SYS_FOREVER); //如果消息队列空,则此任务交出控制权。最后1个参数是设置超时tick数,这里1直死等 if( msg== MSG_START ) { //add code } else if(msg==MSG_STOP) { //add code } } } void pcm_isr(void) //中断处理函数,每1定数量的数据采样dma中断1次 { //add code,处理dma设置 MBX_post( &mbx1, MSG_START,0); //最后1个参数是超时tick,这里0表示如果邮箱满则不等待邮箱释放,立即返回 } void main_ctrl(void) { while(1) { //add code ,接受并解析上位机的命令 switch( cmd ) { .......... case 1000://主机命令,停止工作 MBX_post(&mbx1, MSG_STOP,0); } } } tsk_proc和main_ctrl是cdb中定义的任务处理函数,mbx1是邮箱队列。 cdb中定义tsk要定义优先级,数字越大越优先。bios自带的idle任务是 0优先级。 这个帖子是在家里凭记忆写的,有些函数和数据原型不一定正确,请自行查证。





发表于 2009-9-7 15:41:11 | 显示全部楼层

我看看

学习学习
发表于 2009-9-16 16:57:38 | 显示全部楼层

看着累

不美观啦大哥,再怎么的格式还是要调一下吧.谢谢.
发表于 2009-9-20 00:45:11 | 显示全部楼层
还没到那层次,看得不太懂
发表于 2011-3-8 19:35:16 | 显示全部楼层
是转载的阿,目前看来大部分还是正确的
发表于 2011-3-20 03:39:25 | 显示全部楼层
格式还是要调一下吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 13:35 , Processed in 0.023703 second(s), 10 queries , Gzip On, Redis On.

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