Difference between revisions of "J-Link drag and drop programming"

From SEGGER Wiki
Jump to: navigation, search
(Data file conditioner utility)
 
(18 intermediate revisions by 3 users not shown)
Line 1: Line 1:
  +
Drag-And-Drop is an optional J-Link OB intuitive programming feature. It allows programming of your target MCU in a very simple way.
  +
J-Link OB with Drag-And-Drop capability appears both as a debug probe and as a flash drive on the user's computer.
  +
With the flash drive option it is now as simple as dragging and dropping a file (a Motorola S-record, an Intel Hex, or a plain binary) onto the J-Link drive. There is no need to install application software. Anyone that can drag and drop a file to a USB memory stick can now program the target on an evaluation board.
  +
 
__TOC__
 
__TOC__
   
  +
== Windows specifics ==
TBD
 
  +
=== Download of data files ===
  +
  +
Data files cannot be guaranteed to be programmed correctly.<br>
  +
Known affected Windows versions are:<br>
  +
*<span style="color:red">Windows 10: 22H2 OS Builds 1904x.2788 or later</span>
  +
*<span style="color:red">Windows 11: 22H2 and 21H2 OS build 22621.1344 or later</span><br>
  +
Windows intermittently transfers chunks of the data file in non-sequential order.<br>
  +
More info, see [[#Host transfers data file out of order | Section: Host transfers data file out of order]].
  +
  +
== macOS specifics ==
  +
See [[#Host transfers data file out of order | Section: Host transfers data file out of order]]
  +
  +
== Host transfers data file out of order ==
  +
Since certain versions / updates, at least Windows and macOS stopped transferring the data file in sequential order.<br>
  +
It can now happen that the file is transferred in multiple blocks that may be sent by the host out of order.<br>
  +
Depending on how the host splits the data file transfer, J-Link may not have any chance of programming the data file correctly because it cannot buffer the whole chunk after a gap until the gap is filled by the host.<br>
  +
Therefore, it is strongly recommended to only use "conditioned" data files for drag & drop programming.<br>
  +
SEGGER provides a [[#Data file conditioner utility | data file conditioner utility]] for this purpose.
   
  +
== Data file conditioner utility ==
== Out-of-order data reception ==
 
  +
Due to the recent host OS changes discussed in [[#Host transfers data file out of order | Section: Host transfers data file out of order]],<br>
  +
SEGGER created a data file conditioner utility that prepares a data file in a way that out of order transfers do no longer hurt.<br>
  +
The utility is part of the [https://www.segger.com/downloads/jlink/ J-Link software package] (starting with V7.92).<br>
  +
{{Note|1=The conditioner utility (DDConditioner.exe under Windows) needs a hex/mot/srec/bin file as an input and outputs an *.srec file.<br>The conversion can be easily triggered by drag & drop the file to be converted onto the executable of the utility}}
   
  +
== Error codes ==
 
TBD
 
TBD

Latest revision as of 17:08, 10 August 2023

Drag-And-Drop is an optional J-Link OB intuitive programming feature. It allows programming of your target MCU in a very simple way. J-Link OB with Drag-And-Drop capability appears both as a debug probe and as a flash drive on the user's computer. With the flash drive option it is now as simple as dragging and dropping a file (a Motorola S-record, an Intel Hex, or a plain binary) onto the J-Link drive. There is no need to install application software. Anyone that can drag and drop a file to a USB memory stick can now program the target on an evaluation board.

Windows specifics

Download of data files

Data files cannot be guaranteed to be programmed correctly.
Known affected Windows versions are:

  • Windows 10: 22H2 OS Builds 1904x.2788 or later
  • Windows 11: 22H2 and 21H2 OS build 22621.1344 or later

Windows intermittently transfers chunks of the data file in non-sequential order.
More info, see Section: Host transfers data file out of order.

macOS specifics

See Section: Host transfers data file out of order

Host transfers data file out of order

Since certain versions / updates, at least Windows and macOS stopped transferring the data file in sequential order.
It can now happen that the file is transferred in multiple blocks that may be sent by the host out of order.
Depending on how the host splits the data file transfer, J-Link may not have any chance of programming the data file correctly because it cannot buffer the whole chunk after a gap until the gap is filled by the host.
Therefore, it is strongly recommended to only use "conditioned" data files for drag & drop programming.
SEGGER provides a data file conditioner utility for this purpose.

Data file conditioner utility

Due to the recent host OS changes discussed in Section: Host transfers data file out of order,
SEGGER created a data file conditioner utility that prepares a data file in a way that out of order transfers do no longer hurt.
The utility is part of the J-Link software package (starting with V7.92).

Note:
The conditioner utility (DDConditioner.exe under Windows) needs a hex/mot/srec/bin file as an input and outputs an *.srec file.
The conversion can be easily triggered by drag & drop the file to be converted onto the executable of the utility

Error codes

TBD