blob: 0ce130458dc0233b6f042e65fda1566dc71e8283 [file] [log] [blame]
SEGGER SystemView
=================
Objective
---------
With `SEGGER's SystemView <https://www.segger.com/systemview.html>`__
you can "record data from the target system while it is running. The
recorded data is analyzed and the system behavior is visualized in
different views."
.. contents::
:local:
:depth: 2
Hardware needed
~~~~~~~~~~~~~~~
You'll need a SEGGER J-Link programmer in order to use this advanced
functionality. You might have an external J-Link programmer you're
already using, or maybe your board has a dedicated J-Link onboard as
some development kits do. Another possibilty is J-Link OB firmware
available for some devices like the micro:bit.
Software needed
~~~~~~~~~~~~~~~
- Download `SEGGER's SystemView
app <https://www.segger.com/downloads/free-utilities/>`__.
- Copy the description file from sys/sysview/SYSVIEW\_Mynewt.txt to the
/Description/ directory of SystemView
Setup the target
~~~~~~~~~~~~~~~~
We'll assume you have an existing example we're enabling SystemView on,
in this case :doc:`blinky on nrf52 <../blinky/nRF52>`. We can do so with the newt
target amend command:
.. code-block:: console
newt target amend blink_nordic syscfg=OS_SYSVIEW=1
Run the target executables
~~~~~~~~~~~~~~~~~~~~~~~~~~
Now 'run' the newt target as you'll need an active debugger process to
attach to:
.. code-block:: console
$ newt run blink_nordic 0
App image succesfully generated: ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph.img
Loading app image into slot 1
[~/Downloads/myproj/repos/apache-mynewt-core/hw/bsp/nrf52-thingy/nrf52-thingy_debug.sh ~/Downloads/myproj/repos/apache-mynewt-core/hw/bsp/nrf52-thingy ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph]
Debugging ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph.elf
GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-apple-darwin10 --target=arm-none-eabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ~/Downloads/myproj/bin/targets/blink_nordic/app/apps/bleprph/bleprph.elf...done.
0x000000d8 in ?? ()
Resetting target
0x000000dc in ?? ()
Launch the app
~~~~~~~~~~~~~~
Launch the app and press **OK** in the System Information dialog box.
.. figure:: ../pics/segger_sysview1.png
Select **Target > Start Recording** and press **OK** in the
Configuration dialog box.
.. figure:: ../pics/segger_sysview_start_record.png
You should see the recording for your Mynewt application.
.. figure:: ../pics/segger_sysview_recording.png