[问答] C6678的EDMA数据传输,请问怎么把数据事先存到DDR3中?

各位好,
我是新接触C6678的小白,现在在学习edma,实现简单功能就是DDR3内存中的数据搬到L2中,做个处理,再搬回去。
这里请教各位的是:  
    1 有没有例程可以学习,我在自己的安装路径下没找到;
    2 做处理之前假设我需要的数据已经存在DDR3内存中了,这个怎么把数据事先存到DDR3中(数据是固定不变的);

先这么多,先谢过各位了!!

6个回复

zbb9612 发表于 6 天前
1. 安装完mcsdk后的pdk csl下有相应的EDMA例子,在这个论坛上搜索一下,也有相应的EDMA例子;
2. 可以在初始化的时候使用#include "datafile",或者在load完程序后,使用load memory功能将数据load到对应的memory段。
                                                                          

回复 支持 反对

举报 使用道具

神圣奇迹 发表于 6 天前
zbb9612 发表于 2018-7-11 03:00
1. 安装完mcsdk后的pdk csl下有相应的EDMA例子,在这个论坛上搜索一下,也有相应的EDMA例子;
2. 可以在初始化的时候使用#include "datafile",或者在load完程序后,使用load memory功能将数据load到对应的memory段。
                                                                          

谢谢你的回答,十分有帮助!
我刚也在论坛上搜到了例程,发现它在pdk的安装路径下。
然后导入数据是这样的:  
    1 数据是通过matlab生成的,这样的话load对数据类型/格式有什么要求?
    2 matlab数据倒入DDR3内存有相关例子吗?

先行谢过!
回复 支持 反对

举报 使用道具

神圣奇迹 发表于 6 天前
zbb9612 发表于 2018-7-11 03:00
1. 安装完mcsdk后的pdk csl下有相应的EDMA例子,在这个论坛上搜索一下,也有相应的EDMA例子;
2. 可以在初始化的时候使用#include "datafile",或者在load完程序后,使用load memory功能将数据load到对应的memory段。
                                                                          

你好,我用edma例程有个问题:
undefined                                                      first referenced
symbol                                                                in file
---------                                                             ----------------
CSL_edma3ChannelClose                          ./edma_test.obj
CSL_edma3ChannelOpen                           ./edma_test.obj
CSL_edma3Close                                        ./edma_test.obj
CSL_edma3GetHwStatus                            ./edma_test.obj
CSL_edma3GetParamHandle                      ./edma_test.obj
CSL_edma3HwChannelControl                   ./edma_test.obj
CSL_edma3HwChannelSetupParam           ./edma_test.obj
CSL_edma3HwChannelSetupQue               ./edma_test.obj
CSL_edma3HwChannelSetupTriggerWord ./edma_test.obj
CSL_edma3HwControl                                 ./edma_test.obj
CSL_edma3Init                                             ./edma_test.obj
CSL_edma3Open                                         ./edma_test.obj
CSL_edma3ParamSetup                             ./edma_test.obj
CSL_edma3ParamWriteWord                      ./edma_test.obj
error: unresolved symbols remain
error: errors encountered during linking;
是链接的问题,我想应该是link时候csl库没有加进去;link命令如下:
'Building target: Oct10thC6678EDMA.out'
'Invoking: C6000 Linker'
"C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/bin/cl6x" -mv6600 -g --diag_warning=225 --abi=eabi -z -m"Oct10thC6678EDMA.map" --warn_sections -i"C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/lib" -i"C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/include" --reread_libs --rom_model -o "Oct10thC6678EDMA.out" "./edma_test.obj" -l"libc.a" "../edma_test.cmd"
我的问题是这样的:
1 原因是不是我想的那样,csl的库没有被link进去?
2 是的话,怎么才能加进去呢?

ps: CCS版本ccs_base_5.0.3.00023,pkd版本是pdk_C6678_1_0_0_9_beta2。例程是C:\Program Files\Texas Instruments\pdk_C6678_1_0_0_9_beta2\packages\ti\csl\example\edma下的edma_test.c,test_lik.cmd,自己新建工程建立的。。
Many thanks!
回复 支持 反对

举报 使用道具

神圣奇迹 发表于 6 天前
zbb9612 发表于 2018-7-11 03:00
1. 安装完mcsdk后的pdk csl下有相应的EDMA例子,在这个论坛上搜索一下,也有相应的EDMA例子;
2. 可以在初始化的时候使用#include "datafile",或者在load完程序后,使用load memory功能将数据load到对应的memory段。
                                                                          

你好,我刚试了把csl的库加到link path里去,是这样的:
'Building target: Oct10thC6678EDMA.out'
'Invoking: C6000 Linker'
"C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/bin/cl6x" -mv6600 -g --diag_warning=225 --abi=eabi -z -m"Oct10thC6678EDMA.map" --warn_sections -i"C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/lib" -i"C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/include" -i"C:/Program Files/Texas Instruments/pdk_C6678_1_0_0_9_beta2/packages/ti/csl/lib" --reread_libs --rom_model -o "Oct10thC6678EDMA.out" "./edma_test.obj" -l"libc.a" "../edma_test.cmd"
结果的现象仍是一样!
另外,以CSL_edma3ChannelClose为例,查询了整个工程,只找到声明和引用,没有找到这个函数的定义。

所以,我的问题是:
1 这样在link path里加入csl库的思路对不对?
2 如果思路没错的话,这里面是不是csl的lib库有问题?(我是下载pkd软件包后,安装,然后就没进行其他操作了)
Many thanks!
回复 支持 反对

举报 使用道具

神圣奇迹 发表于 6 天前
zbb9612 发表于 2018-7-11 03:00
1. 安装完mcsdk后的pdk csl下有相应的EDMA例子,在这个论坛上搜索一下,也有相应的EDMA例子;
2. 可以在初始化的时候使用#include "datafile",或者在load完程序后,使用load memory功能将数据load到对应的memory段。
                                                                          

跟    C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/lib
        C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/include
对比过之后,我发现问题了:
C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/lib下是
而C:/Program Files/Texas Instruments/pdk_C6678_1_0_0_9_beta2/packages/ti/csl/lib下是

后者没有库文件。
那么,我的问题是:
1 上面分析的有没有错?
2 如果没有错,那么怎么能像C:/Program Files/Texas Instruments/ccsv5/tools/compiler/c6000/lib一样,有个csl的库呢?
Many thanks!
回复 支持 反对

举报 使用道具

神圣奇迹 发表于 6 天前
zbb9612 发表于 2018-7-11 03:00
1. 安装完mcsdk后的pdk csl下有相应的EDMA例子,在这个论坛上搜索一下,也有相应的EDMA例子;
2. 可以在初始化的时候使用#include "datafile",或者在load完程序后,使用load memory功能将数据load到对应的memory段。
                                                                          

csl库问题已解决,原来是我理解有误!这种类型的库文件,要直接include library file。
回复 支持 反对

举报 使用道具

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

本版积分规则


关闭

站长推荐上一条 /9 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 粤ICP备14022951号-2 )

GMT+8, 2018-7-17 10:15 , Processed in 0.509899 second(s), 23 queries , Memcache On.

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表