DSPLINk channel组件与message组件的小结

关于dsplink channel组件与message组件的小结:

 1、对于GPP端(arm/linux)来说:

    初始化的三步曲都是一样的,proc_setup()、proc_attach()、pool_open(),使用channel组件时,发送和接收需要创建两条channel通道,为发送到DSP分配channel缓冲,然后调用proc_load()。对于message来说,向DSP发送数据和从DSP接收数据初始化是不同的,向DSP发送数据就打开远程传输msgq_transportopen()(在发送时也需要对DSP消息队列进行定位,这个动作放到发送执行函数时进行),从DSP端接收数据初始化需要先打开GPP消息队列msgq_open(),再打开远程传输msgq_transportopen,定位DSP消息队列。

    执行时message的接收和发送都比较简单,用msgq_get()就可以接收消息了,接收完后调用msgq_free()释放,发送则直接调用msgq_put()就可以了,最后结束释放远程传输消息队列msgq_release(),关闭远程传输msgq_transportclose(),让DSP停止,关闭GPP消息队列,关闭缓冲区pool_close(),与处理器分离proc_detach(),最后释放PROC组件proc_destroy()。

    执行时channel的发送和接收都使用chnl_issue()函数,只是传递的方向不同,发送和接收结束后都需要使用chnl_reclaim回收缓冲区,同样也是方向不同。当然,如果要发送数据,则应初始化缓冲数据。结束时释放channel缓冲chnl_freebuffer(),删除cannel通道chnl_delete(),由于发送和接收使用不同的channel,所以在结束时要删除输入和输出channel。最后调用pool_close,proc_detach,proc_destroy。

  2、对于DSP端来说

    DSP有两种模式,一是软件中断模式,一是任务模式。

    message

    1)SWI模式:打开pool,分配结构体,创建软件中断函数,在软件中断函数中接收message,创建消息队列,打开消息队列,提交软件中断。

      2)TSK模式:初始化DSPlink,打开pool,打开message传输端口,分配结构体,初始化信号量,创建消息队列,同步定位,由wirte端分配一个消息,获取消息ID,从消息中提取应答目的地,接收和发送消息。结束时释放message,关闭message,释放消息结构。

     channel

    1)SWI模式:打开pool,动态创建IOM驱动,动态创建DIO适配器,打开消息传输口,分配结构体,建立channel句柄,创建中断函数,提交读取和写数据请求,为输入输出分配缓冲区。

    2)TSK模式:初始化DSPlink,打开pool,动态创建IOM驱动,动态创建DIO适配器,分配结构体,创建输入输出流,然后向数据流中发送数据,向数据流请求数据。结束时删除输入流和输出流,释放pool,删除消息数据结构。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DSP(数字信号处理器)是一种专用微处理器,用于处理数字信号。1553BRT(双脚跳跃调制编码)是一种用于数据传输和通信的标准。 要在DSP中读取1553BRT地址,首先需要了解DSP和1553BRT之间的接口。通常,在DSPLink的支持下,DSP可以与主机系统进行通信。这种连接通常使用一种称为DSPLink的软件库或框架,该库提供了一个接口,通过该接口可以在DSP和主机之间进行数据传输。 为了读取或访问1553BRT地址,需要执行以下步骤: 1. 首先,将DSP与主机系统通过DSPLink进行连接。这涉及设置一个通信通道或链接,以便DSP和主机可以互相通信。 2. 在主机系统中创建一个用于访问1553BRT地址的软件模块。这个模块应该包含用于与DSP通信的代码。 3. DSP端需要编写相应的代码,以便在DSP上实现1553BRT地址的读取。这涉及使用DSPLink中提供的API来建立与主机系统的通信,并接收主机系统发送的读取请求。 4. 在主机系统上,通过调用相应的函数或方法,将读取请求发送到DSP上。该请求应包含1553BRT地址的信息。 5. DSP接收到读取请求后,执行相应的操作来读取1553BRT地址。这可能涉及到DSP的特定寄存器或内存区域的读取操作。 6. 一旦DSP读取了1553BRT地址,它可以将结果发送回主机系统,以便主机系统可以进一步处理或显示。 需要注意的是,具体的实现步骤可能因DSPDSPLink库的不同而有所不同。此外,还需要考虑DSP和主机系统之间的通信协议和数据格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值