From SEGGER Wiki
Revision as of 15:29, 15 August 2019 by Johannes (talk | contribs)
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
-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.
-s Off Work silently.
-v Off Increase verbosity.

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 0x00000000
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:> _