2017-08-24 12 views
0

rpiを参考にしてカスタムボードにカーネルをブートしようとしましたが、UARTと割り込みコントローラを除くすべての周辺機器を削除して "dts"ファイルを修正しました。 rpiボードのベースアドレスをボード特有のアドレスに変更します。次のようにENV変数をSeeting仮想アドレスでのカーネルページング要求を処理できません...カスタムボード

$ setenv initrd 0xc3000000;setenv initrd_high 0xc4000000;setenv fdt_high 0xc1001000;setenv fdt_addr_r 0xc1000000 


$ setenv bootargs earlyprintk console=ttyAMA0 mem=128M noinitrd root=/dev/mtdblock3 rw rootfstype=jffs2 rw init=/sbin/init 

これは、我々が得たエラーログです....

SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 




[ 0.000000] NR_IRQS:16 nr_irqs:16 16 




[ 0.000000] Unable to handle kernel paging request at virtual address 48000fe0 
[ 0.000000] pgd = c0004000 




[ 0.000000] [48000fe0] *pgd=00000000 




[ 0.000000] Internal error: Oops: 5 [#1] ARM 




[ 0.000000] Modules linked in: 




[ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.9.22+ #81 




[ 0.000000] Hardware name: BCM2835 





[ 0.000000] task: c0497f58 task.stack: c0494000 





[ 0.000000] PC is at __vic_init+0x3c/0x178 





[ 0.000000] LR is at 0x48000fe0 






[ 0.000000] pc : [<c0473b74>] lr : [<48000fe0>] psr: a00000d3 






[ 0.000000] sp : c0495f50 ip : 00000000 fp : c0495f7c 





[ 0.000000] r10: 00000001 r9 : 410fb767 r8 : 48000000 






[ 0.000000] r7 : 00000000 r6 : 00000000 r5 : ffffffff r4 : 00000000 





[ 0.000000] r3 : 48000fe0 r2 : 00000000 r1 : 00000000 r0 : 00000000 







[ 0.000000] Flags: NzCv IRQs off FIQs off Mode SVC_32 ISA ARM 





Segment user 
[ 0.000000] Control: 00c5387d Table: c0004008 DAC: 00000055 





[ 0.000000] Process swapper (pid: 0, stack limit = 0xc0494188) 





[ 0.000000] Stack: (0xc0495f50 to 0xc0496000) 

は、事前に感謝し、私を助けてください。

答えて

0

手続き__vic_initの割り込みコンテキストで問題が発生したようです。このプロシージャは仮想アドレス48000fe0にアクセスしようとしました。

ところで - これはdmesgから取った完全なコールトレースだと確信していますか? これがdmesgから抜粋されたスニペットであれば、ここに全体のコールトレースを入れてください。

この手順のソースがある場合は、__vic_initをデバッグすることができます。つまり、ソースファイル内の行番号を見つけて、さらにデバッグします。

関連する問題