On my LS1046A-FWY board, I am running the Yocto Linux 3.1 SDK. It boots and runs fine from TFTP. However, I'm having difficulty getting a proper connection with CW (Evaluation Version: 11.5.5) on Windows 10.
I am able to connect to the board, but I get a warning that "Linux Kernel Awareness Support is Disabled", and then CW breaks into the ARM core 0 at 0xfbe05d38. Only core 0 is shown in the debugger. I think this location is cpu idle since the instruction is ret, and the previous instruction is wfi in the disassembly window.
I created a source mapping to the linux-qoriq git directory, but no source debugging is shown when the code breaks.
Once it breaks, I can resume, and the kernel continues to run fine.
I have reviewed all my settings, but I am not able to understand why I'm only seeing one core, why I'm seeing the warning about kernel awareness disabled, and why CW doesn't seem to be mapping my source properly.
I also tried the following:
hbreak cpuinfo_open
Hardware assisted breakpoint 1 at 0xffff8000102e9460: file /usr/src/kernel/fs/proc/cpuinfo.c, line 15.
And then on Linux:
# taskset 1 cat /proc/cpuinfo
but the breakpoint doesn't trigger.
Thanks.
Solved! Go to Solution.
For Linux Kernel debugging with CodeWarrior for ARMv8, please refer to CodeWarrior IDE configuration in section "3. Debug Linux Kernel by Attaching Running U-boot" in the following document.
In addition, please add "nokaslr" in bootargs as the following in u-boot.
=> setenv bootargs "console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 nokaslr"
=> saveenv
For Linux Kernel debugging with CodeWarrior for ARMv8, please refer to CodeWarrior IDE configuration in section "3. Debug Linux Kernel by Attaching Running U-boot" in the following document.
In addition, please add "nokaslr" in bootargs as the following in u-boot.
=> setenv bootargs "console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 nokaslr"
=> saveenv