1. 用.kmalloc()函数来开辟一段连续的内存
Void *kmalloc(size_t size, int flags); 点击打开链接
在用kmalloc申请函数后,要对其清零用 memset() 函数对申请的内存进行清零。
memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,
c:是赋给buffer的值,
count:是buffer的长度. 点击打开链接
用完之后一定要记得用 kfree()函数来释放自己申请的内存
2.dma_regs = ioremap(DMA3_BASE_ADDR, sizeof(struct s3c_dma_regs)); //将设计的物理地址映射到内核空间地址 DMA3_BASE_ADDR为实际的物理地址。dma_regs 为映射过来内核可以处理的地址 。。我们想对这个物理地址做什么,只需要对虚拟的内核地址dma_regs 做就行了
iounmap(dma_regs); //释放