You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ra...@apache.org on 2020/08/30 16:15:34 UTC

[incubator-nuttx] branch master updated (797bf44 -> 6c22707)

This is an automated email from the ASF dual-hosted git repository.

raiden00 pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git.


    from 797bf44  net: For Bluetooth sockets use the Linux sockaddr types
     new fd615d1  Add support for NRF52832 MakerDiary MDK board
     new 6c22707  nrf52832-mdk: normalize defconfig

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 boards/Kconfig                                     | 12 ++++++++++
 .../quickfeather => nrf52/nrf52832-mdk}/Kconfig    |  2 +-
 boards/arm/nrf52/nrf52832-mdk/README.txt           |  6 +++++
 .../configs/nsh/defconfig                          |  4 ++--
 .../include/board.h                                | 27 +++++++++++-----------
 .../scripts/Make.defs                              |  2 +-
 .../scripts/flash_config.ld                        |  3 +--
 .../src/Makefile                                   |  2 +-
 .../src/nrf52832-mdk.h}                            | 12 ++++++----
 .../src/nrf52_appinit.c                            |  2 +-
 .../src/nrf52_autoleds.c                           | 19 ++++-----------
 .../src/nrf52_boot.c                               |  4 ++--
 .../src/nrf52_bringup.c                            |  2 +-
 13 files changed, 53 insertions(+), 44 deletions(-)
 copy boards/arm/{eoss3/quickfeather => nrf52/nrf52832-mdk}/Kconfig (83%)
 create mode 100644 boards/arm/nrf52/nrf52832-mdk/README.txt
 copy boards/arm/nrf52/{nrf52832-dk => nrf52832-mdk}/configs/nsh/defconfig (94%)
 copy boards/arm/nrf52/{nrf52832-sparkfun => nrf52832-mdk}/include/board.h (84%)
 copy boards/arm/nrf52/{nrf52832-sparkfun => nrf52832-mdk}/scripts/Make.defs (98%)
 copy boards/arm/nrf52/{nrf52832-sparkfun => nrf52832-mdk}/scripts/flash_config.ld (97%)
 copy boards/arm/nrf52/{nrf52832-sparkfun => nrf52832-mdk}/src/Makefile (95%)
 copy boards/arm/nrf52/{nrf52832-sparkfun/src/nrf52832-sparkfun.h => nrf52832-mdk/src/nrf52832-mdk.h} (87%)
 copy boards/arm/nrf52/{nrf52832-sparkfun => nrf52832-mdk}/src/nrf52_appinit.c (98%)
 copy boards/arm/nrf52/{nrf52832-sparkfun => nrf52832-mdk}/src/nrf52_autoleds.c (91%)
 copy boards/arm/nrf52/{nrf52832-sparkfun => nrf52832-mdk}/src/nrf52_boot.c (97%)
 copy boards/arm/nrf52/{nrf52832-sparkfun => nrf52832-mdk}/src/nrf52_bringup.c (97%)


[incubator-nuttx] 02/02: nrf52832-mdk: normalize defconfig

Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

raiden00 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 6c227075e7e09a7a4b85fa10873e80737eb39afc
Author: Matias N <ma...@protobits.dev>
AuthorDate: Sat Aug 29 14:14:03 2020 -0300

    nrf52832-mdk: normalize defconfig
---
 boards/arm/nrf52/nrf52832-mdk/configs/nsh/defconfig | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/boards/arm/nrf52/nrf52832-mdk/configs/nsh/defconfig b/boards/arm/nrf52/nrf52832-mdk/configs/nsh/defconfig
index 9b4d2fa..4b7992d 100644
--- a/boards/arm/nrf52/nrf52832-mdk/configs/nsh/defconfig
+++ b/boards/arm/nrf52/nrf52832-mdk/configs/nsh/defconfig
@@ -9,8 +9,8 @@
 # CONFIG_NSH_DISABLE_IFCONFIG is not set
 # CONFIG_NSH_DISABLE_PS is not set
 CONFIG_ARCH="arm"
-CONFIG_ARCH_BOARD="nrf52832-sparkfun"
-CONFIG_ARCH_BOARD_NRF52832_SPARKFUN=y
+CONFIG_ARCH_BOARD="nrf52832-mdk"
+CONFIG_ARCH_BOARD_NRF52832_MDK=y
 CONFIG_ARCH_CHIP="nrf52"
 CONFIG_ARCH_CHIP_NRF52832=y
 CONFIG_ARCH_CHIP_NRF52=y
