[i.MX] I.MX6dl 如何采用Sdma进行用户空间进程中的内存间拷贝

[复制链接]
1124|0
 楼主| houyiYang 发表于 2018-3-12 16:44 | 显示全部楼层 |阅读模式
hi,all

我司IMX6DL设计应用于红外机芯的采集编码,应用程序中常涉及到大量数据的memcpy()操作,cpu占用率高居不下。

通过了解SDMA,想经由SDMA来进行进程中buf间的memcpy操作,mxc_sdma_memcopy_test.c已能正常编译insmod,mxc_sdma_test.out只是测试内核空间申请的内存间拷贝功能。

我想通过SDMA对用户空间进程中的两块内存地址进行数据拷贝,但不清楚用户空间进程中的虚拟内存地址如何传递到内核空间的驱动里,通过write(fd, buf, size)将buf地址传递进去后,会导致dma_map_sg()映射崩溃。

附件为i.mx-test-5.7中的驱动源码和测试源码。

静待佳音,万分感激。@FSL_TICS_Rita

mxc_sdma_test.zip

3.26 KB, 下载次数: 6

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

本版积分规则

4

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部