- 论坛徽章:
- 0
|
我在模块初始化函数里,将一个总线地址ioremap后,直接向该地址写一个数。编译成功后,然后插入模块时,提示如下:
[root@51Board helloworld]# insmod hello.o
Using hello.o
Unable to handle kernel paging request at virtual address 2a000000
pgd = c3a08000
[2a000000] *pgd=00000000, *pmd = 00000000
Internal error: Oops: 8f5
CPU: 0
pc : [<cca57070>] lr : [<c007a7f0>] Not tainted
sp : c39abf00 ip : c036b000 fp : c39abfa4
r10: c3f93ac0 r9 : 00000005 r8 : 00000060
r7 : 00000000 r6 : 00000000 r5 : ffffffea r4 : cca57000
r3 : 2a000000 r2 : ffffcfff r1 : cca57060 r0 : cca57090
Flags: NzCv IRQs on FIQs on Mode SVC_32 Segment user
Control: 397F Table: A3A08000 DAC: 00000015
Process insmod (pid: 177, stack limit = 0xc39aa37
Stack: (0xc39abf00 to 0xc39ac000)
bf00: c007a7f0 0009a718 c0094a08 c394d000 cca570f0 c394d000 c394f000 00000060
bf20: c026b8e4 cca57060 00000100 00000000 00000000 00000000 00000000 00000000
bf40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
bf60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 000000f8
bf80: 00000100 0009a628 00000080 c006a764 c39aa000 00000100 00000000 c39abfa8
bfa0: c006a5c0 c007a218 00000100 0009a628 00900080 0008f358 0009a628 00000004
bfc0: 000000f8 00000100 0009a628 0008f358 cca57000 00000000 00000100 0008f358
bfe0: bfffdb50 bfffdb44 000642e0 401a64d0 60000010 00900080 80ff81f9 8e9d09bf
Backtrace:
Function entered at [<c007a20c>] from [<c006a5c0>]
Code: e3e02a03 e3a0342a e52de004 e59f000c (e5832000)
Segmentation fault |
请问是什么原因?怎样才能够顺利地向一个地址写数,把LED点亮? |
|