发 帖  
原厂入驻New
[问答] 怎么在DM6446上Arm端使用EDMA?
2020-4-17 09:44:14  107 EDMA ARM
分享
我做的程序需要在ARM端memcopy一些数据,由于数据量比较大,所以想用EDMA来实现。
我在dvsdk中发现了edma的例程,貌似可以实现这样的功能,其路径为dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma
修改了其目录下的Rules.make文件,主要是修改了编译器路径和内核路径,运行make,出现了下面的错误
/home/davinci/dm6446/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma/src/module/edmak.c:207: error: ‘EDMA_CONT_PARAMS_ANY’ undeclared (first use in this function)
/home/davinci/dm6446/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma/src/module/edmak.c:207: error: (Each undeclared identIFier is reported only once
/home/davinci/dm6446/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma/src/module/edmak.c:207: error: for each function it appears in.)
/home/davinci/dm6446/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma/src/module/edmak.c:212: error: ‘EDMA_CONT_PARAMS_FIXED_EXACT’ undeclared (first use in this function)
/home/davinci/dm6446/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma/src/module/edmak.c:217: error: ‘EDMA_CONT_PARAMS_FIXED_NOT_EXACT’ undeclared (first use in this function)
/home/davinci/dm6446/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma/src/module/edmak.c:242: error: ‘EDMA_TCC_SYMM’ undeclared (first use in this function)
/home/davinci/dm6446/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma/src/module/edmak.c:253: warning: implicit declaration of function ‘davinci_request_params’
/home/davinci/dm6446/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma/src/module/edmak.c:286: warning: implicit declaration of function ‘davinci_get_param’
make[4]: *** [/home/davinci/dm6446/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma/src/module/edmak.o] Error 1
make[3]: *** [_module_/home/davinci/dm6446/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma/src/module] Error 2
make[3]: Leaving directory `/home/davinci/dm6446/linux-2.6.18_pro500'
make[2]: *** [release] Error 2
make[2]: Leaving directory `/home/davinci/dm6446/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma/src/module'
make[1]: *** [module] Error 2
make[1]: Leaving directory `/home/davinci/dm6446/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma/src'
make: *** [src] Error 2
然后去内核代码中查看edma相关的文件,结果其中并没有EDMA_CONT_PARAMS_ANY EDMA_TCC_SYMM 这些宏定义,这应该是内核版本不兼容吧,遇到这种情况改怎么办?
0
2020-4-17 09:44:14   评论 分享淘帖

相关讨论

5 个讨论
内核和Linuxutils EDMA不匹配,建议使用配套的内核和DVSDK
请从如下地址下载:
software-dl.ti.com/.../index_FDS.html
2020-4-17 10:01:11 评论

举报

60user102 发表于 2020-4-17 12:32
内核和Linuxutils EDMA不匹配,建议使用配套的内核和DVSDK
请从如下地址下载:
software-dl.ti.com/.../index_FDS.html

DVSDK和LSP都是在这个页面下载的,内核版本2.6.18,dvsdk版本2_00_00_22,linuxutils版本2_23_01,应该没错啊
2020-4-17 10:06:22 评论

举报

Xavier_1995 发表于 2020-4-17 12:37
DVSDK和LSP都是在这个页面下载的,内核版本2.6.18,dvsdk版本2_00_00_22,linuxutils版本2_23_01,应该没错啊

如果是完全配套的版本,应该是可以直接编译通过的,请尝试在dvsdk安装目录下make clean掉后,make all看看
2020-4-17 10:19:45 评论

举报

楼主你的问题解决了吗, 我最近也碰到和你一样的问题, 想通过EDMA来实现arm端的大数据量的memcpy。我想请问你一下,你是怎么在你的应用程序中调用dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/edma提供的相关EDMA接口函数的。
2020-4-17 10:33:30 评论

举报

60user102 发表于 2020-4-17 12:51
如果是完全配套的版本,应该是可以直接编译通过的,请尝试在dvsdk安装目录下make clean掉后,make all看看

Tuff Li:
      你好, 我想请问一下,DVSDK的 Edma能在arm端使用吗?要是能,该怎么配置? 希望能得到你的帮助。
2020-4-17 10:50:47 评论

举报

只有小组成员才能发言,加入小组>>

1299个成员聚集在这个小组

加入小组

创建小组步骤

关闭

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

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