4,438
社区成员
发帖
与我相关
我的任务
分享
int error = 0;
int size = 128;
char src[128] = {"aaaaaaaaaaaaaccccc"};
char dst[128] = {"bbbbbbbbbbbbbbb"};
char * p1 = (char*)kmalloc(size,GFP_KERNEL);
char * p2 = (char*)kmalloc(size,GFP_KERNEL);
memcpy(p1,src,strlen(src));
memcpy(p2,dst,strlen(dst));
printk("p1=%p:%s %ul\n",p1,p1,virt_to_phys(p1));
printk("p2=%p:%s %ul\n",p2,p2,virt_to_phys(p2));
int ret=0;
printk("11111111111111\n");
ret=fa_request_ahb_dma_ch(0, "test", NULL,NULL, ch, 1) ;
ret=fa_ahb_dma_init(ch,0);
if(ret!=0)
{
printk("11111 error\n");
}
printk("222222222222222222\n");
fa_set_ahb_dma_src_params(ch, virt_to_phys(p1), AHBDMA_MASTER_0, 2,0);
printk("333333333333333333\n");
fa_set_ahb_dma_dst_params(ch, virt_to_phys(p2), AHBDMA_MASTER_0,2,0);
printk("4444444444444444444444\n");
fa_set_ahb_dma_cfg_params(ch, 0, 0, 0, 0);
fa_set_ahb_dma_transfer_params2( ch, AHBDMA_MASTER_0, 32, 0);
printk("55555555555555555555\n");
fa_ahb_dma_add_auto(ch, 32);
fa_ahb_dma_start( ch);
printk("6666666666666666666666666\n");
printk("src=%s dst=%s\n",virt_to_phys(p1),virt_to_phys(p2));
// u_delay(100000);
fa_ahb_dma_clear_int(ch);
fa_ahb_dma_stop(ch);
fa_free_ahb_dma(ch);
kfree(p1);
kfree(p2);