我们写驱动的时候,很多时候都是在开发板厂商提供的BSP开发包下面进行开发;各种IO口的占用情况,我们并不一定完全了解;甚至由于文件分散的原因,自己写好的驱动,可能在无意中也占用了某个IO口;
于是在写新驱动的时候,由于IO被别的地方占用了,会导致io_request失败;
如果自己搜索代码,有时候会很难找到;
这个时候,linux系统的一个功能就起作用了,这个就是debugfs;如果你的驱动里面启用了这个功能,就像我手里面的全志A20的开发板本身已经启用了;
那么,你只需要执行如下的操作即可实现查看IO使用情况;
在终端下面操作,你需要建立某个目录好挂载debugfs;这里,我是在根目录下面建立的一个叫gpiofs的目录;
操作方法如下:
cd /
mkdir gpiofs
mount -t debugfs debugfs /gpiofs
cat /gpiofs
之后就会显示如下类似的内容
这样我们就可以对整个系统的IO口占用、对应的IO类型有个全面的了解;方便我们在写新驱动的时候、或者画板子的时候不要选择已经被占用的IO了。