Hello. Having Linux (OpenWrt) running hardware working like a charm.
CPU - is NXP's IMX6ULL.
This CPU has JTAG interface and supported by J-Link debugger.
Got U-boot booting well under JTAG debugger but having troubles with linux kernel.
Using
compiled with
Code:
CONFIG_DEBUG_INFO=y
and
Code:
CONFIG_DEBUG_KERNEL=y
.
Here is entry point of kernel starting
screenshoot
I am able to walk through the code step by step until
function.
Here are four steps before execution stucks:
1,
2,
3 and
4.
e.g. on execution
Code:
mcr p15, 0, r4, c2, c0, 0 @ load page table pointer
line of code it stucks. Registers state on each step shown on the right side of screenshot. Don't know anything about assembler so can't understand what is wrong.
Because of facing such issue under debugging I am pretty sure that something not initialized properly. Some things to be initialized by u-boot during production flow, e.g. on booting kernel after U-boot initialized and passes execution to the kernel.
Trying to find what is page table pointer, trying to understand what register should store what value without luck. Could someone please give me a hint how can I handle that issue? Probably how to initialize page table pointer properly?