vero

vero

0个粉丝

2

问答

0

专栏

0

资料

vero  发布于  2016-12-16 17:55:12
采纳率 0%
2个问答
2142

Hi3516a 在驅動 ˋ中 實現 DMA memory to memory 的問題

 
大家好~
小弟參考SDK裡的 /driver/hidmac 在驅動中實現DMA memory to memory時遇到了一些問題 , 不知道有沒有高手可以幫忙指點一下 , 感激不盡~

1. DMAC_Cn_CONTROL裡的傳輸位寬與burst長度之間的關係到底是? 小弟目前位寬只能設定到8位元 , 超過8位元就kernel panic , 不知道是哪裡出錯了?
2. DMA傳輸速度慢 , dma過程沒有報錯 , 但相同的資料量用DMA傳輸竟然比memcpy還要慢上10倍以上 , cpu使用率也飆高很多 , 這到底是小弟的DMA配置問題還是3516a的dma本來就慢?

以下是小弟在驅動中寫的一段dma測試程式 , 不知道是否哪裡有弄錯?

        unsigned char *src_data = NULL;
        unsigned char *dest_data = NULL;
        unsigned char *src_data_phy = NULL;
        unsigned char *dest_data_phy = NULL;
       
        src_data = (unsigned char*)kmalloc(data_len, GFP_KERNEL);
        dest_data = (unsigned char*)kmalloc(data_len, GFP_KERNEL);

        memcpy(src_data, data, data_len);

        src_data_phy = (unsigned char*)virt_to_phys(src_data);
        dest_data_phy = (unsigned char*)virt_to_phys(dest_data);

        do_dma_m2m((unsigned int)src_data_phy, (unsigned int)dest_data_phy, data_len);  //從hi_dmac.c中EXPORT出來的

我来回答
回答1个
时间排序
认可量排序

小飞侠_fq

0个粉丝

8

问答

0

专栏

0

资料

小飞侠_fq 2017-03-08 10:58:01
认可0
你有没有实验成功dma传输,我现在在做spi+dma传输,但是不知道如何去操作,能不能给一点思路。
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区