今天弄驱动时,出现这个问题,检查了好久,才发现问题所在地方
Unable to handle kernel NULL pointer dereference at virtual address 00000000
原因:
因为我用到了中断,在中断函数中断我调用了一全局指针P,这个指针在定义时为NULL。
由于系统子注册玩中断后会马上检验中断函数,即使当前函数还没执行完。
这就带来了一个问题,在中断注册代码后面 才对P进行赋值,结果还没执行到赋值语句就被中断函数给引用了,这也就造成了上面的情况。