OMAPL138双核通信DSP端数据超过定义,如何解决? - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4303|回复: 6

[已解决] OMAPL138双核通信DSP端数据超过定义,如何解决?

[复制链接]

8

主题

31

帖子

160

积分

注册会员

Rank: 2

积分
160
发表于 2018-6-10 20:40:40 | 显示全部楼层 |阅读模式
在使用OMAPL138开发版的时候,基于例程04(ex04_sharedregion )修改的代码,在DSP端预定义了些较大的数组,编译后出现如下错误。
"configuro/linker.cmd", line 205: error: program will not fit into available
   memory.  run placement with alignment fails for section ".far" size
   0x366db5b .  Available memory ranges:
   DSP_PROG     size: 0x800000     unused: 0x7f9784     max hole: 0x7f9780  
error: errors encountered during linking; "bin/debug/server_dsp.xe674" not
   built
make[2]: *** [bin/debug/server_dsp.xe674] Error 1
make[2]: Leaving directory `/home/samuel/work/omapl138/tl/syslink_2_21_01_05/examples/ex14/dsp'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/samuel/work/omapl138/tl/syslink_2_21_01_05/examples/ex14/dsp'
make: *** [all] Error 2
感觉是DSP里面的数据段超了。
想请问各位大大们如何修改呢?是不是修改工程文件里面DSP-configuro-linker.cmd的内存分配大小?
MEMORY
{
    IROM (RX) : org = 0x11700000, len = 0x100000
    IRAM (RWX) : org = 0x11800000, len = 0x38000
    L3_CBA_RAM (RWX) : org = 0x80000000, len = 0x20000
    SR_0 (RWX) : org = 0xc2000000, len = 0x10000
    SR_1 (RWX) : org = 0xc2010000, len = 0xff0000
    DSP_PROG (RWX) : org = 0xc3000000, len = 0x2000000
}
我修改了上面的DSP_PROG的长度,也没有解决。。。。。
回复

使用道具 举报

3

主题

524

帖子

2083

积分

创龙

Rank: 8Rank: 8

积分
2083
发表于 2018-6-12 10:33:32 | 显示全部楼层
你这里有可能是在内存分配上出了问题,建议查看一下我们改好过的一些双核例程,参考一下里面的内存分配。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

8

主题

31

帖子

160

积分

注册会员

Rank: 2

积分
160
 楼主| 发表于 2018-6-14 23:15:40 | 显示全部楼层
广州创龙莫工 发表于 2018-6-12 10:33
你这里有可能是在内存分配上出了问题,建议查看一下我们改好过的一些双核例程,参考一下里面的内存分配。
...

您好,莫工:
非常感谢您的回复。有几个问题想请教您。

背景介绍:正如上面说的我是用的TI的mcsdk下syslink的例程ex04_shareregion。我是arm接收数据,然后通过共享内存的方式传给DSP,然后DSP做数据处理。这个传送的数据比较大(目前是12MByte),并且再DSP侧处理,需要开辟至少两个该大小的内存做数据处理。

1、如果继续使用TI的这个例程,这个空间怎么修改?
我发现这个定义是在/ex04_shareregion/shared/config.bld中,但是它只给DSP分配了8M空间

*  C000_0000 - C7FF_FFFF   800_0000  ( 128 MB) External Memory
*  ------------------------------------------------------------------------
*  C000_0000 - C1FF_FFFF   200_0000  (  32 MB) Linux
*  C200_0000 - C200_FFFF     1_0000  (  64 KB) SR_0 (ipc)
*  C201_0000 - C2FF_FFFF    FF_0000  ( ~15 MB) SR_1 (program shared region)
*  C300_0000 - C37F_FFFF    80_0000  (   8 MB) DSP_PROG (code, data)
*  C380_0000 - C3FF_FFFF    80_0000  (   8 MB) --------
*  C400_0000 - C7FF_FFFF   400_0000  (  64 MB) Linux
关键是后面的没有关于64MB Linux的描述。
我目前将DSP改成了16M(因为我发现DSP8M后面的8M应该是未使用)
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
    externalMemoryMap: [
        [ SR_0.name, SR_0 ],
        [ SR_1.name, SR_1 ],
        [ "DSP_PROG", {
            name: "DSP_PROG", space: "code/data", access: "RWX",
            base: 0xC3000000, len: 0x1000000,
            comment: "DSP Program Memory (16 MB)"
        }]
    ],
    codeMemory:  "DSP_PROG",
    dataMemory:  "DSP_PROG",
    stackMemory: "DSP_PROG",
    l1DMode: "32k",
    l1PMode: "32k",
    l2Mode: "32k"
};



2、如果使用咱们创龙的例程,根据上述描述,您建议在哪个例程上修改比较好?

谢谢。
回复 支持 反对

使用道具 举报

8

主题

31

帖子

160

积分

注册会员

Rank: 2

积分
160
 楼主| 发表于 2018-6-14 23:17:48 | 显示全部楼层
广州创龙莫工 发表于 2018-6-12 10:33
你这里有可能是在内存分配上出了问题,建议查看一下我们改好过的一些双核例程,参考一下里面的内存分配。
...

莫工,如果需要我也可以把我们修改的工程发给您。谢谢。
回复 支持 反对

使用道具 举报

12

主题

169

帖子

731

积分

QQ游客

积分
731
发表于 2018-6-19 16:33:06 | 显示全部楼层
您好,关于ARM和DSP的内存分配,建议您参考,我们提供的ipclite相关例程,去修改比较好。



本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

12

主题

169

帖子

731

积分

QQ游客

积分
731
发表于 2018-6-19 16:34:04 | 显示全部楼层
建议您先基于我们提供的例程,进行修改,因为我们也是会对TI官方的例程,进行优化修改的,请您参考。
回复 支持 反对

使用道具 举报

0

主题

4

帖子

43

积分

新手上路

Rank: 1

积分
43
发表于 2018-6-20 10:59:12 | 显示全部楼层
广州创龙廖工 发表于 2018-6-19 16:33
您好,关于ARM和DSP的内存分配,建议您参考,我们提供的ipclite相关例程,去修改比较好。

廖工,您好。
您说的创龙的例程正在研究。不过还是有几个问题想问一下。
1、这个uboot传给linux内核的参数mem=32M@0xC00 0000 mem = 64M@0xc40 0000能否修改,例如给后面的64M改小一点,改成32M,也就是说Linux一共占从0xc00 0000开始的32M和从0xc60 0000开始32M,是否可以?

2、为什么DSP侧只开32M的空间呢? 对于DSP经常会做图像处理,有些图像10M,中间加一些算法的很容易32M不够用。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-18 20:16 , Processed in 0.045350 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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