mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
boards/nrf52840dk: use common code
This commit is contained in:
parent
2d93d14102
commit
cb2ca02264
@ -1,3 +1,4 @@
|
|||||||
MODULE = board
|
MODULE = board
|
||||||
|
DIRS = $(RIOTBOARD)/common/nrf52xxxdk
|
||||||
|
|
||||||
include $(RIOTBASE)/Makefile.base
|
include $(RIOTBASE)/Makefile.base
|
||||||
|
@ -1,7 +1 @@
|
|||||||
ifneq (,$(filter saul_default,$(USEMODULE)))
|
include $(RIOTBOARD)/common/nrf52xxxdk/Makefile.dep
|
||||||
USEMODULE += saul_gpio
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq (,$(filter gnrc_netdev_default netdev_default,$(USEMODULE)))
|
|
||||||
USEMODULE += nrfmin
|
|
||||||
endif
|
|
||||||
|
@ -1,14 +1 @@
|
|||||||
# Put defined MCU peripherals here (in alphabetical order)
|
include $(RIOTBOARD)/common/nrf52xxxdk/Makefile.features
|
||||||
FEATURES_PROVIDED += periph_gpio
|
|
||||||
FEATURES_PROVIDED += periph_rtt
|
|
||||||
FEATURES_PROVIDED += periph_spi
|
|
||||||
FEATURES_PROVIDED += periph_timer
|
|
||||||
FEATURES_PROVIDED += periph_uart
|
|
||||||
|
|
||||||
# Various other features (if any)
|
|
||||||
FEATURES_PROVIDED += radio_nrfmin
|
|
||||||
|
|
||||||
# The board MPU family (used for grouping by the CI system)
|
|
||||||
FEATURES_MCU_GROUP = cortex_m4_3
|
|
||||||
|
|
||||||
-include $(RIOTCPU)/nrf52/Makefile.features
|
|
||||||
|
@ -1,21 +1,3 @@
|
|||||||
# define the cpu used by the nRF52 DK
|
|
||||||
export CPU = nrf52
|
|
||||||
export CPU_MODEL = nrf52840xxaa
|
export CPU_MODEL = nrf52840xxaa
|
||||||
|
|
||||||
# set default port depending on operating system
|
include $(RIOTBOARD)/common/nrf52xxxdk/Makefile.include
|
||||||
PORT_LINUX ?= /dev/ttyACM0
|
|
||||||
PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbmodem*)))
|
|
||||||
|
|
||||||
# setup JLink for flashing
|
|
||||||
export JLINK_DEVICE := nrf52
|
|
||||||
|
|
||||||
# special options when using SoftDevice
|
|
||||||
ifneq (,$(filter nordic_softdevice_ble,$(USEPKG)))
|
|
||||||
export JLINK_PRE_FLASH := erase\nloadfile $(BINDIR)/softdevice.hex
|
|
||||||
export FLASH_ADDR := 0x1f000
|
|
||||||
export LINKER_SCRIPT ?= $(RIOTCPU)/$(CPU)/ldscripts/$(CPU_MODEL)_sd.ld
|
|
||||||
endif
|
|
||||||
include $(RIOTMAKE)/tools/jlink.inc.mk
|
|
||||||
|
|
||||||
# setup serial terminal
|
|
||||||
include $(RIOTMAKE)/tools/serial.inc.mk
|
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2017 Freie Universität Berlin
|
|
||||||
*
|
|
||||||
* This file is subject to the terms and conditions of the GNU Lesser
|
|
||||||
* General Public License v2.1. See the file LICENSE in the top level
|
|
||||||
* directory for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @ingroup boards_nrf52840dk
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @file
|
|
||||||
* @brief Board initialization for the nRF52840 DK
|
|
||||||
*
|
|
||||||
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
|
||||||
*
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "cpu.h"
|
|
||||||
#include "board.h"
|
|
||||||
|
|
||||||
void board_init(void)
|
|
||||||
{
|
|
||||||
/* initialize the boards LEDs */
|
|
||||||
LED_PORT->DIRSET = (LED0_MASK | LED1_MASK | LED2_MASK | LED3_MASK);
|
|
||||||
LED_PORT->OUTSET = (LED0_MASK | LED1_MASK | LED2_MASK | LED3_MASK);
|
|
||||||
|
|
||||||
/* initialize the CPU */
|
|
||||||
cpu_init();
|
|
||||||
}
|
|
@ -22,7 +22,7 @@
|
|||||||
#ifndef BOARD_H
|
#ifndef BOARD_H
|
||||||
#define BOARD_H
|
#define BOARD_H
|
||||||
|
|
||||||
#include "cpu.h"
|
#include "board_common.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -74,11 +74,6 @@ extern "C" {
|
|||||||
#define BTN3_MODE GPIO_IN_PU
|
#define BTN3_MODE GPIO_IN_PU
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Initialize board specific hardware, including clock, LEDs and std-IO
|
|
||||||
*/
|
|
||||||
void board_init(void);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,83 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2017 Freie Universität Berlin
|
|
||||||
*
|
|
||||||
* This file is subject to the terms and conditions of the GNU Lesser
|
|
||||||
* General Public License v2.1. See the file LICENSE in the top level
|
|
||||||
* directory for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @ingroup boards_nrf52840dk
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @file
|
|
||||||
* @brief Configuration of SAUL mapped GPIO pins
|
|
||||||
*
|
|
||||||
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
|
||||||
* @author Sebastian Meiling <s@mlng.net>
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef GPIO_PARAMS_H
|
|
||||||
#define GPIO_PARAMS_H
|
|
||||||
|
|
||||||
#include "board.h"
|
|
||||||
#include "saul/periph.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief LED configuration
|
|
||||||
*/
|
|
||||||
static const saul_gpio_params_t saul_gpio_params[] =
|
|
||||||
{
|
|
||||||
{
|
|
||||||
.name = "LED 1",
|
|
||||||
.pin = LED0_PIN,
|
|
||||||
.mode = GPIO_OUT
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "LED 2",
|
|
||||||
.pin = LED1_PIN,
|
|
||||||
.mode = GPIO_OUT
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "LED 3",
|
|
||||||
.pin = LED2_PIN,
|
|
||||||
.mode = GPIO_OUT
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "LED 4",
|
|
||||||
.pin = LED3_PIN,
|
|
||||||
.mode = GPIO_OUT
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "Button 1",
|
|
||||||
.pin = BTN0_PIN,
|
|
||||||
.mode = BTN0_MODE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "Button 2",
|
|
||||||
.pin = BTN1_PIN,
|
|
||||||
.mode = BTN1_MODE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "Button 3",
|
|
||||||
.pin = BTN2_PIN,
|
|
||||||
.mode = BTN2_MODE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.name = "Button 4",
|
|
||||||
.pin = BTN3_PIN,
|
|
||||||
.mode = BTN3_MODE
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* GPIO_PARAMS_H */
|
|
||||||
/** @} */
|
|
@ -1,100 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2017 Freie Universität Berlin
|
|
||||||
*
|
|
||||||
* This file is subject to the terms and conditions of the GNU Lesser
|
|
||||||
* General Public License v2.1. See the file LICENSE in the top level
|
|
||||||
* directory for more details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @ingroup boards_nrf52840dk
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* @file
|
|
||||||
* @brief Peripheral configuration for the nRF52840 DK
|
|
||||||
*
|
|
||||||
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef PERIPH_CONF_H
|
|
||||||
#define PERIPH_CONF_H
|
|
||||||
|
|
||||||
#include "periph_cpu.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @name Clock configuration
|
|
||||||
*
|
|
||||||
* @note The radio will not work with the internal RC oscillator!
|
|
||||||
*
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
#define CLOCK_HFCLK (32U) /* set to 0: internal RC oscillator
|
|
||||||
* 32: 32MHz crystal */
|
|
||||||
#define CLOCK_LFCLK (1) /* set to 0: internal RC oscillator
|
|
||||||
* 1: 32.768 kHz crystal
|
|
||||||
* 2: derived from HFCLK */
|
|
||||||
/** @} */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @name Timer configuration
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
static const timer_conf_t timer_config[] = {
|
|
||||||
{
|
|
||||||
.dev = NRF_TIMER1,
|
|
||||||
.channels = 3,
|
|
||||||
.bitmode = TIMER_BITMODE_BITMODE_32Bit,
|
|
||||||
.irqn = TIMER1_IRQn
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#define TIMER_0_ISR isr_timer1
|
|
||||||
|
|
||||||
#define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0]))
|
|
||||||
/** @} */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @name Real time counter configuration
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
#define RTT_NUMOF (1U)
|
|
||||||
#define RTT_DEV (1) /* NRF_RTC1 */
|
|
||||||
#define RTT_MAX_VALUE (0x00ffffff)
|
|
||||||
#define RTT_FREQUENCY (1024)
|
|
||||||
/** @} */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @name UART configuration
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
#define UART_NUMOF (1U)
|
|
||||||
#define UART_PIN_RX GPIO_PIN(0, 8)
|
|
||||||
#define UART_PIN_TX GPIO_PIN(0, 6)
|
|
||||||
/** @} */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @name SPI configuration
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
static const spi_conf_t spi_config[] = {
|
|
||||||
{
|
|
||||||
.dev = NRF_SPI0,
|
|
||||||
.sclk = 15,
|
|
||||||
.mosi = 13,
|
|
||||||
.miso = 14
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#define SPI_NUMOF (sizeof(spi_config) / sizeof(spi_config[0]))
|
|
||||||
/** @} */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* PERIPH_CONF_H */
|
|
Loading…
Reference in New Issue
Block a user