From SEGGER Wiki
Revision as of 14:38, 29 June 2022 by Fabian (talk | contribs) (Usage)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

J-Run is a command line utility for automated tests. It loads an application (elf) file to the device under test, runs it, and captures the application's output.

The origin on J-Run is described in this blog post: https://blog.segger.com/j-run-automating-performance-tests

Test Applications

J-Run supports any ARM and RISC-V device which is supported by J-Link, and elf output from most toolchains.

The test application can do standard printf-style debug output to the debugger. J-Run supports handling of RTT and Semihosting.

When the test application is finished, it can call the semihosting exit operation or print the wildcard exit string (by default "STOP"), to exit the J-Run test.

The target output is printed to the terminal. It can be redirected to a file or application for further analysis.


JRun [options] elf-file
Option Default Description
--usb SerialNo Not set Connect to J-Link with SN "SerialNo" via USB.
--ip sIP Not set Connect to J-Link with IP "sIP" via IP.
--device str STM32F407IE Set device name to "str".
-if SWD/JTAG SWD Select SWD or JTAG as target interface.
-speed n 4000 Set interface speed to n kHz.
--rtt Auto Force RTT enabled.
--nortt Auto Force RTT disabled.
--semihost Auto Force semihosting enabled.
--nosemihost Auto Force semihosting disabled.
--exit str *STOP* Set exit wildcard to "str".
--quit On Automatically exit J-Run on application exit.
--wait Off Wait for key press on application exit.
--stderr Off Also send target output to stderr.
--jlinkscriptfile Path Not set Set path of J-Link script file to use to "Path". Further info: J-Link script files
--silent Off Work silently.
--verbose Off Increase verbosity.
--dryrun Off Dry run. Parse elf-file only.

Example Output

C:> jrun --wait JRun_Demo.elf
J-Run compiled Aug 15 2019 12:09:19
(c) 2018-2019 SEGGER Microcontroller GmbH    www.segger.com

Open application...OK
Set target device to STM32F407IE...OK
Select SWD interface...OK
Set interface speed to 4000 kHz...OK
Reset target...OK
Download 08000000-08002E19...OK
SEGGER_SEMIHOST_DebugHalt found at 0x08000734
Start target application...OK
Reading output from target until exit command.

SEGGER J-Run demo.
Took 2582433 cycles

J-Run finished. Press any key to exit.
C:> _
C:> jrun --silent JRun_Demo.elf
SEGGER J-Run demo.
Took 2582433 cycles
C:> _