OMAPL138的arm端运行linux,dsp运行sys/bios,使用ipc,sys/link通信... - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9849|回复: 6
打印 上一主题 下一主题

[已解决] OMAPL138的arm端运行linux,dsp运行sys/bios,使用ipc,sys/link通信...

[复制链接]

9

主题

35

帖子

155

积分

注册会员

Rank: 2

积分
155
跳转到指定楼层
楼主
发表于 2017-4-27 11:39:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
OMAPL138的arm端运行linux,dsp运行sys/bios,使用ipc,sys/link通信,dsp可以访问arm端的内存空间吗?Arm程序定义一个比较大的缓存(20MB以上)接收pc下传的数据,将此缓存的地址,通过ipc、syslink的消息传输给dsp,DSP可以使用什么方法来访问Arm端的地址空间。由于DSP需要实时40us间隔随机访问该缓存,通过MessageQ等方式无法保证,希望能直接访问Arm内存直接提取所需要的数据。7 H) S  L5 a4 A" E7 B
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
沙发
发表于 2017-4-27 18:45:52 | 只看该作者
共享内存
回复

使用道具 举报

9

主题

35

帖子

155

积分

注册会员

Rank: 2

积分
155
板凳
 楼主| 发表于 2017-5-4 09:13:14 | 只看该作者
怎么使用
回复

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
地板
发表于 2017-5-6 19:01:08 | 只看该作者
参考我们的双核通信例程就行,有很多; Z/ x# |3 G" |  s  X1 x

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

9

主题

35

帖子

155

积分

注册会员

Rank: 2

积分
155
5#
 楼主| 发表于 2017-5-9 16:44:11 | 只看该作者
这些例程我都看过了,他们都不需要实时性要求,同时数据也比较少。我们需要20MB以上的数据(尽可能大,如50MB以上),40us中断间隔(尽可能小,如20us),因为存在随机访问buf数据的问题,所以需要快速访问,使用notify、msgQ传输特定数据基本不靠谱,所以数据需要存到dsp,但是dsp端分配的内存空间比较少,无法存下太多数据。如果能够使用share region的SharedRegion_setEntry()动态添加方式也可以,但是没有找到相关例子,都是在cfg文件静态添加的。第二种方式使用ProcMgr_write/ProcMgr_read,但是看到只能操作dsp端,不知道可不可以操作arm端。
回复 支持 反对

使用道具 举报

0

主题

4

帖子

43

积分

新手上路

Rank: 1

积分
43
6#
发表于 2018-6-19 11:26:19 | 只看该作者
您好,想问一下您的在DSP上开大内存,修改config.bld的问题解决了吗?
6 _  h+ N5 G9 L: ~. B9 E5 a+ P
回复 支持 反对

使用道具 举报

8

主题

31

帖子

160

积分

注册会员

Rank: 2

积分
160
7#
发表于 2018-7-6 08:33:37 | 只看该作者
kevinjoyo 发表于 2017-5-9 16:44' M! I, y/ |: f# Q# r1 n
这些例程我都看过了,他们都不需要实时性要求,同时数据也比较少。我们需要20MB以上的数据(尽可能大,如50 ...
. M2 W, P2 ?  H3 S1 D
你可以试试修改工程shared文件价下面的config.bld文件:
& C8 Q9 E, k3 o! J  \5 x/*  Memory Map for ti.platforms.evmOMAPL138- ~: k% P+ b3 j+ t$ L
*
; C: y( f4 G/ ?( q8 V3 i0 \ *  C000_0000 - C7FF_FFFF   800_0000  ( 128 MB) External Memory& t8 s0 @- @" h6 i4 q
*  ------------------------------------------------------------------------
7 q, ^, k/ l3 Z *  C000_0000 - C1FF_FFFF   200_0000  (  32 MB) Linux8 w6 y8 D5 R" f' f9 _: [" _
*  C200_0000 - C200_FFFF     1_0000  (  64 KB) SR_0 (ipc)7 C- q' z5 |; r, x  {! s9 d
*  C201_0000 - C2FF_FFFF    FF_0000  ( ~15 MB) SR_1 (program shared region)1 x" `5 B. d) `: ~$ o4 S7 T- W
*  C300_0000 - C37F_FFFF    80_0000  (   8 MB) DSP_PROG (code, data)
. N: V' t: H/ o4 }* W6 ]% e0 T *  C380_0000 - C3FF_FFFF    80_0000  (   8 MB) --------' X* S; \# N: n  f3 `- b
*  C400_0000 - C7FF_FFFF   400_0000  (  64 MB) Linux
- a% S1 x6 A2 r9 D( Z& z */1 e# i: b; [; u2 q4 D- R. w2 R

0 |) t+ u1 Y9 i" E# s' xSR_1就为共享内存的大小,默认为15MB。按照需求改就行,但是后面的DSP端和ARM端也都要做对应修改。咱们做的项目类型,有机会多多交流。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-6 21:50 , Processed in 0.040272 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表