update nucleo l476 config and code to support the RTC and the alarms functionality
This commit is contained in:
parent
48fc8b9dd7
commit
1e5910a99d
@ -69,6 +69,7 @@ CONFIG_DEBUG_LIB=y
|
|||||||
CONFIG_DEBUG_LEDS=y
|
CONFIG_DEBUG_LEDS=y
|
||||||
CONFIG_DEBUG_ANALOG=y
|
CONFIG_DEBUG_ANALOG=y
|
||||||
CONFIG_DEBUG_GPIO=y
|
CONFIG_DEBUG_GPIO=y
|
||||||
|
# CONFIG_DEBUG_RTC is not set
|
||||||
CONFIG_DEBUG_SPI=y
|
CONFIG_DEBUG_SPI=y
|
||||||
CONFIG_ARCH_HAVE_STACKCHECK=y
|
CONFIG_ARCH_HAVE_STACKCHECK=y
|
||||||
# CONFIG_STACK_COLORATION is not set
|
# CONFIG_STACK_COLORATION is not set
|
||||||
@ -290,6 +291,9 @@ CONFIG_STM32L4_FIREWALL=y
|
|||||||
CONFIG_STM32L4_FLASH_PREFETCH=y
|
CONFIG_STM32L4_FLASH_PREFETCH=y
|
||||||
CONFIG_STM32L4_DISABLE_IDLE_SLEEP_DURING_DEBUG=y
|
CONFIG_STM32L4_DISABLE_IDLE_SLEEP_DURING_DEBUG=y
|
||||||
# CONFIG_ARCH_BOARD_STM32L4_CUSTOM_CLOCKCONFIG is not set
|
# CONFIG_ARCH_BOARD_STM32L4_CUSTOM_CLOCKCONFIG is not set
|
||||||
|
CONFIG_STM32L4_RTC_LSECLOCK=y
|
||||||
|
# CONFIG_STM32L4_RTC_LSICLOCK is not set
|
||||||
|
# CONFIG_STM32L4_RTC_HSECLOCK is not set
|
||||||
CONFIG_STM32L4_SAI1PLL=y
|
CONFIG_STM32L4_SAI1PLL=y
|
||||||
# CONFIG_STM32L4_SAI2PLL is not set
|
# CONFIG_STM32L4_SAI2PLL is not set
|
||||||
|
|
||||||
@ -377,7 +381,14 @@ CONFIG_NSH_MMCSDMINOR=0
|
|||||||
#
|
#
|
||||||
# Board-Specific Options
|
# Board-Specific Options
|
||||||
#
|
#
|
||||||
# CONFIG_LIB_BOARDCTL is not set
|
CONFIG_LIB_BOARDCTL=y
|
||||||
|
# CONFIG_BOARDCTL_RESET is not set
|
||||||
|
# CONFIG_BOARDCTL_UNIQUEID is not set
|
||||||
|
# CONFIG_BOARDCTL_TSCTEST is not set
|
||||||
|
# CONFIG_BOARDCTL_ADCTEST is not set
|
||||||
|
# CONFIG_BOARDCTL_PWMTEST is not set
|
||||||
|
# CONFIG_BOARDCTL_GRAPHICS is not set
|
||||||
|
# CONFIG_BOARDCTL_IOCTL is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# RTOS Features
|
# RTOS Features
|
||||||
@ -396,9 +407,6 @@ CONFIG_USEC_PER_TICK=10000
|
|||||||
# CONFIG_SYSTEM_TIME64 is not set
|
# CONFIG_SYSTEM_TIME64 is not set
|
||||||
# CONFIG_CLOCK_MONOTONIC is not set
|
# CONFIG_CLOCK_MONOTONIC is not set
|
||||||
# CONFIG_JULIAN_TIME is not set
|
# CONFIG_JULIAN_TIME is not set
|
||||||
CONFIG_START_YEAR=2014
|
|
||||||
CONFIG_START_MONTH=5
|
|
||||||
CONFIG_START_DAY=5
|
|
||||||
CONFIG_MAX_WDOGPARMS=2
|
CONFIG_MAX_WDOGPARMS=2
|
||||||
CONFIG_PREALLOC_WDOGS=8
|
CONFIG_PREALLOC_WDOGS=8
|
||||||
CONFIG_WDOG_INTRESERVE=1
|
CONFIG_WDOG_INTRESERVE=1
|
||||||
@ -517,7 +525,13 @@ CONFIG_SPI_EXCHANGE=y
|
|||||||
# Timer Driver Support
|
# Timer Driver Support
|
||||||
#
|
#
|
||||||
# CONFIG_TIMER is not set
|
# CONFIG_TIMER is not set
|
||||||
# CONFIG_RTC is not set
|
CONFIG_RTC=y
|
||||||
|
CONFIG_RTC_DATETIME=y
|
||||||
|
CONFIG_RTC_ALARM=y
|
||||||
|
CONFIG_RTC_NALARMS=2
|
||||||
|
CONFIG_RTC_DRIVER=y
|
||||||
|
CONFIG_RTC_IOCTL=y
|
||||||
|
# CONFIG_RTC_EXTERNAL is not set
|
||||||
# CONFIG_WATCHDOG is not set
|
# CONFIG_WATCHDOG is not set
|
||||||
# CONFIG_ANALOG is not set
|
# CONFIG_ANALOG is not set
|
||||||
# CONFIG_AUDIO_DEVICES is not set
|
# CONFIG_AUDIO_DEVICES is not set
|
||||||
@ -755,6 +769,11 @@ CONFIG_BUILTIN_PROXY_STACKSIZE=1024
|
|||||||
#
|
#
|
||||||
# Examples
|
# Examples
|
||||||
#
|
#
|
||||||
|
CONFIG_EXAMPLES_ALARM=y
|
||||||
|
CONFIG_EXAMPLES_ALARM_PRIORITY=100
|
||||||
|
CONFIG_EXAMPLES_ALARM_STACKSIZE=2048
|
||||||
|
CONFIG_EXAMPLES_ALARM_DEVPATH="/dev/rtc0"
|
||||||
|
CONFIG_EXAMPLES_ALARM_SIGNO=1
|
||||||
# CONFIG_EXAMPLES_CHAT is not set
|
# CONFIG_EXAMPLES_CHAT is not set
|
||||||
# CONFIG_EXAMPLES_CONFIGDATA is not set
|
# CONFIG_EXAMPLES_CONFIGDATA is not set
|
||||||
# CONFIG_EXAMPLES_CPUHOG is not set
|
# CONFIG_EXAMPLES_CPUHOG is not set
|
||||||
@ -813,6 +832,7 @@ CONFIG_EXAMPLES_NSAMPLES=8
|
|||||||
# CONFIG_EXAMPLES_TIFF is not set
|
# CONFIG_EXAMPLES_TIFF is not set
|
||||||
# CONFIG_EXAMPLES_TOUCHSCREEN is not set
|
# CONFIG_EXAMPLES_TOUCHSCREEN is not set
|
||||||
# CONFIG_EXAMPLES_WEBSERVER is not set
|
# CONFIG_EXAMPLES_WEBSERVER is not set
|
||||||
|
# CONFIG_EXAMPLES_USBSERIAL is not set
|
||||||
# CONFIG_EXAMPLES_USBTERM is not set
|
# CONFIG_EXAMPLES_USBTERM is not set
|
||||||
# CONFIG_EXAMPLES_WATCHDOG is not set
|
# CONFIG_EXAMPLES_WATCHDOG is not set
|
||||||
|
|
||||||
@ -944,7 +964,7 @@ CONFIG_NSH_FILEIOSIZE=512
|
|||||||
#
|
#
|
||||||
CONFIG_NSH_CONSOLE=y
|
CONFIG_NSH_CONSOLE=y
|
||||||
# CONFIG_NSH_ALTCONDEV is not set
|
# CONFIG_NSH_ALTCONDEV is not set
|
||||||
# CONFIG_NSH_ARCHINIT is not set
|
CONFIG_NSH_ARCHINIT=y
|
||||||
# CONFIG_NSH_LOGIN is not set
|
# CONFIG_NSH_LOGIN is not set
|
||||||
# CONFIG_NSH_CONSOLE_LOGIN is not set
|
# CONFIG_NSH_CONSOLE_LOGIN is not set
|
||||||
|
|
||||||
|
@ -52,7 +52,15 @@
|
|||||||
************************************************************************************/
|
************************************************************************************/
|
||||||
/* Configuration ********************************************************************/
|
/* Configuration ********************************************************************/
|
||||||
|
|
||||||
|
#define HAVE_RTC_DRIVER 1
|
||||||
#define HAVE_MMCSD 1
|
#define HAVE_MMCSD 1
|
||||||
|
|
||||||
|
/* Check if we can support the RTC driver */
|
||||||
|
|
||||||
|
#if !defined(CONFIG_RTC) || !defined(CONFIG_RTC_DRIVER)
|
||||||
|
# undef HAVE_RTC_DRIVER
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !defined(CONFIG_STM32_SDIO) || !defined(CONFIG_MMCSD) || \
|
#if !defined(CONFIG_STM32_SDIO) || !defined(CONFIG_MMCSD) || \
|
||||||
!defined(CONFIG_MMCSD_SDIO)
|
!defined(CONFIG_MMCSD_SDIO)
|
||||||
# undef HAVE_MMCSD
|
# undef HAVE_MMCSD
|
||||||
|
@ -55,6 +55,11 @@
|
|||||||
|
|
||||||
#include "nucleo-l476rg.h"
|
#include "nucleo-l476rg.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_RTC_DRIVER
|
||||||
|
# include <nuttx/timers/rtc.h>
|
||||||
|
# include "stm32l4_rtc.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -83,9 +88,12 @@ void up_netinitialize(void)
|
|||||||
|
|
||||||
int board_app_initialize(void)
|
int board_app_initialize(void)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_MMCSD) || defined(CONFIG_AJOYSTICK)
|
#ifdef HAVE_RTC_DRIVER
|
||||||
int ret;
|
FAR struct rtc_lowerhalf_s *rtclower;
|
||||||
#endif
|
#endif
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
(void)ret;
|
||||||
|
|
||||||
/* Configure CPU load estimation */
|
/* Configure CPU load estimation */
|
||||||
|
|
||||||
@ -93,6 +101,30 @@ int board_app_initialize(void)
|
|||||||
cpuload_initialize_once();
|
cpuload_initialize_once();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_RTC_DRIVER
|
||||||
|
/* Instantiate the STM32L4 lower-half RTC driver */
|
||||||
|
|
||||||
|
rtclower = stm32l4_rtc_lowerhalf();
|
||||||
|
if (!rtclower)
|
||||||
|
{
|
||||||
|
sdbg("ERROR: Failed to instantiate the RTC lower-half driver\n");
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Bind the lower half driver and register the combined RTC driver
|
||||||
|
* as /dev/rtc0
|
||||||
|
*/
|
||||||
|
|
||||||
|
ret = rtc_initialize(0, rtclower);
|
||||||
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
sdbg("ERROR: Failed to bind/register the RTC driver: %d\n", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_MMCSD
|
#ifdef HAVE_MMCSD
|
||||||
/* First, get an instance of the SDIO interface */
|
/* First, get an instance of the SDIO interface */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user