OpenSDA / - SDA V2
SEGGER offers a firmware running on the NXP OpenSDA platform which makes OpenSDA compatible with J-Link LITE.
Overview
This firmware allows users to take advantage of most J-Link features like the ultra fast flash download and debugging speed or the free-to-use GDBServer, by using a low-cost OpenSDA platform for developing on evaluation boards.
Key features
- Supports all ARM based NXP boards which come with on-board OpenSDA
- Implements SWD debug protocol and virtual COM port functionality
Getting Started
Due to limitations of the OpenSDA bootloader replacing the firmware to use it as a J-Link can only be done on Windows and Linux systems. When the firmware is replaced, it can be used like any J-Link on macOS, too.
In order to get started with OpenSDA just a few steps are necessary:
- Make sure that the latest J-Link software package is installed: J-Link software package download
- Take the eval board which supports OpenSDA and connect it to the PC via USB while keeping the reset button of the board pushed. This will start the OpenSDA platform in MSD mode.
- The OpenSDA platform will show up as mass storage device (MSD) on the PC just like an USB stick.
- Download and extract the appropriate OpenSDA image
- Load the firmware by simply drag & drop the *.bin file on the device.
- After power-cycling the hardware, the OpenSDA platform will show up as J-Link on the PC.
Terms of Use
SEGGER created a firmware which runs on the NXP OpenSDA platform, making it J-Link compatible. In order to make use of this firmware, the following Terms Of Use must be accepted:
- The firmware is only to be used with NXP target devices. Using it with other devices is prohibited and illegal.
- The firmware is for use with evaluation boards only. It is not for use with custom hardware.
- The firmware may only be used for development and/or evaluation purposes. It may not be used for production purposes.
- The firmware is made available without any warranty and without support.
If there is any doubt if a certain use may be considered within the foregoing scope it is strongly recommended to consult SEGGER prior to use.
When starting a debug session, the following license dialog shows up which must be accepted in order to be able to work with OpenSDA:
Drag-And-Drop Support
Drag-And-Drop is a an additional feature of the J-Link OpenSDA firmware which adds a very intuitive programming feature. It allows programming your target MCU in a very simple way.
J-Link with Drag-And-Drop capability appears both as a debug probe and as a flash drive on the user's computer - similar to a USB stick. The J-Link's high performance and functionality for programming and debugging remain unchanged! The additional flash drive capability simplifies programming the target to dragging a Motorola S-record, Intel Hex, or plain binary file onto the J-Link Drive using the desktop.
Note: Drag-And-Drop support is not mandatory to debug and flash your target via a debugger/IDE.
Compatible Evaluation Boards
The following eval boards have been tested with the J-Link OB firmware and are known to be working. Other eval board may work as well but are not guaranteed to do so. In case of doubt, please consult SEGGER.
Evaluation Board | OpenSDA bootloader version |
---|---|
FRDM-K22F | 2.1 |
FRDM-K28F | 2.1 |
FRDM-K64F | 2.0 |
FRDM-K66F | 2.1 |
FRDM-K82F | 2.1 |
FRDM-KE02Z40M | 1.0 |
FRDM-KE04Z | 1.0 |
FRDM-KE06Z | 1.0 |
FRDM-KE15Z | 2.1 |
FRDM-KE17Z | 2.1 |
FRDM-KEAZ64Q64 | 2.1 |
FRDM-KL02Z | 1.0 |
FRDM-KL03Z | 1.0 |
FRDM-KL05Z | 1.0 |
FRDM-KL25Z | 1.0 |
FRDM-KL26Z | 1.0 |
FRDM-KL27Z | 1.0 |
FRDM-KL28Z | 2.0 |
FRDM-KL43Z | 1.0 |
FRDM-KL46Z | 1.0 |
FRDM-KL82Z | 2.0 |
FRDM-KV10Z | 1.0 |
FRDM-KV11Z | 1.0 |
FRDM-KV31F | 2.1 |
FRDM-KW24D512 | 2.1 |
FRDM-KW019032 | 2.0 |
FRDM-KW36 | 2.1 |
FRDM-KW38 | 2.1 |
FRDM-KW40Z | 2.0 |
FRDM-KW41Z | 2.1 |
MIMXRT1050-EVK-Hyperflash | 2.1 |
MIMXRT1050-EVK-QSPI | 2.1 |
MIMXRT1020-EVK | 2.1 |
TWR-K22F120M | 1.0 |
TWR-K64F120M | 1.0 |
TWR-K65F180M | 1.0 |
TWR-KE18F | 2.1 |
TWR-KL25Z48M | 1.0 |
TWR-KL82Z72M | 2.0 |
TWR-KM34Z75M | 1.0 |
TWR-KM35Z75M | 1.0 |
TWR-KV10Z32 | 1.0 |
TWR-KV11Z75M | 2.1 |
TWR-KV31F120M | 2.1 |
TWR-KV46F150M | 1.0 |
TWR-KW21D256 | 1.0 |
TWR-KW24D512 | 1.0 |
USB-KW41Z | 3.2 |
Firmware Images
Upgrading from 3rd Party Firmware to J-Link OpenSDA Firmware
Follow the steps above to bring the OpenSDA into bootloader mode. Select the appropriate firmware image for the board you are using: Firmware download
Note: Programming a board-specific firmware will also update the MSD configuration of the OpenSDA, meaning the old configuration is overwritten and updated to the one that comes with the image. The MSD configuration is there to support drag and drop programming. If a custom MSD config is used etc., please follow the instructions at "Updating board that is already running J-Link OpenSDA firmware" which will only update the firmware, by prevsering the MSD ocnfiguration.
Updating a Board That is Already Running J-Link OpenSDA Firmware
Follow the steps above to bring the OpenSDA into bootloader mode. Check the table above to determine which OpenSDA bootloader version is running on the board. Select the appropriate generic OpenSDA firmware image for the OpenSDA bootloader version you are using: Firmware download
Note: Programming a generic firmware will only update the firmware, not the MSD config. In case the MSD config shall also be updated, please follow the instructions at "Updating board that is already running J-Link OpenSDA firmware".
Firmware Version History and Limitations
Firmware Version History
23-01-31:
- Added support for ARMv8-M (Cortex-M23, -M33, ...)
18-10-10:
- Pull-up on VCOM Tx and Rx lines were not enabled by J-Link OB firmware. This could cause problems (target received NULL characters all the time) on some boards that do not have external pull-ups (e.g. FRDM-KW24D512). Fixed.
18-06-28:
- Added firmware for MIMXRT1020-EVK
- Added firmware for MIMXRT1050-EVK
17-09-29:
- Some boards could hang when trying to open the virtual COM port in a terminal application (e.g. FRDM-K22F) fixed.
17-02-28:
- Under special circumstances, the feature area of the J-Link contained garbage which could result in incorrect behavior of the firmware. Fixed.
17-01-25:
- Added image for FRDM-KW24D512
17-01-04:
- Under very special circumstances it could happen that when sending data to the target via VCOM, the second byte sent after powering up OpenSDA was swallowed. Fixed.
16-09-07:
- Firmware could crash because unaligned accesses crossing SRAM_L/SRAM_U inside the firmware could happen. Fixed.
16-08-01:
- Under special circumstances, flash download could report an error during erase even if erasure worked fine.
(Introduced with firmware from 16-07-12) Fixed.
16-07-12:
- Added firmware for Open SDA V3.2
- Added VMSD config for USB-KW41Z board
16-05-06:
- MSD volume label can be defined by MSD config
- MSD is not enabled, if no valid MSD config is found
- Changed LED pin configuration to open drain
- Changed RESET pin configuration to open drain and high drive strength
15-10-13:
- MSD detach + reattach after MSD programming did not work properly. Fixed.
(MSD task and timeout task had the same priority and round robin is not supported in release build)
15-10-06:
- Added MSD programming
Limitations
The firmware that makes the OpenSDA platform J-Link compatible has some limitations in contrast to an original, industry leading SEGGER J-Link:
- May be used with ARM based NXP devices only.
- Only debugging on evaluation boards is allowed. Debugging on custom hardware is not supported and not allowed.
- No production flash programming support.
- Unlimited breakpoints in flash available for evaluation only.
- No support is given.
By using an original SEGGER J-Link PRO, J-Link ULTRA+ or J-Link PLUS, all these limitations will be gone. Learn more about J-Link