Skip to content

Commit

Permalink
west: linkserver: adding support to NXP boards
Browse files Browse the repository at this point in the history
Support for the following platforms is provided with this commit:
   - mimxrt595
   - mimxrt1060
   - mimxrt1064
   - lpc55s69.

Support for more boards will be added with future PR's

Notes:
 - the debug firmware of the board must be CMSIS-DAP/LPC-Link (latest
 revision).  If your board is running the jlink firmware, linkserver
 fails to  connect to the board

 - probes can be listed by running:
  $ LinkServer probes

Signed-off-by: Yves Vandervennet <[email protected]>
  • Loading branch information
yvanderv authored and mmahadevan108 committed Jul 21, 2023
1 parent 58e4df6 commit 9135305
Show file tree
Hide file tree
Showing 8 changed files with 55 additions and 4 deletions.
6 changes: 5 additions & 1 deletion boards/arm/lpcxpresso55s69/board.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2019, NXP
# Copyright 2019, 2023 NXP
#
# SPDX-License-Identifier: Apache-2.0
#
Expand All @@ -10,6 +10,9 @@

if(CONFIG_BOARD_LPCXPRESSO55S69_CPU0 OR CONFIG_SECOND_CORE_MCUX)
board_runner_args(jlink "--device=LPC55S69_M33_0")
board_runner_args(linkserver "--device=LPC55S69:LPCXpresso55S69")
board_runner_args(linkserver "--override=/device/memory/0/flash-driver=LPC55xx_S.cfx")
board_runner_args(linkserver "--override=/device/memory/0/location=0x10000000")
elseif(CONFIG_BOARD_LPCXPRESSO55S69_CPU1)
board_runner_args(jlink "--device=LPC55S69_M33_1")
endif()
Expand All @@ -18,3 +21,4 @@ board_runner_args(pyocd "--target=lpc55s69")

include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/linkserver.board.cmake)
10 changes: 10 additions & 0 deletions boards/arm/lpcxpresso55s69/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ For more information about the LPC55S69 SoC and LPCXPRESSO55S69 board, see:
- `LPCXPRESSO55S69 Website`_
- `LPCXPRESSO55S69 User Guide`_
- `LPCXPRESSO55S69 Schematics`_
- `LPCXPRESSO55S69 Debug Firmware`_

Supported Features
==================
Expand Down Expand Up @@ -289,6 +290,12 @@ Follow the instructions in :ref:`lpclink2-jlink-onboard-debug-probe` to program
the J-Link firmware. Please make sure you have the latest firmware for this
board.

:ref:`lpclink2-cmsis-onboard-debug-probe`
-----------------------------------------

1. Install the :ref:`linkserver-debug-host-tools` and make sure they are in your search path.
2. To update the debug firmware, please follow the instructions on `LPCXPRESSO55S69 Debug Firmware`

:ref:`opensda-daplink-onboard-debug-probe`
------------------------------------------

Expand Down Expand Up @@ -392,6 +399,9 @@ should see the following message in the terminal:
.. _LPCXPRESSO55S69 User Guide:
https://www.nxp.com/webapp/Download?colCode=UM11158

.. _LPCXPRESSO55S69 Debug Firmware:
https://www.nxp.com/docs/en/application-note/AN13206.pdf

.. _LPCXPRESSO55S69 Schematics:
https://www.nxp.com/webapp/Download?colCode=LPC55S69-SCH

Expand Down
4 changes: 3 additions & 1 deletion boards/arm/mimxrt1060_evk/board.cmake
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
#
# Copyright (c) 2018, NXP
# Copyright (c) 2018, 2023 NXP
#
# SPDX-License-Identifier: Apache-2.0
#

board_runner_args(pyocd "--target=mimxrt1060")
board_runner_args(jlink "--device=MIMXRT1062xxx6A")
board_runner_args(linkserver "--device=MIMXRT1062xxxxA:EVK-MIMXRT1060")

if ((${CONFIG_BOARD_MIMXRT1060_EVK}) OR (${CONFIG_BOARD_MIMXRT1060_EVKB}))
board_runner_args(jlink "--loader=BankAddr=0x60000000&Loader=QSPI")
Expand All @@ -15,3 +16,4 @@ endif()

include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/linkserver.board.cmake)
9 changes: 9 additions & 0 deletions boards/arm/mimxrt1060_evk/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ these references:
- `MIMXRT1060-EVK Website`_
- `MIMXRT1060-EVK User Guide`_
- `MIMXRT1060-EVK Schematics`_
- `MIMXRT1060-EVK Debug Firmware`_

Supported Features
==================
Expand Down Expand Up @@ -315,6 +316,11 @@ however the :ref:`pyocd-debug-host-tools` do not yet support programming the
external flashes on this board so you must reconfigure the board for one of the
following debug probes instead.

.. _Using LinkServer:

