正儿八经上了半年的班了,也接触linux驱动几个月了,不过今天之前还是不会调试。今天也还是没有彻底学会。这篇博客主要是把今天的收获记录下来,方便以后参考。
我的内核版本是:4.9.88
我在3.14.52里面也实验过。
先贴我内核打印的错误信息:
Unable to handle kernel NULL pointer dereference at virtual address 00000004
pgd = 80004000
[00000004] *pgd=00000000
Internal error: Oops: 817 [#1] PREEMPT SMP ARM
Modules linked in: spi_lqd(O)
CPU: 1 PID: 96 Comm: spi1 Tainted: G O 3.14.52-1.1.1_ga #235
task: a8326d00 ti: a82f6000 task.ti: a82f6000
PC is at spi_pump_messages+0xdc/0x480
LR is at _raw_spin_lock_irqsave+0x18/0x5c
pc : [<8041c40c>] lr : [<8075bdc8>] psr: 60070093
sp : a82f7f08 ip : 00000000 fp : a837ddcc
r10: 80d0f504 r9 : 00000001 r8 : a82f6000
r7 : a837ddb4 r6 : a837dc00 r5 : 80d0f504 r4 : a837dde8
r3 : a8902704 r2 : 00000000 r