对于什么样的应用程序,我可以使用beagleboard的dsp核心?我可以将DSP加速用于背景减法算法吗?

Vib*_*mar 5 opencv signal-processing beagleboard background-subtraction

对于什么样的应用程序,我可以使用beagleboard的dsp核心?我可以在OpenCV中将DSP加速用于背景减法算法吗?

Nil*_*nck 6

您可以将DSP用于各种计算.它是针对DSP应用而优化的通用CPU.所以是的,即使浮点数也会起作用,尽管性能不会很好.

如果对大型数据阵列进行整数计算,DSP确实很有用.在这里,DSP可以轻松地计算得如此之快,以至于从内存传输数据到内存的时间成为瓶颈.

为了给出一个可能的数字:我有一个算法运行,后处理来自摄像机的数据(进行拜耳解交织).我有8位输入图像和24位输出图像.我在以350Mhz运行的beagleboard DSP上存档的性能是每秒1.44亿像素.这相当于每秒大约半千兆字节的处理数据.

让DSP运行并运行并编译一个hello world程序并不简单.您必须集成DSP内核驱动程序(我使用DSPLINK).您必须学习如何使用(巨大的)DSP/ARM互操作库,如何使用工具链只是为了一个简单的hello世界.至少计划两周.

一旦这个工作,真正的工作开始于学习如何编写DSP的快速代码,如何管理内部存储器,DMA,中断和所有这些东西.

最后它是值得的,因为你解锁了一个令人难以置信的快速DSP,如果分配了正确的工作,它可以轻松胜过Cortex-A8.最重要的是,您可以访问图像协处理器,这使您可以进一步卸载计算.然后有一个完整的ARM9 CPU紧密耦合到DSP,它处于空闲状态并等待使用.