Guide for what to do when you get a timeout when flashing the board.
Use the skill when you see a timeout when flashing the board. The cause is probably that the board is encountering a fatal error and crashing on boot after the last change.
The below troubleshooting procedure should be passed to a subagent. DO NOT ATTEMPT TO CARRY IT OUT YOURSELF. It is too easy to get distracted.
Follow the below procedure exactly.
k_sleep(K_MSEC(3000)); before Os::init() in
FprimeZephyrReference/ReferenceDeployment/Main.cpp so that there is enough
time to capture serial output./bft.sh 1 main to reflash the board. This time, you will not get the
timeout error. You will get some other errors instead. IGNORE THEM
COMPLETELY AND CONTINUE TROUBLESHOOTING THE CRASH. THE BOARD IS STILL
CRASHING, ONLY LATER. ALL THOSE OTHER ERRORS ARE MEANINGLESS.timeout 10 udevadm monitor --udev --subsystem=tty to observe additions
and removals of tty devices. There should be two serial ports dropping in
and out as the device resets.ttyACM0 rather than ttyACM1).udevadm wait /dev/ttyACM0 && cat /dev/ttyACM0k_sleepContinue what you were doing, now with the knowledge of the cause of the crash.