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/hexiwear_k64/* @MaureenHelm
|
||||
boards/arm/mps2_an385/* @fvincenzo
|
||||
boards/arm/msp_exp432p401r_launchxl/* @Mani-Sadhasivam
|
||||
boards/arm/nrf51_blenano/* @rsalveti
|
||||
boards/arm/nrf52_pca10040/* @carlescufi
|
||||
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_EFM32WG_STK3800) = efm32wg_stk3800.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)
|
||||
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