Hi
The behavior is controlled by the macro
FORCE_BOOT()
In my version it is defined as:
#define FORCE_BOOT() ((_READ_PORT_MASK(C, SWITCH_1) == 0) || (SOFTWARE_RESET_DETECTED() && (*(BOOT_MAIL_BOX) == RESET_TO_SERIAL_LOADER))) // pull this input down to force boot loader mode (connect pin pad 22 to GND at reset)
which means that it can be forced to the loader mode with an input or by commanding it from the application.
Often the SD card loader is used in combination with an SD card detect input so that this input is used to force the loader mode, which means that it will jump directly to the application if there is no SD card inserted. Generally the SD card loader will be configured to start the application after the check has completed, whereby the macro RETAIN_LOADER_MODE() can be used to force it to stay in the loader:
In my version it is defined as:
#define RETAIN_LOADER_MODE() (_READ_PORT_MASK(C, SWITCH_1) == 0) // pull this input down to force boot loader mode (connect pin pad 22 to GND at reset)
If you prefer the loader to always check the SD card you can simply force it every time with
#define FORCE_BOOT() 1
To never hold the mode
#define RETAIN_LOADER_MODE() 0
Regards
Mark