Thread 中讨论的其他器件: AM69
工具/软件:
您好、
我正在处理需要为 DMA 分配内存的项目。
在处理过程中、似乎分配的存储器上存在存储器损坏。
我们做了一些程序来测试它。
每个程序的运行方式如下
-内核模块
1.在给定 ioctl (dma_bridge_alLOC)时分配存储器。
2.给出 ioctl 时打印内存。
-用户空间应用程序
1、使用 ioctl (dma_bridge_alLOC)请求分配至内核模块。
2.通过 mmap()函数将魔术值(0xbeef0000)写入分配的内存中。
3.在用户空间上打印内存并 使用 ioctl (dma_bridge_data_dump_in_kernel)请求内核模块转储。
执行结果和问题描述如下。
问题1 -设备驱动程序上的内存转储显示为全零。 这应该是幻数。
问题2 -用户空间上的内存转储有时显示为零。 这应该是幻数。
这个问题仅出现在 SK-AM69上。
我已经在其他 ARM 板和 x86计算机上测试了此代码。
如果我使用 dma_alloc_相干()进行分配,结果是相同的。
此致、
Minsoo