| :orphan: |
| |
| .. _stlink-v21: |
| |
| ST-LINK/V2-1 |
| ############ |
| |
| Overview |
| ******** |
| |
| ST-LINK/V2-1 is a serial and debug adapter built into all Nucleo and Discovery |
| boards. It provides a bridge between your computer (or other USB host) and the |
| embedded target processor, which can be used for debugging, flash programming, |
| and serial communication, all over a simple USB cable. |
| |
| SEGGER offers a firmware upgrading the ST-LINK/V2-1 on board on the Nucleo and |
| Discovery boards. This firmware makes the ST-LINK/V2-1 compatible with J-Link |
| OB, allowing users to take advantage of most J-Link features like the ultra fast |
| flash download and debugging speed or the free-to-use GDBServer. |
| |
| More informations about upgrading ST-LINK/V2-1 to JLink or restore ST-Link/V2-1 |
| firmware please visit: `SEGGER`_ |
| |
| Zephyr supports the following debug tools through ST-LINK/V2-1: |
| |
| * :ref:`st_ST-LINK/V2-1_stlink` |
| * :ref:`st_ST-LINK/V2-1_jlink` |
| |
| .. _st_ST-LINK/V2-1_stlink: |
| |
| ST-LINK/V2-1 |
| ************ |
| |
| ST-Link tool is available by default, flash and debug could be done as follows. |
| |
| Flashing |
| ======== |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :goals: flash |
| |
| Debugging |
| ========= |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :goals: debug |
| |
| .. note:: ST-Link relies on openocd for flashing and debugging. |
| On Linux, openocd is available though the `Zephyr SDK |
| <https://www.zephyrproject.org/developers/#downloads>`_. |
| Windows users should use the following steps to install |
| openocd: |
| |
| - Download openocd for Windows from here: `OpenOCD Windows`_ |
| - Copy bin and share dirs to ``C:\Program Files\OpenOCD\`` |
| - Add ``C:\Program Files\OpenOCD\bin`` to 'Path' |
| |
| .. _st_ST-LINK/V2-1_jlink: |
| |
| Segger J-Link |
| ************* |
| |
| Host Tools and Firmware |
| ======================= |
| |
| Download and install the `Segger J-Link Software and Documentation Pack`_ to |
| get the J-Link GDB server for your host computer. |
| |
| Flashing |
| ======== |
| |
| Use the CMake ``flash`` target with the argument ``STLINK_FW=jlink`` to |
| build your Zephyr application. |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :gen-args: -DSTLINK_FW=jlink |
| :goals: flash |
| |
| Debugging |
| ========= |
| |
| Use the CMake ``debug`` target with the argument ``STLINK_FW=jlink`` to build |
| your Zephyr application, invoke the J-Link GDB server, attach a GDB client, and |
| program your Zephyr application to flash. It will leave you at a GDB prompt. |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :gen-args: -DSTLINK_FW=jlink |
| :goals: debug |
| |
| Console |
| ======= |
| |
| If you configured your Zephyr application to use a UART console (most boards |
| enable this by default), open a serial terminal (minicom, putty, etc.) with the |
| following settings: |
| |
| - Speed: 115200 |
| - Data: 8 bits |
| - Parity: None |
| - Stop bits: 1 |
| |
| If you configured your Zephyr application to use `Segger RTT`_ console instead, |
| open telnet: |
| |
| .. code-block:: console |
| |
| $ telnet localhost 19021 |
| Trying ::1... |
| Trying 127.0.0.1... |
| Connected to localhost. |
| Escape character is '^]'. |
| SEGGER J-Link V6.30f - Real time terminal output |
| J-Link STLink V21 compiled Jun 26 2017 10:35:16 V1.0, SN=773895351 |
| Process: JLinkGDBServerCLExe |
| Zephyr Shell, Zephyr version: 1.12.99 |
| Type 'help' for a list of available commands |
| shell> |
| |
| If you get no RTT output you might need to disable other consoles which conflict |
| with the RTT one if they are enabled by default in the particular sample or |
| application you are running, such as disable UART_CONSOLE in menuconfig. |
| |
| |
| .. _SEGGER: |
| https://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/ |
| |
| .. _Segger J-Link Software and Documentation Pack: |
| https://www.segger.com/downloads/jlink |
| |
| .. _Segger RTT: |
| https://www.segger.com/jlink-rtt.html |
| |
| .. _OpenOCD Windows: |
| http://gnutoolchains.com/arm-eabi/openocd/ |