嵌入式开发者社区

标题: OMAPL138的arm端运行linux,dsp运行sys/bios,使用ipc,sys/link通信... [打印本页]

作者: kevinjoyo    时间: 2017-4-27 11:39
标题: OMAPL138的arm端运行linux,dsp运行sys/bios,使用ipc,sys/link通信...
OMAPL138的arm端运行linux,dsp运行sys/bios,使用ipc,sys/link通信,dsp可以访问arm端的内存空间吗?Arm程序定义一个比较大的缓存(20MB以上)接收pc下传的数据,将此缓存的地址,通过ipc、syslink的消息传输给dsp,DSP可以使用什么方法来访问Arm端的地址空间。由于DSP需要实时40us间隔随机访问该缓存,通过MessageQ等方式无法保证,希望能直接访问Arm内存直接提取所需要的数据。! z' j+ K9 P( y/ |9 L* m  ], g

作者: human    时间: 2017-4-27 18:45
共享内存
作者: kevinjoyo    时间: 2017-5-4 09:13
怎么使用
作者: human    时间: 2017-5-6 19:01
参考我们的双核通信例程就行,有很多
$ _# S( ?: r% n  h$ {0 {( f- X$ T[attach]2303[/attach]
作者: kevinjoyo    时间: 2017-5-9 16:44
这些例程我都看过了,他们都不需要实时性要求,同时数据也比较少。我们需要20MB以上的数据(尽可能大,如50MB以上),40us中断间隔(尽可能小,如20us),因为存在随机访问buf数据的问题,所以需要快速访问,使用notify、msgQ传输特定数据基本不靠谱,所以数据需要存到dsp,但是dsp端分配的内存空间比较少,无法存下太多数据。如果能够使用share region的SharedRegion_setEntry()动态添加方式也可以,但是没有找到相关例子,都是在cfg文件静态添加的。第二种方式使用ProcMgr_write/ProcMgr_read,但是看到只能操作dsp端,不知道可不可以操作arm端。
作者: samuel461    时间: 2018-6-19 11:26
您好,想问一下您的在DSP上开大内存,修改config.bld的问题解决了吗?$ T8 i& P/ G+ m( t  \  t% v

作者: 15901123858    时间: 2018-7-6 08:33
kevinjoyo 发表于 2017-5-9 16:44
* L8 f3 o. ]( ?$ d. i这些例程我都看过了,他们都不需要实时性要求,同时数据也比较少。我们需要20MB以上的数据(尽可能大,如50 ...
2 }% u  ~6 C. {4 z
你可以试试修改工程shared文件价下面的config.bld文件:
  F& {: b" s- X, ?4 U2 i: R/*  Memory Map for ti.platforms.evmOMAPL138
$ H5 s& K' S8 \: x. Q! q. e *
" p3 N! t1 V; o! Y# k. d& l& o *  C000_0000 - C7FF_FFFF   800_0000  ( 128 MB) External Memory
5 z- ?' ^9 L3 g7 n *  ------------------------------------------------------------------------
$ p$ z5 O; r7 c3 a1 c% A" Y9 T2 C1 v0 A *  C000_0000 - C1FF_FFFF   200_0000  (  32 MB) Linux
8 C/ c$ G! b- j- i5 L *  C200_0000 - C200_FFFF     1_0000  (  64 KB) SR_0 (ipc)
- m0 ]% P! C+ M+ q4 t( U% s; H/ Q( X *  C201_0000 - C2FF_FFFF    FF_0000  ( ~15 MB) SR_1 (program shared region)5 T! Q8 S* z3 P! s. T2 n; P; ~& T
*  C300_0000 - C37F_FFFF    80_0000  (   8 MB) DSP_PROG (code, data)+ Y. E7 N& i  x; \6 T
*  C380_0000 - C3FF_FFFF    80_0000  (   8 MB) --------2 l- t% t% ]2 j" w  t( ?
*  C400_0000 - C7FF_FFFF   400_0000  (  64 MB) Linux5 f  D5 |! |3 n8 _
*/
  z- f- q, L8 O9 V2 U0 ?/ Z
& z; h1 ]' U3 W' Q6 xSR_1就为共享内存的大小,默认为15MB。按照需求改就行,但是后面的DSP端和ARM端也都要做对应修改。咱们做的项目类型,有机会多多交流。




欢迎光临 嵌入式开发者社区 (https://51ele.net/) Powered by Discuz! X3.4