Skip to content

Commit ac41bf3

Browse files
JiafeiPannashif
authored andcommitted
boards: nxp: imx943_evk: add J-Link runner support
J-Link runner can be used to download and boot Zephyr, and also used for debugging. Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
1 parent 8c46895 commit ac41bf3

File tree

2 files changed

+66
-2
lines changed

2 files changed

+66
-2
lines changed

boards/nxp/imx943_evk/board.cmake

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#
2+
# Copyright 2025 NXP
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
if(CONFIG_SOC_MIMX94398_A55)
7+
board_runner_args(jlink "--device=MIMX94398_A55" "--no-reset" "--flash-sram")
8+
9+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
10+
endif()

boards/nxp/imx943_evk/doc/index.rst

Lines changed: 56 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,62 @@ Programming and Debugging (A55)
6464

6565
.. zephyr:board-supported-runners::
6666
67-
Boot Zephyr by Using U-Boot Command
68-
===================================
67+
There are multiple methods to program and debug Zephyr on the A55 core:
68+
69+
Option 1. Boot Zephyr by Using JLink Runner
70+
===========================================
71+
72+
Dependency
73+
----------
74+
75+
Need to disable all watchdog in U-Boot, otherwise, watchdog will reset the board
76+
after Zephyr start up from the same A55 Core.
77+
78+
Setup
79+
-----
80+
81+
The default runner for the board is JLink, connect the EVK board's JTAG connector to
82+
the host computer using a J-Link debugger, power up the board and stop the board at
83+
U-Boot command line, execute the following U-boot command to disable D-Cache:
84+
85+
.. code-block:: console
86+
87+
dcache off
88+
89+
then use "west flash" or "west debug" command to load the zephyr.bin
90+
image from the host computer and start the Zephyr application on A55 core0.
91+
92+
Flash and Run
93+
-------------
94+
95+
Here is an example for the :zephyr:code-sample:`hello_world` application.
96+
97+
.. zephyr-app-commands::
98+
:zephyr-app: samples/hello_world
99+
:host-os: unix
100+
:board: imx943_evk/mimx94398/a55
101+
:goals: flash
102+
103+
Then the following log could be found on UART1 console:
104+
105+
.. code-block:: console
106+
107+
*** Booting Zephyr OS build v4.1.0-3650-gdb71736adb68 ***
108+
Hello World! imx943_evk/mimx94398/a55
109+
110+
Debug
111+
-----
112+
113+
Here is an example for the :zephyr:code-sample:`hello_world` application.
114+
115+
.. zephyr-app-commands::
116+
:zephyr-app: samples/hello_world
117+
:host-os: unix
118+
:board: imx943_evk/mimx94398/a55
119+
:goals: debug
120+
121+
Option 2. Boot Zephyr by Using U-Boot Command
122+
=============================================
69123

70124
U-Boot "go" command can be used to start Zephyr on A55 Core0.
71125

0 commit comments

Comments
 (0)