分类: LINUX
2013-11-22 23:17:18
小于C000 0000的地址 都会产生异常
调用栈的信息(如下)
由上面可以看到栈的调用
D是C调用过的 C是B调用过的 B是A调用过的 A是init_module+0x0x0/0x1bc调用过的
出错是在 PC is at D=0x1c 0x28
出错实例
下面进行编译程序
Make clean
make
重启开发板
加载模块
#insmod opps.ko
对opp.ko进行反汇编
[root@localhost oops]# arm-linux-objdump -D -S opps.ko >log找到D()函数的起始地址为 10
从上面知道出错的地址是D()函数的偏移0x1c 即得到D+0x1c=》2C: