npm

npm’s 2019 JavaScript ecosystem survey analysis is now available!Get your copy here »

@connectedyard/node-jlink

1.1.4 • Public • Published

node-jlink

NodeJS driver for the Segger JLink command line tool, jlinkexe, including conveniences found in nrfjprog (Nordic's commandline tool for the NRF series of micro-controllers).

Calls the jlinkexe cli tool for maximum compatibility. Tested on Windows, MacOSX and Raspberry Pi.

Command Line Usage

npm install -g @connectedyard/node-jlink

Usage

Usage: node-jlink [options] <commands>

Module Usage

All commands return promises.

var jlink = require("node-jlink");
jlink.reset();              // resets the device attached to the jlink programmer

var readMyMemCommands = ["h", "mem 0x10001004, 0x20"];
jlink.executeCommands( readMyMemCommands )
    .then( function( results ){
        console.log( result.stdout );
    });

nrfjprog Commands

The following nrfjprog commands are implemented as follows.

These commands return a Promise, resolve( true ) on success, reject( error ) on failure.

jlink.reset();                      // nrfjprog --reset
jlink.pinReset();                   // nrfjprog --pinreset
jlink.eraseAll();                   // nrfjprog --eraseAll
jlink.program( firmwareFilePath );  // nrfjprog --program <firmwareFilePath>

Reading Flash Memory

Flash memory is returned in a buffer.

jlink.readmem( address, numBytes)  // nrfjprog --memrd <address> --w 32 --n <numBytes>
.then( function( buffer ){
})
.catch( function( error ){
});

Executing Arbitrary JLinkEXE Scripts

Arbitrary JLinkEXE scripts can be executed by passing an array of commands into jlink.executeCommands( commands ). An Promise is returned, and on resolve the Result be as follows:

{
     stdout: String, captured from jlinkexe stdout stream, or empty string
     stderr: String, captured from jlinkexe stdout stream, or empty string
     code: Integer, captured from jlinkexe exit code, or 0
     error: Error, from jlinkexe or internal error, or null
}

A complete list of JLinkEXE commands are available at https://www.segger.com/admin/uploads/productDocs/UM08001_JLink.pdf

JLinkEXE

By default, the JLinkEXE command is expected to be found on the path as jlinkexe. The default commandline options to jlinkexe are "-device nrf51822 -if swd -speed 4000".

To change these values, set jlink.JLinkExe and jlink.JLinkExeOptions.

Keywords

install

npm i @connectedyard/node-jlink

Downloadsweekly downloads

6

version

1.1.4

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
Report a vulnerability