Revision History
This page list all relevant changes for the SmartRF Flash Programmer 2.
Note
SmartRF Flash Programmer 2 will not target automotive customers since it is not qualified for automotive devices. Customers may use SmartRF Flash Programmer 2 for automotive devices, but it is the customer's responsibility to ultimately comply with regulatory requirements.
Version 1.8.2
Release date: July 10, 2020
New Features and Enhancements
- Updated emupack to version 9.2.0.00002 (LPRFTOOLS-864).
- [CC2640R2L] Added flash programming support for CC2640R2L (LPRFTOOLS-410).
Bug fixes
- Fixed issue with programming of file with missing CCFG information in last flash page. This must be possible when the FW image has been divided over 2 or more files. (SRFPROG-399).
Known issues
- If there are multiple boards connected and only 1 of them needs an update of XDS110 FW, the FW update is also triggered the other boards (SRFPROG-414).
- Using verification action when programming over the serial interface will fail if the file contains bits that lock bootloader access during programming (SRFPROG-377).
- GUI: The "Auto-detect" checkbox state is not remembered between sessions. It is always enabled on startup (SRFPROG-233).
- GUI: When the resolution is set to low and the scaling is set high on a display, the application can get larger than the size of the screen or the windows can get compressed. The workaround is to adjust the settings or undock the image overrides (SRFPROG-360).
- XDS200 Debugger: Flash Programmer 2 reports "Enumeration failed" if XDS200 firmware is outdated. See Troubleshooting section of the Flash Programmer 2 Help document.
- CC2538 Edit tab: Reading "CCA" or "All flash" on CC2538 variants with less than 512KB flash will fail on the first attempt. The workaround is to connect to the device before reading memory (SRFPROG-194).
Version 1.8.1
Release date: July 12, 2019
New Features and Enhancements
- Added support for Intel-hex records "Extended Segment Address" (SRFPROG-388).
- The JTAG pin setting is shown in the status window in GUI and log for CLI (SRFPROG-390).
- Updated emupack to version 8.1.0.00005 (LPRFTOOLS-771).
Bug fixes
- GUI Edit tab: Added validation for the length field. If the length is larger than the device flash size, a popup window will appear and gives the option to proceed with the selected length or change it (SRFPROG-366).
- The GUI and CLI can be opened from any directory and remain fully functional (SRFPROG-319).
- Removed redundant "." from pop-up window notifying that the debug interface is locked (SRFPROG-379).
- Fixed incorrect package name for 7x7 QFN packages (SRFPROG-395).
Known issues
- Using verification action when programming over the serial interface will fail if the file contains bits that lock bootloader access during programming (SRFPROG-377).
- GUI: The "Auto-detect" checkbox state is not remembered between sessions. It is always enabled on startup (SRFPROG-233).
- GUI: When the resolution is set to low and the scaling is set high on a display, the application can get larger than the size of the screen or the windows can get compressed. The workaround is to adjust the settings or undock the image overrides (SRFPROG-360).
- XDS200 Debugger: Flash Programmer 2 reports "Enumeration failed" if XDS200 firmware is outdated. See Troubleshooting section of the Flash Programmer 2 Help document.
- CC2538 Edit tab: Reading "CCA" or "All flash" on CC2538 variants with less than 512KB flash will fail on the first attempt. The workaround is to connect to the device before reading memory (SRFPROG-194).
Version 1.8.0
Release date: January 8, 2019
New Features and Enhancements
- [CC26x2, CC13x2] Added flash programming support for CC13x2 and CC26x2 devices (LPRFTOOLS-313).
- CC13x2: CC1312R, CC1352R, CC1352P
- CC26x2: CC2642R, CC2642R-Q1, CC2652R, CC2652RB
- Supported interfaces: 2-pin cJTAG, 4-pin JTAG and serial interface (UART)
- The device revision letter and number is now displayed in both the GUI and CLI (SRFPROG-327).
- GUI Info tab: Extended the number of highlighted fields and added help text (SRFPROG-326).
- GUI Edit tab: The length field now supports both decimal and hexadecimal input. To use hexadecimal input, add "0x" in the length field (SRFPROG-275).
- Added a shortcut to Flash Programmer 2 in the top level folder of the installation directory (SRFPROG-310).
Bug fixes
- Fixed issue with programming of ELF file. Validation of section header failed (SRFPROG-271).
- Fixed issue where SmartRF Flash Programmer 2 crashed when file size exceeded device size (SRFPROG-279).
- Fixed issue where secondary IEEE 802.15.4 and secondary BLE addresses were incorrect for CC13x2 and CC26x2 devices (SRFPROG-288).
- Fixed issue where reading a corrupt HEX file did not give an error message (SRFPROG-256).
- Fixed issue where writing flash to file would sometimes append the data in an existing file. File content is now consistently overwritten (SRFPROG-234).
- [CC2640R2F] Device revision now shows 2.5 (instead of 1.0) to align with the silicon revision specified in device errata note (SRFPROG-294).
- [CC2640R2F] Fixed issue where package type naked die was not detected (LPRFTOOLS-307).
- GUI: Fixed issues when performing actions directly after locking the debug interface. The error message is improved and performing a mass erase is possible (SRFPROG-144).
- GUI: Fixed several scaling issues seen on Windows 10 using high resolution displays (SRFPROG-291).
- GUI: Changed to a monospace font to increase the readability on high resolution displays (SRFPROG-298).
- GUI: Fixed issue where the flashing procedure is interrupted by clicking anywhere in the GUI (SRFPROG-296). The issue is resolved by locking the GUI during the flashing procedure.
- CLI: Cleaned up the list of available reset options. The reset options "hard" and "debug" are removed (SRFPROG-247).
Known issues
- GUI: The "Auto-detect" checkbox state is not remembered between sessions. It is always enabled on startup (SRFPROG-233).
- XDS200 Debugger: Flash Programmer 2 reports "Enumeration failed" if XDS200 firmware is outdated. See Troubleshooting section of the Flash Programmer 2 Help document.
- CC2538 Edit tab: Reading "CCA" or "All flash" on CC2538 variants with less than 512KB flash will fail on the first attempt. The workaround is to connect to the device before reading memory (SRFPROG-194).
- CC13xx/CC26xx: Flash Programmer 2 fails to connect to CC13xx/CC26xx devices if the SCLK configuration in CCFG (Customer Configuration Area) is set to external LF clock. The workaround is to perform a mass erase before connecting to the device (SRFPROG-241).
- GUI Edit tab: The length field is not validated properly. Typing in a large value may cause Flash Programmer 2 work for a long time. The workaround is to not input too large values in the length field (SRFPROG-366).
Version 1.7.5
Release date: December 9, 2016
New Features and Enhancements
- Added support for device CC2640R2F (SRFPROG-195).
- XDS110: Added support for 2-pin cJTAG, previously only available for XDS100v3 and XDS200 (SRFPROG-171).
Bug fixes
- Fixed issue where some ELF data types were not handled correctly (SRFPROG-257).
- Fixed issue seen on Windows 10 where XDS110 emulators sometimes were listed twice (SRFPROG-257).
- Fixed scaling issue seen on Windows 10 machines with screen scaling other than 100% (SRFPROG-261).
- Fixed issue where GUI displayed wrong package size for WCSP package types (SRFPROG-258).
Known issues
- GUI: Flash Programmer 2 does not scale correctly on Windows 7 machines with screen scaling other than 100%.
- GUI: If you program a device with the "lock debug interface" option enabled, you must manually click the "Refresh" button for the Flash Programmer to detect that the debug interface is locked.
- GUI: The "Auto-detect" checkbox state is not remembered between sessions. It is always enabled on startup (SRFPROG-233).
- XDS200 Debugger: Flash Programmer 2 reports "Enumeration failed" if XDS200 firmware is outdated. See Troubleshooting section of the Flash Programmer 2 Help document.
- CC2538 Edit tab: Reading "CCA" or "All flash" on CC2538 variants with less than 512KB flash will fail on the first attempt. The workaround is to connect to the device before reading memory (SRFPROG-194).
Version 1.7.4
Release date: June 16, 2016
New Features and Enhancements
- None
Bug fixes
- Fixed issue where XDS110 firmware update drivers were not installed (SRFPROG-243).
Known issues
- XDS200 Debugger: Flash Programmer 2 reports "Enumeration failed" if XDS200 firmware is outdated. See Troubleshooting section of the Flash Programmer 2 Help document.
- Same as for version 1.7.2.
Version 1.7.3
Release date: June 3, 2016
New Features and Enhancements
- [CC2538] Added support for locking debug interface (SRFPROG-43).
- [CC2538] Added support for write-protecting flash pages (SRFPROG-45).
- Installer includes version 6.0.228.0 of the XDS Emulator SW drivers (SRFPROG-223).
Bug fixes
- Fixed issue where two HEX files were incorrectly reported as overlapping (SRFPROG-219).
- Fixed issue where secondary MAC address checkboxes lost state after deselecting device (SRFPROG-192).
- Fixed issue where CLI crashed when programming invalid MAC address (SRFPROG-216).
- Fixed issue in Edit tab where writing an invalid value to FLASH sometimes resulted in multiple error messages (SRFPROG-190).
Known issues
- XDS200 Debugger: Flash Programmer 2 reports "Enumeration failed" if XDS200 firmware is outdated. See Troubleshooting section of the Flash Programmer 2 Help document.
- Same as for version 1.7.2.
Version 1.7.2
Release date: December 18, 2015
New Features and Enhancements
- Added automatic firmware update feature for XDS110 emulator.
- Added installer checkbox options to start application, open revision history, and create desktop shortcut.
- Increased maximum number of enumerated devices from 32 to 128.
- GUI: In multi-file mode, file open dialog now supports selecting multiple files.
Bug fixes
- Fixed problem where XDS110 emulators were not detected if serial number contained lowercase letters.
- Fixed problem where CLI did not quit gracefully if no hardware was connected.
Known issues
- XDS110 Debugger: Using the XDS110 debugger together with SmartRF06EB will not work if the debugger is connected to the USB cable before the SmartRF06EB board is powered. The following sequence will ensure the correct operation: 1) Connect the XDS110 debugger to SmartRF06EB. 2) Make sure the SmarRF06EB board is powered. 3) Connect the USB cable to the XDS110 debugger board.
- Serial interface: Flash programmer 2 uses halt-in-boot (HIB) during device enumeration. The serial bootloader interface reset does not clear the HIB flag. The device is reset, but the boot code halts-in-boot. Thus, after disconnecting the device, a pin reset must be done in order to re-connect with the serial bootloader interface, or for a programmed application to start running.
- GUI: After programming with the "lock debug interface" option selected, the device must be reset and the "Refresh" button must be pressed to refresh the list of connected devices.
Version 1.7.1
Release date: September 11, 2015
Bug fixes
- Fixed problem to read ELF files with data outside the address range of the flash area.
- Verification fails when programming a FW image with data for part of the Custom Config(CCFG) area. Some parts of the CCFG area will be set to special values after an erase action and during the verification action, these values were compared with the original FW image and an error was reported.
- The "MAC Address" tab lost focus when another device was selected.
- The CLI programmer failed to do a Forced Mass erase("-e forced") of a device with locked debug interface.
Known issues
- XDS110 Debugger:
- From version 1.7.0, the flash programmer uses new drivers for the XDS110 debugger. The new drivers requires XDS110 firmware version 2.2.4.2 or later. If the debugger runs older firmware, it is unable to detect what device it is connected to. Updating the firmware is easy. See Troubleshooting in the help document for further details.
- Using the XDS110 debugger together with SmartRF06EB will not work if the debugger is connected to the USB cable before the SmartRF06EB board is powered. The following sequence will ensure the correct operation: 1) Connect the XDS110 debugger to SmartRF06EB. 2) Make sure the SmarRF06EB board is powered. 3) Connect the USB cable to the XDS110 debugger board.
- CLI: When trying to do any action on a device with "debug interface locked", the action will fail with an error message like "Target connect failed". There will not be any indication about the debug interface being locked. The only action that will work is the "Forced Mass erase" option (-e forced).
- GUI: After programming with the "lock debug interface" option selected, the device must be reset and the "Refresh" button must be pressed to refresh the list of connected devices.
Version 1.7.0
Release date: August 21, 2015
New Features and Enhancements
- Added support for ELF files.
- Added option to skip pages during programming.
- Added flash utilities in the Edit tab: Read CCFG, Erase selected memory, and Fill selected memory.
- Added the Verify option "CRC check" for CC26xx and CC13xx devices.
- Improved performance for XDS100v3 and XDS110 emulators.
- Added option to do automatic enumeration of emulators and devices.
- Updated the application icon.
- Installer includes a new version of the SW drivers for "XDS" Emulators.
Bug fixes
- Fixed problem when selecting target device for CC13xx. For example "CC1310F128".
- Cleaned up interface to program MAC addresses for BLE and IEEE 802.15.4 devices.
- Fixed issue where incorrect RAM size was shown for some target devices.
Known issues
- Using the XDS110 Debugger together with SmartRF06EB is not always stable. It is assumed to be related to the design of the SmartRF06EB board. The same symptoms has not been seen when connected to the Sensor Tag.
- The new SW drivers for the "XDS" devices may require a FW update of the Emulator.
- The XDS Emulation package mentioned above contains the necessary tools and information to do the update.
See Troubleshooting in the help document for further details.
- The XDS Emulation package mentioned above contains the necessary tools and information to do the update.
Version 1.6.3
Release date: July 17, 2015
Bug fixes
- Fixed problem where some CC26xx silicon revisions were not being detected correctly.
Known issues
- Same as for version 1.6.2.
Version 1.6.2
Release date: June 30, 2015
Bug fixes
- Fixed problem with Virus alert when downloading the installer from the web.
Known issues
- Same as for version 1.6.1.
Version 1.6.1
Release date: April 24, 2015
New Features and Enhancements
- New option to choose 4pin JTAG for XDS100 and XDS200.
Bug fixes
- The read/write flash methods have been updated to improve the performance.
- Values that are updated in the Edit panel will be padded with zeroes.
- Moved read button in Edit panel to "select memory area box".
- CLI Problem when using "-t lsidx(0)".
Known issues
- Using the XDS110 Debugger together with SmartRF06EB is not always stable. It is assumed to be related to the design of the SmartRF06EB board. The same symptoms has not been seen when connected to the Sensor Tag.
Version 1.6.0
Release date: March 27, 2015
New Features and Enhancements
- Support for XDS110 Debugger.
- "Disable bootloader" can now be selected as an option of the main panel.
- Name of buttons to save flash to file and to save data view to file changed to make it more intuitive.
- The offset address is added in the left most column when saving data to text file in the Edit panel.
- Improved error message when attempting to connect to a device that is already in use by another tool.
Bug fixes
- Better handling of features that are applicable for certain devices.
- Automatically disconnecting from target before opening CLI window from GUI.
- Problem with changing number of columns in the edit tab.
- An image was missing when selecting XDS2xx Emulator.
- Radio buttons not visible when using "Windows Classic" theme.
- Problem with enumeration when XDS2xx does not recognize the target. The second attempt to refresh the device list failed.
Known issues
- Using the XDS110 Debugger together with SmartRF06EB is not always stable. It is assumed to be related to the design of the SmartRF06EB board. The same symptoms has not been seen when connected to the Sensor Tag.
- The XDS110 Debugger appear slower than expected. This is probably related to current SW implementation. It is expected to be improved in future releases.
Version 1.5.0
Release date: February 25, 2015
New Features and Enhancements
- Full support for CC26xx/CC13xx devices.
- Added feature to connect/disconnect with right click on devices in list of connected devices
- New option in "Tools" menu to set if target should be disconnected or not when action finished.
- An overlay icon on the windows toolbar is introduced to indicate if target connected.
- New reset options in the CLI programmer.
- Support reading of any address in target memory.
- Support for programming of multiple files.
- The maximum number of connected devices increased from 16 to 64.
- The speed of flash programming has been improved. Somewhere between 40 and 50% faster.
- Option to keep Customer Configuration Area data added for CC26xx/CC13xx devices.
- Added feature to set lock bits (Page lock and debug lock) together with programming actions for CC26xx/CC13xx devices.
- Added feature to save flash to file in the "Edit" panel.
- Programming of several targets in GUI.
- Power cycling after "forced mass erase" not needed any more. It is now handled with a "Pin reset".
- The default reset handling in CLI after programming action changed from "Normal" to "Pin reset".
- Verify action inherits option for exclude pages from program action.
Bug fixes
- Programming of flash image failed. Verification gives an error on the last bytes in flash page.
- Programming of bin file when start address different from beginning of the flash area.
- Display of target information: Chip revision, flash and ram size.
- Read of data in "edit" panel with length less than number of columns.
- Programming of hex image with overlapping addresses.
- CLI: Use of lower case and spaces in device ID and chip ID.
- Error message if incorrect path to file given improved.
- The reset handling has been reworked.
- Crash in GUI Edit tab if "write" button clicked twice without any changes between.
- Crash on enumeration if Windows "Personal" folder not found.
- Problem to start "Action" after "forced mass erase".
- "Erase all" action renamed to "Erase all unprotected pages".
- Handling of "Unknown" device for "XDS2xx Serial Port".
- Error message improved when no power is applied to target.
- Problem with overlapping addresses when using encryption key data.
- GUI: Status panel and progress bar squeezed.
Known issues
-
XDS200: If the target device is not recognized("Unknown") on Enumeration("Refresh device list"),
the next attempts to refresh the device list will fail.
The following Error message is given:
Enumeration failed!
(Error -2083 @ 0x0):
"Unable to communicate with the debug probe. Confirm debug probe configuration and connections, reset the debug probe, and retry the operation."
- Changing number of columns in the Edit Tab is not working correctly if you already have data in the memory view.
- If the first cell in the view is empty, all the data in view will be deleted.
- If the memory view contains less data than a complete flash page, the complete page will be padded with zeros.
Version 1.4.0
Release date: March 11, 2014
New Features and Enhancements
- The Verify action can be used alone without any other actions. Options to specify what to "skip" during verification have been added.
- Automatic scrolling in status window
Bug fixes
- Programming of hex file with random address order.
- Reading of Primary IEEE 802.15.4 Address for CC2538.
- COM port not being properly closed if setup of connection failed.
- Crash on attempt to read range "0-"
- Erase all pages given in input image used alone was failing.
- The Verify options could all be "unchecked".
Known issues
- Limited functionality for CC2650/CC1350. Supported functionality:
- Mass erase
- Read flash (entire flash or range of flash pages)
- Program flash (from binary or Intel HEX file)
- Readback verification
- Reading and writing a large part of the flash area can take some time. For example reading all flash from CC2538 with 512 kB flash will take around 1 minute.
Version 1.3.1
Release date: September 16, 2013
New Features and Enhancements
- Preliminary support for programming of CC26xx devices.
Bug fixes
- Possible crash when click on "Refresh" button in panel of connected devices.
Known issues
- Limited functionality for CC2650. Supported functionality:
- Mass erase
- Read flash (entire flash or range of flash pages)
- Program flash (from binary or Intel HEX file)
- Readback verification
- Reading and writing a large part of the flash area can take some time. For example reading all flash from CC2538 with 512 kB flash will take around 1 minute.
- The "Verify" action can not be run stand alone. This is not yet supported. It will give an error message about missing file. It should only be used with the "Program" action.
Version 1.3.0
Release date: September 10, 2013
New Features and Enhancements
- Preliminary support for programming of CC26xx devices.
Bug fixes
- Possible crash during readback verification.
Known issues
- Limited functionality for CC2650. Supported functionality:
- Mass erase
- Read flash (entire flash or range of flash pages)
- Program flash (from binary or Intel HEX file)
- Readback verification
- Reading and writing a large part of the flash area can take some time. For example reading all flash from CC2538 with 512 kB flash will take around 1 minute.
- The "Verify" action can not be run stand alone. This is not yet supported. It will give an error message about missing file. It should only be used with the "Program" action.
Version 1.2.0
Release date: August 20, 2013
New Features and Enhancements
- Handling of Encryption certificate file added.
- Support for hex files added.
- Support for flash programming with the serial bootloader on CC2538.
- Read/Write of IEEE address in "Main" tab removed to avoid confusion with the "IEEE MAC Address" tab.
Bug fixes
- Flash location for secondary IEEE address for CC2538.
- Driver installation on Windows 8.
Known issues
- Reading and writing a large part of the flash area can take some time. For example reading all flash from CC2538 with 512 kB flash will take around 1 minute.
- The "Verify" action can not be run stand alone. This is not yet supported. It will give an error message about missing file. It should only be used with the "Program" action.
Version 1.1.0
Release date: May 28, 2013
New Features and Enhancements
- An "Edit" panel has been added to read and write flash content.
- A menu with two options has been added to the tool icon. 1) Open Command Window, 2) CC2538 Forced Mass Erase.
Bug fixes
- To support flash programming of CC2538 running at a low system clock frequency (<16 MHz), the CC2538 device is forced to run off HSOSC at 16 MHz.
Known issues
- Reading and writing a large part of the flash area can take some time. For example reading all flash from CC2538 with 512 kB flash will take around 1 minute.
- The "Verify" action can not be run stand alone. This is not yet supported. It will give an error message about missing file. It should only be used with the "Program" action.
Version 1.0.0
Release date: April 23, 2013
This is The first release of SmartRF Flash Programmer 2.
The GUI and the CLI versions are supported on Windows XP up to Windows7.
The only supported HW platform is: SmartRF06EB + CC2538EM.
Bug fixes
Known issues
- The "Verify" action can not be run stand alone. This is not yet supported. It will give an error message about missing file. It should only be used with the "Program" action.