该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
关于linux驱动控制zedboard板子时物理地址映射为虚拟地址后无法读取使用虚拟地址的问题
只要是想要读取地址的操作像ioread32等,都会报错
错误如下:
Unhandled fault: imprecise external abort (0x406) at 0xbf000000
pgd = de6fc000
[bf000000] *pgd=1df8a811, *pte=1e68a45f, *ppte=1e68a45e
Internal error: Oops - BUG: 406 [#1] PREEMPT SMP ARM
Modules linked in: bram_driver(O+)
CPU: 1 PID: 1881 Comm: insmod Tainted: G O 4.0.0-xilinx #2
Hardware name: Xilinx Zynq Platform
task: de60ea00 ti: de790000 task.ti: de790000
PC is at axi_bram_module_init+0x114/0x150 [bram_driver]
LR is at axi_bram_module_init+0x108/0x150 [bram_driver]
pc : [] lr : [] psr: 60000013
sp : de791e08 ip : de790000 fp : 0000001f
r10: 00000001 r9 : 000004d8 r8 : bf000384
r7 : c06a34d8 r6 : 00000000 r5 : bf0001f0 r4 : bf000484
r3 : de791dfc r2 : bf00025e r1 : 00000000 r0 : e0a58000
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 18c5387d Table: 1e6fc04a DAC: 00000015
Process insmod (pid: 1881, stack limit = 0xde790210)
Stack: (0xde791e08 to 0xde792000)
1e00: bf0001f0 0000000e 00000011 bf002000 00000000 c0008904
1e20: de4e0000 c004849c 00000000 00000003 00000000 de64ad00 00000000 00000000
1e40: c06ae128 c002f5f4 dffbef80 00000000 00000000 c00875c4 dffbef80 00000000
1e60: 00000000 dfbf0000 dffbef80 c0088c40 dffbef80 bf00033c de790000 ddf57380
1e80: de64a100 bf000384 000004d8 c047fa30 bf00033c 0000000f bf00033c de791f50
1ea0: 00000001 c0070218 bf000348 00007fff c006d9a4 de530340 00000000 c048cb60
1ec0: bf000474 00000052 e0a56164 00013008 6e72656b 00006c65 00000000 00000000
1ee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1f00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1f20: 00000000 c060e708 00000000 00001b71 e0a56b71 00000000 00014b89 00013008
1f40: de790000 00000000 00000000 c0070510 e0a55000 00001b71 e0a55cdc e0a55b97
1f60: e0a568c4 00000498 00000578 00000000 00000000 00000000 0000001d 0000001e
1f80: 00000015 00000012 00000010 00000000 00008c31 00013008 00001b71 00000080
1fa0: c000de24 c000dca0 00008c31 00013008 00013018 00001b71 00013008 b6ed2258
1fc0: 00008c31 00013008 00001b71 00000080 00004000 00000003 b6f02000 00000000
1fe0: b6e826a0 bed1f6f8 00008adf b6e826b0 80000010 00013018 00000000 00000000
[] (axi_bram_module_init [bram_driver]) from [] (do_one_initcall+0x104/0x188)
[] (do_one_initcall) from [] (do_init_module+0x54/0x198)
[] (do_init_module) from [] (load_module+0x1814/0x1a0c)
[] (load_module) from [] (SyS_init_module+0x100/0x104)
[] (SyS_init_module) from [] (ret_fast_syscall+0x0/0x34)
Code: eb51f582 e5940000 e5901000 f57ff04f (e59f0030)
---[ end trace af68ec77e2e956f0 ]---
Segmentation fault