boards: msp_exp432p401r_launchxl: Use OpenOCD

UniFlash is no longer required for flashing MSP-EXP432P401R, as long as the
XDS110 firmware is updated.

The updated documentation is based on CC3220SF-LAUNCHXL's.

Signed-off-by: Chuang Zhu <git@chuang.cz>
This commit is contained in:
Chuang Zhu 2023-08-21 07:12:40 +08:00 committed by Fabio Baltieri
commit 22db117052
5 changed files with 63 additions and 36 deletions

View file

@ -0,0 +1,3 @@
# SPDX-License-Identifier: Apache-2.0
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)

View file

@ -55,47 +55,80 @@ Other hardware features are not currently supported by the Zephyr kernel.
Building and Flashing
*********************
Building
Prerequisites:
==============
#. Ensure the XDS-110 emulation firmware is updated.
Download and install the latest `XDS-110 emulation package`_.
Follow these `xds110 firmware update directions
<http://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_xds110.html#updating-the-xds110-firmware>`_
Note that the emulation package install may place the xdsdfu utility
in ``<install_dir>/ccs_base/common/uscif/xds110/``.
#. Install OpenOCD
You can obtain OpenOCD by following these
:ref:`installing the latest Zephyr SDK instructions <toolchain_zephyr_sdk>`.
After the installation, add the directory containing the OpenOCD executable
to your environment's PATH variable. For example, use this command in Linux:
.. code-block:: console
export PATH=$ZEPHYR_SDK_INSTALL_DIR/sysroots/x86_64-pokysdk-linux/usr/bin/openocd:$PATH
If you had previously installed TI OpenOCD, you can simply switch to use
the one in the Zephyr SDK. If for some reason you wish to continue to use
your TI OpenOCD installation, you can set the OPENOCD and
OPENOCD_DEFAULT_PATH variables in
:zephyr_file:`boards/arm/msp_exp432p401r_launchxl/board.cmake` to point the build
to the paths of the OpenOCD binary and its scripts, before
including the common openocd.board.cmake file:
.. code-block:: none
set(OPENOCD "/usr/local/bin/openocd" CACHE FILEPATH "" FORCE)
set(OPENOCD_DEFAULT_PATH /usr/local/share/openocd/scripts)
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
Flashing
========
Follow the :ref:`getting_started` instructions for Zephyr application
development.
For example, to build the :ref:`hello_world` application for the
For example, to build and flash the :ref:`hello_world` application for the
MSP-EXP432P401R LaunchXL:
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: msp_exp432p401r_launchxl
:goals: build
:goals: flash
The resulting ``zephyr.elf`` binary in the build directory can be flashed onto
MSP-EXP432P401R LaunchXL using the command line utility mentioned below.
This will load the image into flash.
Flashing
========
For Linux:
----------
`UniFlash`_ command line utility is used to program the flash memory. Only
elf loading is currently supported.
The following command will flash the ``zephyr.elf`` binary to the MSP-EXP432P401R LaunchXL board:
To see program output from UART0, connect a separate terminal window:
.. code-block:: console
$ ./dslite.sh --config=MSP432P401R.ccxml zephyr.elf
% screen /dev/ttyACM0 115200 8N1
.. note:: The ccxml configuration file is included in boards/arm/msp_exp432p401r_launchxl/support.
Then press the reset button (S3) on the board to run the program.
Debugging
=========
MSP-EXP432P401R LaunchXL board supports debugging primarily using `CCS IDE`_. More information
on debugging using CCS can be found in CCS Debug Handbook.
To debug a previously flashed image, after resetting the board, use the 'debug'
build target:
Launchpad also supports debugging using GDB. See section 3.3 of GCC ARM Toolchain Guide.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: msp_exp432p401r_launchxl
:maybe-skip-config:
:goals: debug
References
**********
@ -114,3 +147,6 @@ TI MSP432 SDK:
.. _CCS IDE:
http://www.ti.com/tool/ccstudio
.. _XDS-110 emulation package:
http://processors.wiki.ti.com/index.php/XDS_Emulation_Software_Package#XDS_Emulation_Software_.28emupack.29_Download

View file

@ -3,6 +3,7 @@
CONFIG_BOARD_MSP_EXP432P401R_LAUNCHXL=y
CONFIG_SOC_SERIES_MSP432P4XX=y
CONFIG_SOC_MSP432P401R=y
CONFIG_BUILD_OUTPUT_HEX=y
# Floating point options
CONFIG_FPU=y

View file

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
<configuration XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
<instance XML_version="1.2" desc="Texas Instruments XDS110 USB Debug Probe_0" href="connections/TIXDS110_Connection.xml" id="Texas Instruments XDS110 USB Debug Probe_0" xml="TIXDS110_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
<instance XML_version="1.2" href="drivers/tixds510cs_dap.xml" id="drivers" xml="tixds510cs_dap.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds510cortexM.xml" id="drivers" xml="tixds510cortexM.xml" xmlpath="drivers"/>
<property Type="choicelist" Value="2" id="SWD Mode Settings">
<choice Name="SWD Mode - Aux COM port is target TDO pin" value="nothing"/>
</property>
<platform XML_version="1.2" id="platform_0">
<instance XML_version="1.2" desc="MSP432P401R_0" href="devices/msp432p401r.xml" id="MSP432P401R_0" xml="msp432p401r.xml" xmlpath="devices"/>
</platform>
</connection>
</configuration>
</configurations>

View file

@ -0,0 +1,3 @@
# SPDX-License-Identifier: Apache-2.0
source [find board/ti_msp432_launchpad.cfg]