mmap和mmap_device_mem到底有啥区别??

说看Help的就不用回复了,Help我看了几遍了。
对于这两个函数,还是有点迷糊啊。

申请连续物理内存用哪个好呢?

貌似可用源码来解释

#include <inttypes.h>
#include <sys/mman.h>

void *mmap_device_memory(void *addr, size_t len, int prot, int flags, uint64_t physical) {
	return mmap64(addr, len, prot, (flags & ~MAP_TYPE) | MAP_PHYS|MAP_SHARED, NOFD, physical);
}

__SRCVERSION("mmap_device_memory.c $Rev: 153052 $");

连续物理内存,貌似一样,记不清不肯定,哈。对照mmap帮助里的例子就知道是不是了。

这里使用64位地址是为什么呢?

因为QNX支持64位物理地址空间。