ROM Boot Stall

The boot stall is a feature of the provided default ROMs for the Intel® Quark™ SE microcontroller C1000 and Intel® Quark™ microcontroller D2000 boards.

By grounding a specific pin on the boards and performing a reset or powering up the board, the firmware execution can be stalled before the user application is reached, thus allowing the debugger to attach to a deterministic and good state. Execution of the ROM is resumed as soon as the pin is disconnected from ground.

On the Intel® Quark™ microcontroller D2000 board, the boot stall pin is Digital 0 [RX].

On the Intel® Quark™ SE microcontroller C1000 board, the boot stall pin is 28 on header J14.

In this state, it is always possible to update the applications or the ROM, or start a debugging session to find out what caused JTAG issues. It is the recommended way to proceed when having problems starting a debugging session or flashing the applications to the target.

Common scenarios when this feature is useful are as follows:

  • the application muxes out the JTAG pins of the D2000 target
  • a C1000 / D2000 target is left in a sleep state

On the Arduino 101 / Genuino 101 boards, the default ROM allows firmware update by USB and it takes a few seconds to reach the user application execution; so even without the boot stall, it is usually possible to flash or debug the target.

For more complete information about compiler optimizations, see our Optimization Notice.