@@ -21,7 +21,6 @@ CONFIG_FAT_LCNAMES=y
 CONFIG_FAT_LFN=y
 CONFIG_FS_FAT=y
 CONFIG_MAX_TASKS=16
-CONFIG_MAX_WDOGPARMS=2
 CONFIG_MM_REGIONS=2
 CONFIG_NFILE_DESCRIPTORS=8
 CONFIG_NFILE_STREAMS=8
@@ -30,9 +29,7 @@ CONFIG_NSH_ARCHINIT=y
 CONFIG_NSH_FILEIOSIZE=512
 CONFIG_NSH_LINELEN=64
 CONFIG_NSH_READLINE=y
-CONFIG_PREALLOC_MQ_MSGS=4
 CONFIG_PREALLOC_TIMERS=4
-CONFIG_PREALLOC_WDOGS=4
 CONFIG_RAM_SIZE=65535
 CONFIG_RAM_START=0x20000000
 CONFIG_RAW_BINARY=y
@@ -46,4 +43,3 @@ CONFIG_SYSTEM_NSH=y
 CONFIG_TASK_NAME_SIZE=0
 CONFIG_UART0_SERIAL_CONSOLE=y
 CONFIG_USER_ENTRYPOINT="nsh_main"
-CONFIG_WDOG_INTRESERVE=0


[incubator-nuttx] 01/02: Add support for NRF52832 MakerDiary MDK board

Posted by ra...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

raiden00 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit fd615d1cd9c65d45c7083e8521f5b6c523e93156
Author: Matias N <ma...@protobits.dev>
AuthorDate: Sat Aug 29 13:09:27 2020 -0300

    Add support for NRF52832 MakerDiary MDK board
---
 boards/Kconfig                                     |  12 +++
 boards/arm/nrf52/nrf52832-mdk/Kconfig              |   8 ++
 boards/arm/nrf52/nrf52832-mdk/README.txt           |   6 ++
 .../arm/nrf52/nrf52832-mdk/configs/nsh/defconfig   |  49 +++++++++
 boards/arm/nrf52/nrf52832-mdk/include/board.h      |  96 +++++++++++++++++
 boards/arm/nrf52/nrf52832-mdk/scripts/Make.defs    |  76 +++++++++++++
 .../arm/nrf52/nrf52832-mdk/scripts/flash_config.ld | 105 ++++++++++++++++++
 boards/arm/nrf52/nrf52832-mdk/src/Makefile         |  33 ++++++
 boards/arm/nrf52/nrf52832-mdk/src/nrf52832-mdk.h   |  80 ++++++++++++++
 boards/arm/nrf52/nrf52832-mdk/src/nrf52_appinit.c  |  74 +++++++++++++
 boards/arm/nrf52/nrf52832-mdk/src/nrf52_autoleds.c | 118 +++++++++++++++++++++
 boards/arm/nrf52/nrf52832-mdk/src/nrf52_boot.c     |  82 ++++++++++++++
 boards/arm/nrf52/nrf52832-mdk/src/nrf52_bringup.c  |  82 ++++++++++++++
 13 files changed, 821 insertions(+)

diff --git a/boards/Kconfig b/boards/Kconfig
index 1449a6a..6e9b2a7 100644
--- a/boards/Kconfig
+++ b/boards/Kconfig
@@ -730,6 +730,14 @@ config ARCH_BOARD_NRF52832_SPARKFUN
 	---help---
 		This option selects the Sparkfun nRF52832 breakout board
 
+config ARCH_BOARD_NRF52832_MDK
+	bool "MakerDiary nRF52832 MDK"
+	depends on ARCH_CHIP_NRF52
+	select ARCH_HAVE_LEDS
+	select ARCH_HAVE_BUTTONS
+	---help---
+		This option selects MakerDiary's nRF52832 MDKboard
+
 config ARCH_BOARD_NRF52840_DK
 	bool "Nordic nRF52840 Development Kit (PCA10056)"
 	depends on ARCH_CHIP_NRF52
