/ proc / iomem的内容
1)是否可以访问未在/ proc / iomem中定义的物理地址?
2)如果设备的物理地址范围未出现在/ proc / iomem中,是否表示该设备尚未被使用/初始化?
回答:
1)是否可以访问未在/ proc / iomem中定义的物理地址?
是。
假设内存映射所有直接连接的外围设备的ARM处理器,驱动程序可以执行ioremap()
将物理内存映射到虚拟内存以进行访问的操作。
但是正确编写的驱动程序将首先调用request_mem_region()
以确保它可以使用(并声明)该物理地址空间。
信息/proc/iomem
来自驾驶员致电request_mem_region()
。
2)如果设备的物理地址范围未出现在/ proc / iomem中,是否表示该设备尚未被使用/初始化?
您将必须检查驱动程序代码以确定驱动程序的编写程度。之前
有一个吗? 使用命令检查系统日志;驱动程序初始化失败。request_mem_region()``ioremap()
dmesg
假设这是一个静态链接的驱动程序,而不是可加载的模块,那么由于每个内核设备驱动程序都有其init()
调用的例程,因此可以通过在内核命令行上添加选项“
initcall_debug”来获取跟踪输出。如果使用U-Boot,则应将此选项添加到“ bootargs”变量(用于内核命令行)。
以上是 / proc / iomem的内容 的全部内容, 来源链接: utcz.com/qa/423095.html