打印
[DSP编程]

DM6446下dsplink模式高手来看看,有问题呀 困扰好长时间了

[复制链接]
1855|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
msq_tc|  楼主 | 2013-8-9 16:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在DM6446平台下,使用DSPLINGK框架下,因为目前的DSP算法端软件较大,我就想修改DSPLINK的内存分配修改DDR,DSPLINKMEM,CMEM,以适应算法的堆栈要求。为此我从新修改了 CFG_Davinci.TXT 文件,关键代码修改如下:
RESUMEADDR      | H |   0x84100020         # Resume address
RESETVECTOR     | H |   0x84100000         # Reset Vector for the DSP
RESETCODESIZE   | H |   0x80               # Size of code at DSP Reset Vector

ENTRY           | N |   0                  # Entry number
ABBR            | S |   DSPLINKMEM         # Abbreviation of the table name
ADDRDSPVIRTUAL  | H |   0x84000000         # DSP virtual address
ADDRPHYSICAL    | H |   0x84000000         # Physical address
SIZE            | H |   0x00100000         # Size of the memory region


ABBR            | S |   RESETCTRL          # Abbreviation of the table name
ADDRDSPVIRTUAL  | H |   0x84100000         # DSP virtual address
ADDRPHYSICAL    | H |   0x84100000         # Physical address
SIZE            | H |   0x00000080         # Size of the memory region
MAPINGPP        | B |   TRUE               # Map in GPP address space?

ABBR            | S |   DDR                # Abbreviation of the table name
ADDRDSPVIRTUAL  | H |   0x84100080         # DSP virtual address
ADDRPHYSICAL    | H |   0x84100080         # Physical address
SIZE            | H |   0xBEFFF80         # Size of the memory region
MAPINGPP        | B |   TRUE               # Map in GPP address space?
这样修该,从新编译得到了dsplinkk.ko文件,但是原来的dsplinkk.ko文件只有80多K,我重新编译的有180多K。对于DSP端的代码dsp/inc/DspBios/Davinic/dsplink-davinci-base.tci文件依照CFG_Davinci.TXT也做了相应修改,然后又从新编译了GPP执行文件和DSP执行文件,放入产品中执行终端打印如下会死机,终端打印如下:
rmmod: cmemk: No such file or directory
cmemk: module license '(c) Texas Instruments' taints kernel.
cmem initialized 1 pools between 0x83400000 and 0x84000000
starting pid 775, tty '/dev/tts/0': '/sbin/getty -L console 115200 vt100'
dsplinkk: no version for "struct_module" found: kernel tainted.
DDR_START 0x84100080 DDR_SIZE 0x0BEFFF80
DSP_Create
Entered PROC_Setup ()
Entered DRV_Initialize ()
        drvObj  [0x67928]
        arg     [0x0]
Leaving DRV_Initialize ()       status [0x8000]
Entered DRV_Invoke ()
        drvObj  [0x83a70]
可以看到终端在这里死机了,从代码来看是执行DSP代码的时候出现问题。我已开始以为是dsplink的驱动和内核不匹配,但是做了修改还是这个问题,我想问一下如果我想修改代码运行的DDR的大小,以适应DSP的算法的要求。是修改 CFG_Davinci.TXT 和DSP端的dsplink-davinci-base.tci就可以了吗,还要修改其他文件吗?为什么我修改了就是不行了,这个问题困扰我好长时间了。对于在DSPLINK模式下修改内存分配的这个问题,迫切希望和你们探讨。

相关帖子

沙发
msq_tc|  楼主 | 2013-8-9 16:51 | 只看该作者
有没有达芬奇的高手哇

使用特权

评论回复
板凳
zhangmangui| | 2013-8-10 13:42 | 只看该作者
不懂  帮忙顶   帮你去咨询一下

使用特权

评论回复
地板
msq_tc|  楼主 | 2013-8-12 10:05 | 只看该作者
zhangmangui 发表于 2013-8-10 13:42
不懂  帮忙顶   帮你去咨询一下

TI的文档也看了 按照来的 可是程序还是死机....搞不懂怎么了 话说你认识搞这个的人

使用特权

评论回复
5
msq_tc|  楼主 | 2013-8-15 11:30 | 只看该作者
按照TI的这个文档  还是不行,搞的都想骂人了...什么玩意.....

使用特权

评论回复
6
zhangmangui| | 2013-8-15 12:07 | 只看该作者
msq_tc 发表于 2013-8-15 11:30
按照TI的这个文档  还是不行,搞的都想骂人了...什么玩意.....

TI只有邮件技术支持  你可以发邮件问问  

<ti-china@ti.com>

使用特权

评论回复
7
msq_tc|  楼主 | 2013-8-26 11:26 | 只看该作者
这贴 结了,主要是内核要和DSPLINK驱动匹配,编译时环境变量修改一定要到位 很多细节TI也没有说到 这东西确实比较繁杂

使用特权

评论回复
8
zhangmangui| | 2013-8-27 19:11 | 只看该作者
msq_tc 发表于 2013-8-26 11:26
这贴 结了,主要是内核要和DSPLINK驱动匹配,编译时环境变量修改一定要到位 很多细节TI也没有说到 这东西确 ...

没有有经验的人带着走   确实会遇到很多的困难

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

14

帖子

1

粉丝