====== Firmware updates from SD-card ====== ===== Bootloader configuration ===== In order to perform firmware updates with the OpenBLT from SD-card, double-check that the file system configured in "blt_conf.h". The following macro should have a value of 1. If this macro did not yet have a value of 1, the bootloader should be rebuild after making the change. #define BOOT_FILE_SYS_ENABLE (1) ===== SD-card preparation and update procedure ===== The demo bootloaders that support firmware updates from SD-card are configured to look for a S-record firmware filename with a predetermined name in the root directory on the SD-card. The filename is configured as a constant character array **firmwareFilename[]** in hooks.c. Here is the example for the STM32-E407 demo: static const blt_char firmwareFilename[] = "/demoprog_olimex_stm32e407.srec"; To prepare the SD-card and start the update procedure, perform the following steps: - Insert the SD-card into your PC and store the firmware file (as specified by **firmwareFilename[]**) in its root directory. For the demo programs, you can find this file in the ".\**Prog**\bin\" directory. - Insert the SD-card into the card holder on the microcontroller board. - Reset the microcontroller to start the firmware update. Once done, the newly programmed firmware is automatically started. Note that the bootloader demo is configured to output log messages to a serial terminal. This enables you to view the progress of the firmware update with a terminal program such as Putty. The communication speed is typically 57600 bits/sec. Additionally, the log messages are written to a file called **bootlog.txt** on the SD-card, which can optionally be checked for verification purposes. {{:manual:demos:sdcard_firmware_update_logging.gif?|}}