1. Install the :ref:`linkserver-debug-host-tools` and make sure they are in your search path.
2. To update the debug firmware, please follow the instructions on `MIMXRT1060-EVK Debug Firmware`

.. _Using J-Link RT1060:

Using J-Link
Expand Down Expand Up @@ -429,6 +435,9 @@ connected to the EVK properly. See :ref:`Using J-Link RT1060` for more details.
.. _MIMXRT1060-EVK User Guide:
https://www.nxp.com/webapp/Download?colCode=MIMXRT10601064EKBHUG

.. _MIMXRT1060-EVK Debug Firmware:
https://www.nxp.com/docs/en/application-note/AN13206.pdf

.. _MIMXRT1060-EVK Schematics:
https://www.nxp.com/webapp/Download?colCode=MIMXRT1060-EVK-DESIGNFILE-A3

Expand Down
4 changes: 3 additions & 1 deletion boards/arm/mimxrt1064_evk/board.cmake
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
#
# Copyright (c) 2018, NXP
# Copyright 2018, 2023 NXP
#
# SPDX-License-Identifier: Apache-2.0
#

board_runner_args(pyocd "--target=mimxrt1064")
board_runner_args(jlink "--device=MIMXRT1064")
board_runner_args(linkserver "--device=MIMXRT1064xxxxA:EVK-MIMXRT1064")

include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/linkserver.board.cmake)
9 changes: 9 additions & 0 deletions boards/arm/mimxrt1064_evk/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ these references:
- `MIMXRT1064-EVK Quick Reference Guide`_
- `MIMXRT1064-EVK User Guide`_
- `MIMXRT1064-EVK Schematics`_
- `MIMXRT1064-EVK Debug Firmware`_

Supported Features
==================
Expand Down Expand Up @@ -318,6 +319,11 @@ however the :ref:`pyocd-debug-host-tools` do not yet support programming the
external flashes on this board so you must reconfigure the board for one of the
following debug probes instead.

.. _Using LinkServer:

1. Install the :ref:`linkserver-debug-host-tools` and make sure they are in your search path.
2. To update the debug firmware, please follow the instructions on `MIMXRT1064-EVK Debug Firmware`

.. _Using J-Link RT1064:

Using J-Link
Expand Down Expand Up @@ -439,6 +445,9 @@ details.
.. _MIMXRT1064-EVK User Guide:
https://www.nxp.com/docs/en/data-sheet/MIMXRT10601064EKBHUG.pdf

.. _MIMXRT1064-EVK Debug Firmware:
https://www.nxp.com/docs/en/application-note/AN13206.pdf

.. _MIMXRT1064-EVK Schematics:
https://www.nxp.com/webapp/Download?colCode=i.MXRT160EVKDS&Parent_nodeId=1537930933174731284155&Parent_pageType=product

Expand Down
8 changes: 7 additions & 1 deletion boards/arm/mimxrt595_evk/board.cmake
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
#
# Copyright (c) 2022, NXP
# Copyright 2022-2023 NXP
#
# SPDX-License-Identifier: Apache-2.0
#

board_runner_args(jlink "--device=MIMXRT595S_M33" "--reset-after-load")
board_runner_args(linkserver "--device=MIMXRT595S:EVK-MIMXRT595")
board_runner_args(linkserver "--override=/device/memory/5/flash-driver=MIMXRT500_SFDP_MXIC_OSPI_S.cfx")
board_runner_args(linkserver "--override=/device/memory/5/location=0x18000000")



include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
include(${ZEPHYR_BASE}/boards/common/linkserver.board.cmake)
9 changes: 9 additions & 0 deletions boards/arm/mimxrt595_evk/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ these references:
- `MIMXRT595-EVK Website`_
- `MIMXRT595-EVK User Guide`_
- `MIMXRT595-EVK Schematics`_
- `MIMXRT595-EVK Debug Firmware`_

Supported Features
==================
Expand Down Expand Up @@ -206,6 +207,11 @@ configured by default to use the LPC-Link2.

See :ref:`jlink-external-debug-probe` for more information.

.. group-tab:: Linkserver

1. Install the :ref:`linkserver-debug-host-tools` and make sure they are in your search path.
2. To update the debug firmware, please follow the instructions on `MIMXRT595-EVK Debug Firmware`

Configuring a Console
=====================

Expand Down Expand Up @@ -291,6 +297,9 @@ steps:
.. _MIMXRT595-EVK User Guide:
https://www.nxp.com/webapp/Download?colCode=MIMXRT595EVKHUG

.. _MIMXRT595-EVK Debug Firmware:
https://www.nxp.com/docs/en/application-note/AN13206.pdf

.. _MIMXRT595-EVK Schematics:
https://www.nxp.com/downloads/en/schematics/MIMXRT595-EVK-DESIGN-FILES.zip

Expand Down

0 comments on commit 9135305

Please sign in to comment.