Der obige Fehler wird möglicherweise angezeigt, wenn Sie devmem2 verwenden, um über die lwsoc2fpga Bridge auf die Register auf FPGA Teil zuzugreifen. Das devmem2 funktioniert im Benutzerbereich für Linux, was EL0 ist. Standardmäßig werden alle HPS-Peripheriegeräte als privilegiert angenommen. In diesem Fall müssen Sie einen Slave als nicht privilegiert ändern, damit devmem2 darauf zugreifen kann. Das Protokoll mag wie unten:
root@stratix10swvp:~# devmem2 0xf9001080 mit 1
/dev/mem geöffnet.
[ 143.622724] Schlechter Modus in Error-Handler auf CPU2 erkannt, Code-0xbf000000 --S
Speicher, der an adresse 0xffffa02b8000 zugeordnet ist.
Lesen Sie unter der Adresse 0xF9001080 (0xffffa02b8080): 0x0000000000000007
[ 143.631637] Interner Fehler: Oops – schlechter Modus: 0 [#2] PREEMPT SMP
[143.646851] Module verknüpft in: leds_gpio ip_tables x_tables ipv6
[ 143.652846] CPU: 2 PID: 1780 Comm: devmem2 Tainted: G D 4.12.0 #1
[ 143.660032] Hardwarename: SoCFPGA Stratix 10 SoCDK (DT)
[ 143.665319] Aufgabe: ffff80003bec0000 task.stack: ffff80003b4a0000
[143.671214] PC befindet sich auf 0xffffa01b62d0
[ 143.674685] LR befindet sich auf 0xffffa01aa3d4
[ 143.678157] PC: [<0000ffffa01b62d0>] lr: [<0000ffffa01aa3d4>] pstate: 60000000
[ 143.685516] SP: 0000fffff4c1e710
[ 143.688814] x29: 0000fffff4c1e710 x28: 0000000000000000
[ 143.694103] x27: 0000000000000007 x26: 0000000000000001
[ 143.699391] x25: 0000ffffa02b8080 x24: 0000000000000003
[ 143.704679] x23: 0000000000000001 x22: 0000fffff4c1e9e0
[ 143.709967] x21: 0000fffffff4c1e9e0 x20: 0000fffff4c1e890
[ 143.715256] x19: 0000fffff4c1e790 x18: 0000000000000001
[ 143.720544] x17: 0000ffffa0191ce0 x16: 0000000000411250
[ 143.725832] x15: 0000ffffa02bd030 x14: 0000ffffa0147c8c
[ 143.731121] x13: 0000ffffa02bc000 x12: ffffffffffffff
[ 143.736409] x11: 0000fffffff4c1e980 x10: 0000fffff4c1e980
[ 143.741698] x9: ffffff80ffffffd0 x8: 0000fffff4c1e950
[ 143.746986] x7: 0000000000000001 x6: 0000ffffa0136040
[ 143.752274] x5: 0000ffffa02ad6f0 x4: 0000ffffa0289808
[ 143.757562] x3: 0000fffff4c1e9e0 x2: ffffffffffffff
[ 143.762850] x1: 0000fffffff4c1e9e0 x0: 0000fffff4c1e790
[ 143.768140] Prozess devmem2 (pid: 1780, Stack-Limit = 0xffff80003b4a0000)
[ 143.774980] ---[ Endverfolgung 530aa55983d4a86d ]---
Segmentierungsfehler
Broadcast-Nachricht von systemd-journald@stratix10swvp (So. 2017-09-24 07:20:59 UTC):
Kernel[1711]: [ 143.631637] Interner Fehler:Oops – schlechter Modus: 0 [#2] PREEMPT SMP
Sie können die Privilegien in U-Boot mit dem folgenden Befehl ändern, um dieses Problem zu beheben.
MW 0xffd248000x6000000