Tool/software:
Hello experts!
We are facing a boot issue when trying to lift our U-Boot from 2023.04 to 2024.04.
Custom board with 2GB of RAM. Yocto build system based on SDK10.
We use USB boot and dfu process to transfer the four boot files to the board.
In 2024.04 the dfu process now hangs after transfer of sysfw.itb:
dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ dfu-util: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release!!! Opening DFU capable USB device... ID 0451:6163 Run-time device DFU version 0110 Claiming USB DFU Interface... Setting Alternate Setting #0 ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 0110 Device returned transfer size 512 Copying data from PC to DFU device Download [=========================] 100% 281108 bytes Download done. state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present dfu-util: unable to read DFU status after completion dfu-util: can't detach Resetting USB to switch back to runtime mode + set +x Found DFU: [16de:0057] ver=0224, devnum=117, cfg=1, intf=0, path="5-2", alt=0, name="sysfw.itb", serial="UNKNOWN" + dfu-util -R -d 0451:6163 -a sysfw.itb -D /home/bomellberg/se3linux/yocto-base/build/tmp/deploy/images/asp3/sysfw-asp3-hs-fs.itb dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ dfu-util: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release!!! Opening DFU capable USB device... ID 16de:0057 Run-time device DFU version 0110 Claiming USB DFU Interface... Setting Alternate Setting #0 ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 0110 Device returned transfer size 4096 Copying data from PC to DFU device Download [=========================] 100% 269718 bytes Download done. state(7) = dfuMANIFEST, status(0) = No error condition is present state(2) = dfuIDLE, status(0) = No error condition is present Done! Resetting USB to switch back to runtime mode + set +x
At this point, dfu-util -l does not show any dfu device:
bomellberg@bosse-buildcom:~/se3linux/yocto-base/build$ dfu-util -l dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
There is no debug output on the main debug port. The wakeup uart responds as normal:
0x710002
0xB10004
0x4003007
0x4400B04
0x71000B
0xB10004
Attaching a J-Link debugger gives me this information on the wakeup-mcu:
bomellberg@bosse-buildcom:~$ gdb-multiarch -ex 'target extended-remote :3336' GNU gdb (Ubuntu 12.1-0ubuntu1~22.04.2) 12.1 Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <https://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word". Remote debugging using :3336 warning: No executable has been specified and target does not support determining executable automatically. Try using the "file" command. 0x41c0943c in ?? () ─── Assembly ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0x41c0943c ? b.n 0x41c0943c 0x41c0943e ? nop 0x41c09440 ? cmp r7, #139 ; 0x8b 0x41c09442 ? rors r3, r0 0x41c09444 ? push {r4, r5, r6, lr} 0x41c09446 ? mov r6, r1 0x41c09448 ? add.w r1, r0, #63 ; 0x3f 0x41c0944c ? mov r5, r0 0x41c0944e ? bic.w r1, r1, #63 ; 0x3f 0x41c09452 ? movs r0, #64 ; 0x40 ─── Breakpoints ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Expressions ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── No registers to show (check the "dashboard registers -style list" attribute) ─── Source ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Stack ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x41c0943c ─── Threads ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id 0 from 0x41c0943c ─── Variables ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── >>>
As shown above, the program counter is stuck at: cpsr: 0x200001f3 pc: 0x41c0943c
Could you help out in debugging this issue?
Best regards,
/Bo