boards: arm: Add support for TI MSP-EXP432P401R-LAUNCHXL
This patch adds support for TI Simplelink MSP-EXP432P401R-LAUNCHXL development board based on Cortex M4 family Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
parent
90d288be29
commit
1e483b48c0
14 changed files with 239 additions and 0 deletions
|
@ -41,6 +41,7 @@ boards/arm/frdm_k64f/* @MaureenHelm
|
||||||
boards/arm/frdm_kw41z/* @MaureenHelm
|
boards/arm/frdm_kw41z/* @MaureenHelm
|
||||||
boards/arm/hexiwear_k64/* @MaureenHelm
|
boards/arm/hexiwear_k64/* @MaureenHelm
|
||||||
boards/arm/mps2_an385/* @fvincenzo
|
boards/arm/mps2_an385/* @fvincenzo
|
||||||
|
boards/arm/msp_exp432p401r_launchxl/* @Mani-Sadhasivam
|
||||||
boards/arm/nrf51_blenano/* @rsalveti
|
boards/arm/nrf51_blenano/* @rsalveti
|
||||||
boards/arm/nrf52_pca10040/* @carlescufi
|
boards/arm/nrf52_pca10040/* @carlescufi
|
||||||
boards/arm/nucleo_f401re/* @rsalveti @idlethread
|
boards/arm/nucleo_f401re/* @rsalveti @idlethread
|
||||||
|
|
6
boards/arm/msp_exp432p401r_launchxl/Kconfig
Normal file
6
boards/arm/msp_exp432p401r_launchxl/Kconfig
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Kconfig - TI MSP-EXP432P401R LaunchXL configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
if BOARD_MSP_EXP432P401R_LAUNCHXL
|
||||||
|
|
||||||
|
endif # BOARD_MSP_EXP432P401R_LAUNCHXL
|
6
boards/arm/msp_exp432p401r_launchxl/Kconfig.board
Normal file
6
boards/arm/msp_exp432p401r_launchxl/Kconfig.board
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Kconfig - TI SimpleLink MSP-EXP432P401R LaunchXL Development Board
|
||||||
|
#
|
||||||
|
|
||||||
|
config BOARD_MSP_EXP432P401R_LAUNCHXL
|
||||||
|
bool "TI MSP-EXP432P401R LAUNCHXL"
|
||||||
|
depends on SOC_MSP432P401R
|
9
boards/arm/msp_exp432p401r_launchxl/Kconfig.defconfig
Normal file
9
boards/arm/msp_exp432p401r_launchxl/Kconfig.defconfig
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# Kconfig - TI MSP-EXP432P401R LaunchXL development board configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
if BOARD_MSP_EXP432P401R_LAUNCHXL
|
||||||
|
|
||||||
|
config BOARD
|
||||||
|
default msp_exp432p401r_launchxl
|
||||||
|
|
||||||
|
endif # BOARD_MSP_EXP432P401R_LAUNCHXL
|
2
boards/arm/msp_exp432p401r_launchxl/Makefile
Normal file
2
boards/arm/msp_exp432p401r_launchxl/Makefile
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
# No C files (yet)
|
||||||
|
obj- += dummy.o
|
5
boards/arm/msp_exp432p401r_launchxl/board.h
Normal file
5
boards/arm/msp_exp432p401r_launchxl/board.h
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2017, Linaro Ltd
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
Binary file not shown.
After Width: | Height: | Size: 304 KiB |
|
@ -0,0 +1,128 @@
|
||||||
|
.. _msp_exp432p401r_launchxl:
|
||||||
|
|
||||||
|
MSP-EXP432P401R LaunchXL
|
||||||
|
########################
|
||||||
|
|
||||||
|
Overview
|
||||||
|
********
|
||||||
|
|
||||||
|
The SimpleLink MSP‐EXP432P401R LaunchPad development kit is an easy-to-use evaluation
|
||||||
|
module for the SimpleLink MSP432P401R microcontroller. It contains everything needed to start
|
||||||
|
developing on the SimpleLink MSP432 low-power + performance ARM |reg| 32-bit Cortex |reg|-M4F
|
||||||
|
microcontroller (MCU).
|
||||||
|
|
||||||
|
.. figure:: img/msp_exp432p401r_launchxl.jpg
|
||||||
|
:width: 1032px
|
||||||
|
:align: center
|
||||||
|
:height: 1663px
|
||||||
|
:alt: MSP-EXP432P401R LaunchXL development board
|
||||||
|
|
||||||
|
Features:
|
||||||
|
=========
|
||||||
|
|
||||||
|
* Low-power ARM Cortex-M4F MSP432P401R
|
||||||
|
* 40-pin LaunchPad development kit standard that leverages the BoosterPack plug-in module ecosystem
|
||||||
|
* XDS110-ET, an open-source onboard debug probe featuring EnergyTrace+ technology and application
|
||||||
|
UART
|
||||||
|
* Two buttons and two LEDs for user interaction
|
||||||
|
* Backchannel UART through USB to PC
|
||||||
|
|
||||||
|
Details on the MSP-EXP432P401R LaunchXL development board can be found in the
|
||||||
|
`MSP-EXP432P401R LaunchXL User's Guide`_.
|
||||||
|
|
||||||
|
Supported Features
|
||||||
|
==================
|
||||||
|
|
||||||
|
* The on-board 32-kHz crystal allows for lower LPM3 sleep currents and a higher-precision clock source than the
|
||||||
|
default internal 32-kHz REFOCLK. Therefore, the presence of the crystal allows the full range of low-
|
||||||
|
power modes to be used.
|
||||||
|
* The on-board 48-MHz crystal allows the device to run at its maximum operating speed for MCLK and HSMCLK.
|
||||||
|
|
||||||
|
The MSP-EXP432P401R LaunchXL development board configuration supports the following hardware features:
|
||||||
|
|
||||||
|
+-----------+------------+-----------------------+
|
||||||
|
| Interface | Controller | Driver/Component |
|
||||||
|
+===========+============+=======================+
|
||||||
|
| NVIC | on-chip | nested vectored |
|
||||||
|
| | | interrupt controller |
|
||||||
|
+-----------+------------+-----------------------+
|
||||||
|
| SYSTICK | on-chip | system clock |
|
||||||
|
+-----------+------------+-----------------------+
|
||||||
|
| UART | on-chip | serial port |
|
||||||
|
+-----------+------------+-----------------------+
|
||||||
|
|
||||||
|
More details about the supported periperals are available in `MSP432P4XX TRM`_
|
||||||
|
Other hardware features are not currently supported by the Zephyr kernel.
|
||||||
|
|
||||||
|
Building and Flashing
|
||||||
|
*********************
|
||||||
|
|
||||||
|
Building
|
||||||
|
========
|
||||||
|
|
||||||
|
Follow the :ref:`getting_started` instructions for Zephyr application
|
||||||
|
development.
|
||||||
|
|
||||||
|
To build for the MSP-EXP432P401R LaunchXL:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ make -C samples/hello_world BOARD=msp_exp432p401r_launchxl
|
||||||
|
|
||||||
|
The resulting ``zephyr.elf`` binary can be flashed onto MSP-EXP432P401R LaunchXL
|
||||||
|
using the command line utility mentioned below.
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ ./dslite.sh --config=MSP432P401R.ccxml zephyr.elf
|
||||||
|
|
||||||
|
.. note:: The ccxml configuration file is included in boards/arm/msp_exp432p401r_launchxl/support.
|
||||||
|
|
||||||
|
Debugging
|
||||||
|
=========
|
||||||
|
|
||||||
|
MSP-EXP432P401R LaunchXL board supports debugging primarily using `CCS IDE`_. More information
|
||||||
|
on debugging using CCS can be found in `CCS Debug Handbook`_.
|
||||||
|
|
||||||
|
Launchpad also supports debugging using GDB. See section 3.3 of `GCC ARM Toolchain Guide`_.
|
||||||
|
|
||||||
|
References
|
||||||
|
**********
|
||||||
|
|
||||||
|
TI MSP432 Wiki:
|
||||||
|
https://en.wikipedia.org/wiki/TI_MSP432
|
||||||
|
|
||||||
|
TI MSP432P401R Product Page:
|
||||||
|
http://www.ti.com/product/msp432p401r
|
||||||
|
|
||||||
|
TI MSP432 SDK:
|
||||||
|
http://www.ti.com/tool/SIMPLELINK-MSP432-SDK
|
||||||
|
|
||||||
|
.. _MSP-EXP432P401R LaunchXL User's Guide:
|
||||||
|
http://www.ti.com/lit/ug/slau597c/slau597c.pdf
|
||||||
|
|
||||||
|
.. _MSP432P4XX TRM:
|
||||||
|
http://www.ti.com/lit/ug/slau356f/slau356f.pdf
|
||||||
|
|
||||||
|
.. _UniFlash:
|
||||||
|
http://processors.wiki.ti.com/index.php/UniFlash_v4_Quick_Guide#Command_Line_Interface
|
||||||
|
|
||||||
|
.. _CCS IDE:
|
||||||
|
http://www.ti.com/tool/ccstudio
|
||||||
|
|
||||||
|
.. _CCS Debug Handbook:
|
||||||
|
http://processors.wiki.ti.com/index.php/Debug_Handbook_for_CCS#Cortex_M3.2FM4.2FTiva.2FMSP432
|
||||||
|
|
||||||
|
.. _GCC ARM Toolchain Guide:
|
||||||
|
http://www.ti.com/lit/ug/slau688b/slau688b.pdf
|
|
@ -0,0 +1,7 @@
|
||||||
|
identifier: msp_exp432p401r_launchxl
|
||||||
|
name: MSP-EXP432P401R-LAUNCHXL
|
||||||
|
type: mcu
|
||||||
|
arch: arm
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- gccarmemb
|
|
@ -0,0 +1,21 @@
|
||||||
|
CONFIG_ARM=y
|
||||||
|
CONFIG_BOARD_MSP_EXP432P401R_LAUNCHXL=y
|
||||||
|
CONFIG_SOC_FAMILY_TISIMPLELINK=y
|
||||||
|
CONFIG_SOC_SERIES_MSP432P4XX=y
|
||||||
|
CONFIG_SOC_MSP432P401R=y
|
||||||
|
CONFIG_CORTEX_M_SYSTICK=y
|
||||||
|
CONFIG_CPU_HAS_FPU=y
|
||||||
|
CONFIG_FLASH=y
|
||||||
|
CONFIG_FLASH_BASE_ADDRESS=0x00000000
|
||||||
|
|
||||||
|
# enable uart driver
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
CONFIG_SERIAL_HAS_DRIVER=y
|
||||||
|
CONFIG_UART_MSP432P4XX=y
|
||||||
|
|
||||||
|
# enable console
|
||||||
|
CONFIG_CONSOLE=y
|
||||||
|
CONFIG_UART_CONSOLE=y
|
||||||
|
|
||||||
|
# Enable MSP432P4XX SDK driver files
|
||||||
|
CONFIG_HAS_MSP432P4XXSDK=y
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?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>
|
|
@ -51,6 +51,7 @@ dtb-$(CONFIG_BOARD_OLIMEX_STM32_P405) = olimex_stm32_p405.dts_compiled
|
||||||
dtb-$(CONFIG_BOARD_STM32F429I_DISC1) = stm32f429i_disc1.dts_compiled
|
dtb-$(CONFIG_BOARD_STM32F429I_DISC1) = stm32f429i_disc1.dts_compiled
|
||||||
dtb-$(CONFIG_BOARD_EFM32WG_STK3800) = efm32wg_stk3800.dts_compiled
|
dtb-$(CONFIG_BOARD_EFM32WG_STK3800) = efm32wg_stk3800.dts_compiled
|
||||||
dtb-$(CONFIG_BOARD_96B_NEONKEY) = 96b_neonkey.dts_compiled
|
dtb-$(CONFIG_BOARD_96B_NEONKEY) = 96b_neonkey.dts_compiled
|
||||||
|
dtb-$(CONFIG_BOARD_MSP_EXP432P401R_LAUNCHXL) = msp_exp432p401r_launchxl.dts_compiled
|
||||||
|
|
||||||
always := $(dtb-y)
|
always := $(dtb-y)
|
||||||
endif
|
endif
|
||||||
|
|
25
dts/arm/msp_exp432p401r_launchxl.dts
Normal file
25
dts/arm/msp_exp432p401r_launchxl.dts
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include <ti/msp432p4xx.dtsi>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "TI MSP-EXP432P401R LaunchXL";
|
||||||
|
compatible = "ti,msp-exp432p401r-launchxl","ti,msp432p401r",
|
||||||
|
"ti,msp432p4xx";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
uart_0 = &uart0;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,sram = &sram0;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
zephyr,console = &uart0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
status = "ok";
|
||||||
|
current-speed = <115200>;
|
||||||
|
};
|
||||||
|
|
12
dts/arm/msp_exp432p401r_launchxl.fixup
Normal file
12
dts/arm/msp_exp432p401r_launchxl.fixup
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
/* This file is a temporary workaround for mapping of the generated information
|
||||||
|
* to the current driver definitions. This will be removed when the drivers
|
||||||
|
* are modified to handle the generated information, or the mapping of
|
||||||
|
* generated data matches the driver definitions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CONFIG_NUM_IRQ_PRIO_BITS ARM_V7M_NVIC_E000E100_ARM_NUM_IRQ_PRIORITY_BITS
|
||||||
|
|
||||||
|
#define CONFIG_UART_MSP432P4XX_NAME TI_MSP432P4XX_UART_40001000_LABEL
|
||||||
|
#define CONFIG_UART_MSP432P4XX_BASE_ADDRESS TI_MSP432P4XX_UART_40001000_BASE_ADDRESS
|
||||||
|
#define CONFIG_UART_MSP432P4XX_BAUD_RATE TI_MSP432P4XX_UART_40001000_CURRENT_SPEED
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue