J-Link drag and drop programming

From SEGGER Wiki
Revision as of 17:35, 7 November 2022 by Alex (talk | contribs)
Jump to: navigation, search

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.

macOS specifics

Download of large data files

Data files that are 1 MB (1024 KB) or larger in size cannot be guaranteed to be programmed correctly.
Apple macOS has a scheduler that splits data files writes to the drag & drop drive to 1 MB chunks that are delegated to multiple threads.
This may lead to data being written to the drive non-sequentially because each 1 MB job of each thread may be interrupted by another thread at any time.
Due to limited RAM in J-Link (OB), the drag & drop functionality relies on data for a single file being written sequentially by the host operating system.