The Embedded Experts
Release notes for emLoad
Version 4.16a [24. July 2020]
New Features
- ST STM32F2/F4 flash driver now supports devices with dual flash banks.
Version 4.16 [26. June 2020]
New Features
- New API added:
- BTL_Exec()
- BTL_IF_UART_ExecIF(), to be used instead of previously used internal BTL_COM_ExecIF() .
- BTL_IF_USB_HID_ExecIF(), to be used instead of previously used internal BTL_COM_ExecIF() .
- BTL_IF_USB_HID_Read(), to be used instead of previously used internal BTL_COM_Read() .
- New optional BTL_NET_API function pointers added:
- pfExec() added.
- Define BTL_SKIP_CRC_BOOT_CHECK added.
- Define BTL_DISABLE_FW_CRC_CHECK added.
- New status codes added:
- Status code BTL_STATUS_VERIFY_SIGNATURE added.
Improvements
- Improved compatibility with old architectures that support different memory models.
Program corrections
- The PrepareFW[PRO].exe parameter "-multirange" might produce ranges that overflow the original address space (more than the allowed 16 byte internal alignment) given from the input file. Fixed.
Version 4.14d [4. June 2020]
Improvements
- Improved USB-HID stability by adding a recovery mechanism to the USB_HID_Loader and embedded side in case the protocol got out of sync upon any failure.
Program corrections
- A memory leak in the USB_HID_Loader executable leads to error outputs and the application needs to be restartet when called with parameter -wait and no emLoad target is found within a couple of minutes. Fixed.
- Some interfaces and flash drivers are not resetting everything necessary when using BTL_ConfigRetryUpdateOnFail() to stay in the bootloader and retry updating. Fixed.
Version 4.14c [18. February 2020]
Program corrections
- With pre-flash verification enabled (default), if _MakeValid() fails or gets interrupted (e.g by a power loss) writing the content CRC, starting the firmware fails and updating with the very same image fails as the same content is already in flash. Updating with different images is still possible. Fixed by checking against the FirmwareInfoArea CRC in case of similar flash content to check if the FirmwareInfoArea CRC already matches the content.
- In case a USB-HID read transfer aborts and is not recognized (should not happen and might be caused by a hardware/controller problem), the read request is not executed again. Fixed.
Version 4.14b [12. November 2019]
Improvements
- Updated emUSB-Device to v3.26 .
- Updated emSecure to v2.42 .
Program corrections
- No busy indicator for pre-flash verification mode. Fixed.
Version 4.14a [19. February 2019]
New Features
- New API added:
- BTL_SetFlashProgProgressHook()
Version 4.14 [19. December 2018]
New Features
- Optional pre-flash verification (feature added in v4.06b) now checks if all content to program is the same and skips flash writing for better flash endurance.
Improvements
- Renamed all PC tools that use the word "Updater" to "Loader" to prevent Windows UAC dialog interaction.
Version 4.12b [18. December 2018]
New Features
- Cypress PSoC 5 CY8CKIT-050 PSoC 5LP Development Kit port for PSoC Creator 4.2 added for FS MMC/SD interface.
Improvements
- Better timing in case SD/MMC has no card detect pin by allowing the system tick to be provided by interrupt instead of timer polling.
Program corrections
- Skipping the CRC check on boot with BTL_ConfigSkipBootCrcCheck() does not work with the new peripheral reset strategy. Fixed.
Version 4.12a [30. November 2018]
New Features
- BTL_FIRMWARE_INFO_SIZE can now be set to zero to disable usage of the firmware info area and usage of valid markers.
Version 4.12 [27. November 2018]
New Features
- Soft-reset CPU for peripheral reset option added.
- New status codes added:
- Status code BTL_STATUS_REBOOTED_START_FW added.
- Status code BTL_STATUS_REBOOTING added.
- New optional BTL_NET_API function pointers added:
- pfSetMarkerReboot() added.
- pfCheckMarker() added.
Version 4.10e [26. July 2018]
Program corrections
- The UART Updater tool does not correctly handle pre-flash verification of the update. If used, the update fails. Fixed.
Version 4.10d [14. May 2018]
Program corrections
- The start firmware code makes the Cortex-M BASEPRI register dirty after it has been cleaned for firmware start. Fixed.
Version 4.10c [17. April 2018]
Improvements
- Updated emUSB Host to v2.06a.
Program corrections
- The progress values for a BTL_SetFlashCrcProgressHook() callback gets incorrect parameter values for multi flash bank updates. Fixed.
Version 4.10b [4. April 2018]
New Features
- Optional pre-flash verification (feature added in v4.06b) added for USB Device HID and UART interface. Now available for all existing interfaces.
Improvements
- Updated the FS to version V4.04f.
- Improved stability of USB Device HID interface with some USB controllers.
Program corrections
- If the previous firmware update touched the sector of the firmware infor area and the new image does not, the first update attempt will fail. The second one will succeed. Fixed.
Version 4.10a [10. November 2017]
New Features
- BTL_IF_UART_ConfigDelayBeforeExit() added.
Improvements
- Improved stability of UART Updater tool.
Program corrections
- Incomplete received UART packets can confuse the receive logic. Fixed.
Version 4.10 [17. July 2017]
New Features
- New UART interface.
Version 4.08a [12. July 2017]
New Features
- New FS NOR interface.
Version 4.08 [12. June 2017]
New Features
- Firmware Signature add-on for RSA or ECDSA available.
Version 4.06c [21. April 2017]
New Features
- New NAND interface.
Improvements
- Updated the FS to version V4.04c.
Version 4.06b [21. February 2017]
New Features
- BTL_NET_API structure has been extended. Filling out the new pfResetIF for a file system based update interface allows to check an update before touching the flash.
Version 4.06a [9. January 2017]
Improvements
- Updated the USB Device stack to version v3.02c .
Version 4.06 [4. July 2016]
New Features
- New emLoad 4 PRO Package is available with AES256 encryption.
Version 4.04b [24. June 2016]
Improvements
- USBH MSD updated to version 1.20b .
Version 4.04a [2. June 2016]
New Features
- ST STM32F429I-DISC1 port for IAR EWARM added for USB HID interface.
Version 4.04 [13. April 2016]
Improvements
- Updated the USB Device stack to version v3.00 .
Version 4.02j [1. March 2016]
New Features
- ST STM32F746G Discovery port for KEIL MDK added for MMC/SD interface.
Version 4.02i [26. January 2016]
New Features
- Freescale/NXP Kinetis K21 TWR K21F120M port for SEGGER Embedded Studio added for USBH MSD interface.
- Kinetis K60 flash driver now supports more Kinetis devices like K2x series.
Version 4.02h [9. November 2015]
New Features
- NXP LPC4357 Keil MCB4300 port for Rowley CrossStudio for ARM added for USBH MSD interface.
- Parameter -multirange adding to PrepareFW tool for CPUs with multiple flash banks.
Version 4.02g [29. July 2015]
New Features
- ATMEL AT91SAM9X5-EK NAND/SDRAM port for IAR EWARM added for USB HID interface.
- BTL_SetFlashCrcProgressHook() for adding a user callback on the progress of calculating the CRC over the Flash content added.
Version 4.02f [21. July 2015]
New Features
- ST STM3240G-EVAL port for KEIL MDK added for MMC/SD interface.
- Define BTL_CRC_BUFFER_SIZE added.
Version 4.02e [23. February 2015]
Improvements
- MMC/SD media presence is now determined by trying to read volume size if media state is unknown (e.g. no dedicated card pin).
Program corrections
- If no update file is found on MMC/SD the card will be read again and again causing the boot timeout to count down very slowly. Fixed. No update on the media now tries to start the firmware directly.
Version 4.02d [15. January 2015]
New Features
- CRC check during boot can now be skipped by using BTL_ConfigSkipBootCrcCheck() .
- Renesas YRDKRX62N port for IAR EWRX added for MMC/SD interface.
Version 4.02c [17. September 2014]
Program corrections
- USB HID might discard data with some USB controllers due to an incorrect timebase in USB_OS_None.c . Fixed. USB_OS_None.c is now USB_OS_None_BTL.c .
Version 4.02b [2. July 2014]
New Features
- ST STM32L152VB-SK port for IAR EWARM added for USB HID interface.
Improvements
- USB Device updated to version 2.40l .
Version 4.02a [22. November 2013]
New Features
- ST STM3220G-EVAL port for IAR EWARM added for MMC/SD interface.
Version 4.02 [29. July 2013]
New Features
- USB HID interface changed to non-blocking behavior.
- Added option "-wait" to USB HID Updater to wait for a target to be connected before executing other actions.
Improvements
- NMI vector forwarding for Renesas RX targets added.
Version 4.00c [7. July 2013]
New Features
- ST STM32F4-DISCOVERY port for IAR EWARM added for USB HID interface.
Version 4.00b [10. December 2012]
New Features
- Renesas RSKRX63N port for IAR EWRX added for USB HID interface.
- Update policy added to be configurable to always, same or newer. Was always before.
- User can now hook into BTL tick (typically 1ms) to have a time reference.
- User can register hooks to be notified on state changes e.g. from start => init => update => finished.
- Retry behavior on update fail can now be configured.
Version 4.00a [1. October 2012]
New Features
- Freescale K60 port for KEIL MDK added for MMC/SD, USB HID and USBH MSD interface.
Version 4.00 [22. March 2011]
New Features
- emLoad now supports more up to date interfaces to update.
Improvements
- emLoad completely revised. emLoad now is run time configurable.
Program corrections
- First V4 release. No corrections.