@@ -2196,6 +2204,7 @@ config ARCH_BOARD
 	default "ne64badge"                if ARCH_BOARD_NE64BADGE
 	default "nrf52-feather"            if ARCH_BOARD_NRF52_FEATHER
 	default "nrf52832-sparkfun"        if ARCH_BOARD_NRF52832_SPARKFUN
+	default "nrf52832-mdk"             if ARCH_BOARD_NRF52832_MDK
 	default "nrf52832-dk"              if ARCH_BOARD_NRF52832_DK
 	default "nrf52840-dk"              if ARCH_BOARD_NRF52840_DK
 	default "nrf52840-dongle"          if ARCH_BOARD_NRF52840_DONGLE
@@ -2538,6 +2547,9 @@ endif
 if ARCH_BOARD_NRF52832_SPARKFUN
 source "boards/arm/nrf52/nrf52832-sparkfun/Kconfig"
 endif
+if ARCH_BOARD_NRF52832_MDK
+source "boards/arm/nrf52/nrf52832-mdk/Kconfig"
+endif
 if ARCH_BOARD_NRF52832_DK
 source "boards/arm/nrf52/nrf52832-dk/Kconfig"
 endif
diff --git a/boards/arm/nrf52/nrf52832-mdk/Kconfig b/boards/arm/nrf52/nrf52832-mdk/Kconfig
new file mode 100644
index 0000000..b0539e4
--- /dev/null
+++ b/boards/arm/nrf52/nrf52832-mdk/Kconfig
@@ -0,0 +1,8 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+if ARCH_BOARD_NRF52832_MDK
+
+endif
diff --git a/boards/arm/nrf52/nrf52832-mdk/README.txt b/boards/arm/nrf52/nrf52832-mdk/README.txt
new file mode 100644
index 0000000..a58e091
--- /dev/null
+++ b/boards/arm/nrf52/nrf52832-mdk/README.txt
@@ -0,0 +1,6 @@
+MakerDiary nRF52832 MDK
+=======================
+
+https://makerdiary.com/collections/frontpage/products/nrf52832-mdk-iot-micro-development-kit
+
+
diff --git a/boards/arm/nrf52/nrf52832-mdk/configs/nsh/defconfig b/boards/arm/nrf52/nrf52832-mdk/configs/nsh/defconfig
new file mode 100644
index 0000000..9b4d2fa
--- /dev/null
+++ b/boards/arm/nrf52/nrf52832-mdk/configs/nsh/defconfig
@@ -0,0 +1,49 @@
+#
+# This file is autogenerated: PLEASE DO NOT EDIT IT.
+#
+# You can use "make menuconfig" to make any modifications to the installed .config file.
+# You can then do "make savedefconfig" to generate a new defconfig file that includes your
+# modifications.
+#
+# CONFIG_ARCH_FPU is not set
+# CONFIG_NSH_DISABLE_IFCONFIG is not set
+# CONFIG_NSH_DISABLE_PS is not set
+CONFIG_ARCH="arm"
+CONFIG_ARCH_BOARD="nrf52832-sparkfun"
+CONFIG_ARCH_BOARD_NRF52832_SPARKFUN=y
+CONFIG_ARCH_CHIP="nrf52"
+CONFIG_ARCH_CHIP_NRF52832=y
+CONFIG_ARCH_CHIP_NRF52=y
+CONFIG_ARCH_STACKDUMP=y
+CONFIG_ARCH_STDARG_H=y
+CONFIG_BOARD_LOOPSPERMSEC=5500
+CONFIG_FAT_LCNAMES=y
+CONFIG_FAT_LFN=y
+CONFIG_FS_FAT=y
+CONFIG_MAX_TASKS=16
+CONFIG_MAX_WDOGPARMS=2
+CONFIG_MM_REGIONS=2
+CONFIG_NFILE_DESCRIPTORS=8
+CONFIG_NFILE_STREAMS=8
+CONFIG_NRF52_UART0=y
+CONFIG_NSH_ARCHINIT=y
+CONFIG_NSH_FILEIOSIZE=512
+CONFIG_NSH_LINELEN=64
+CONFIG_NSH_READLINE=y
+CONFIG_PREALLOC_MQ_MSGS=4
+CONFIG_PREALLOC_TIMERS=4
+CONFIG_PREALLOC_WDOGS=4
+CONFIG_RAM_SIZE=65535
+CONFIG_RAM_START=0x20000000
+CONFIG_RAW_BINARY=y
+CONFIG_RR_INTERVAL=200
+CONFIG_SCHED_WAITPID=y
+CONFIG_SDCLONE_DISABLE=y
+CONFIG_START_DAY=26
+CONFIG_START_MONTH=3
+CONFIG_SYMTAB_ORDEREDBYNAME=y
+CONFIG_SYSTEM_NSH=y
+CONFIG_TASK_NAME_SIZE=0
+CONFIG_UART0_SERIAL_CONSOLE=y
+CONFIG_USER_ENTRYPOINT="nsh_main"
+CONFIG_WDOG_INTRESERVE=0
diff --git a/boards/arm/nrf52/nrf52832-mdk/include/board.h b/boards/arm/nrf52/nrf52832-mdk/include/board.h
new file mode 100644
index 0000000..88c8396
--- /dev/null
+++ b/boards/arm/nrf52/nrf52832-mdk/include/board.h
@@ -0,0 +1,96 @@
+/****************************************************************************
+ * boards/arm/nrf52/nrf52832-mdk/include/board.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __BOARDS_ARM_NRF52_NRF52832_MDK_INCLUDE_BOARD_H
+#define __BOARDS_ARM_NRF52_NRF52832_MDK_INCLUDE_BOARD_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <stdbool.h>
+
+#if defined(CONFIG_ARCH_IRQBUTTONS) && defined(CONFIG_NRF52_GPIOTE)
+#  include <nuttx/irq.h>
+#endif
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* Clocking *****************************************************************/
+
+#define BOARD_SYSTICK_CLOCK         (64000000)
+
+/* Clocking *****************************************************************/
+
+/* A low output illuminates the LED.
+ *
+ * LED index values for use with board_userled()
+ */
+
+#define BOARD_LED1        0
+#define BOARD_LED2        1
+#define BOARD_LED3        2
+#define BOARD_NLEDS       3
+
+/* LED bits for use with board_userled_all() */
+
+#define BOARD_LED1_BIT    (1 << BOARD_LED1)
+#define BOARD_LED2_BIT    (1 << BOARD_LED2)
+#define BOARD_LED3_BIT    (1 << BOARD_LED3)
+
+/* If CONFIG_ARCH_LEDS is defined, the LED will be controlled as follows
+ * for NuttX debug functionality (where NC means "No Change").
+ */
+
+#define LED_STARTED                0  /* OFF      */
+#define LED_HEAPALLOCATE           0  /* OFF      */
+#define LED_IRQSENABLED            0  /* OFF      */
+#define LED_STACKCREATED           1  /* ON       */
+#define LED_INIRQ                  2  /* NC       */
+#define LED_SIGNAL                 2  /* NC       */
+#define LED_ASSERTION              2  /* NC       */
+#define LED_PANIC                  3  /* Flashing */
+
+/* If CONFIG_ARCH_LEDS is not defined, then the LEDs are completely under
+ * control of the application.  The following interfaces are then available
+ * for application control of the LEDs:
+ *
+ *  uint32_t board_userled_initialize(void);
+ *  void board_userled(int led, bool ledon);
+ *  void board_userled_all(uint32_t ledset);
+ */
+
+/* Button definitions *******************************************************/
+
+/* No buttons on board */
+
+/* UART Pins ****************************************************************/
+
+/* The following definitions must be provided so that the NRF52 serial
+ * driver can set up the UART for the serial console properly.
+ */
+
+#define BOARD_UART0_RX_PIN  (GPIO_INPUT  | GPIO_PORT0 | GPIO_PIN(19))
+#define BOARD_UART0_TX_PIN  (GPIO_OUTPUT | GPIO_PORT0 | GPIO_PIN(20))
+
+#endif /* __BOARDS_ARM_NRF52_NRF52832_MDK_INCLUDE_BOARD_H */
diff --git a/boards/arm/nrf52/nrf52832-mdk/scripts/Make.defs b/boards/arm/nrf52/nrf52832-mdk/scripts/Make.defs
new file mode 100644
index 0000000..8e612d4
--- /dev/null
+++ b/boards/arm/nrf52/nrf52832-mdk/scripts/Make.defs
@@ -0,0 +1,76 @@
+############################################################################
+# boards/arm/nrf52/nrf52832-mdk/src/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(TOPDIR)/.config
+include $(TOPDIR)/tools/Config.mk
+include $(TOPDIR)/arch/arm/src/armv7-m/Toolchain.defs
+
+LDSCRIPT = flash_config.ld
+
+ifeq ($(CONFIG_CYGWIN_WINTOOL),y)
+  ARCHSCRIPT = -T "${shell cygpath -w $(BOARD_DIR)$(DELIM)scripts$(DELIM)$(LDSCRIPT)}"
+else
+  ARCHSCRIPT = -T$(BOARD_DIR)$(DELIM)scripts$(DELIM)$(LDSCRIPT)
+endif
+
+CC = $(CROSSDEV)gcc
+CXX = $(CROSSDEV)g++
+CPP = $(CROSSDEV)gcc -E
+LD = $(CROSSDEV)ld
+STRIP = $(CROSSDEV)strip --strip-unneeded
+AR = $(ARCROSSDEV)ar rcs
+NM = $(ARCROSSDEV)nm
+OBJCOPY = $(CROSSDEV)objcopy
+OBJDUMP = $(CROSSDEV)objdump
+
+ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
+ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
+
+ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
+  ARCHOPTIMIZATION = -g
+endif
+
+ifneq ($(CONFIG_DEBUG_NOOPT),y)
+  ARCHOPTIMIZATION += $(MAXOPTIMIZATION) -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
+endif
+
+ARCHCFLAGS = -fno-builtin
+ARCHCXXFLAGS = -fno-builtin -fno-exceptions -fcheck-new -fno-rtti
+ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef
+ARCHWARNINGSXX = -Wall -Wshadow -Wundef
+ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10
+
+CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe
+CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS)
+CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe
+CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS)
+CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS)
+AFLAGS = $(CFLAGS) -D__ASSEMBLY__
+
+NXFLATLDFLAGS1 = -r -d -warn-common
+NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-pcrel.ld -no-check-sections
+LDNXFLATFLAGS = -e main -s 2048
+
+ifneq ($(CROSSDEV),arm-nuttx-elf-)
+  LDFLAGS += -nostartfiles -nodefaultlibs
+endif
+ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
+  LDFLAGS += -g
+endif
diff --git a/boards/arm/nrf52/nrf52832-mdk/scripts/flash_config.ld b/boards/arm/nrf52/nrf52832-mdk/scripts/flash_config.ld
new file mode 100644
index 0000000..f87a2b9
--- /dev/null
+++ b/boards/arm/nrf52/nrf52832-mdk/scripts/flash_config.ld
@@ -0,0 +1,105 @@
+/****************************************************************************
+ * boards/arm/nrf52/nrf52832-mdk/scripts/flash_config.ld
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+MEMORY
+{
+    progmem (rx)  : ORIGIN = 0x00000000, LENGTH = 512K
+    datamem (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
+}
+
+OUTPUT_ARCH(arm)
+ENTRY(__start)         /* Treat __start as the anchor for dead code stripping */
+EXTERN(_vectors)       /* Force the vectors to be included in the output */
+SECTIONS
+{
+    .text :
+    {
+        _stext = ABSOLUTE(.);
+        *(.vectors)
+        *(.text .text.*)
+        *(.fixup)
+        *(.gnu.warning)
+        *(.rodata .rodata.*)
+        *(.gnu.linkonce.t.*)
+        *(.glue_7)
+        *(.glue_7t)
+        *(.got)
+        *(.gcc_except_table)
+        *(.gnu.linkonce.r.*)
+        _etext = ABSOLUTE(.);
+    } > progmem
+
+    .init_section :
+    {
+        _sinit = ABSOLUTE(.);
+        *(.init_array .init_array.*)
+        _einit = ABSOLUTE(.);
+    } > progmem
+
+    .ARM.extab :
+    {
+        *(.ARM.extab*)
+    } > progmem
+
+    __exidx_start = ABSOLUTE(.);
+    .ARM.exidx :
+    {
+        *(.ARM.exidx*)
+    } > progmem
+    __exidx_end = ABSOLUTE(.);
+
+    _eronly = ABSOLUTE(.);
+
+    .data :
+    {
+        _sdata = ABSOLUTE(.);
+        *(.data .data.*)
+        *(.gnu.linkonce.d.*)
+        CONSTRUCTORS
+        . = ALIGN(4);
+        _edata = ABSOLUTE(.);
+    } > datamem AT > progmem
+
+    /* BSS */
+
+    .bss :
+    {
+        _sbss = ABSOLUTE(.);
+        *(.bss .bss.*)
+        *(.gnu.linkonce.b.*)
+        *(COMMON)
+        . = ALIGN(4);
+        _ebss = ABSOLUTE(.);
+    } > datamem
+
+    /* Stabs debugging sections. */
+
+    .stab 0 : { *(.stab) }
+    .stabstr 0 : { *(.stabstr) }
+    .stab.excl 0 : { *(.stab.excl) }
+    .stab.exclstr 0 : { *(.stab.exclstr) }
+    .stab.index 0 : { *(.stab.index) }
+    .stab.indexstr 0 : { *(.stab.indexstr) }
+    .comment 0 : { *(.comment) }
+    .debug_abbrev 0 : { *(.debug_abbrev) }
+    .debug_info 0 : { *(.debug_info) }
+    .debug_line 0 : { *(.debug_line) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+    .debug_aranges 0 : { *(.debug_aranges) }
+}
diff --git a/boards/arm/nrf52/nrf52832-mdk/src/Makefile b/boards/arm/nrf52/nrf52832-mdk/src/Makefile
new file mode 100644
index 0000000..c6c35ce
--- /dev/null
+++ b/boards/arm/nrf52/nrf52832-mdk/src/Makefile
@@ -0,0 +1,33 @@
+############################################################################
+# boards/arm/nrf52/nrf52832-mdk/src/Makefile
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(TOPDIR)/Make.defs
+
+CSRCS = nrf52_boot.c nrf52_bringup.c
+
+ifeq ($(CONFIG_LIB_BOARDCTL),y)
+CSRCS += nrf52_appinit.c
+endif
+
+ifeq ($(CONFIG_ARCH_LEDS),y)
+CSRCS += nrf52_autoleds.c
+endif
+
+include $(TOPDIR)/boards/Board.mk
diff --git a/boards/arm/nrf52/nrf52832-mdk/src/nrf52832-mdk.h b/boards/arm/nrf52/nrf52832-mdk/src/nrf52832-mdk.h
new file mode 100644
index 0000000..7ff1d5a
--- /dev/null
+++ b/boards/arm/nrf52/nrf52832-mdk/src/nrf52832-mdk.h
@@ -0,0 +1,80 @@
+/****************************************************************************
+ * boards/arm/nrf52/nrf52832-mdk/src/nrf52832-mdk.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __BOARDS_ARM_NRF52_NRF52832_MDK_SRC_NRF52832_MDK_H
+#define __BOARDS_ARM_NRF52_NRF52832_MDK_SRC_NRF52832_MDK_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <nuttx/compiler.h>
+
+#include "nrf52_gpio.h"
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* LED definitions **********************************************************/
+
+/* Definitions to configure LED GPIO as outputs */
+
+#define GPIO_LED1  (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PORT0 | GPIO_PIN(23))
+#define GPIO_LED2  (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PORT0 | GPIO_PIN(22))
+#define GPIO_LED3  (GPIO_OUTPUT | GPIO_VALUE_ONE | GPIO_PORT0 | GPIO_PIN(24))
+
+/* Button definitions *******************************************************/
+
+/* No buttons on board */
+
+/****************************************************************************
+ * Public Types
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public data
+ ****************************************************************************/
+
+#ifndef __ASSEMBLY__
+
+/****************************************************************************
+ * Public Function Prototypes
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: nrf52_bringup
+ *
+ * Description:
+ *   Perform architecture-specific initialization
+ *
+ *   CONFIG_BOARD_LATE_INITIALIZE=y :
+ *     Called from board_late_initialize().
+ *
+ *   CONFIG_BOARD_LATE_INITIALIZE=n && CONFIG_LIB_BOARDCTL=y :
+ *     Called from the NSH library
+ *
+ ****************************************************************************/
+
+int nrf52_bringup(void);
+
+#endif /* __ASSEMBLY__ */
+#endif /* __BOARDS_ARM_NRF52_NRF52832_MDK_SRC_NRF52832_MDK_H */
diff --git a/boards/arm/nrf52/nrf52832-mdk/src/nrf52_appinit.c b/boards/arm/nrf52/nrf52832-mdk/src/nrf52_appinit.c
new file mode 100644
index 0000000..8306c1e
--- /dev/null
+++ b/boards/arm/nrf52/nrf52832-mdk/src/nrf52_appinit.c
@@ -0,0 +1,74 @@
+/****************************************************************************
+ * boards/arm/nrf52/nrf52832-sparkfun.h/src/nrf52_appinit.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdio.h>
+#include <debug.h>
+#include <errno.h>
+
+#include <nuttx/board.h>
+
+#include "chip.h"
+#include "nrf52832-mdk.h"
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: board_app_initialize
+ *
+ * Description:
+ *   Perform architecture specific initialization
+ *
+ * Input Parameters:
+ *   arg - The boardctl() argument is passed to the board_app_initialize()
+ *         implementation without modification.  The argument has no
+ *         meaning to NuttX; the meaning of the argument is a contract
+ *         between the board-specific initialization logic and the
+ *         matching application logic.  The value could be such things as a
+ *         mode enumeration value, a set of DIP switch switch settings, a
+ *         pointer to configuration data read from a file or serial FLASH,
+ *         or whatever you would like to do with it.  Every implementation
+ *         should accept zero/NULL as a default configuration.
+ *
+ * Returned Value:
+ *   Zero (OK) is returned on success; a negated errno value is returned on
+ *   any failure to indicate the nature of the failure.
+ *
+ ****************************************************************************/
+
+int board_app_initialize(uintptr_t arg)
+{
+#ifdef CONFIG_BOARD_LATE_INITIALIZE
+  /* Board initialization already performed by board_late_initialize() */
+
+  return OK;
+#else
+  /* Perform board-specific initialization */
+
+  return nrf52_bringup();
+#endif
+}
diff --git a/boards/arm/nrf52/nrf52832-mdk/src/nrf52_autoleds.c b/boards/arm/nrf52/nrf52832-mdk/src/nrf52_autoleds.c
new file mode 100644
index 0000000..fd9e3b2
--- /dev/null
+++ b/boards/arm/nrf52/nrf52832-mdk/src/nrf52_autoleds.c
@@ -0,0 +1,118 @@
+/****************************************************************************
+ * boards/arm/nrf52/nrf52832-mdk/src/nrf52_autoleds.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdint.h>
+#include <stdbool.h>
+#include <debug.h>
+
+#include <nuttx/board.h>
+#include <arch/board/board.h>
+
+#include "chip.h"
+#include "arm_arch.h"
+#include "arm_internal.h"
+
+#include "nrf52832-mdk.h"
+
+#ifdef CONFIG_ARCH_LEDS
+
+#define LED_ON  0
+#define LED_OFF 1
+
+/* This array maps an LED number to GPIO pin configuration */
+
+static const uint32_t g_ledcfg[BOARD_NLEDS] =
+{
+  GPIO_LED1, GPIO_LED2, GPIO_LED3
+};
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: led_dumppins
+ ****************************************************************************/
+
+#ifdef LED_VERBOSE
+static void led_dumppins(FAR const char *msg)
+{
+  nrf52_pin_dump(PINCONFIG_LED, msg);
+  nrf52_gpio_dump(GPIO_LED, msg);
+}
+#else
+#  define led_dumppins(m)
+#endif
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: board_autoled_initialize
+ ****************************************************************************/
+
+void board_autoled_initialize(void)
+{
+  int i;
+
+  /* Configure LED pin as a GPIO outputs */
+
+  led_dumppins("board_autoled_initialize() Entry)");
+
+  for (i = 0; i < BOARD_NLEDS; i++)
+    {
+      nrf52_gpio_config(g_ledcfg[i]);
+    }
+
+  led_dumppins("board_autoled_initialize() Exit");
+}
+
+/****************************************************************************
+ * Name: board_autoled_on
+ ****************************************************************************/
+
+void board_autoled_on(int led)
+{
+  if ((unsigned)led < BOARD_NLEDS)
+    {
+      nrf52_gpio_write(g_ledcfg[led], LED_ON);
+    }
+}
+
+/****************************************************************************
+ * Name: board_autoled_off
+ ****************************************************************************/
+
+void board_autoled_off(int led)
+{
+  if ((unsigned)led < BOARD_NLEDS)
+    {
+      nrf52_gpio_write(g_ledcfg[led], LED_OFF);
+    }
+}
+
+#endif /* CONFIG_ARCH_LEDS */
diff --git a/boards/arm/nrf52/nrf52832-mdk/src/nrf52_boot.c b/boards/arm/nrf52/nrf52832-mdk/src/nrf52_boot.c
new file mode 100644
index 0000000..ae6868a
--- /dev/null
+++ b/boards/arm/nrf52/nrf52832-mdk/src/nrf52_boot.c
@@ -0,0 +1,82 @@
+/****************************************************************************
+ * boards/arm/nrf52/nrf52832-mdk/src/nrf52_boot.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <debug.h>
+
+#include <nuttx/board.h>
+#include <arch/board/board.h>
+
+#include "arm_arch.h"
+#include "arm_internal.h"
+
+#include "nrf52832-mdk.h"
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: nrf52_board_initialize
+ *
+ * Description:
+ *   All NRF52xxx architectures must provide the following entry point.
+ *   This entry point is called early in the initialization -- after all
+ *   memory has been configured and mapped but before any devices have been
+ *   initialized.
+ *
+ ****************************************************************************/
+
+void nrf52_board_initialize(void)
+{
+  /* Configure on-board LEDs if LED support has been selected. */
+
+#ifdef CONFIG_ARCH_LEDS
+  board_autoled_initialize();
+#endif
+}
+
+/****************************************************************************
+ * Name: board_late_initialize
+ *
+ * Description:
+ *   If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional
+ *   initialization call will be performed in the boot-up sequence to a
+ *   function called board_late_initialize().  board_late_initialize() will
+ *   be called immediately after up_initialize() is called and just before
+ *   the initial application is started.  This additional initialization
+ *   phase may be used, for example, to initialize board-specific device
+ *   drivers.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_BOARD_LATE_INITIALIZE
+void board_late_initialize(void)
+{
+  /* Perform board-specific initialization */
+
+  nrf52_bringup();
+}
+#endif
diff --git a/boards/arm/nrf52/nrf52832-mdk/src/nrf52_bringup.c b/boards/arm/nrf52/nrf52832-mdk/src/nrf52_bringup.c
new file mode 100644
index 0000000..1deaab4
--- /dev/null
+++ b/boards/arm/nrf52/nrf52832-mdk/src/nrf52_bringup.c
@@ -0,0 +1,82 @@
+/****************************************************************************
+ * boards/arm/nrf52/nrf52832-mdk/src/nrf52_bringup.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <sys/types.h>
+#include <syslog.h>
+
+#ifdef CONFIG_NRF52_WDT
+#  include "nrf52_wdt.h"
+#endif
+
+#ifdef CONFIG_USERLED
+#  include <nuttx/leds/userled.h>
+#endif
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: nrf52_bringup
+ *
+ * Description:
+ *   Perform architecture-specific initialization
+ *
+ *   CONFIG_BOARD_LATE_INITIALIZE=y :
+ *     Called from board_late_initialize().
+ *
+ *   CONFIG_BOARD_LATE_INITIALIZE=n && CONFIG_LIB_BOARDCTL=y :
+ *     Called from the NSH library
+ *
+ ****************************************************************************/
+
+int nrf52_bringup(void)
+{
+  int ret;
+
+#ifdef CONFIG_NRF52_WDT
+  /* Start Watchdog timer */
+
+  ret = nrf52_wdt_initialize(CONFIG_WATCHDOG_DEVPATH, 1, 1);
+  if (ret < 0)
+    {
+      syslog(LOG_ERR, "ERROR: nrf52_wdt_initialize failed: %d\n", ret);
+    }
+#endif
+
+#ifdef CONFIG_USERLED
+  /* Register the LED driver */
+
+  ret = userled_lower_initialize(CONFIG_EXAMPLES_LEDS_DEVPATH);
+  if (ret < 0)
+    {
+      syslog(LOG_ERR, "ERROR: userled_lower_initialize() failed: %d\n", ret);
+    }
+#endif
+
+  UNUSED(ret);
+  return OK;
+}