[求助] 【求教】基于ARM和DSP双核的程序结构问题

breeze505   2012-6-20 11:29 楼主

我有一个图片压缩算法,想要移植到DSP+ARM(674x核+cortex a8)的平台上。ARM主要用来控制,DSP用来做 图片压缩处理。ARM上跑的是linux系统,DSP上是SYS/BIOS,开发环境是CCS。按我的想法,程序结构是:

(1)DSP和ARM的程序是在同一个main函数里,建立多个线程,线程1用于ARM端写共享buffer,线程2用于DSP 压缩处理;线程3用于ARM端接收压缩数据并组装压缩数据

(2)程序开始,ARM接收图像数据并把其写入共享内存块buf1中,同时DSP挂起等待;

(3)当ARM写完一块数据,SEM1++通知DSP开始取数据并进行压缩(4)DSP读取完buf1数据,SEM1--通知ARM继续向buf1写数据;同时DSP进行压缩,压缩完后数据写入共享内存 块buf2中,SEM2++通知ARM开始取数据 ...循环以上步骤

 

问题:

(1)我的程序结构是否是对的?应该不会是ARM核和DSP核各烧一个程序文件吧?那样的话我不知道怎么通信 。。

(2)最终CCS编译出来的程序是烧到ARM核上还是DSP核上呢?

(3)关于程序里的ARM和DSP双核信号通信,linux和SYS/BIOS的信号写法都不一样,该怎么统一,这是我最弄 不明白的地方...请高手指导...

(4)我目前CCS是在Windows下安装的,这样编译可以吗,还是需要在linux系统下的CCS编译?

 以上有做过的敬请指点下哈~没做过的也可以一起探讨下,感谢~~~

回复评论 (6)

回复 楼主 breeze505 的帖子

可能需要用到TI的dsplink。ARM为主,与DSP之间的通信可以用dsplink的MSGQ模块。

这篇文章可以作为了解。
www.seeddsp.com/jszc/down2.php?id=195
点赞  2012-6-24 21:30

回复 沙发 carrotchen 的帖子

非常感谢您的资料!看了资料,对于上面的问题,我是否可以这样理解:
1.  DSP和ARM的程序是在同一个main函数里,程序结构采用多线程,采用DSPLINK 中的MSGQ等模块通信
2. 最程序是烧到ARM核,DSP端的程序是通过DSPLINK的PROG进行加载
3. 程序的编译环境不是在CCS上,是在Linux系统构建的专门DSPLINK编译平台(这里是命令行编译?)

以上请您再次帮忙指正,感谢!!!
点赞  2012-6-25 09:27

回复 沙发 carrotchen 的帖子

真的非常感谢您的资料!
4. 你那边是否有关于DSPLINK完整的通信程序,如文档中的例程或其他的都可以,如果方便的话,可否发给我份,我的邮箱jinqing_wang@163.com
感谢!!!
点赞  2012-6-25 10:14

回复 板凳 breeze505 的帖子

1. DSP和ARM的代码应该是相对独立的。
2. 可以这么理解。
3. ARM端的代码使用Linux PC下的tool chain来编译;DSP端的代码可以使用Windows下的CCS来编译,或者使用Linux PC下的CGTool编译。两者应该是等价的,但是使用CCS更方便。

合众达的这篇手册对于如何配置环境,安装工具,比较有帮助。
点赞  2012-6-27 18:07

回复 5楼 carrotchen 的帖子

非常感谢你的资料!
按你说的,ARM端和DSP端的程序应该是分别独立的两个程序文件,也分别独立编译成各自的.out,分别各自烧到ARM端和DSP端, 是吧?!
点赞  2012-6-28 09:47
引用: breeze505 发表于 2012-6-28 09:47
非常感谢你的资料!
按你说的,ARM端和DSP端的程序应该是分别独立的两个程序文件,也分别独立编译成各自的 ...

楼主,您的资料还在吗?求发,我也在做双核通信,但是链接过期了。
点赞  2017-7-7 15:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复