FLASH Programming Utilities v4.85 Release Notes Copyright (C) 2021 Silicon Laboratories, Inc. This release contains the following components: ----------------------------------------------- * Flash Programming (directory) * Dynamic DLL Build (directory) - mfc42.dll (MFC DLL for use with dynamic version of programming DLL) - msvcrt.dll (Additional Microsoft DLL for use with dynamic version of programming DLL) - SiUtil.dll (Flash Programming Dynamic Version DLL) - SiUtil.lib (Flash Programming Dynamic Version Library) - USBHID.dll (USB Debug Adapter DLL) * Static Programmers (directory) * Command-Line (directory) - SiUtil.dll (Flash Programming Static Version DLL) - SiUtil.lib (Flash Programming Static Version Library) - FLASHUtilCL.exe (Command-Line (32-bit) Flash Programming Application) - USBHID.dll (USB Debug Adapter DLL) * Windows Console (directory) - SiUtil.dll (Flash Programming Static Version DLL) - SiUtil.lib (Flash Programming Static Version Library) - USBHID.dll (USB Debug Adapter DLL) - FlashUtil.exe (Windows Console Flash Programming Application) * FlashUtil Source Files (Application source file directory) * ReleaseNotes.txt (this file) Release Dates ------------- FLASH Programming Utilities Version 4.85 - October 24, 2021 FLASH Programming Utilities Version 4.81 - July 22, 2019 FLASH Programming Utilities Version 4.80 - June 14, 2019 FLASH Programming Utilities Version 4.79 - June 15, 2018 FLASH Programming Utilities Version 4.78 - December 19, 2017 FLASH Programming Utilities Version 4.77 - December 6, 2017 FLASH Programming Utilities Version 4.74 - November 22, 2016 FLASH Programming Utilities Version 4.73 - October 20, 2016 FLASH Programming Utilities Version 4.70 - January 25, 2016 FLASH Programming Utilities Version 4.50 - April 1, 2015 FLASH Programming Utilities Version 4.40 - July 18, 2014 FLASH Programming Utilities Version 4.30 - November 1, 2013 FLASH Programming Utilities Version 4.22 - August 30, 2013 FLASH Programming Utilities Version 4.21 - July 31, 2013 FLASH Programming Utilities Version 4.20 - June 1, 2013 FLASH Programming Utilities Version 4.10 - August 1, 2012 FLASH Programming Utilities Version 4.01 - June 15, 2012 FLASH Programming Utilities Version 4.00 - December 7, 2011 FLASH Programming Utilities Version 3.90 - March 1, 2011 FLASH Programming Utilities Version 3.83 - December 16, 2010 FLASH Programming Utilities Version 3.82 - November 19, 2010 FLASH Programming Utilities Version 3.81 - August 18, 2010 FLASH Programming Utilities Version 3.80 - August 3, 2010 FLASH Programming Utilities Version 3.70 - June 30, 2010 FLASH Programming Utilities Version 3.60 - March 1, 2010 FLASH Programming Utilities Version 3.51 - December 14, 2009 FLASH Programming Utilities Version 3.50 - October 28, 2009 FLASH Programming Utilities Version 3.40 - June 3, 2009 FLASH Programming Utilities Version 3.30 - April 27, 2009 FLASH Programming Utilities Version 3.20 - March 2, 2009 FLASH Programming Utilities Version 3.12.03 - January 8, 2009 FLASH Programming Utilities Version 3.12.02 - December 12, 2008 FLASH Programming Utilities Version 3.12 - October 8, 2008 FLASH Programming Utilities Version 3.11 - September8, 2008 FLASH Programming Utilities Version 3.10 - July 28, 2008 FLASH Programming Utilities Version 3.02 - July 1, 2008 FLASH Programming Utilities Version 3.01 - May 23, 2008 FLASH Programming Utilities Version 3.00 - April 15, 2008 FLASH Programming Utilities Version 2.90 - February 26, 2008 FLASH Programming Utilities Version 2.80 - December 3, 2007 FLASH Programming Utilities Version 2.70 - September 17, 2007 FLASH Programming Utilities Version 2.61 - March 5, 2007 FLASH Programming Utilities Version 2.60 - February 12, 2007 FLASH Programming Utilities Version 2.51 - October 14, 2006 KNOWN ISSUES AND LIMITATIONS ---------------------------- 1. To enable the USB Debug Adapter functionality in an application the USB debug adapter driver file must be present (USBHID.DLL). 2. Command-Line Utility a. FLASHUtilCL.exe is a Windows command prompt program and cannot be used in DOS. b. SiUtil.dll must be in the same directory as FLASHUtilCL.exe. c. USBHID.dll must be in the same directory as FLASHUtilCL.exe. 3. Windows Console Utility: a. SiUtil.dll must be in the same directory as FLASHUtil.exe. b. USBHID.dll must be in the same directory as FLASHUtil.exe. 4. Dynamic DLL a. The dynamically linked build of the Utilities DLL requires that files "MFC42.dll" and "MSVCRT.dll" be present on the target machine. This is not a problem if the client program is dynamically linked to the same version (Version 4.2) or newer of the MFC library (i.e. uses MFC as a shared library). The required MFC DLLs are provided with this release along with the dynamically linked MFC version of the Utilities DLL. Do not replace equivalent or newer version of these files if they are already present on the target machine. b. USBHID.dll must be present to communicate with a USB Debug Adaper. 5. The FLASH Programming Utilities install by default to the "C:\SiLabs\MCU\Utilities\Flash Programming" directory. REVISION HISTORY ---------------- Version 4.81 Support added for EFM8BB10F4I-QFN20 & EFM8BB10F2I-QFN20. Version 4.80 Corrected issue on F5808/9 & F510/11 devices that prevented access to extended memory. Fixed problem that prevented erasing flash from FlashUtil.exe during debugging. Version 4.79 Added support for EFMLB1xFxxES1 derivatives: EFM8LB12F64ES1-QFN32 EFM8LB12F64ES1-QFN24 EFM8LB12F32ES1-QFN32 EFM8LB12F32ES1-QFN32 EFM8LB11F32ES1-QFN32 EFM8LB11F32ES1-QFN24 EFM8LB11F16ES1-QFN32 EFM8LB11F16ES1-QFN24 EFM8LB10F16ES1-QFN32 EFM8LB10F16ES1-QFN24 Version 4.78 Updated support for EFM8 automotive devices. Version 4.77 Added support for EFM8 UB3 devices. Added function to export the device revision: HRESULT __stdcall GetDeviceRevision(BYTE *pPartRev) Added function to provide checksum when verifying flash: extern "C" __declspec(dllexport) HRESULT __stdcall VerifyFlashDownloadCS( char * sDownloadFile, int nDisableDialogBoxes, int nBankSelect, unsigned short *usChecksum) Version 4.74 Incorrect lock byte value calculation on F50x/54x/55x/56x/58x devices that blocked flash edits on unlocked regions of flash fixed. Version 4.73 A problem with the CRC verification on some C2 devices has been fixed. Version 4.70 Added support for EFM8 BB1/BB2/BB3/UB1/UB2/SB1/SB2/LB1 devices. Version 4.50 Added DownloadTxt API: DownloadTxt(char * sDownloadFile, DWORD wStartAddress, int nDeviceErase = 0, int nDisableDialogBoxes = 0, int nLockFlash = 0, BOOL bPersistFlash = TRUE, unsigned short *usChecksum = NULL); Version 4.40 Added support for C8051F970/1/2/3/4/5 devices. Fixed false error return after C8051F58x/59x flash erase operation. Version 4.30 Support added for Si1060/1/2/3/4/5 devices. Support added for Si1080/1/2/3/4/5 devices. Support added for C8051F388/9/A/B/C devices. Version 4.22 The lock bypte operation on T626/7 and T670/1 has been fixed. Version 4.21 Firmware for the Toolstick Adapter has been updated to Version 0x0D. Version 4.20 Support added for C8051F850/1/2/3/4/5-GU/IU-GM/IM and C8051F860/1/2/3/4/5-GS/IS devices. A new download function has been added which adds a parameter for the download checksum: DownloadCS(char * sDownloadFile, int nDeviceErase = 0, int nDisableDialogBoxes = 0, int nDownloadScratchPadSFLE = 0, int nBankSelect = -1, int nLockFlash = 0, BOOL bPersistFlash = TRUE, unsigned short *usChecksum = NULL); - Fixed a problem which incorrectly reported that a protected region of flash was being accessed when attempting to program F93x devices. Firmware for the USB Debug Adapter has been updated to Version 0x22. Firmware for the Toolstick Adapter has been updated to Version 0x0C. Firmware for the UDA Adapter has been updated to Version 0x05. Version 4.10 Support added for C8051F370/1/4/5 Support added for C8051F390/1/2/3/4/5/6/7/8/9 Support added for C8051T626/7 Version 4.01 Updated flash operations on the following devices: C8051F96x/Si102x/Si103x to comply with Rev A Errata #1 (EMIF Split Mode Operation) and #2 (Flash Lock Byte). Flash access code has been updated to set the FLEWT bit in the FLSCL SFR for the following devices: C8051F50x\51x, C8041F54x, C8051F55x\56x\57x, C8051F58x\59x when flash is programmed or erased. Firmware for the EC2 Serial Adapter has been updated to Version 0x17. Firmware for the USB Debug Adapter has been updated to Version 0x1F. Firmware for the Toolstick Adapter has been updated to Version 0x0B. Firmware for the UDA Adapter has been updated to Version 0x04. Version 4.00 Added support for C8051F750/1/2, C8051F750B/1B/2B/5B/6B/7B Added support for C8051F760/1/2/5/6/7 Added support for C8051F960/1/2/3/4/5/6/7/8/9 devices Added support for Si1020/1/2/3/4/5/6/7 devices Added support for Si1030/1/2/3/4/5/6/7 devices Version 3.92 Fixed T622/3, T326/7 lock byte programming. Version 3.90 Added support for C8051F380/1/2/3/5/6/7 devices Added support for C8051T620/1 and C8051T320/1/2/3 devices Added support for C8051T622/3 and C8051T326/7 devices Version 3.83 A user space erase on 128k C2 devices no longer causes a disconnection. Version 3.82 Programming the lock byte will not display a warning if the nDisableDialogBoxes flag is set. Updated USBHID.dll to v1.9 Version 3.81 Added command line option to the FlashUtilCL, -L, to lock code space after downloading. Version 3.80 Added support for CP2501 devices Version 3.70 Added support for C8051F980/1/2/3/5/6/7/8/9 devices Added support for C8051F990/1/6/7 devices Added support for C8051F716/7 devices. Version 3.60 Added support for Si10xx devices. Version 3.51 Updated USBHID.dll to v1.8 Version 3.50 Added support for C8051F34C/D devices. Added support for C8051F800/1/2/3/4/5/6/7/8/9 devices. Added support for C8051F810/1/2/3/4/5/6/7/8/9 devices. Added support for C8051F820/1/2/3/4/5/6/7/8/9 devices. Added support for C8051F830/1/2/3/4/5 devices. Added support for C8051F901/2 devices. Added support for C8051F911/2 devices. Version 3.40.00 Added support for C8051F550/1/2/3/4/5/6/7 devices. Added support for C8051F560/1/2/3/4/5/6/7/8/9 devices. Added support for C8051F570/1/2/3/4/5 devices. Added support for C8051F540/1/2/3/4/5/6/7 devices. Version 3.30.00 Added support for C8051T606 device. Fixed a problem with hexfile download which occurred when the 32k program space address (physical address 0x8000 for bank 2 or 0x10000 for bank 3) was not at the beginning of the hexfile data line which resulted in the incorrect bank being programmed. Version 3.20.00 Added support for C8051F508/9 devices. Added support for C8051F510/1 devices. Added support for C8051F580/1/2/3/4/5/6/7/8/9 devices. Added support for C8051F590/1 devices. Added support for C8051F700/1/2/3/4/5/6/7/8/9 devices. Added support for C8051F710/1/2/3/4/5 devices. Firmware for the EC2 Serial Adapter has been updated to Version 23. Firmware for the USB Debug Adapter has been updated to Version 21. Firmware for the Toolstick Adapter has been updated to Version 6. The USBDisconnect command has been changed to include a C2 firwmare disconnect command so that it will cause a reset prior to disconnection from the device so that subsequent code execution will resume from address 0. This behavior is consistent with IDE behavior. A timing problem was fixed in the EC2 Serial Adapter firmware that caused intermittent communication problems on specific boards. Version 3.12 Support added for C8051F34A/B devices. Fixed memory size configuration in T61x devices. T61x devices can now be programmed without a CRC error message. Version 3.11 Firmware for the EC2 Serial Adapter has been updated to Version 22. Firmware for the USB Debug Adapter has been updated to Version 20. Firmware for the Toolstick Adapter has been updated to Version 5. Version 3.10 Support added for C8051F500/1/2/3/4/5/6/7 devices. Firmware for the EC2 Serial Adapter has been updated to Version 21. Firmware for the USB Debug Adapter has been updated to Version 19. Firmware for the Toolstick Adapter has been updated to Version 4. Version 3.02 Support added for C8051F348/9 devices. Version 3.01 XRAm access issue has been fixed. Version 3.00 Support added for C8051F520A/1A/3A/4A/6A/7A devices. Support added for C8051F530A/1A/3A/4A/6A/7A devices. Version 2.90 Support added for C8051T630/1/2/3/4/5 devices. Support added for C8051F930/1/2 devices. Support added for C8051F920/1/2 devices. Version 2.80 Support added for C8051T610/1/2/3/4/5/6/7 devices. Error codes listed in AN117 updated to correctly correspond with dll error codes. Version 2.70 Support added for C8051F336/7/8/9 devices. The USBHID.DLL has been updated to include toolstick support. Therefore V1.6 of the USBHID.DLL must be used with this version of the flash programming utilities. Version 2.61 Support added for C8051T600/1/2/3/4/5 devices. Version 2.60 Support added for C8051F360/1/2/3/4/5/6/7/8/9 devices. The command interface was updated with improved error reporting. Functions which previously returned an integer error code now return an HRESULT value containing detailed error information. Full documentation on the error codes is documented in the application note 117, "Using the C8051Fxxx On-Chip Interface Utilities DLL". The Download() I/F function was changed to add a new BOOL parameter called bPersistFlash which when set to TRUE will cause flash contents to be read prior to programming. Function SetTargetHalt() return value type changed from BOOL to HRESULT with the function using the new error code implementation. Version 2.51 Support added for C8051F520/1/3/4/6/7 devices. Support added for C8051F530/1/3/4/6/7 devices. Version 2.50 A ToolStick device can be used as a USB Debug Adapter. Firmware for the EC2 Serial Adapter has been updated to Version 20. Firmware for the USB Debug Adapter has been updated to version 12. Version 2.41 Issue when viewing XRAM with C8051F34x devices fixed. Lock Code Memory section added to Set Memory tab of SiDebugger.exe. This window provides direct access to the device Lock Bytes. Function "GetDeviceName" added to dll that returns the Device Name of the connected device. Version 2.4 Support added for C8051F410/1/2/3 devices. Version 2.3 Support added for C8051F340/1/2/3/4/5/6/7 devices. Support added for C8051F326/7 devices. Firmware for the EC2 Serial Adapter has been updated to Version 19. Firmware for the USB Debug Adapter has been updated to version 9. The download function now contains a parameter option which will lock flash following the download. Version 2.21 A problem which prevented V2.2 from connecting to C8051F064 evaluation boards has been corrected. version 2.2 Support added for Si825x devices. Support added for C8051F316/7 devices. Issue causing the utility to not connect using an EC2 Serial Adapter has been resolved. I/F updated for 'C' compatibility. Functions which previously contained std::string type parameters have been modified to use char *. Firmware for the EC2 Serial Adapter has been updated to Version 18. Firmware for the USB Debug Adapter has been updated to version 7. The new firmware versions include speed improvements for JTAG devices. The USBHID.DLL has been updated to version 1.1.0.0. Version 2.2 of the FLASH Programming Utilities requires this version of the USBHID.DLL and will not work with older versions. Version 2.11 License Agreement updated. Version 2.1 Support has been added for the USB Debug Adapter. To enable this functionality in an application the USB debug adapter driver file must be present (USBHID.DLL). Firmware for the RS232 serial adapter has been updated to Version 16. Support added for COM ports above 4. [FlashUtil.exe] Utility reorganized for easier access to Connection Options. Version 2.0 Support updated for the C8051F33x device family. Executing a FlashErase() without hardware attached will return an error code of 2. Version 1.9 Support has been added for the F044\5\6\7 devices. Support has been added for the F312\3\4\5 devices. A problem causing the Utilities DLL to not connect to a JTAG device in a multiple JTAG device chain has been fixed. ALL dialog boxes are now disabled when using the Disable Dialogs feature. Version 1.8 Support added for F130/1/2/3 devices. Version 1.7 Support added for F064/5/6/7 devices. Version 1.6 Support added for F35x devices. Version 1.5 A problem with the SetCodeMemory function which caused pages edited in preceding SetCodeMemory calls to be reprogrammed has been corrected. If security has been enabled on a device, unprotected areas of flash can still be programmed. Command-Line Utility: The version is now displayed with the usage information which is displayed when FlashUtilCL.exe is invoked with no parameters. Command-Line Utility: Fixed a crash that occurred if the incorrect debug interface was specified for a download operation. Version 1.47 Fixed a problem that would not allow a single byte of flash to be written. Fixed a problem which caused incorrect XRAM values to be displayed. Fixed an error that occurred during a flash download on F12x devices when the erase flash option was selected. Version 1.46 Command-Line Utility: Fixed linking errors with FLASHUtilCl.exe. Command-Line Utility: Fixed issues with FLASHErase function. Version 1.45 Linking error for GetDLLVersion and GetSAFirmwareVersion functions fixed. Support added for F06x devices. Version 1.44 An error occuring when using the MultiDevice function has been fixed. Version 1.43 Support has been added for F33X devices. Added funtionality to return current Utilities DLL version and required firmware version. Removed long string of errors when FLASHErase called and power to TB is off.