From b328c1cbac55d6ed9ab4708611e20961a28f27f1 Mon Sep 17 00:00:00 2001 From: chenchaoqun Date: Mon, 27 Jul 2020 11:36:57 +0800 Subject: [PATCH 01/34] [modify] if ... else if constructs to be terminated with an else clause, which other option is invalid and delete surplus space. --- src/ipc.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ipc.c b/src/ipc.c index 8e8c4db842..876d8df3a1 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -1080,6 +1080,13 @@ rt_err_t rt_event_send(rt_event_t event, rt_uint32_t set) status = RT_EOK; } } + else + { + /* enable interrupt */ + rt_hw_interrupt_enable(level); + + return -RT_EINVAL; + } /* move node to the next */ n = n->next; @@ -1186,10 +1193,10 @@ rt_err_t rt_event_recv(rt_event_t event, { /* no waiting */ thread->error = -RT_ETIMEOUT; - + /* enable interrupt */ rt_hw_interrupt_enable(level); - + return -RT_ETIMEOUT; } else From 55cfefd90a58e7e0d33e13714f21fb75a9718010 Mon Sep 17 00:00:00 2001 From: chenchaoqun Date: Mon, 27 Jul 2020 11:49:52 +0800 Subject: [PATCH 02/34] [add] switch default clause --- src/ipc.c | 3 +++ src/timer.c | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ipc.c b/src/ipc.c index 8e8c4db842..dd681f2892 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -117,6 +117,9 @@ rt_inline rt_err_t rt_ipc_list_suspend(rt_list_t *list, rt_list_insert_before(list, &(thread->tlist)); } break; + + default: + break; } return RT_EOK; diff --git a/src/timer.c b/src/timer.c index 28a5a9e494..4d12c7ec78 100644 --- a/src/timer.c +++ b/src/timer.c @@ -500,7 +500,10 @@ rt_err_t rt_timer_control(rt_timer_t timer, int cmd, void *arg) /*timer is stop*/ *(rt_tick_t *)arg = RT_TIMER_FLAG_DEACTIVATED; } - break; + break; + + default: + break; } return RT_EOK; From a78c6bedea2bb4e9833fdb2cc22f3af813724609 Mon Sep 17 00:00:00 2001 From: chenchaoqun Date: Mon, 27 Jul 2020 14:01:30 +0800 Subject: [PATCH 03/34] [add] a macro to be isolated while using signals in rt_mutex_take function. --- src/ipc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ipc.c b/src/ipc.c index 8e8c4db842..b0efdd1320 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -685,7 +685,9 @@ rt_err_t rt_mutex_take(rt_mutex_t mutex, rt_int32_t time) } else { +#ifdef RT_USING_SIGNALS __again: +#endif /* end of RT_USING_SIGNALS */ /* The value of mutex is 1 in initial status. Therefore, if the * value is great than 0, it indicates the mutex is avaible. */ @@ -754,8 +756,10 @@ __again: if (thread->error != RT_EOK) { +#ifdef RT_USING_SIGNALS /* interrupt by signal, try it again */ if (thread->error == -RT_EINTR) goto __again; +#endif /* end of RT_USING_SIGNALS */ /* return error */ return thread->error; From 224c3224c7d1bea2f52bb51aca505812a12b9255 Mon Sep 17 00:00:00 2001 From: chenchaoqun Date: Mon, 27 Jul 2020 14:11:35 +0800 Subject: [PATCH 04/34] [format] enumeration define two styles: define first or all. --- include/rtdef.h | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/include/rtdef.h b/include/rtdef.h index b391ff7685..747643bb82 100644 --- a/include/rtdef.h +++ b/include/rtdef.h @@ -372,20 +372,20 @@ typedef struct rt_object *rt_object_t; /**< Type for kernel obj */ enum rt_object_class_type { - RT_Object_Class_Null = 0, /**< The object is not used. */ - RT_Object_Class_Thread, /**< The object is a thread. */ - RT_Object_Class_Semaphore, /**< The object is a semaphore. */ - RT_Object_Class_Mutex, /**< The object is a mutex. */ - RT_Object_Class_Event, /**< The object is a event. */ - RT_Object_Class_MailBox, /**< The object is a mail box. */ - RT_Object_Class_MessageQueue, /**< The object is a message queue. */ - RT_Object_Class_MemHeap, /**< The object is a memory heap */ - RT_Object_Class_MemPool, /**< The object is a memory pool. */ - RT_Object_Class_Device, /**< The object is a device */ - RT_Object_Class_Timer, /**< The object is a timer. */ - RT_Object_Class_Module, /**< The object is a module. */ - RT_Object_Class_Unknown, /**< The object is unknown. */ - RT_Object_Class_Static = 0x80 /**< The object is a static object. */ + RT_Object_Class_Null = 0x00, /**< The object is not used. */ + RT_Object_Class_Thread = 0x01, /**< The object is a thread. */ + RT_Object_Class_Semaphore = 0x02, /**< The object is a semaphore. */ + RT_Object_Class_Mutex = 0x03, /**< The object is a mutex. */ + RT_Object_Class_Event = 0x04, /**< The object is a event. */ + RT_Object_Class_MailBox = 0x05, /**< The object is a mail box. */ + RT_Object_Class_MessageQueue = 0x06, /**< The object is a message queue. */ + RT_Object_Class_MemHeap = 0x07, /**< The object is a memory heap. */ + RT_Object_Class_MemPool = 0x08, /**< The object is a memory pool. */ + RT_Object_Class_Device = 0x09, /**< The object is a device. */ + RT_Object_Class_Timer = 0x0a, /**< The object is a timer. */ + RT_Object_Class_Module = 0x0b, /**< The object is a module. */ + RT_Object_Class_Unknown = 0x0c, /**< The object is unknown. */ + RT_Object_Class_Static = 0x80 /**< The object is a static object. */ }; /** From 9f41cbced8058faf40b54353b1d9d981650b1b3e Mon Sep 17 00:00:00 2001 From: chenchaoqun Date: Mon, 27 Jul 2020 14:18:16 +0800 Subject: [PATCH 05/34] [format] code style of rt_strcmp function --- src/kservice.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/kservice.c b/src/kservice.c index 1705ce5283..dd7458f106 100644 --- a/src/kservice.c +++ b/src/kservice.c @@ -456,7 +456,10 @@ RTM_EXPORT(rt_strncmp); rt_int32_t rt_strcmp(const char *cs, const char *ct) { while (*cs && *cs == *ct) - cs++, ct++; + { + cs++; + ct++; + } return (*cs - *ct); } From 984e8e5651d98be190c4607b087ca6907026e96a Mon Sep 17 00:00:00 2001 From: chenchaoqun Date: Fri, 24 Jul 2020 11:53:57 +0800 Subject: [PATCH 06/34] [modify] internal function 'isdigit' name to '_ISDIGIT' --- src/kservice.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/kservice.c b/src/kservice.c index 1705ce5283..cf03fb59b1 100644 --- a/src/kservice.c +++ b/src/kservice.c @@ -543,7 +543,7 @@ void rt_show_version(void) RTM_EXPORT(rt_show_version); /* private function */ -#define isdigit(c) ((unsigned)((c) - '0') < 10) +#define _ISDIGIT(c) ((unsigned)((c) - '0') < 10) #ifdef RT_PRINTF_LONGLONG rt_inline int divide(long long *n, int base) @@ -588,7 +588,7 @@ rt_inline int divide(long *n, int base) rt_inline int skip_atoi(const char **s) { register int i = 0; - while (isdigit(**s)) + while (_ISDIGIT(**s)) i = i * 10 + *((*s)++) - '0'; return i; @@ -834,7 +834,7 @@ rt_int32_t rt_vsnprintf(char *buf, /* get field width */ field_width = -1; - if (isdigit(*fmt)) field_width = skip_atoi(&fmt); + if (_ISDIGIT(*fmt)) field_width = skip_atoi(&fmt); else if (*fmt == '*') { ++ fmt; @@ -853,7 +853,7 @@ rt_int32_t rt_vsnprintf(char *buf, if (*fmt == '.') { ++ fmt; - if (isdigit(*fmt)) precision = skip_atoi(&fmt); + if (_ISDIGIT(*fmt)) precision = skip_atoi(&fmt); else if (*fmt == '*') { ++ fmt; From 814b646d17fb3219b2b832be9d5df676a881614e Mon Sep 17 00:00:00 2001 From: zhiweih Date: Mon, 27 Jul 2020 23:09:26 +0800 Subject: [PATCH 07/34] Specify date string length in FINSH date command. libc ctime returns a fixed 25 character string without a NULL terminator. Print it without specifying length in FINSH date command prints extra contents and could potentially be dangerous. --- components/drivers/rtc/rtc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/drivers/rtc/rtc.c b/components/drivers/rtc/rtc.c index e17c0fe7dd..682515ce98 100644 --- a/components/drivers/rtc/rtc.c +++ b/components/drivers/rtc/rtc.c @@ -179,7 +179,7 @@ void list_date(void) time_t now; now = time(RT_NULL); - rt_kprintf("%s\n", ctime(&now)); + rt_kprintf("%.*s\n", 25, ctime(&now)); } FINSH_FUNCTION_EXPORT(list_date, show date and time.) @@ -194,7 +194,7 @@ static void date(uint8_t argc, char **argv) time_t now; /* output current time */ now = time(RT_NULL); - rt_kprintf("%s", ctime(&now)); + rt_kprintf("%.*s", 25, ctime(&now)); } else if (argc >= 7) { From 70e5cd4d73c6bd47a664f8ef6c97c785a452795f Mon Sep 17 00:00:00 2001 From: liuduanfei <939763442@qq.com> Date: Tue, 28 Jul 2020 09:45:29 +0800 Subject: [PATCH 08/34] Update SConstruct Update SConstruct fix compilation error --- bsp/imx6ul/SConstruct | 1 + 1 file changed, 1 insertion(+) diff --git a/bsp/imx6ul/SConstruct b/bsp/imx6ul/SConstruct index 9483ea927d..8c9e4ee347 100644 --- a/bsp/imx6ul/SConstruct +++ b/bsp/imx6ul/SConstruct @@ -20,6 +20,7 @@ env = Environment(tools = ['mingw'], AR = rtconfig.AR, ARFLAGS = '-rc', LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) env.PrependENVPath('PATH', rtconfig.EXEC_PATH) +env['ASCOM'] = env['ASPPCOM'] Export('RTT_ROOT') Export('rtconfig') From 0e619491163d2e2b4c1cc262f0faee3b1ced55b7 Mon Sep 17 00:00:00 2001 From: shaojinchun Date: Tue, 28 Jul 2020 09:55:01 +0800 Subject: [PATCH 09/34] avoid deadlock (rt_hw_interrupt_disable and rt_enter_critical when enable smp) --- src/scheduler.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/scheduler.c b/src/scheduler.c index 6baaa9627a..0c1bf1e506 100644 --- a/src/scheduler.c +++ b/src/scheduler.c @@ -33,10 +33,6 @@ #include #include -#ifdef RT_USING_SMP -rt_hw_spinlock_t _rt_critical_lock; -#endif /*RT_USING_SMP*/ - rt_list_t rt_thread_priority_table[RT_THREAD_PRIORITY_MAX]; rt_uint32_t rt_thread_ready_priority_group; #if RT_THREAD_PRIORITY_MAX > 32 @@ -851,7 +847,7 @@ void rt_enter_critical(void) if (!current_thread) { rt_hw_local_irq_enable(level); - return ; + return; } /* @@ -859,12 +855,15 @@ void rt_enter_critical(void) * enough and does not check here */ - /* lock scheduler for all cpus */ - if (current_thread->critical_lock_nest == 0) { - rt_hw_spin_lock(&_rt_critical_lock); + register rt_uint16_t lock_nest = current_thread->cpus_lock_nest; + current_thread->cpus_lock_nest++; + if (lock_nest == 0) + { + current_thread->scheduler_lock_nest ++; + rt_hw_spin_lock(&_cpus_lock); + } } - /* critical for local cpu */ current_thread->critical_lock_nest ++; @@ -910,16 +909,18 @@ void rt_exit_critical(void) if (!current_thread) { rt_hw_local_irq_enable(level); - return ; + return; } current_thread->scheduler_lock_nest --; current_thread->critical_lock_nest --; - if (current_thread->critical_lock_nest == 0) + current_thread->cpus_lock_nest--; + if (current_thread->cpus_lock_nest == 0) { - rt_hw_spin_unlock(&_rt_critical_lock); + current_thread->scheduler_lock_nest --; + rt_hw_spin_unlock(&_cpus_lock); } if (current_thread->scheduler_lock_nest <= 0) From 1fe077a0be8636a3aeb39b897373f493da06f9c6 Mon Sep 17 00:00:00 2001 From: Meco <920369182@qq.com> Date: Wed, 29 Jul 2020 09:57:32 +0800 Subject: [PATCH 10/34] =?UTF-8?q?fix=E5=9C=A8rt=5Fevent=5Frecv=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E4=B8=AD=EF=BC=8C=E5=A6=82=E6=9E=9C=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E5=B7=B2=E7=BB=8F=E6=BB=A1=E8=B6=B3=E6=97=A0=E9=9C=80=E9=98=BB?= =?UTF-8?q?=E5=A1=9E=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B=EF=BC=8C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E7=BB=99thread->event=5Fset/event=5Finfo=E8=B5=8B?= =?UTF-8?q?=E5=80=BC=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ipc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ipc.c b/src/ipc.c index 8e8c4db842..c67909cfe0 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -34,6 +34,8 @@ * 2013-09-14 Grissiom add an option check in rt_event_recv * 2018-10-02 Bernard add 64bit support for mailbox * 2019-09-16 tyx add send wait support for message queue + * 2020-07-29 Meco Man fix thread->event_set/event_info when received an + event without pending */ #include @@ -1177,7 +1179,11 @@ rt_err_t rt_event_recv(rt_event_t event, /* set received event */ if (recved) *recved = (event->set & set); - + + /* fill thread event info */ + thread->event_set = (event->set & set); + thread->event_info = option; + /* received event */ if (option & RT_EVENT_FLAG_CLEAR) event->set &= ~set; From 24ebc3dc5bfb0210766f2df0bc243eac73fa5a8c Mon Sep 17 00:00:00 2001 From: WangQiang Date: Thu, 30 Jul 2020 11:57:12 +0800 Subject: [PATCH 11/34] fixed gcc assembly option in rtconfig.py for imxrt1064-nxp-evk --- bsp/imxrt/imxrt1064-nxp-evk/README.md | 4 ++-- bsp/imxrt/imxrt1064-nxp-evk/rtconfig.py | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/bsp/imxrt/imxrt1064-nxp-evk/README.md b/bsp/imxrt/imxrt1064-nxp-evk/README.md index 434f13c651..37a5e3d1dd 100644 --- a/bsp/imxrt/imxrt1064-nxp-evk/README.md +++ b/bsp/imxrt/imxrt1064-nxp-evk/README.md @@ -71,7 +71,7 @@ ### 快速上手 -本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程,暂不支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。 +本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程,以及GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。 #### 硬件连接 @@ -115,4 +115,4 @@ msh > 维护人: -- [王强](https://github.com/xfwangqiang), 邮箱:<164877907@qq.com> \ No newline at end of file +- [王强](https://github.com/xfwangqiang, https://gitee.com/xfwangqiang), 邮箱:<164877907@qq.com> \ No newline at end of file diff --git a/bsp/imxrt/imxrt1064-nxp-evk/rtconfig.py b/bsp/imxrt/imxrt1064-nxp-evk/rtconfig.py index 2acb77e3ed..eeef72b0c6 100644 --- a/bsp/imxrt/imxrt1064-nxp-evk/rtconfig.py +++ b/bsp/imxrt/imxrt1064-nxp-evk/rtconfig.py @@ -53,6 +53,9 @@ if PLATFORM == 'gcc': CPATH = '' LPATH = '' + AFLAGS += ' -D__STARTUP_INITIALIZE_NONCACHEDATA' + AFLAGS += ' -D__STARTUP_CLEAR_BSS' + if BUILD == 'debug': CFLAGS += ' -gdwarf-2' AFLAGS += ' -gdwarf-2' From d9a312d55d44624aa0512f1a03857a1a44fcaf3d Mon Sep 17 00:00:00 2001 From: SummerGift Date: Thu, 30 Jul 2020 09:33:27 +0800 Subject: [PATCH 12/34] [bsp][stm32] update stm32h743-st-nucleo/board/SConscript to fix compiling error after dist --- bsp/stm32/stm32h743-st-nucleo/board/SConscript | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/bsp/stm32/stm32h743-st-nucleo/board/SConscript b/bsp/stm32/stm32h743-st-nucleo/board/SConscript index 4a4c806804..86e530023b 100644 --- a/bsp/stm32/stm32h743-st-nucleo/board/SConscript +++ b/bsp/stm32/stm32h743-st-nucleo/board/SConscript @@ -1,6 +1,8 @@ import rtconfig from building import * +Import('SDK_LIB') + cwd = GetCurrentDir() # add the general drivers. @@ -10,12 +12,14 @@ src += Glob('CubeMX_Config/Src/stm32h7xx_hal_msp.c') path = [cwd] path += [cwd + '/CubeMX_Config/Inc'] +startup_path_prefix = SDK_LIB + if rtconfig.CROSS_TOOL == 'gcc': - src += [cwd + '/../../libraries/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h743xx.s'] + src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h743xx.s'] elif rtconfig.CROSS_TOOL == 'keil': - src += [cwd + '/../../libraries/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/arm/startup_stm32h743xx.s'] + src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/arm/startup_stm32h743xx.s'] elif rtconfig.CROSS_TOOL == 'iar': - src += [cwd + '/../../libraries/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/iar/startup_stm32h743xx.s'] + src += [startup_path_prefix + '/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/iar/startup_stm32h743xx.s'] # STM32H743xx || STM32H750xx || STM32F753xx # You can select chips from the list above From 58b05abc91b28f2e523c8c9e9cf8ff4940c0b4b4 Mon Sep 17 00:00:00 2001 From: supperthomas <78900636@qq.com> Date: Sat, 1 Aug 2020 15:54:31 +0800 Subject: [PATCH 13/34] [bsp/nrf5x]: add the driver of pwm --- bsp/nrf5x/libraries/drivers/SConscript | 4 + bsp/nrf5x/libraries/drivers/drv_pwm.c | 432 +++++++++++++++++++++++++ bsp/nrf5x/nrf52840/board/Kconfig | 146 +++++++-- 3 files changed, 564 insertions(+), 18 deletions(-) create mode 100644 bsp/nrf5x/libraries/drivers/drv_pwm.c diff --git a/bsp/nrf5x/libraries/drivers/SConscript b/bsp/nrf5x/libraries/drivers/SConscript index 6bbdffce07..b446b7c3b4 100644 --- a/bsp/nrf5x/libraries/drivers/SConscript +++ b/bsp/nrf5x/libraries/drivers/SConscript @@ -19,8 +19,12 @@ if GetDepend(['BSP_USING_QSPI_FLASH']): if GetDepend(['BSP_USING_SPI']): src += ['drv_spi.c'] + if GetDepend(['BSP_USING_GPIO']): src += ['drv_gpio.c'] + +if GetDepend(['BSP_USING_PWM']): + src += ['drv_pwm.c'] path = [cwd] diff --git a/bsp/nrf5x/libraries/drivers/drv_pwm.c b/bsp/nrf5x/libraries/drivers/drv_pwm.c new file mode 100644 index 0000000000..4d7c036ce5 --- /dev/null +++ b/bsp/nrf5x/libraries/drivers/drv_pwm.c @@ -0,0 +1,432 @@ +/* + * Copyright (c) 2006-2020, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-07-26 supperthomas first version + * + */ + + +#include +#include "rtdevice.h" +#include "rtservice.h" + +#ifdef RT_USING_PWM + +#include + +struct mcu_pwm +{ + struct rt_device_pwm pwm_device; + + nrfx_pwm_t *pwm_handle; + nrf_pwm_values_individual_t m_demo1_seq_values; + nrf_pwm_sequence_t m_demo1_seq; + + rt_uint8_t channel; + char *name; + rt_uint64_t pwm_src_clk; + uint8_t channel_0_pin; + uint8_t channel_1_pin; + uint8_t channel_2_pin; + uint8_t channel_3_pin; +}; + +enum +{ +#ifdef BSP_USING_PWM0 + PWM0_INDEX, +#endif +#ifdef BSP_USING_PWM1 + PWM1_INDEX, +#endif +#ifdef BSP_USING_PWM2 + PWM2_INDEX, +#endif +#ifdef BSP_USING_PWM3 + PWM3_INDEX, +#endif +}; +#ifdef BSP_USING_PWM0 +static nrfx_pwm_t m_pwm0 = NRFX_PWM_INSTANCE(0); +#define PWM0_CONFIG \ + { \ + .pwm_handle = &m_pwm0, \ + .name = "pwm0", \ + .pwm_src_clk = 1000000, \ + } +#endif + +#ifdef BSP_USING_PWM1 +static nrfx_pwm_t m_pwm1 = NRFX_PWM_INSTANCE(1); +#define PWM1_CONFIG \ + { \ + .pwm_handle = &m_pwm1, \ + .name = "pwm1", \ + .pwm_src_clk = 1000000, \ + } +#endif + +#ifdef BSP_USING_PWM2 +static nrfx_pwm_t m_pwm2 = NRFX_PWM_INSTANCE(2); +#define PWM2_CONFIG \ + { \ + .pwm_handle = &m_pwm2, \ + .name = "pwm2", \ + .pwm_src_clk = 1000000, \ + } +#endif + +#ifdef BSP_USING_PWM3 +static nrfx_pwm_t m_pwm3 = NRFX_PWM_INSTANCE(3); +#define PWM3_CONFIG \ + { \ + .pwm_handle = &m_pwm3, \ + .name = "pwm3", \ + .pwm_src_clk = 1000000, \ + } +#endif + +static struct mcu_pwm mcu_pwm_obj[] = +{ +#ifdef BSP_USING_PWM0 + PWM0_CONFIG, +#endif +#ifdef BSP_USING_PWM1 + PWM1_CONFIG, +#endif + +#ifdef BSP_USING_PWM2 + PWM2_CONFIG, +#endif + +#ifdef BSP_USING_PWM3 + PWM3_CONFIG, +#endif +}; + +static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg); +static struct rt_pwm_ops drv_ops = +{ + drv_pwm_control +}; + +static rt_err_t drv_pwm_enable(struct mcu_pwm *p_mcu, struct rt_pwm_configuration *configuration, rt_bool_t enable) +{ + if (!enable) + { + nrfx_pwm_stop(p_mcu->pwm_handle, true); + } + else + { + (void)nrfx_pwm_simple_playback(p_mcu->pwm_handle, &p_mcu->m_demo1_seq, 1, NRFX_PWM_FLAG_LOOP); + } + + return RT_EOK; +} + +uint8_t mcu_get_channel_number(uint8_t channel) +{ + if (channel & 0x01) + { + return 0; + } + else if (channel & 0x02) + { + return 1; + } + else if (channel & 0x04) + { + return 2; + } + else if (channel & 0x08) + { + return 3; + } + return 0; +} + +static rt_err_t drv_pwm_get(struct mcu_pwm *pwm_handle, struct rt_pwm_configuration *configuration) +{ + rt_uint8_t channel_number = mcu_get_channel_number(configuration->channel); + uint8_t tick_pscond; + + tick_pscond = pwm_handle->pwm_src_clk / 1000000UL; + configuration->period = pwm_handle->pwm_handle->p_registers->COUNTERTOP * 1000UL / tick_pscond; + configuration->pulse = pwm_handle->pwm_handle->p_registers->SEQ[channel_number].PTR / tick_pscond; + + return RT_EOK; +} + +static void nrfx_set_prioid(nrfx_pwm_t *pwm_handle, uint32_t perioid) +{ + pwm_handle->p_registers->COUNTERTOP = perioid; +} + +static rt_err_t drv_pwm_set(struct mcu_pwm *p_mcu, struct rt_pwm_configuration *configuration) +{ + rt_uint32_t period, pulse; + uint8_t tick_pscond; + tick_pscond = p_mcu->pwm_src_clk / 1000000UL; + + p_mcu->pwm_handle->p_registers->COUNTERTOP = (unsigned long long)configuration->period * tick_pscond; + if (configuration->channel & 0x01) + { + p_mcu->m_demo1_seq_values.channel_0 = configuration->pulse; + } + + if (configuration->channel & 0x02) + { + p_mcu->m_demo1_seq_values.channel_1 = configuration->pulse; + } + + if (configuration->channel & 0x04) + { + p_mcu->m_demo1_seq_values.channel_2 = configuration->pulse; + } + + if (configuration->channel & 0x08) + { + p_mcu->m_demo1_seq_values.channel_3 = configuration->pulse; + } + return RT_EOK; +} + +static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg) +{ + struct rt_pwm_configuration *configuration = (struct rt_pwm_configuration *)arg; + void *pwm_handle = (void *)device->parent.user_data; + nrfx_pwm_t *p_handle = (nrfx_pwm_t *)pwm_handle; + struct mcu_pwm *p_mcu = rt_container_of(p_handle, struct mcu_pwm, pwm_handle); + switch (cmd) + { + case PWM_CMD_ENABLE: + return drv_pwm_enable(p_mcu, configuration, RT_TRUE); + case PWM_CMD_DISABLE: + return drv_pwm_enable(p_mcu, configuration, RT_FALSE); + case PWM_CMD_SET: + return drv_pwm_set(p_mcu, configuration); + case PWM_CMD_GET: + return drv_pwm_get(p_mcu, configuration); + default: + return RT_EINVAL; + } +} + +static rt_err_t mcu_hw_pwm_init(struct mcu_pwm *device) +{ +#define NRFX_PWM_PIN_INVERTED 0x80 +#define _PRIO_APP_LOWEST 7 + nrfx_pwm_config_t config0 = + { + .irq_priority = _PRIO_APP_LOWEST, + .base_clock = NRF_PWM_CLK_1MHz, //default value + .count_mode = NRF_PWM_MODE_UP, + .top_value = 5000, //default vaule + .load_mode = NRF_PWM_LOAD_INDIVIDUAL, + .step_mode = NRF_PWM_STEP_AUTO + }; + rt_err_t result = RT_EOK; + if (device->pwm_src_clk == 1000000) + { + config0.base_clock = NRF_PWM_CLK_1MHz; + } + else if (device->pwm_src_clk == 2000000) + { + config0.base_clock = NRF_PWM_CLK_2MHz; + } + else if (device->pwm_src_clk == 8000000) + { + config0.base_clock = NRF_PWM_CLK_8MHz; + } + else + { + config0.base_clock = NRF_PWM_CLK_1MHz; + } + + if (device->channel & 0x01) + { + config0.output_pins[0] = device->channel_0_pin | NRFX_PWM_PIN_INVERTED; + } + + if (device->channel & 0x02) + { + config0.output_pins[1] = device->channel_1_pin | NRFX_PWM_PIN_INVERTED; + } + + if (device->channel & 0x04) + { + config0.output_pins[2] = device->channel_2_pin | NRFX_PWM_PIN_INVERTED; + } + + if (device->channel & 0x08) + { + config0.output_pins[3] = device->channel_3_pin | NRFX_PWM_PIN_INVERTED; + } + device->m_demo1_seq.values.p_individual = &device->m_demo1_seq_values; + device->m_demo1_seq.length = NRF_PWM_VALUES_LENGTH(device->m_demo1_seq_values), + nrfx_pwm_init(device->pwm_handle, &config0, NULL, NULL); + return result; +} + +static void pwm_get_channel(void) +{ +#ifdef BSP_USING_PWM0_CH0 + mcu_pwm_obj[PWM0_INDEX].channel |= 1 << 0; + mcu_pwm_obj[PWM0_INDEX].channel_0_pin = BSP_USING_PWM0_CH0; +#endif +#ifdef BSP_USING_PWM0_CH1 + mcu_pwm_obj[PWM0_INDEX].channel |= 1 << 1; + mcu_pwm_obj[PWM0_INDEX].channel_1_pin = BSP_USING_PWM0_CH1; +#endif +#ifdef BSP_USING_PWM0_CH2 + mcu_pwm_obj[PWM0_INDEX].channel |= 1 << 2; + mcu_pwm_obj[PWM0_INDEX].channel_2_pin = BSP_USING_PWM0_CH2; +#endif +#ifdef BSP_USING_PWM0_CH3 + mcu_pwm_obj[PWM0_INDEX].channel |= 1 << 3; + mcu_pwm_obj[PWM0_INDEX].channel_3_pin = BSP_USING_PWM0_CH3; +#endif +#ifdef BSP_USING_PWM1_CH0 + mcu_pwm_obj[PWM1_INDEX].channel |= 1 << 0; + mcu_pwm_obj[PWM1_INDEX].channel_0_pin = BSP_USING_PWM1_CH0; +#endif +#ifdef BSP_USING_PWM1_CH1 + mcu_pwm_obj[PWM1_INDEX].channel |= 1 << 1; + mcu_pwm_obj[PWM1_INDEX].channel_1_pin = BSP_USING_PWM1_CH1; +#endif +#ifdef BSP_USING_PWM1_CH2 + mcu_pwm_obj[PWM1_INDEX].channel |= 1 << 2; + mcu_pwm_obj[PWM1_INDEX].channel_2_pin = BSP_USING_PWM1_CH2; +#endif +#ifdef BSP_USING_PWM1_CH3 + mcu_pwm_obj[PWM1_INDEX].channel |= 1 << 3; + mcu_pwm_obj[PWM1_INDEX].channel_3_pin = BSP_USING_PWM1_CH3; +#endif +#ifdef BSP_USING_PWM2_CH0 + mcu_pwm_obj[PWM2_INDEX].channel |= 1 << 0; + mcu_pwm_obj[PWM2_INDEX].channel_0_pin = BSP_USING_PWM2_CH0; +#endif +#ifdef BSP_USING_PWM2_CH1 + mcu_pwm_obj[PWM2_INDEX].channel |= 1 << 1; + mcu_pwm_obj[PWM2_INDEX].channel_1_pin = BSP_USING_PWM2_CH1; +#endif +#ifdef BSP_USING_PWM2_CH2 + mcu_pwm_obj[PWM2_INDEX].channel |= 1 << 2; + mcu_pwm_obj[PWM2_INDEX].channel_2_pin = BSP_USING_PWM2_CH2; +#endif +#ifdef BSP_USING_PWM2_CH3 + mcu_pwm_obj[PWM2_INDEX].channel |= 1 << 3; + mcu_pwm_obj[PWM2_INDEX].channel_3_pin = BSP_USING_PWM2_CH3; +#endif +#ifdef BSP_USING_PWM3_CH0 + mcu_pwm_obj[PWM3_INDEX].channel |= 1 << 0; + mcu_pwm_obj[PWM3_INDEX].channel_0_pin = BSP_USING_PWM3_CH0; +#endif +#ifdef BSP_USING_PWM3_CH1 + mcu_pwm_obj[PWM3_INDEX].channel |= 1 << 1; + mcu_pwm_obj[PWM3_INDEX].channel_1_pin = BSP_USING_PWM3_CH1; +#endif +#ifdef BSP_USING_PWM3_CH2 + mcu_pwm_obj[PWM3_INDEX].channel |= 1 << 2; + mcu_pwm_obj[PWM3_INDEX].channel_2_pin = BSP_USING_PWM3_CH2; +#endif +#ifdef BSP_USING_PWM3_CH3 + mcu_pwm_obj[PWM3_INDEX].channel |= 1 << 3; + mcu_pwm_obj[PWM3_INDEX].channel_3_pin = BSP_USING_PWM3_CH3; +#endif +} + +static int mcu_pwm_init(void) +{ + int i = 0; + int result = RT_EOK; + + pwm_get_channel(); + for (i = 0; i < sizeof(mcu_pwm_obj) / sizeof(mcu_pwm_obj[0]); i++) + { + /* pwm init */ + if (mcu_hw_pwm_init(&mcu_pwm_obj[i]) != RT_EOK) + { + rt_kprintf("\r\n %s init failed", mcu_pwm_obj[i].name); + result = -RT_ERROR; + goto __exit; + } + else + { + rt_kprintf("\r\n %s init success", mcu_pwm_obj[i].name); + + /* register pwm device */ + if (rt_device_pwm_register(&mcu_pwm_obj[i].pwm_device, mcu_pwm_obj[i].name, &drv_ops, &mcu_pwm_obj[i].pwm_handle) == RT_EOK) + { + rt_kprintf("\r\n %s register success", mcu_pwm_obj[i].name); + } + else + { + rt_kprintf("\r\n %s register failed", mcu_pwm_obj[i].name); + result = -RT_ERROR; + } + } + } +__exit: + return result; +} +INIT_DEVICE_EXPORT(mcu_pwm_init); + + + +/* test example */ +#define PWM_DEV_NAME "pwm0" /* PWM name*/ +#define PWM_DEV_CHANNEL 15 /* PWM channel */ + +struct rt_device_pwm *pwm_dev; + +static int pwm_led_sample(int argc, char *argv[]) +{ + rt_uint32_t period, pulse, dir; + + period = 50000; /* 50ms*/ + dir = 1; + pulse = 0; + + + pwm_dev = (struct rt_device_pwm *)rt_device_find(PWM_DEV_NAME); + if (pwm_dev == RT_NULL) + { + rt_kprintf("pwm sample run failed! can't find %s device!\n", PWM_DEV_NAME); + return RT_ERROR; + } + + rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse); + rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL); + + while (1) + { + rt_thread_mdelay(50); + if (dir) + { + pulse += 500; + } + else + { + pulse -= 500; + } + if (pulse >= period) + { + dir = 0; + } + if (0 == pulse) + { + dir = 1; + } + + + rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse); + } +} +MSH_CMD_EXPORT(pwm_led_sample, pwm sample); + +#endif \ No newline at end of file diff --git a/bsp/nrf5x/nrf52840/board/Kconfig b/bsp/nrf5x/nrf52840/board/Kconfig index 9f95a9177e..1bf97f6e4d 100644 --- a/bsp/nrf5x/nrf52840/board/Kconfig +++ b/bsp/nrf5x/nrf52840/board/Kconfig @@ -7,6 +7,12 @@ config SOC_NRF52840 select RT_USING_USER_MAIN default y +config SOC_NORDIC + bool + config SOC_NORDIC + default y + + menu "Onboard Peripheral Drivers" config BSP_USING_JLINK_TO_USART bool "Enable JLINK TO USART (uart0|RX_PIN:8|TX_PIN:6)" @@ -55,38 +61,142 @@ menu "On-chip Peripheral Drivers" bool "Enable GPIO" select RT_USING_PIN default y + menuconfig BSP_USING_PWM + bool "Enable PWM" + select RT_USING_PWM + default n + if BSP_USING_PWM + config NRFX_PWM_ENABLED + int + default 1 + config BSP_USING_PWM0 + bool "Enable PWM0 bus" + default y + if BSP_USING_PWM0 + config NRFX_PWM0_ENABLED + int + default 1 + config BSP_USING_PWM0_CH0 + int "PWM0 channel 0 pin number set" + range 0 47 + default 13 + config BSP_USING_PWM0_CH1 + int "PWM0 channel 1 pin number set" + range 0 47 + default 14 + config BSP_USING_PWM0_CH2 + int "PWM0 channel 2 pin number set" + range 0 47 + default 15 + config BSP_USING_PWM0_CH3 + int "PWM0 channel 3 pin number set" + range 0 47 + default 16 + endif + config BSP_USING_PWM1 + bool "Enable PWM1 bus" + default n + if BSP_USING_PWM1 + config NRFX_PWM1_ENABLED + int + default 1 + config BSP_USING_PWM1_CH0 + int "PWM1 channel 0 pin number set" + range 0 47 + default 13 + config BSP_USING_PWM1_CH1 + int "PWM1 channel 1 pin number set" + range 0 47 + default 14 + config BSP_USING_PWM1_CH2 + int "PWM1 channel 2 pin number set" + range 0 47 + default 15 + config BSP_USING_PWM1_CH3 + int "PWM1 channel 3 pin number set" + range 0 47 + default 16 + endif + config BSP_USING_PWM2 + bool "Enable PWM2 bus" + default n + if BSP_USING_PWM2 + config NRFX_PWM2_ENABLED + int + default 1 + config BSP_USING_PWM2_CH0 + int "PWM2 channel 0 pin number set" + range 0 47 + default 13 + config BSP_USING_PWM2_CH1 + int "PWM2 channel 1 pin number set" + range 0 47 + default 14 + config BSP_USING_PWM2_CH2 + int "PWM2 channel 2 pin number set" + range 0 47 + default 15 + config BSP_USING_PWM2_CH3 + int "PWM2 channel 3 pin number set" + range 0 47 + default 16 + endif + config BSP_USING_PWM3 + bool "Enable PWM3 bus" + default n + if BSP_USING_PWM3 + config NRFX_PWM3_ENABLED + int + default 1 + config BSP_USING_PWM3_CH0 + int "PWM3 channel 0 pin number set" + range 0 47 + default 13 + config BSP_USING_PWM3_CH1 + int "PWM3 channel 1 pin number set" + range 0 47 + default 14 + config BSP_USING_PWM3_CH2 + int "PWM3 channel 2 pin number set" + range 0 47 + default 15 + config BSP_USING_PWM3_CH3 + int "PWM3 channel 3 pin number set" + range 0 47 + default 16 + endif + endif menuconfig BSP_USING_SOFTDEVICE bool "Enable NRF SOFTDEVICE" select PKG_USING_NRF5X_SDK + select NRFX_CLOCK_ENABLED default n if BSP_USING_SOFTDEVICE config NRFX_CLOCK_ENABLED - int "NRFX_CLOCK_ENABLED" + int default 1 - config NRFX_CLOCK_DEFAULT_CONFIG_IRQ_PRIORITY - int "NRFX_CLOCK_DEFAULT_CONFIG_IRQ_PRIORITY" + config NRFX_CLOCK_DEFAULT_CONFIG_IRQ_PRIORITY + int default 7 - config NRFX_CLOCK_DEFAULT_CONFIG_IRQ_PRIORITY - int "NRFX_CLOCK_DEFAULT_CONFIG_IRQ_PRIORITY" - default 7 - config NRFX_RTC_ENABLED - int "NRFX_RTC_ENABLED" + config NRFX_RTC_ENABLED + int default 1 - config NRF_CLOCK_ENABLED - int "NRF_CLOCK_ENABLED" + config NRFX_RTC1_ENABLED + int default 1 - config NRF_SDH_BLE_ENABLED - int "NRF_SDH_BLE_ENABLED" + config NRF_CLOCK_ENABLED + int default 1 - config NRF_SDH_ENABLED - int "NRF_SDH_ENABLED" + config NRF_SDH_BLE_ENABLED + int default 1 - config NRF_SDH_SOC_ENABLED - int "NRF_SDH_SOC_ENABLED" + config NRF_SDH_ENABLED + int + default 1 + config NRF_SDH_SOC_ENABLED + int default 1 - endif - menuconfig BSP_USING_UART bool "Enable UART" default y From c9392e2a8b035d6cd05e3c195010713aba599fcd Mon Sep 17 00:00:00 2001 From: Wayne Lin Date: Mon, 3 Aug 2020 12:15:33 +0800 Subject: [PATCH 14/34] 1. Correct typo. 2. Fix spi/qspi/uspi TX/RX PDMA trigger issue. 3. Drain RX FIFO to remove remain FEF frames in FIFO. 4. Implement RT_DEVICE_CTRL_CLOSE in uart/uuart/scuart driver. --- .../libraries/m480/StdDriver/inc/nu_eadc.h | 20 ++-- .../libraries/m480/StdDriver/inc/nu_qspi.h | 18 +++ .../libraries/m480/StdDriver/inc/nu_spi.h | 18 +++ .../m480/StdDriver/inc/nu_usci_spi.h | 18 +++ bsp/nuvoton/libraries/m480/rtt_port/Kconfig | 44 ++++--- bsp/nuvoton/libraries/m480/rtt_port/drv_can.c | 19 +-- bsp/nuvoton/libraries/m480/rtt_port/drv_clk.c | 10 +- bsp/nuvoton/libraries/m480/rtt_port/drv_fmc.c | 11 +- .../libraries/m480/rtt_port/drv_gpio.c | 2 +- .../libraries/m480/rtt_port/drv_gpio.h | 2 +- bsp/nuvoton/libraries/m480/rtt_port/drv_i2s.c | 7 ++ .../libraries/m480/rtt_port/drv_qspi.c | 80 ++++++++----- .../libraries/m480/rtt_port/drv_scuart.c | 104 +++++++++------- bsp/nuvoton/libraries/m480/rtt_port/drv_sdh.c | 112 +++++++++--------- .../libraries/m480/rtt_port/drv_softi2c.c | 3 +- bsp/nuvoton/libraries/m480/rtt_port/drv_spi.c | 91 ++++++-------- bsp/nuvoton/libraries/m480/rtt_port/drv_spi.h | 8 +- .../libraries/m480/rtt_port/drv_tpwm.c | 1 - .../libraries/m480/rtt_port/drv_uart.c | 41 ++++++- .../libraries/m480/rtt_port/drv_ui2c.c | 34 +++--- .../libraries/m480/rtt_port/drv_uspi.c | 70 ++++------- .../libraries/m480/rtt_port/drv_uuart.c | 45 +++++-- bsp/nuvoton/libraries/m480/rtt_port/drv_wdt.c | 34 +++--- .../numaker-iot-m487/applications/main.c | 5 +- .../numaker-iot-m487/board/board_dev.c | 3 +- 25 files changed, 456 insertions(+), 344 deletions(-) diff --git a/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_eadc.h b/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_eadc.h index c9bd0ef39b..c19021fed9 100644 --- a/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_eadc.h +++ b/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_eadc.h @@ -433,11 +433,12 @@ extern "C" u32ModuleNum,\ u32Condition,\ u16CMPData,\ - u32MatchCount) ((eadc)->CMP[0] |=(((u32ModuleNum) << EADC_CMP_CMPSPL_Pos)|\ + u32MatchCount) ((eadc)->CMP[0] = (((eadc)->CMP[0] & ~(EADC_CMP_CMPSPL_Msk|EADC_CMP_CMPCOND_Msk|EADC_CMP_CMPDAT_Msk|EADC_CMP_CMPMCNT_Msk))|\ + (((u32ModuleNum) << EADC_CMP_CMPSPL_Pos)|\ (u32Condition) |\ ((u16CMPData) << EADC_CMP_CMPDAT_Pos)| \ (((u32MatchCount) - 1) << EADC_CMP_CMPMCNT_Pos)|\ - EADC_CMP_ADCMPEN_Msk)) + EADC_CMP_ADCMPEN_Msk))) /** * @brief Configure the comparator 1 and enable it. @@ -458,11 +459,12 @@ extern "C" u32ModuleNum,\ u32Condition,\ u16CMPData,\ - u32MatchCount) ((eadc)->CMP[1] |=(((u32ModuleNum) << EADC_CMP_CMPSPL_Pos)|\ + u32MatchCount) ((eadc)->CMP[1] = (((eadc)->CMP[1] & ~(EADC_CMP_CMPSPL_Msk|EADC_CMP_CMPCOND_Msk|EADC_CMP_CMPDAT_Msk|EADC_CMP_CMPMCNT_Msk))|\ + (((u32ModuleNum) << EADC_CMP_CMPSPL_Pos)|\ (u32Condition) |\ ((u16CMPData) << EADC_CMP_CMPDAT_Pos)| \ (((u32MatchCount) - 1) << EADC_CMP_CMPMCNT_Pos)|\ - EADC_CMP_ADCMPEN_Msk)) + EADC_CMP_ADCMPEN_Msk))) /** * @brief Configure the comparator 2 and enable it. @@ -483,11 +485,12 @@ extern "C" u32ModuleNum,\ u32Condition,\ u16CMPData,\ - u32MatchCount) ((eadc)->CMP[2] |=(((u32ModuleNum) << EADC_CMP_CMPSPL_Pos)|\ + u32MatchCount) ((eadc)->CMP[2] = (((eadc)->CMP[2] & ~(EADC_CMP_CMPSPL_Msk|EADC_CMP_CMPCOND_Msk|EADC_CMP_CMPDAT_Msk|EADC_CMP_CMPMCNT_Msk))|\ + (((u32ModuleNum) << EADC_CMP_CMPSPL_Pos)|\ (u32Condition) |\ ((u16CMPData) << EADC_CMP_CMPDAT_Pos)| \ (((u32MatchCount) - 1) << EADC_CMP_CMPMCNT_Pos)|\ - EADC_CMP_ADCMPEN_Msk)) + EADC_CMP_ADCMPEN_Msk))) /** * @brief Configure the comparator 3 and enable it. @@ -508,11 +511,12 @@ extern "C" u32ModuleNum,\ u32Condition,\ u16CMPData,\ - u32MatchCount) ((eadc)->CMP[3] |=(((u32ModuleNum) << EADC_CMP_CMPSPL_Pos)|\ + u32MatchCount) ((eadc)->CMP[3] = (((eadc)->CMP[3] & ~(EADC_CMP_CMPSPL_Msk|EADC_CMP_CMPCOND_Msk|EADC_CMP_CMPDAT_Msk|EADC_CMP_CMPMCNT_Msk))|\ + (((u32ModuleNum) << EADC_CMP_CMPSPL_Pos)|\ (u32Condition) |\ ((u16CMPData) << EADC_CMP_CMPDAT_Pos)| \ (((u32MatchCount) - 1) << EADC_CMP_CMPMCNT_Pos)|\ - EADC_CMP_ADCMPEN_Msk)) + EADC_CMP_ADCMPEN_Msk))) /** * @brief Enable the compare window mode. diff --git a/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_qspi.h b/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_qspi.h index 64114525e1..10b52c030f 100644 --- a/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_qspi.h +++ b/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_qspi.h @@ -95,6 +95,15 @@ extern "C" */ #define QSPI_TRIGGER_TX_PDMA(qspi) ((qspi)->PDMACTL |= QSPI_PDMACTL_TXPDMAEN_Msk) +/** + * @brief Trigger TX and RX PDMA function. + * @param[in] qspi The pointer of the specified QSPI module. + * @return None. + * @details Set TXPDMAEN bit and RXPDMAEN bit of QSPI_PDMACTL register to enable TX and RX PDMA transfer function. + * \hideinitializer + */ +#define QSPI_TRIGGER_TX_RX_PDMA(qspi) ((qspi)->PDMACTL |= (QSPI_PDMACTL_TXPDMAEN_Msk | QSPI_PDMACTL_RXPDMAEN_Msk)) + /** * @brief Disable RX PDMA transfer. * @param[in] qspi The pointer of the specified QSPI module. @@ -113,6 +122,15 @@ extern "C" */ #define QSPI_DISABLE_TX_PDMA(qspi) ( (qspi)->PDMACTL &= ~QSPI_PDMACTL_TXPDMAEN_Msk ) +/** + * @brief Disable TX and RX PDMA transfer. + * @param[in] qspi The pointer of the specified QSPI module. + * @return None. + * @details Clear TXPDMAEN bit and RXPDMAEN bit of QSPI_PDMACTL register to disable TX and RX PDMA transfer function. + * \hideinitializer + */ +#define QSPI_DISABLE_TX_RX_PDMA(qspi) ( (qspi)->PDMACTL &= ~(QSPI_PDMACTL_TXPDMAEN_Msk | QSPI_PDMACTL_RXPDMAEN_Msk) ) + /** * @brief Get the count of available data in RX FIFO. * @param[in] qspi The pointer of the specified QSPI module. diff --git a/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_spi.h b/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_spi.h index 77eeda3b96..4a1e23ec43 100644 --- a/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_spi.h +++ b/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_spi.h @@ -133,6 +133,15 @@ extern "C" */ #define SPI_TRIGGER_TX_PDMA(spi) ((spi)->PDMACTL |= SPI_PDMACTL_TXPDMAEN_Msk) +/** + * @brief Trigger TX and RX PDMA function. + * @param[in] spi The pointer of the specified SPI module. + * @return None. + * @details Set TXPDMAEN bit and RXPDMAEN bit of SPI_PDMACTL register to enable TX and RX PDMA transfer function. + * \hideinitializer + */ +#define SPI_TRIGGER_TX_RX_PDMA(spi) ((spi)->PDMACTL |= (SPI_PDMACTL_TXPDMAEN_Msk | SPI_PDMACTL_RXPDMAEN_Msk)) + /** * @brief Disable RX PDMA transfer. * @param[in] spi The pointer of the specified SPI module. @@ -151,6 +160,15 @@ extern "C" */ #define SPI_DISABLE_TX_PDMA(spi) ( (spi)->PDMACTL &= ~SPI_PDMACTL_TXPDMAEN_Msk ) +/** + * @brief Disable TX and RX PDMA transfer. + * @param[in] spi The pointer of the specified SPI module. + * @return None. + * @details Clear TXPDMAEN bit and RXPDMAEN bit of SPI_PDMACTL register to disable TX and RX PDMA transfer function. + * \hideinitializer + */ +#define SPI_DISABLE_TX_RX_PDMA(spi) ( (spi)->PDMACTL &= ~(SPI_PDMACTL_TXPDMAEN_Msk | SPI_PDMACTL_RXPDMAEN_Msk) ) + /** * @brief Get the count of available data in RX FIFO. * @param[in] spi The pointer of the specified SPI module. diff --git a/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_usci_spi.h b/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_usci_spi.h index 68d4e02a89..002076027e 100644 --- a/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_usci_spi.h +++ b/bsp/nuvoton/libraries/m480/StdDriver/inc/nu_usci_spi.h @@ -361,6 +361,15 @@ extern "C" */ #define USPI_TRIGGER_TX_PDMA(uspi) ((uspi)->PDMACTL |= USPI_PDMACTL_TXPDMAEN_Msk|USPI_PDMACTL_PDMAEN_Msk) +/** + * @brief Trigger TX and RX PDMA function. + * @param[in] uspi The pointer of the specified USCI_SPI module. + * @return None. + * @details Set TXPDMAEN bit and RXPDMAEN bit of USPI_PDMACTL register to enable TX and RX PDMA transfer function. + * \hideinitializer + */ +#define USPI_TRIGGER_TX_RX_PDMA(uspi) ((uspi)->PDMACTL |= USPI_PDMACTL_TXPDMAEN_Msk|USPI_PDMACTL_RXPDMAEN_Msk|USPI_PDMACTL_PDMAEN_Msk) + /** * @brief Disable RX PDMA transfer. * @param[in] uspi The pointer of the specified USCI_SPI module. @@ -379,6 +388,15 @@ extern "C" */ #define USPI_DISABLE_TX_PDMA(uspi) ( (uspi)->PDMACTL &= ~USPI_PDMACTL_TXPDMAEN_Msk ) +/** + * @brief Disable TX and RX PDMA transfer. + * @param[in] uspi The pointer of the specified USCI_SPI module. + * @return None. + * @details Clear TXPDMAEN bit and RXPDMAEN bit of USPI_PDMACTL register to disable TX and RX PDMA transfer function. + * \hideinitializer + */ +#define USPI_DISABLE_TX_RX_PDMA(uspi) ( (uspi)->PDMACTL &= ~(USPI_PDMACTL_TXPDMAEN_Msk | USPI_PDMACTL_RXPDMAEN_Msk)) + uint32_t USPI_Open(USPI_T *uspi, uint32_t u32MasterSlave, uint32_t u32SPIMode, uint32_t u32DataWidth, uint32_t u32BusClock); void USPI_Close(USPI_T *uspi); void USPI_ClearRxBuf(USPI_T *uspi); diff --git a/bsp/nuvoton/libraries/m480/rtt_port/Kconfig b/bsp/nuvoton/libraries/m480/rtt_port/Kconfig index 262776534d..2e5fd7a81b 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/Kconfig +++ b/bsp/nuvoton/libraries/m480/rtt_port/Kconfig @@ -57,7 +57,7 @@ config SOC_SERIES_M480 select RT_USING_NETDEV config NU_EMAC_PDMA_MEMCOPY - bool "Use PDMA for data tranferring" + bool "Use PDMA for data transferring" select BSP_USING_PDMA depends on BSP_USING_EMAC default y @@ -82,14 +82,15 @@ config SOC_SERIES_M480 menuconfig BSP_USING_EADC bool "Enable Enhanced Analog-to-Digital Converter(EADC)" + select RT_USING_ADC - config BSP_USING_EADC0 - bool "Enable EADC0" - depends on BSP_USING_EADC && RT_USING_ADC + if BSP_USING_EADC + config BSP_USING_EADC0 + bool "Enable EADC0" - config BSP_USING_EADC1 - bool "Enable EADC1" - depends on BSP_USING_EADC && RT_USING_ADC + config BSP_USING_EADC1 + bool "Enable EADC1" + endif menuconfig BSP_USING_TMR bool "Enable Timer Controller(TIMER)" @@ -371,12 +372,14 @@ config SOC_SERIES_M480 config BSP_USING_UI2C0 select RT_USING_I2C + select BSP_USING_UI2C bool "UI2C0" help Choose this option if you need I2C function mode. config BSP_USING_USPI0 select RT_USING_SPI + select BSP_USING_USPI bool "USPI0" help Choose this option if you need SPI function mode. @@ -391,7 +394,7 @@ config SOC_SERIES_M480 depends on BSP_USING_UUART0 && RT_SERIAL_USING_DMA config BSP_USING_USPI0_PDMA - bool "Use PDMA for data tranferring" + bool "Use PDMA for data transferring" select BSP_USING_USPI_PDMA depends on BSP_USING_USPI0 endif @@ -405,21 +408,21 @@ config SOC_SERIES_M480 config BSP_USING_UUART1 select RT_USING_SERIAL - select BSP_USING_UUART + select BSP_USING_UUART bool "UUART1" help Choose this option if you need UART function mode. config BSP_USING_UI2C1 select RT_USING_I2C - select BSP_USING_UI2C + select BSP_USING_UI2C bool "UI2C1" help Choose this option if you need I2C function mode. config BSP_USING_USPI1 select RT_USING_SPI - select BSP_USING_USPI + select BSP_USING_USPI bool "USPI1" help Choose this option if you need SPI function mode. @@ -434,7 +437,7 @@ config SOC_SERIES_M480 depends on BSP_USING_UUART1 && RT_SERIAL_USING_DMA config BSP_USING_USPI1_PDMA - bool "Use PDMA for data tranferring" + bool "Use PDMA for data transferring" select BSP_USING_USPI_PDMA depends on BSP_USING_USPI1 endif @@ -459,6 +462,10 @@ config SOC_SERIES_M480 config NU_SDH_HOTPLUG bool "Using HOTPLUG" default y + + config NU_SDH_MOUNT_ON_ROOT + bool "Mount on root" + endif menuconfig BSP_USING_CAN @@ -652,7 +659,7 @@ config SOC_SERIES_M480 select BSP_USING_SPI_PDMA depends on BSP_USING_SPI1 endif - + choice prompt "Select SPI2 function mode" config BSP_USING_SPI2_NONE @@ -686,7 +693,7 @@ config SOC_SERIES_M480 bool "NONE" help Choose this option if you need not SPI3. - + config BSP_USING_SPI3 bool "Enable SPI3" help @@ -724,20 +731,23 @@ config SOC_SERIES_M480 bool "Enable Quad Serial Peripheral Interface(QSPI)" select RT_USING_SPI select RT_USING_QSPI + select BSP_USING_SPI - if BSP_USING_QSPI + if BSP_USING_QSPI config BSP_USING_QSPI0 bool "Enable QSPI0" config BSP_USING_QSPI0_PDMA bool "Enable PDMA for QSPI0" + select BSP_USING_SPI_PDMA depends on BSP_USING_QSPI0 config BSP_USING_QSPI1 bool "Enable QSPI1" config BSP_USING_QSPI1_PDMA - bool "Enable PDMA for QSPI1" + bool "Enable PDMA for QSPI1" + select BSP_USING_SPI_PDMA depends on BSP_USING_QSPI1 endif @@ -857,7 +867,7 @@ config SOC_SERIES_M480 if BSP_USING_CRC config NU_CRC_USE_PDMA - bool "Use PDMA for data tranferring." + bool "Use PDMA for data transferring." select BSP_USING_PDMA default y endif diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_can.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_can.c index f9cc4a9738..a0fd7d37fa 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_can.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_can.c @@ -97,7 +97,7 @@ static struct nu_can nu_can_arr[] = }, #endif {0} -}; /* usart nu_usart */ +}; /* struct nu_can */ /* Public functions ------------------------------------------------------------*/ @@ -112,7 +112,7 @@ static const struct rt_can_ops nu_can_ops = static const struct can_configure nu_can_default_config = NU_CAN_CONFIG_DEFAULT; -/* Interrupt Handle Funtion ----------------------------------------------------*/ +/* Interrupt Handle Function ----------------------------------------------------*/ #if defined(BSP_USING_CAN0) /* CAN0 interrupt entry */ void CAN0_IRQHandler(void) @@ -238,7 +238,7 @@ static rt_err_t nu_can_configure(struct rt_can_device *can, struct can_configure RT_ASSERT(can != RT_NULL); RT_ASSERT(cfg != RT_NULL); - /* Get base address of uart register */ + /* Get base address of CAN register */ CAN_T *can_base = ((nu_can_t)can)->can_base; RT_ASSERT(can_base != RT_NULL); @@ -312,7 +312,7 @@ static rt_err_t nu_can_control(struct rt_can_device *can, int cmd, void *arg) #ifdef RT_CAN_USING_HDR struct rt_can_filter_config *filter_cfg; #endif - /* Get base address of uart register */ + /* Get base address of CAN register */ CAN_T *can_base = ((nu_can_t)can)->can_base; RT_ASSERT(can_base != RT_NULL); @@ -346,7 +346,6 @@ static rt_err_t nu_can_control(struct rt_can_device *can, int cmd, void *arg) { /* Enable Status Change Interrupt */ CAN_EnableInt(can_base, CAN_CON_IE_Msk | CAN_CON_SIE_Msk); - NVIC_SetPriority(((nu_can_t)can)->can_irq_n, (1 << __NVIC_PRIO_BITS) - 2); /* Enable NVIC interrupt. */ NVIC_EnableIRQ(((nu_can_t)can)->can_irq_n); @@ -355,7 +354,6 @@ static rt_err_t nu_can_control(struct rt_can_device *can, int cmd, void *arg) { /* Enable Error Status and Status Change Interrupt */ CAN_EnableInt(can_base, CAN_CON_IE_Msk | CAN_CON_SIE_Msk | CAN_CON_EIE_Msk); - NVIC_SetPriority(((nu_can_t)can)->can_irq_n, (1 << __NVIC_PRIO_BITS) - 2); /* Enable NVIC interrupt. */ NVIC_EnableIRQ(((nu_can_t)can)->can_irq_n); } @@ -440,6 +438,9 @@ static rt_err_t nu_can_control(struct rt_can_device *can, int cmd, void *arg) rt_memcpy(arg, &can->status, sizeof(can->status)); } break; + default: + return -(RT_EINVAL); + } return RT_EOK; @@ -449,7 +450,7 @@ static int nu_can_sendmsg(struct rt_can_device *can, const void *buf, rt_uint32_ { STR_CANMSG_T tMsg; struct rt_can_msg *pmsg = (struct rt_can_msg *) buf; - /* Get base address of uart register */ + /* Get base address of CAN register */ CAN_T *can_base = ((nu_can_t)can)->can_base; RT_ASSERT(can_base != RT_NULL); @@ -495,7 +496,7 @@ static int nu_can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t boxn { STR_CANMSG_T tMsg; struct rt_can_msg *pmsg = (struct rt_can_msg *) buf; - /* Get base address of uart register */ + /* Get base address of CAN register */ CAN_T *can_base = ((nu_can_t)can)->can_base; RT_ASSERT(can_base != RT_NULL); @@ -558,7 +559,7 @@ static int rt_hw_can_init(void) RT_ASSERT(ret == RT_EOK); } - return ret; + return (int)ret; } INIT_DEVICE_EXPORT(rt_hw_can_init); #endif //#if defined(BSP_USING_CAN) diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_clk.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_clk.c index 9ed0233bb2..abbefbeebe 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_clk.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_clk.c @@ -165,8 +165,8 @@ static void pm_run(struct rt_pm *pm, rt_uint8_t mode) SYS_UnlockReg(); - /* Switch run mdoe frequency using PLL + HXT if HXT is enabled. - Otherwise, the systme clock will use PLL + HIRC. */ + /* Switch run mode frequency using PLL + HXT if HXT is enabled. + Otherwise, the system clock will use PLL + HIRC. */ switch (mode) { case PM_RUN_MODE_HIGH_SPEED: @@ -209,7 +209,7 @@ static void hw_timer_init(void) CLK_EnableModuleClock(PM_TIMER_MODULE); SYS_LockReg(); - /* Initialise timer and enable wakeup function. */ + /* Initialize timer and enable wakeup function. */ TIMER_Open(PM_TIMER, TIMER_CONTINUOUS_MODE, 1); TIMER_SET_PRESCALE_VALUE(PM_TIMER, 0); TIMER_EnableInt(PM_TIMER); @@ -262,7 +262,7 @@ static void pm_timer_start(struct rt_pm *pm, rt_uint32_t timeout) if (timeout == RT_TICK_MAX) return; - /* start pm timer to compenstate the os tick in power down mode */ + /* start pm timer to compensate the os tick in power down mode */ tick = pm_tick_from_os_tick(timeout); TIMER_SET_CMP_VALUE(PM_TIMER, tick); TIMER_Start(PM_TIMER); @@ -277,7 +277,7 @@ static void pm_timer_stop(struct rt_pm *pm) } -/* pm device driver initialise. */ +/* pm device driver initialize. */ int rt_hw_pm_init(void) { rt_uint8_t timer_mask; diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_fmc.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_fmc.c index 79e66dbac0..e0e3b5f56b 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_fmc.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_fmc.c @@ -21,9 +21,9 @@ #endif /* Private define ---------------------------------------------------------------*/ -#define NU_GETBYTE_OFST(addr) ((addr&0x3)*8) -#define NU_GET_WALIGN(addr) (addr&~0x3) -#define NU_GET_LSB2BIT(addr) (addr&0x3) +#define NU_GETBYTE_OFST(addr) (((addr)&0x3)*8) +#define NU_GET_WALIGN(addr) ((addr)&~0x3) +#define NU_GET_LSB2BIT(addr) ((addr)&0x3) /* Private typedef --------------------------------------------------------------*/ /* Private functions ------------------------------------------------------------*/ @@ -159,7 +159,8 @@ int nu_fmc_erase(long addr, size_t size) uint32_t addr_end = addr + size; #if defined(NU_SUPPORT_NONALIGN) - uint8_t *page_sdtemp = RT_NULL, *page_edtemp = RT_NULL; + uint8_t *page_sdtemp = RT_NULL; + uint8_t *page_edtemp = RT_NULL; addrptr = addr & (FMC_FLASH_PAGE_SIZE - 1); @@ -315,7 +316,7 @@ static int nu_fmc_init(void) g_mutex_fmc = rt_mutex_create("nu_fmc_lock", RT_IPC_FLAG_FIFO); - return RT_EOK; + return (int)RT_EOK; } INIT_APP_EXPORT(nu_fmc_init); diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.c index 4790d65001..47c26136a2 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.c @@ -166,7 +166,7 @@ static rt_err_t nu_gpio_attach_irq(struct rt_device *device, rt_int32_t pin, rt_ if ((irqindex = nu_find_irqindex(pin)) >= 0) goto exit_nu_gpio_attach_irq; - // Find avaiable index of pin in pool. + // Find available index of pin in pool. if ((irqindex = nu_cto(g_u32PinIrqMask)) < IRQ_MAX_NUM) // Count Trailing Ones ==> Find First Zero goto exit_nu_gpio_attach_irq; diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.h b/bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.h index c353a1e772..6b831467a8 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.h +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_gpio.h @@ -26,7 +26,7 @@ typedef enum NU_PORT_CNT, } nu_gpio_port; -#define NU_GET_PININDEX(port, pin) (port*16+pin) +#define NU_GET_PININDEX(port, pin) ((port)*16+(pin)) #define NU_GET_PINS(rt_pin_index) ((rt_pin_index) & 0x0000000F) #define NU_GET_PORT(rt_pin_index) (((rt_pin_index)>>4) & 0x0000000F) #define NU_GET_PIN_MASK(nu_gpio_pin) (1 << (nu_gpio_pin)) diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_i2s.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_i2s.c index 35b7383210..d76cb27314 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_i2s.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_i2s.c @@ -306,6 +306,10 @@ static rt_err_t nu_i2s_getcaps(struct rt_audio_device *audio, struct rt_audio_ca } // switch (caps->sub_type) break; + default: + result = -RT_ERROR; + break; + } // switch (caps->main_type) return result; @@ -449,6 +453,9 @@ static rt_err_t nu_i2s_start(struct rt_audio_device *audio, int stream) LOG_I("Start record."); } break; + + default: + return -RT_ERROR; } return RT_EOK; diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_qspi.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_qspi.c index a39e071639..4d99dba711 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_qspi.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_qspi.c @@ -12,6 +12,14 @@ #include #if defined(BSP_USING_QSPI) + +#define LOG_TAG "drv.qspi" +#define DBG_ENABLE +#define DBG_SECTION_NAME LOG_TAG +#define DBG_LEVEL DBG_INFO +#define DBG_COLOR +#include + #include #include @@ -87,8 +95,8 @@ static rt_err_t nu_qspi_bus_configure(struct rt_spi_device *device, struct rt_spi_configuration *configuration) { struct nu_spi *spi_bus; - uint32_t u32SPIMode; - uint32_t u32BusClock; + rt_uint32_t u32SPIMode; + rt_uint32_t u32BusClock; rt_err_t ret = RT_EOK; RT_ASSERT(device != RT_NULL); @@ -130,7 +138,7 @@ static rt_err_t nu_qspi_bus_configure(struct rt_spi_device *device, u32BusClock = QSPI_SetBusClock((QSPI_T *)spi_bus->spi_base, configuration->max_hz); if (configuration->max_hz > u32BusClock) { - rt_kprintf("%s clock max frequency is %dHz (!= %dHz)\n", spi_bus->name, u32BusClock, configuration->max_hz); + LOG_W("%s clock max frequency is %dHz (!= %dHz)\n", spi_bus->name, u32BusClock, configuration->max_hz); configuration->max_hz = u32BusClock; } @@ -173,7 +181,7 @@ exit_nu_qspi_bus_configure: } #if defined(RT_SFUD_USING_QSPI) -static int nu_qspi_mode_config(struct nu_spi *qspi_bus, uint8_t *tx, uint8_t *rx, int qspi_lines) +static int nu_qspi_mode_config(struct nu_spi *qspi_bus, rt_uint8_t *tx, rt_uint8_t *rx, int qspi_lines) { QSPI_T *qspi_base = (QSPI_T *)qspi_bus->spi_base; if (qspi_lines > 1) @@ -188,6 +196,9 @@ static int nu_qspi_mode_config(struct nu_spi *qspi_bus, uint8_t *tx, uint8_t *rx case 4: QSPI_ENABLE_QUAD_OUTPUT_MODE(qspi_base); break; + default: + LOG_E("Data line is not supported.\n"); + break; } } else @@ -200,6 +211,9 @@ static int nu_qspi_mode_config(struct nu_spi *qspi_bus, uint8_t *tx, uint8_t *rx case 4: QSPI_ENABLE_QUAD_INPUT_MODE(qspi_base); break; + default: + LOG_E("Data line is not supported.\n"); + break; } } } @@ -218,11 +232,11 @@ static rt_uint32_t nu_qspi_bus_xfer(struct rt_spi_device *device, struct rt_spi_ struct rt_qspi_configuration *qspi_configuration; #if defined(RT_SFUD_USING_QSPI) struct rt_qspi_message *qspi_message; - int last = 1; + rt_uint8_t u8last = 1; #endif - uint8_t bytes_per_word; + rt_uint8_t bytes_per_word; QSPI_T *qspi_base; - int len = 0; + rt_uint32_t u32len = 0; RT_ASSERT(device != RT_NULL); RT_ASSERT(message != RT_NULL); @@ -252,9 +266,9 @@ static rt_uint32_t nu_qspi_bus_xfer(struct rt_spi_device *device, struct rt_spi_ /* Command stage */ if (qspi_message->instruction.content != 0) { - last = nu_qspi_mode_config(qspi_bus, (uint8_t *) &qspi_message->instruction.content, RT_NULL, qspi_message->instruction.qspi_lines); + u8last = nu_qspi_mode_config(qspi_bus, (rt_uint8_t *) &qspi_message->instruction.content, RT_NULL, qspi_message->instruction.qspi_lines); nu_spi_transfer((struct nu_spi *)qspi_bus, - (uint8_t *) &qspi_message->instruction.content, + (rt_uint8_t *) &qspi_message->instruction.content, RT_NULL, 1, 1); @@ -263,29 +277,29 @@ static rt_uint32_t nu_qspi_bus_xfer(struct rt_spi_device *device, struct rt_spi_ /* Address stage */ if (qspi_message->address.size != 0) { - uint32_t u32ReversedAddr = 0; - uint32_t u32AddrNumOfByte = qspi_message->address.size / 8; + rt_uint32_t u32ReversedAddr = 0; + rt_uint32_t u32AddrNumOfByte = qspi_message->address.size / 8; switch (u32AddrNumOfByte) { case 1: u32ReversedAddr = (qspi_message->address.content & 0xff); break; case 2: - nu_set16_be((uint8_t *)&u32ReversedAddr, qspi_message->address.content); + nu_set16_be((rt_uint8_t *)&u32ReversedAddr, qspi_message->address.content); break; case 3: - nu_set24_be((uint8_t *)&u32ReversedAddr, qspi_message->address.content); + nu_set24_be((rt_uint8_t *)&u32ReversedAddr, qspi_message->address.content); break; case 4: - nu_set32_be((uint8_t *)&u32ReversedAddr, qspi_message->address.content); + nu_set32_be((rt_uint8_t *)&u32ReversedAddr, qspi_message->address.content); break; default: RT_ASSERT(0); break; } - last = nu_qspi_mode_config(qspi_bus, (uint8_t *)&u32ReversedAddr, RT_NULL, qspi_message->address.qspi_lines); + u8last = nu_qspi_mode_config(qspi_bus, (rt_uint8_t *)&u32ReversedAddr, RT_NULL, qspi_message->address.qspi_lines); nu_spi_transfer((struct nu_spi *)qspi_bus, - (uint8_t *) &u32ReversedAddr, + (rt_uint8_t *) &u32ReversedAddr, RT_NULL, u32AddrNumOfByte, 1); @@ -294,32 +308,32 @@ static rt_uint32_t nu_qspi_bus_xfer(struct rt_spi_device *device, struct rt_spi_ /* Dummy_cycles stage */ if (qspi_message->dummy_cycles != 0) { - qspi_bus->dummy = 0xff; + qspi_bus->dummy = 0x00; - last = nu_qspi_mode_config(qspi_bus, (uint8_t *) &qspi_bus->dummy, RT_NULL, last); + u8last = nu_qspi_mode_config(qspi_bus, (rt_uint8_t *) &qspi_bus->dummy, RT_NULL, u8last); nu_spi_transfer((struct nu_spi *)qspi_bus, - (uint8_t *) &qspi_bus->dummy, + (rt_uint8_t *) &qspi_bus->dummy, RT_NULL, - qspi_message->dummy_cycles / (8 / last), + qspi_message->dummy_cycles / (8 / u8last), 1); } /* Data stage */ - nu_qspi_mode_config(qspi_bus, (uint8_t *) message->send_buf, (uint8_t *) message->recv_buf, qspi_message->qspi_data_lines); + nu_qspi_mode_config(qspi_bus, (rt_uint8_t *) message->send_buf, (rt_uint8_t *) message->recv_buf, qspi_message->qspi_data_lines); #endif //#if defined(RT_SFUD_USING_QSPI) if (message->length != 0) { nu_spi_transfer((struct nu_spi *)qspi_bus, - (uint8_t *) message->send_buf, - (uint8_t *) message->recv_buf, + (rt_uint8_t *) message->send_buf, + (rt_uint8_t *) message->recv_buf, message->length, bytes_per_word); - len = message->length; + u32len = message->length; } else { - len = 1; + u32len = 1; } if (message->cs_release && !(qspi_configuration->parent.mode & RT_SPI_NO_CS)) @@ -334,12 +348,12 @@ static rt_uint32_t nu_qspi_bus_xfer(struct rt_spi_device *device, struct rt_spi_ } } - return len; + return u32len; } -static int nu_qspi_register_bus(struct nu_spi *qspi_device, const char *name) +static int nu_qspi_register_bus(struct nu_spi *qspi_bus, const char *name) { - return rt_qspi_bus_register(&qspi_device->dev, name, &nu_qspi_poll_ops); + return rt_qspi_bus_register(&qspi_bus->dev, name, &nu_qspi_poll_ops); } /** @@ -347,19 +361,21 @@ static int nu_qspi_register_bus(struct nu_spi *qspi_device, const char *name) */ static int rt_hw_qspi_init(void) { - int i; + rt_uint8_t i; for (i = (QSPI_START + 1); i < QSPI_CNT; i++) { nu_qspi_register_bus(&nu_qspi_arr[i], nu_qspi_arr[i].name); -#if defined(BSP_USING_QSPI_PDMA) +#if defined(BSP_USING_SPI_PDMA) nu_qspi_arr[i].pdma_chanid_tx = -1; nu_qspi_arr[i].pdma_chanid_rx = -1; +#endif +#if defined(BSP_USING_QSPI_PDMA) if ((nu_qspi_arr[i].pdma_perp_tx != NU_PDMA_UNUSED) && (nu_qspi_arr[i].pdma_perp_rx != NU_PDMA_UNUSED)) { if (nu_hw_spi_pdma_allocate(&nu_qspi_arr[i]) != RT_EOK) { - rt_kprintf("Failed to allocate DMA channels for %s. We will use poll-mode for this bus.\n", nu_qspi_arr[i].name); + LOG_E("Failed to allocate DMA channels for %s. We will use poll-mode for this bus.\n", nu_qspi_arr[i].name); } } #endif @@ -381,7 +397,7 @@ rt_err_t nu_qspi_bus_attach_device(const char *bus_name, const char *device_name qspi_device = (struct rt_qspi_device *)rt_malloc(sizeof(struct rt_qspi_device)); if (qspi_device == RT_NULL) { - rt_kprintf("no memory, qspi bus attach device failed!\n"); + LOG_E("no memory, qspi bus attach device failed!\n"); result = -RT_ENOMEM; goto __exit; } diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_scuart.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_scuart.c index d15750e776..f187690f33 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_scuart.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_scuart.c @@ -1,25 +1,26 @@ /**************************************************************************//** -* -* @copyright (C) 2020 Nuvoton Technology Corp. All rights reserved. -* -* SPDX-License-Identifier: Apache-2.0 -* -* Change Logs: -* Date Author Notes -* 2020-5-31 Egbert First version -* -******************************************************************************/ + * + * @copyright (C) 2020 Nuvoton Technology Corp. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-7-21 Egbert First version + * + ******************************************************************************/ #include #if defined(BSP_USING_SCUART) +#include #include #include -#include -/* Private define ---------------------------------------------------------------*/ -#define LOG_TAG "drv.scuart" +/* Private definition + * ---------------------------------------------------------------*/ +#define LOG_TAG "drv.scuart" #define DBG_ENABLE #define DBG_SECTION_NAME "drv.scuart" #define DBG_LEVEL DBG_ERROR @@ -41,7 +42,8 @@ enum SCUART_CNT }; -/* Private typedef --------------------------------------------------------------*/ +/* Private typedef + * --------------------------------------------------------------*/ struct nu_scuart { rt_serial_t dev; @@ -49,34 +51,32 @@ struct nu_scuart SC_T *scuart_base; uint32_t scuart_rst; IRQn_Type scuart_irq_n; - }; typedef struct nu_scuart *nu_scuart_t; -/* Private functions ------------------------------------------------------------*/ -static rt_err_t nu_scuart_configure(struct rt_serial_device *serial, struct serial_configure *cfg); -static rt_err_t nu_scuart_control(struct rt_serial_device *serial, int cmd, void *arg); +/* Private functions + * ------------------------------------------------------------*/ +static rt_err_t nu_scuart_configure(struct rt_serial_device *serial, + struct serial_configure *cfg); +static rt_err_t nu_scuart_control(struct rt_serial_device *serial, int cmd, + void *arg); static int nu_scuart_send(struct rt_serial_device *serial, char c); static int nu_scuart_receive(struct rt_serial_device *serial); static void nu_scuart_isr(nu_scuart_t serial); -/* Public functions ------------------------------------------------------------*/ - -/* Private variables ------------------------------------------------------------*/ - static const struct rt_uart_ops nu_scuart_ops = { - .configure = nu_scuart_configure, - .control = nu_scuart_control, - .putc = nu_scuart_send, - .getc = nu_scuart_receive, - .dma_transmit = RT_NULL /* not support DMA mode */ + .configure = nu_scuart_configure, + .control = nu_scuart_control, + .putc = nu_scuart_send, + .getc = nu_scuart_receive, + .dma_transmit = RT_NULL /* not support DMA mode */ }; static const struct serial_configure nu_scuart_default_config = RT_SERIAL_CONFIG_DEFAULT; -static struct nu_scuart nu_scuart_arr [] = +static struct nu_scuart nu_scuart_arr[] = { #if defined(BSP_USING_SCUART0) { @@ -108,7 +108,8 @@ static struct nu_scuart nu_scuart_arr [] = {0} }; /* scuart nu_scuart */ -/* Interrupt Handle Funtion ----------------------------------------------------*/ +/* Interrupt Handle Function + * ----------------------------------------------------*/ #if defined(BSP_USING_SCUART0) /* SCUART0 interrupt entry */ void SC0_IRQHandler(void) @@ -151,8 +152,6 @@ void SC2_IRQHandler(void) } #endif - - /** * All SCUART interrupt service routine */ @@ -177,9 +176,10 @@ static void nu_scuart_isr(nu_scuart_t serial) } /** - * Configurae scuart port + * Configure scuart port */ -static rt_err_t nu_scuart_configure(struct rt_serial_device *serial, struct serial_configure *cfg) +static rt_err_t nu_scuart_configure(struct rt_serial_device *serial, + struct serial_configure *cfg) { rt_err_t ret = RT_EOK; uint32_t scuart_word_len = 0; @@ -189,7 +189,7 @@ static rt_err_t nu_scuart_configure(struct rt_serial_device *serial, struct seri /* Get base address of scuart register */ SC_T *scuart_base = ((nu_scuart_t)serial)->scuart_base; - /* Check baudrate */ + /* Check baud rate */ RT_ASSERT(cfg->baud_rate != 0); /* Check word len */ @@ -258,11 +258,12 @@ static rt_err_t nu_scuart_configure(struct rt_serial_device *serial, struct seri /* Reset this module */ SYS_ResetModule(((nu_scuart_t)serial)->scuart_rst); - /* Open SCUART and set SCUART Baudrate */ + /* Open SCUART and set SCUART baud rate */ SCUART_Open(scuart_base, cfg->baud_rate); /* Set line configuration. */ - SCUART_SetLineConfig(scuart_base, 0, scuart_word_len, scuart_parity, scuart_stop_bit); + SCUART_SetLineConfig(scuart_base, 0, scuart_word_len, scuart_parity, + scuart_stop_bit); /* Enable NVIC interrupt. */ NVIC_EnableIRQ(((nu_scuart_t)serial)->scuart_irq_n); @@ -278,14 +279,14 @@ exit_nu_scuart_configure: /** * SCUART interrupt control */ -static rt_err_t nu_scuart_control(struct rt_serial_device *serial, int cmd, void *arg) +static rt_err_t nu_scuart_control(struct rt_serial_device *serial, int cmd, + void *arg) { rt_err_t result = RT_EOK; rt_uint32_t flag; rt_ubase_t ctrl_arg = (rt_ubase_t)arg; RT_ASSERT(serial != RT_NULL); - RT_ASSERT(arg != RT_NULL); /* Get base address of scuart register */ SC_T *scuart_base = ((nu_scuart_t)serial)->scuart_base; @@ -298,10 +299,6 @@ static rt_err_t nu_scuart_control(struct rt_serial_device *serial, int cmd, void flag = SC_INTEN_RDAIEN_Msk | SC_INTEN_RXTOIEN_Msk; SCUART_DISABLE_INT(scuart_base, flag); } - else if (ctrl_arg == RT_DEVICE_FLAG_DMA_RX) /* Disable DMA-RX */ - { - LOG_E("SCUART does not support dma transmission"); - } break; case RT_DEVICE_CTRL_SET_INT: @@ -312,6 +309,21 @@ static rt_err_t nu_scuart_control(struct rt_serial_device *serial, int cmd, void } break; + case RT_DEVICE_CTRL_CLOSE: + /* Disable NVIC interrupt. */ + NVIC_DisableIRQ(((nu_scuart_t)serial)->scuart_irq_n); + + /* Reset this module */ + SYS_ResetModule(((nu_scuart_t)serial)->scuart_rst); + + /* Close SCUART port */ + SCUART_Close(scuart_base); + + break; + + default: + result = -RT_EINVAL; + break; } return result; } @@ -327,7 +339,8 @@ static int nu_scuart_send(struct rt_serial_device *serial, char c) SC_T *scuart_base = ((nu_scuart_t)serial)->scuart_base; /* Waiting if TX-FIFO is full. */ - while (SCUART_IS_TX_FULL(scuart_base)); + while (SCUART_IS_TX_FULL(scuart_base)) + ; /* Put char into TX-FIFO */ SCUART_WRITE(scuart_base, c); @@ -368,10 +381,11 @@ static int rt_hw_scuart_init(void) { flag = RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX; - nu_scuart_arr[i].dev.ops = &nu_scuart_ops; + nu_scuart_arr[i].dev.ops = &nu_scuart_ops; nu_scuart_arr[i].dev.config = nu_scuart_default_config; - ret = rt_hw_serial_register(&nu_scuart_arr[i].dev, nu_scuart_arr[i].name, flag, NULL); + ret = rt_hw_serial_register(&nu_scuart_arr[i].dev, nu_scuart_arr[i].name, + flag, NULL); RT_ASSERT(ret == RT_EOK); } diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_sdh.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_sdh.c index 6c6dd768b8..aa7d29b39a 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_sdh.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_sdh.c @@ -25,17 +25,30 @@ #endif /* Private define ---------------------------------------------------------------*/ -// RT_DEV_NAME_PREFIX sdh -#ifndef NU_SDH_MOUNTPOINT_ROOT - #define NU_SDH_MOUNTPOINT_ROOT "/mnt" +#if defined(NU_SDH_MOUNT_ON_ROOT) + + #if !defined(NU_SDH_MOUNTPOINT_SDH0) + #define NU_SDH_MOUNTPOINT_SDH0 "/" + #endif + + #if !defined(NU_SDH_MOUNTPOINT_SDH1) + #define NU_SDH_MOUNTPOINT_SDH1 NU_SDH_MOUNTPOINT_SDH0"/sd1" + #endif + +#else + + #if !defined(NU_SDH_MOUNTPOINT_ROOT) + #define NU_SDH_MOUNTPOINT_ROOT "/mnt" + #endif + #endif -#ifndef NU_SDH_MOUNTPOINT_SDH0 +#if !defined(NU_SDH_MOUNTPOINT_SDH0) #define NU_SDH_MOUNTPOINT_SDH0 NU_SDH_MOUNTPOINT_ROOT"/sd0" #endif -#ifndef NU_SDH_MOUNTPOINT_SDH1 +#if !defined(NU_SDH_MOUNTPOINT_SDH1) #define NU_SDH_MOUNTPOINT_SDH1 NU_SDH_MOUNTPOINT_ROOT"/sd1" #endif @@ -66,11 +79,9 @@ enum #if defined(NU_SDH_HOTPLUG) enum { - NU_SDH_CARD_INSERTED_SD0 = (1 << 0), - NU_SDH_CARD_REMOVED_SD0 = (1 << 1), - NU_SDH_CARD_INSERTED_SD1 = (1 << 2), - NU_SDH_CARD_REMOVED_SD1 = (1 << 3), - NU_SDH_CARD_EVENT_ALL = (NU_SDH_CARD_INSERTED_SD0 | NU_SDH_CARD_REMOVED_SD0 | NU_SDH_CARD_INSERTED_SD1 | NU_SDH_CARD_REMOVED_SD1) + NU_SDH_CARD_DETECTED_SD0 = (1 << 0), + NU_SDH_CARD_DETECTED_SD1 = (1 << 1), + NU_SDH_CARD_EVENT_ALL = (NU_SDH_CARD_DETECTED_SD0 | NU_SDH_CARD_DETECTED_SD1) }; #endif @@ -166,40 +177,12 @@ static void nu_sdh_isr(nu_sdh_t sdh) if (isr & SDH_INTSTS_CDIF_Msk) // card detect { - /* SD interrupt status */ - // it is work to delay 50 times for SD_CLK = 200KHz - { - int volatile i; // delay 30 fail, 50 OK - for (i = 0; i < 0x500; i++); // delay to make sure got updated value from REG_SDISR. - isr = sdh_base->INTSTS; - } - - if (isr & SDH_INTSTS_CDSTS_Msk) - { - /* Card removed */ #if defined(NU_SDH_HOTPLUG) - if (sdh->base == SDH0) - rt_event_send(&sdh_event, NU_SDH_CARD_REMOVED_SD0); - else if (sdh->base == SDH1) - rt_event_send(&sdh_event, NU_SDH_CARD_REMOVED_SD1); + if (sdh->base == SDH0) + rt_event_send(&sdh_event, NU_SDH_CARD_DETECTED_SD0); + else if (sdh->base == SDH1) + rt_event_send(&sdh_event, NU_SDH_CARD_DETECTED_SD1); #endif - sdh->info->IsCardInsert = FALSE; // SDISR_CD_Card = 1 means card remove for GPIO mode - rt_memset((void *)sdh->info, 0, sizeof(SDH_INFO_T)); - } - else - { - SDH_Open(sdh_base, CardDetect_From_GPIO); - if (!SDH_Probe(sdh_base)) - { - /* Card inserted */ -#if defined(NU_SDH_HOTPLUG) - if (sdh->base == SDH0) - rt_event_send(&sdh_event, NU_SDH_CARD_INSERTED_SD0); - else if (sdh->base == SDH1) - rt_event_send(&sdh_event, NU_SDH_CARD_INSERTED_SD1); -#endif - } - } /* Clear CDIF interrupt flag */ SDH_CLR_INT_FLAG(sdh_base, SDH_INTSTS_CDIF_Msk); } @@ -210,14 +193,14 @@ static void nu_sdh_isr(nu_sdh_t sdh) if (!(isr & SDH_INTSTS_CRC16_Msk)) { /* CRC_16 error */ - // handle CRC 16 error + // TODO: handle CRC 16 error } else if (!(isr & SDH_INTSTS_CRC7_Msk)) { if (!pSD->R3Flag) { /* CRC_7 error */ - // handle CRC 7 error + // TODO: handle CRC 7 error } } /* Clear CRCIF interrupt flag */ @@ -502,6 +485,7 @@ static rt_err_t nu_sdh_hotplug_mount(nu_sdh_t sdh) { closedir(t); } +#if !defined(NU_SDH_MOUNT_ON_ROOT) else { @@ -523,6 +507,7 @@ static rt_err_t nu_sdh_hotplug_mount(nu_sdh_t sdh) } } //else +#endif if ((ret = dfs_mount(sdh->name, sdh->mounted_point, "elm", 0, 0)) == 0) { @@ -567,6 +552,29 @@ exit_nu_sdh_hotplug_unmount: return -(ret); } + +static void nu_card_detector(nu_sdh_t sdh) +{ + SDH_T *sdh_base = sdh->base; + unsigned int volatile isr = sdh_base->INTSTS; + if (isr & SDH_INTSTS_CDSTS_Msk) + { + /* Card removed */ + sdh->info->IsCardInsert = FALSE; // SDISR_CD_Card = 1 means card remove for GPIO mode + rt_memset((void *)sdh->info, 0, sizeof(SDH_INFO_T)); + nu_sdh_hotplug_unmount(sdh); + } + else + { + SDH_Open(sdh_base, CardDetect_From_GPIO); + if (!SDH_Probe(sdh_base)) + { + /* Card inserted */ + nu_sdh_hotplug_mount(sdh); + } + } +} + static void sdh_hotplugger(void *param) { rt_uint32_t e; @@ -586,24 +594,18 @@ static void sdh_hotplugger(void *param) RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, RT_WAITING_FOREVER, &e) == RT_EOK) { - /* Debouce */ + /* Debounce */ rt_thread_delay(200); switch (e) { #if defined(BSP_USING_SDH0) - case NU_SDH_CARD_INSERTED_SD0: - nu_sdh_hotplug_mount(&nu_sdh_arr[SDH0_IDX]); - break; - case NU_SDH_CARD_REMOVED_SD0: - nu_sdh_hotplug_unmount(&nu_sdh_arr[SDH0_IDX]); + case NU_SDH_CARD_DETECTED_SD0: + nu_card_detector(&nu_sdh_arr[SDH0_IDX]); break; #endif #if defined(BSP_USING_SDH1) - case NU_SDH_CARD_INSERTED_SD1: - nu_sdh_hotplug_mount(&nu_sdh_arr[SDH1_IDX]); - break; - case NU_SDH_CARD_REMOVED_SD1: - nu_sdh_hotplug_unmount(&nu_sdh_arr[SDH1_IDX]); + case NU_SDH_CARD_DETECTED_SD1: + nu_card_detector(&nu_sdh_arr[SDH1_IDX]); break; #endif default: diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_softi2c.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_softi2c.c index 05f9906def..7c8fe84a92 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_softi2c.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_softi2c.c @@ -24,7 +24,6 @@ #define DBG_ENABLE #define DBG_SECTION_NAME LOG_TAG #define DBG_LEVEL DBG_INFO -#define DBG_COLOR #include #ifdef BSP_USING_SOFT_I2C0 @@ -58,7 +57,7 @@ struct nu_soft_i2c_config rt_uint8_t sda; const char *bus_name; }; -/* soft i2c dirver class */ +/* soft i2c driver class */ struct nu_soft_i2c { struct rt_i2c_bit_ops ops; diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_spi.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_spi.c index 8a29a847ca..c3fc788203 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_spi.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_spi.c @@ -11,7 +11,15 @@ ******************************************************************************/ #include -#if defined(BSP_USING_SPI) || defined(BSP_USING_QSPI) +#if defined(BSP_USING_SPI) + +#define LOG_TAG "drv.spi" +#define DBG_ENABLE +#define DBG_SECTION_NAME LOG_TAG +#define DBG_LEVEL DBG_INFO +#define DBG_COLOR +#include + #include #include #include @@ -22,7 +30,7 @@ /* Private define ---------------------------------------------------------------*/ #ifndef NU_SPI_USE_PDMA_MIN_THRESHOLD - #define NU_SPI_USE_PDMA_MIN_THRESHOLD 128 + #define NU_SPI_USE_PDMA_MIN_THRESHOLD (128) #endif enum @@ -52,9 +60,8 @@ static int nu_spi_register_bus(struct nu_spi *spi_bus, const char *name); static rt_uint32_t nu_spi_bus_xfer(struct rt_spi_device *device, struct rt_spi_message *message); static rt_err_t nu_spi_bus_configure(struct rt_spi_device *device, struct rt_spi_configuration *configuration); -#if defined(BSP_USING_SPI_PDMA) || defined(BSP_USING_QSPI_PDMA) +#if defined(BSP_USING_SPI_PDMA) static void nu_pdma_spi_rx_cb(void *pvUserData, uint32_t u32EventFilter); - static void nu_pdma_spi_tx_cb(void *pvUserData, uint32_t u32EventFilter); static rt_err_t nu_pdma_spi_rx_config(struct nu_spi *spi_bus, uint8_t *pu8Buf, int32_t i32RcvLen, uint8_t bytes_per_word); static rt_err_t nu_pdma_spi_tx_config(struct nu_spi *spi_bus, const uint8_t *pu8Buf, int32_t i32SndLen, uint8_t bytes_per_word); static rt_size_t nu_spi_pdma_transmit(struct nu_spi *spi_bus, const uint8_t *send_addr, uint8_t *recv_addr, int length, uint8_t bytes_per_word); @@ -63,10 +70,6 @@ static rt_err_t nu_spi_bus_configure(struct rt_spi_device *device, struct rt_spi void nu_spi_transfer(struct nu_spi *spi_bus, uint8_t *tx, uint8_t *rx, int length, uint8_t bytes_per_word); void nu_spi_drain_rxfifo(SPI_T *spi_base); -#if defined(BSP_USING_SPI_PDMA) || defined(BSP_USING_QSPI_PDMA) - rt_err_t nu_hw_spi_pdma_allocate(struct nu_spi *spi_bus); -#endif - /* Private variables ------------------------------------------------------------*/ static struct rt_spi_ops nu_spi_poll_ops = { @@ -193,7 +196,7 @@ static rt_err_t nu_spi_bus_configure(struct rt_spi_device *device, u32BusClock = SPI_SetBusClock(spi_bus->spi_base, configuration->max_hz); if (configuration->max_hz > u32BusClock) { - rt_kprintf("%s clock max frequency is %dHz (!= %dHz)\n", spi_bus->name, u32BusClock, configuration->max_hz); + LOG_W("%s clock max frequency is %dHz (!= %dHz)\n", spi_bus->name, u32BusClock, configuration->max_hz); configuration->max_hz = u32BusClock; } @@ -235,21 +238,14 @@ exit_nu_spi_bus_configure: return -(ret); } -#if defined(BSP_USING_SPI_PDMA) || defined(BSP_USING_QSPI_PDMA) +#if defined(BSP_USING_SPI_PDMA) static void nu_pdma_spi_rx_cb(void *pvUserData, uint32_t u32EventFilter) { - struct nu_spi *spi_bus; - spi_bus = (struct nu_spi *)pvUserData; + struct nu_spi *spi_bus = (struct nu_spi *)pvUserData; RT_ASSERT(spi_bus != RT_NULL); - /* Get base address of spi register */ - SPI_T *spi_base = spi_bus->spi_base; - - if (u32EventFilter & NU_PDMA_EVENT_TRANSFER_DONE) - { - SPI_DISABLE_RX_PDMA(spi_base); // Stop DMA TX transfer - } + rt_sem_release(spi_bus->m_psSemBus); } static rt_err_t nu_pdma_spi_rx_config(struct nu_spi *spi_bus, uint8_t *pu8Buf, int32_t i32RcvLen, uint8_t bytes_per_word) { @@ -299,24 +295,6 @@ exit_nu_pdma_spi_rx_config: return result; } -static void nu_pdma_spi_tx_cb(void *pvUserData, uint32_t u32EventFilter) -{ - struct nu_spi *spi_bus; - spi_bus = (struct nu_spi *)pvUserData; - - RT_ASSERT(spi_bus != RT_NULL); - - /* Get base address of spi register */ - SPI_T *spi_base = spi_bus->spi_base; - - if (u32EventFilter & NU_PDMA_EVENT_TRANSFER_DONE) - { - SPI_DISABLE_TX_PDMA(spi_base); // Stop DMA TX transfer - } - rt_sem_release(spi_bus->m_psSemBus); - -} - static rt_err_t nu_pdma_spi_tx_config(struct nu_spi *spi_bus, const uint8_t *pu8Buf, int32_t i32SndLen, uint8_t bytes_per_word) { rt_err_t result = RT_EOK; @@ -328,15 +306,6 @@ static rt_err_t nu_pdma_spi_tx_config(struct nu_spi *spi_bus, const uint8_t *pu8 rt_uint8_t spi_pdma_tx_chid = spi_bus->pdma_chanid_tx; - result = nu_pdma_callback_register(spi_pdma_tx_chid, - nu_pdma_spi_tx_cb, - (void *)spi_bus, - NU_PDMA_EVENT_TRANSFER_DONE); - if (result != RT_EOK) - { - goto exit_nu_pdma_spi_tx_config; - } - if (pu8Buf == RT_NULL) { spi_bus->dummy = 0; @@ -382,14 +351,14 @@ static rt_size_t nu_spi_pdma_transmit(struct nu_spi *spi_bus, const uint8_t *sen result = nu_pdma_spi_tx_config(spi_bus, send_addr, length, bytes_per_word); RT_ASSERT(result == RT_EOK); - /* Trigger TX/RX at the same time. */ - SPI_TRIGGER_TX_PDMA(spi_base); - SPI_TRIGGER_RX_PDMA(spi_base); + /* Trigger TX/RX PDMA transfer. */ + SPI_TRIGGER_TX_RX_PDMA(spi_base); - /* Wait PDMA transfer done */ + /* Wait RX-PDMA transfer done */ rt_sem_take(spi_bus->m_psSemBus, RT_WAITING_FOREVER); - while (SPI_IS_BUSY(spi_base)); + /* Stop TX/RX DMA transfer. */ + SPI_DISABLE_TX_RX_PDMA(spi_base); return result; } @@ -416,7 +385,7 @@ exit_nu_hw_spi_pdma_allocate: return -(RT_ERROR); } -#endif /* #if defined(BSP_USING_SPI_PDMA) || defined(BSP_USING_QSPI_PDMA) */ +#endif /* #if defined(BSP_USING_SPI_PDMA) */ void nu_spi_drain_rxfifo(SPI_T *spi_base) { @@ -432,11 +401,11 @@ void nu_spi_drain_rxfifo(SPI_T *spi_base) static int nu_spi_read(SPI_T *spi_base, uint8_t *recv_addr, uint8_t bytes_per_word) { int size = 0; - uint32_t val; // Read RX data if (!SPI_GET_RX_FIFO_EMPTY_FLAG(spi_base)) { + uint32_t val; // Read data from SPI RX FIFO switch (bytes_per_word) { @@ -455,6 +424,9 @@ static int nu_spi_read(SPI_T *spi_base, uint8_t *recv_addr, uint8_t bytes_per_wo case 1: *recv_addr = SPI_READ_RX(spi_base); break; + default: + LOG_E("Data length is not supported.\n"); + break; } size = bytes_per_word; } @@ -481,6 +453,9 @@ static int nu_spi_write(SPI_T *spi_base, const uint8_t *send_addr, uint8_t bytes case 1: SPI_WRITE_TX(spi_base, *((uint8_t *)send_addr)); break; + default: + LOG_E("Data length is not supported.\n"); + break; } return bytes_per_word; @@ -534,7 +509,7 @@ static void nu_spi_transmission_with_poll(struct nu_spi *spi_bus, } } // else - /* Wait RX or drian RX-FIFO */ + /* Wait RX or drain RX-FIFO */ if (recv_addr) { // Wait SPI transmission done @@ -565,8 +540,8 @@ void nu_spi_transfer(struct nu_spi *spi_bus, uint8_t *tx, uint8_t *rx, int lengt #if defined(BSP_USING_SPI_PDMA) /* DMA transfer constrains */ if ((spi_bus->pdma_chanid_rx >= 0) && - (!(uint32_t)tx % bytes_per_word) && - (!(uint32_t)rx % bytes_per_word) && + !((uint32_t)tx % bytes_per_word) && + !((uint32_t)rx % bytes_per_word) && (bytes_per_word != 3) && (length >= NU_SPI_USE_PDMA_MIN_THRESHOLD)) nu_spi_pdma_transmit(spi_bus, tx, rx, length, bytes_per_word); @@ -594,7 +569,7 @@ static rt_uint32_t nu_spi_bus_xfer(struct rt_spi_device *device, struct rt_spi_m if ((message->length % bytes_per_word) != 0) { /* Say bye. */ - rt_kprintf("%s: error payload length(%d%%%d != 0).\n", spi_bus->name, message->length, bytes_per_word); + LOG_E("%s: error payload length(%d%%%d != 0).\n", spi_bus->name, message->length, bytes_per_word); return 0; } @@ -653,7 +628,7 @@ static int rt_hw_spi_init(void) { if (nu_hw_spi_pdma_allocate(&nu_spi_arr[i]) != RT_EOK) { - rt_kprintf("Failed to allocate DMA channels for %s. We will use poll-mode for this bus.\n", nu_spi_arr[i].name); + LOG_W("Failed to allocate DMA channels for %s. We will use poll-mode for this bus.\n", nu_spi_arr[i].name); } } #endif diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_spi.h b/bsp/nuvoton/libraries/m480/rtt_port/drv_spi.h index c75a126bee..1e7bd0db44 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_spi.h +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_spi.h @@ -13,11 +13,13 @@ #ifndef __DRV_SPI_H__ #define __DRV_SPI_H__ +#include + #include #include #include -#if defined(BSP_USING_SPI_PDMA) || defined(BSP_USING_QSPI_PDMA) +#if defined(BSP_USING_SPI_PDMA) #include #endif @@ -27,7 +29,7 @@ struct nu_spi char *name; SPI_T *spi_base; uint32_t dummy; -#if defined(BSP_USING_SPI_PDMA) || defined(BSP_USING_SPI_PDMA) +#if defined(BSP_USING_SPI_PDMA) int16_t pdma_perp_tx; int8_t pdma_chanid_tx; int16_t pdma_perp_rx; @@ -42,7 +44,7 @@ typedef struct nu_spi *nu_spi_t; void nu_spi_drain_rxfifo(SPI_T *spi_base); void nu_spi_transfer(struct nu_spi *spi_bus, uint8_t *tx, uint8_t *rx, int length, uint8_t bytes_per_word); -#if defined(BSP_USING_SPI_PDMA) || defined(BSP_USING_SPI_PDMA) +#if defined(BSP_USING_SPI_PDMA) rt_err_t nu_hw_spi_pdma_allocate(struct nu_spi *spi_bus); #endif diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_tpwm.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_tpwm.c index 0b555fe8e7..58181d2400 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_tpwm.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_tpwm.c @@ -19,7 +19,6 @@ #define DBG_ENABLE #define DBG_SECTION_NAME LOG_TAG #define DBG_LEVEL DBG_INFO -#define DBG_COLOR #define TPWM_CHANNEL_NUM 2 #include diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_uart.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_uart.c index b1c5ff4591..d8f9ba1777 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_uart.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_uart.c @@ -291,7 +291,7 @@ static struct nu_uart nu_uart_arr [] = {0} }; /* uart nu_uart */ -/* Interrupt Handle Funtion ----------------------------------------------------*/ +/* Interrupt Handle Function ----------------------------------------------------*/ #if defined(BSP_USING_UART0) /* UART0 interrupt entry */ void UART0_IRQHandler(void) @@ -419,6 +419,8 @@ static void nu_uart_isr(nu_uart_t serial) #if defined(RT_SERIAL_USING_DMA) if (u32IntSts & UART_INTSTS_HWRLSIF_Msk) { + /* Drain RX FIFO to remove remain FEF frames in FIFO. */ + uart_base->FIFO |= UART_FIFO_RXRST_Msk; uart_base->FIFOSTS |= (UART_FIFOSTS_BIF_Msk | UART_FIFOSTS_FEF_Msk | UART_FIFOSTS_PEF_Msk); return; } @@ -434,7 +436,7 @@ static void nu_uart_isr(nu_uart_t serial) } /** - * Configurae uart port + * Configure uart port */ static rt_err_t nu_uart_configure(struct rt_serial_device *serial, struct serial_configure *cfg) { @@ -544,6 +546,10 @@ static rt_err_t nu_pdma_uart_rx_config(struct rt_serial_device *serial, uint8_t nu_pdma_uart_rx_cb, (void *)serial, NU_PDMA_EVENT_TRANSFER_DONE | NU_PDMA_EVENT_TIMEOUT); + if ( result != RT_EOK ) + { + goto exit_nu_pdma_uart_rx_config; + } result = nu_pdma_transfer(((nu_uart_t)serial)->pdma_chanid_rx, 8, @@ -551,17 +557,24 @@ static rt_err_t nu_pdma_uart_rx_config(struct rt_serial_device *serial, uint8_t (uint32_t)pu8Buf, i32TriggerLen, 1000); //Idle-timeout, 1ms + if ( result != RT_EOK ) + { + goto exit_nu_pdma_uart_rx_config; + } /* Enable Receive Line interrupt & Start DMA RX transfer. */ UART_ENABLE_INT(uart_base, UART_INTEN_RLSIEN_Msk); UART_PDMA_ENABLE(uart_base, UART_INTEN_RXPDMAEN_Msk); + +exit_nu_pdma_uart_rx_config: + return result; } static void nu_pdma_uart_rx_cb(void *pvOwner, uint32_t u32Events) { - rt_size_t recv_len=0; + rt_size_t recv_len = 0; rt_size_t transferred_rxbyte = 0; struct rt_serial_device *serial = (struct rt_serial_device *)pvOwner; nu_uart_t puart = (nu_uart_t)serial; @@ -715,7 +728,6 @@ static rt_err_t nu_uart_control(struct rt_serial_device *serial, int cmd, void * rt_ubase_t ctrl_arg = (rt_ubase_t)arg; RT_ASSERT(serial != RT_NULL); - RT_ASSERT(arg != RT_NULL); /* Get base address of uart register */ UART_T *uart_base = ((nu_uart_t)serial)->uart_base; @@ -763,6 +775,27 @@ static rt_err_t nu_uart_control(struct rt_serial_device *serial, int cmd, void * break; #endif + case RT_DEVICE_CTRL_CLOSE: + /* Disable NVIC interrupt. */ + NVIC_DisableIRQ(((nu_uart_t)serial)->uart_irq_n); + +#if defined(RT_SERIAL_USING_DMA) + nu_pdma_channel_terminate(((nu_uart_t)serial)->pdma_chanid_tx); + nu_pdma_channel_terminate(((nu_uart_t)serial)->pdma_chanid_rx); +#endif + + /* Reset this module */ + SYS_ResetModule(((nu_uart_t)serial)->uart_rst); + + /* Close UART port */ + UART_Close(uart_base); + + break; + + default: + result = -RT_EINVAL; + break; + } return result; } diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_ui2c.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_ui2c.c index 52d7e53e71..04d25f453b 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_ui2c.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_ui2c.c @@ -22,7 +22,6 @@ #define DBG_ENABLE #define DBG_SECTION_NAME LOG_TAG #define DBG_LEVEL DBG_INFO -#define DBG_COLOR #include #define SLV_10BIT_ADDR (0x1E<<2) //1111+0xx+r/w @@ -110,7 +109,7 @@ static rt_err_t nu_ui2c_send_address(nu_ui2c_bus_t *nu_ui2c, LOG_D("addr1: %d, addr2: %d\n", addr1, addr2); ret = nu_ui2c_send_data(nu_ui2c, addr1); - if (ret != RT_EOK) //for timeout conditrion + if (ret != RT_EOK) //for timeout condition return -RT_EIO; if (((UI2C_GET_PROT_STATUS(nu_ui2c->ui2c_base) & UI2C_PROTSTS_ACKIF_Msk) != UI2C_PROTSTS_ACKIF_Msk) && !ignore_nack) @@ -122,7 +121,7 @@ static rt_err_t nu_ui2c_send_address(nu_ui2c_bus_t *nu_ui2c, UI2C_CLR_PROT_INT_FLAG(nu_ui2c->ui2c_base, UI2C_PROTSTS_ACKIF_Msk); ret = nu_ui2c_send_data(nu_ui2c, addr2); - if (ret != RT_EOK) //for timeout conditrion + if (ret != RT_EOK) //for timeout condition return -RT_EIO; if (((UI2C_GET_PROT_STATUS(nu_ui2c->ui2c_base) & UI2C_PROTSTS_ACKIF_Msk) != UI2C_PROTSTS_ACKIF_Msk) && !ignore_nack) @@ -139,7 +138,7 @@ static rt_err_t nu_ui2c_send_address(nu_ui2c_bus_t *nu_ui2c, UI2C_SET_CONTROL_REG(nu_ui2c->ui2c_base, (UI2C_CTL_PTRG | UI2C_CTL_STA)); ret = nu_ui2c_wait_ready_with_timeout(nu_ui2c); - if (ret != RT_EOK) //for timeout conditrion + if (ret != RT_EOK) //for timeout condition return -RT_EIO; if (((UI2C_GET_PROT_STATUS(nu_ui2c->ui2c_base) & UI2C_PROTSTS_STARIF_Msk) != UI2C_PROTSTS_STARIF_Msk) && !ignore_nack) @@ -150,16 +149,15 @@ static rt_err_t nu_ui2c_send_address(nu_ui2c_bus_t *nu_ui2c, } UI2C_CLR_PROT_INT_FLAG(nu_ui2c->ui2c_base, UI2C_PROTSTS_STARIF_Msk); - addr1 |= 0x01; + addr1 |= RT_I2C_RD; ret = nu_ui2c_send_data(nu_ui2c, addr1); - if (ret != RT_EOK) //for timeout conditrion + if (ret != RT_EOK) //for timeout condition return -RT_EIO; if (((UI2C_GET_PROT_STATUS(nu_ui2c->ui2c_base) & UI2C_PROTSTS_ACKIF_Msk) != UI2C_PROTSTS_ACKIF_Msk) && !ignore_nack) { LOG_E("NACK: sending repeated addr\n"); - return -RT_EIO; } UI2C_CLR_PROT_INT_FLAG(nu_ui2c->ui2c_base, UI2C_PROTSTS_ACKIF_Msk); @@ -170,11 +168,11 @@ static rt_err_t nu_ui2c_send_address(nu_ui2c_bus_t *nu_ui2c, /* 7-bit addr */ addr1 = msg->addr << 1; if (flags & RT_I2C_RD) - addr1 |= 1; + addr1 |= RT_I2C_RD; /* Send device address */ ret = nu_ui2c_send_data(nu_ui2c, addr1); /* Send Address */ - if (ret != RT_EOK) //for timeout conditrion + if (ret != RT_EOK) //for timeout condition return -RT_EIO; if (((UI2C_GET_PROT_STATUS(nu_ui2c->ui2c_base) & UI2C_PROTSTS_ACKIF_Msk) != UI2C_PROTSTS_ACKIF_Msk) @@ -210,7 +208,7 @@ static rt_size_t nu_ui2c_mst_xfer(struct rt_i2c_bus_device *bus, UI2C_SET_CONTROL_REG(nu_ui2c->ui2c_base, UI2C_CTL_STA); ret = nu_ui2c_wait_ready_with_timeout(nu_ui2c); - if (ret != RT_EOK) //for timeout conditrion + if (ret != RT_EOK) //for timeout condition { rt_set_errno(-RT_ETIMEOUT); return 0; @@ -235,7 +233,7 @@ static rt_size_t nu_ui2c_mst_xfer(struct rt_i2c_bus_device *bus, { UI2C_SET_CONTROL_REG(nu_ui2c->ui2c_base, (UI2C_CTL_PTRG | UI2C_CTL_STA));/* Send repeat START */ ret = nu_ui2c_wait_ready_with_timeout(nu_ui2c); - if (ret != RT_EOK) //for timeout conditrion + if (ret != RT_EOK) //for timeout condition break; if (((UI2C_GET_PROT_STATUS(nu_ui2c->ui2c_base) & UI2C_PROTSTS_STARIF_Msk) != UI2C_PROTSTS_STARIF_Msk)) /* Check Send repeat START */ @@ -272,7 +270,7 @@ static rt_size_t nu_ui2c_mst_xfer(struct rt_i2c_bus_device *bus, } ret = nu_ui2c_wait_ready_with_timeout(nu_ui2c); - if (ret != RT_EOK) //for timeout conditrion + if (ret != RT_EOK) //for timeout condition break; if (nu_ui2c->ui2c_base->PROTCTL & UI2C_CTL_AA) @@ -303,12 +301,12 @@ static rt_size_t nu_ui2c_mst_xfer(struct rt_i2c_bus_device *bus, { /* Send register number and MSB of data */ ret = nu_ui2c_send_data(nu_ui2c, (uint8_t)(nu_ui2c->msg[i].buf[cnt_data])); - if (ret != RT_EOK) //for timeout conditrion + if (ret != RT_EOK) //for timeout condition break; if (((UI2C_GET_PROT_STATUS(nu_ui2c->ui2c_base) & UI2C_PROTSTS_ACKIF_Msk) != UI2C_PROTSTS_ACKIF_Msk) && !ignore_nack - ) /* Send aata and get Ack */ + ) /* Send data and get Ack */ { i = 0; break; @@ -320,7 +318,7 @@ static rt_size_t nu_ui2c_mst_xfer(struct rt_i2c_bus_device *bus, UI2C_SET_CONTROL_REG(nu_ui2c->ui2c_base, (UI2C_CTL_PTRG | UI2C_CTL_STO)); /* Send STOP signal */ ret = nu_ui2c_wait_ready_with_timeout(nu_ui2c); - if (ret != RT_EOK) //for timeout conditrion + if (ret != RT_EOK) //for timeout condition { rt_set_errno(-RT_ETIMEOUT); return 0; @@ -357,8 +355,11 @@ int rt_hw_ui2c_init(void) #if defined(BSP_USING_UI2C0) /* Enable UI2C0 clock */ + SYS_UnlockReg(); CLK_EnableModuleClock(USCI0_MODULE); SYS_ResetModule(USCI0_RST); + SYS_LockReg(); + nu_ui2c0.ui2c_dev.ops = &nu_ui2c_ops; ret = rt_i2c_bus_device_register(&nu_ui2c0.ui2c_dev, nu_ui2c0.dev_name); RT_ASSERT(RT_EOK == ret); @@ -366,8 +367,11 @@ int rt_hw_ui2c_init(void) #if defined(BSP_USING_UI2C1) /* Enable UI2C1 clock */ + SYS_UnlockReg(); CLK_EnableModuleClock(USCI1_MODULE); SYS_ResetModule(USCI1_RST); + SYS_LockReg(); + nu_ui2c1.ui2c_dev.ops = &nu_ui2c_ops; ret = rt_i2c_bus_device_register(&nu_ui2c1.ui2c_dev, nu_ui2c1.dev_name); RT_ASSERT(RT_EOK == ret); diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_uspi.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_uspi.c index 96fab9857a..c670420eb8 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_uspi.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_uspi.c @@ -56,14 +56,12 @@ typedef struct nu_uspi *uspi_t; /* Private functions ------------------------------------------------------------*/ static rt_err_t nu_uspi_bus_configure(struct rt_spi_device *device, struct rt_spi_configuration *configuration); static rt_uint32_t nu_uspi_bus_xfer(struct rt_spi_device *device, struct rt_spi_message *message); -static void nu_uspi_transmission_with_poll(struct nu_uspi *uspi_bus, - uint8_t *send_addr, uint8_t *recv_addr, int length, uint8_t bytes_per_word); +static void nu_uspi_transmission_with_poll(struct nu_uspi *uspi_bus, uint8_t *send_addr, uint8_t *recv_addr, int length, uint8_t bytes_per_word); static int nu_uspi_register_bus(struct nu_uspi *uspi_bus, const char *name); static void nu_uspi_drain_rxfifo(USPI_T *uspi_base); #if defined(BSP_USING_USPI_PDMA) static void nu_pdma_uspi_rx_cb(void *pvUserData, uint32_t u32EventFilter); - static void nu_pdma_uspi_tx_cb(void *pvUserData, uint32_t u32EventFilter); static rt_err_t nu_pdma_uspi_rx_config(struct nu_uspi *uspi_bus, uint8_t *pu8Buf, int32_t i32RcvLen, uint8_t bytes_per_word); static rt_err_t nu_pdma_uspi_tx_config(struct nu_uspi *uspi_bus, const uint8_t *pu8Buf, int32_t i32SndLen, uint8_t bytes_per_word); static rt_size_t nu_uspi_pdma_transmit(struct nu_uspi *uspi_bus, const uint8_t *send_addr, uint8_t *recv_addr, int length, uint8_t bytes_per_word); @@ -187,12 +185,12 @@ static rt_err_t nu_uspi_bus_configure(struct rt_spi_device *device, if (configuration->mode & RT_SPI_MSB) { /* Set sequence to MSB first */ - SPI_SET_MSB_FIRST(uspi_bus->uspi_base); + USPI_SET_MSB_FIRST(uspi_bus->uspi_base); } else { /* Set sequence to LSB first */ - SPI_SET_LSB_FIRST(uspi_bus->uspi_base); + USPI_SET_LSB_FIRST(uspi_bus->uspi_base); } } @@ -212,17 +210,11 @@ static void nu_pdma_uspi_rx_cb(void *pvUserData, uint32_t u32EventFilter) RT_ASSERT(uspi_bus != RT_NULL); - /* Get base address of uspi register */ - USPI_T *uspi_base = uspi_bus->uspi_base; - - if (u32EventFilter & NU_PDMA_EVENT_TRANSFER_DONE) - { - USPI_DISABLE_RX_PDMA(uspi_base); // Stop DMA TX transfer - } + rt_sem_release(uspi_bus->m_psSemBus); } static rt_err_t nu_pdma_uspi_rx_config(struct nu_uspi *uspi_bus, uint8_t *pu8Buf, int32_t i32RcvLen, uint8_t bytes_per_word) { - rt_err_t result = RT_EOK; + rt_err_t result = RT_ERROR; rt_uint8_t *dst_addr = NULL; nu_pdma_memctrl_t memctrl = eMemCtl_Undefined; @@ -269,27 +261,9 @@ exit_nu_pdma_uspi_rx_config: return result; } -static void nu_pdma_uspi_tx_cb(void *pvUserData, uint32_t u32EventFilter) -{ - struct nu_uspi *uspi_bus; - uspi_bus = (struct nu_uspi *)pvUserData; - - RT_ASSERT(uspi_bus != RT_NULL); - - /* Get base address of uspi register */ - USPI_T *uspi_base = uspi_bus->uspi_base; - - if (u32EventFilter & NU_PDMA_EVENT_TRANSFER_DONE) - { - USPI_DISABLE_TX_PDMA(uspi_base); // Stop DMA TX transfer - } - rt_sem_release(uspi_bus->m_psSemBus); - -} - static rt_err_t nu_pdma_uspi_tx_config(struct nu_uspi *uspi_bus, const uint8_t *pu8Buf, int32_t i32SndLen, uint8_t bytes_per_word) { - rt_err_t result = RT_EOK; + rt_err_t result = RT_ERROR; rt_uint8_t *src_addr = NULL; nu_pdma_memctrl_t memctrl = eMemCtl_Undefined; @@ -298,15 +272,6 @@ static rt_err_t nu_pdma_uspi_tx_config(struct nu_uspi *uspi_bus, const uint8_t * rt_uint8_t uspi_pdma_tx_chid = uspi_bus->pdma_chanid_tx; - result = nu_pdma_callback_register(uspi_pdma_tx_chid, - nu_pdma_uspi_tx_cb, - (void *)uspi_bus, - NU_PDMA_EVENT_TRANSFER_DONE); - if (result != RT_EOK) - { - goto exit_nu_pdma_uspi_tx_config; - } - if (pu8Buf == RT_NULL) { uspi_bus->dummy = 0; @@ -343,7 +308,7 @@ exit_nu_pdma_uspi_tx_config: */ static rt_size_t nu_uspi_pdma_transmit(struct nu_uspi *uspi_bus, const uint8_t *send_addr, uint8_t *recv_addr, int length, uint8_t bytes_per_word) { - rt_err_t result = RT_EOK; + rt_err_t result = RT_ERROR; /* Get base address of uspi register */ USPI_T *uspi_base = uspi_bus->uspi_base; @@ -354,13 +319,13 @@ static rt_size_t nu_uspi_pdma_transmit(struct nu_uspi *uspi_bus, const uint8_t * RT_ASSERT(result == RT_EOK); /* Trigger TX/RX at the same time. */ - USPI_TRIGGER_TX_PDMA(uspi_base); - USPI_TRIGGER_RX_PDMA(uspi_base); + USPI_TRIGGER_TX_RX_PDMA(uspi_base); /* Wait PDMA transfer done */ rt_sem_take(uspi_bus->m_psSemBus, RT_WAITING_FOREVER); - while (USPI_IS_BUSY(uspi_base)); + /* Stop DMA TX/RX transfer */ + USPI_DISABLE_TX_RX_PDMA(uspi_base); return result; } @@ -404,7 +369,6 @@ static void nu_uspi_drain_rxfifo(USPI_T *uspi_base) static int nu_uspi_read(USPI_T *uspi_base, uint8_t *recv_addr, uint8_t bytes_per_word) { int size = 0; - uint32_t val; // Read RX data if (!USPI_GET_RX_EMPTY_FLAG(uspi_base)) @@ -412,6 +376,7 @@ static int nu_uspi_read(USPI_T *uspi_base, uint8_t *recv_addr, uint8_t bytes_per // Read data from USPI RX FIFO switch (bytes_per_word) { + uint32_t val; case 2: val = USPI_READ_RX(uspi_base); nu_set16_le(recv_addr, val); @@ -419,6 +384,8 @@ static int nu_uspi_read(USPI_T *uspi_base, uint8_t *recv_addr, uint8_t bytes_per case 1: *recv_addr = USPI_READ_RX(uspi_base); break; + default: + break; } size = bytes_per_word; } @@ -439,6 +406,8 @@ static int nu_uspi_write(USPI_T *uspi_base, const uint8_t *send_addr, uint8_t by case 1: USPI_WRITE_TX(uspi_base, *((uint8_t *)send_addr)); break; + default: + break; } return bytes_per_word; @@ -475,6 +444,7 @@ static void nu_uspi_transmission_with_poll(struct nu_uspi *uspi_bus, length -= nu_uspi_write(uspi_base, (const uint8_t *)&uspi_bus->dummy, bytes_per_word); /* Read data from RX FIFO */ + while (USPI_GET_RX_EMPTY_FLAG(uspi_base)); recv_addr += nu_uspi_read(uspi_base, recv_addr, bytes_per_word); } } // else if (send_addr == RT_NULL && recv_addr != RT_NULL) @@ -488,11 +458,12 @@ static void nu_uspi_transmission_with_poll(struct nu_uspi *uspi_bus, length -= bytes_per_word; /* Read data from RX FIFO */ + while (USPI_GET_RX_EMPTY_FLAG(uspi_base)); recv_addr += nu_uspi_read(uspi_base, recv_addr, bytes_per_word); } } // else - /* Wait RX or drian RX-FIFO */ + /* Wait RX or drain RX-FIFO */ if (recv_addr) { // Wait SPI transmission done @@ -521,9 +492,8 @@ static void nu_uspi_transfer(struct nu_uspi *uspi_bus, uint8_t *tx, uint8_t *rx, #if defined(BSP_USING_USPI_PDMA) /* DMA transfer constrains */ if ((uspi_bus->pdma_chanid_rx >= 0) && - (!(uint32_t)tx % bytes_per_word) && - (!(uint32_t)rx % bytes_per_word) && - (bytes_per_word != 3)) + !((uint32_t)tx % bytes_per_word) && + !((uint32_t)rx % bytes_per_word) ) nu_uspi_pdma_transmit(uspi_bus, tx, rx, length, bytes_per_word); else nu_uspi_transmission_with_poll(uspi_bus, tx, rx, length, bytes_per_word); diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_uuart.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_uuart.c index 0ced7ea397..1be9643f47 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_uuart.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_uuart.c @@ -139,7 +139,7 @@ static struct nu_uuart nu_uuart_arr [] = {0} }; /* uuart nu_uuart */ -/* Interrupt Handle Funtion ----------------------------------------------------*/ +/* Interrupt Handle Function ----------------------------------------------------*/ #if defined(BSP_USING_UUART0) /* USCI0 interrupt entry */ void USCI0_IRQHandler(void) @@ -197,7 +197,7 @@ static void nu_uuart_isr(nu_uuart_t serial) } /** - * Configurae uuart port + * Configure uuart port */ static rt_err_t nu_uuart_configure(struct rt_serial_device *serial, struct serial_configure *cfg) { @@ -209,12 +209,9 @@ static rt_err_t nu_uuart_configure(struct rt_serial_device *serial, struct seria /* Get base address of uuart register */ UUART_T *uuart_base = ((nu_uuart_t)serial)->uuart_base; - - /* Check baudrate */ + /* Check baud rate */ RT_ASSERT(cfg->baud_rate != 0); - - /* Check word len */ switch (cfg->data_bits) { @@ -280,8 +277,7 @@ static rt_err_t nu_uuart_configure(struct rt_serial_device *serial, struct seria /* Reset this module */ SYS_ResetModule(((nu_uuart_t)serial)->uuart_rst); - - /* Open UUart and set UUART Baudrate */ + /* Open UUart and set UUART baud rate */ UUART_Open(uuart_base, cfg->baud_rate); /* Set line configuration. */ @@ -311,6 +307,11 @@ static rt_err_t nu_pdma_uuart_rx_config(struct rt_serial_device *serial, uint8_t (void *)serial, NU_PDMA_EVENT_TRANSFER_DONE | NU_PDMA_EVENT_TIMEOUT); + if (result != RT_EOK) + { + goto exit_nu_pdma_uuart_rx_config; + } + result = nu_pdma_transfer(((nu_uuart_t)serial)->pdma_chanid_rx, 8, (uint32_t)&uuart_base->RXDAT, @@ -318,7 +319,10 @@ static rt_err_t nu_pdma_uuart_rx_config(struct rt_serial_device *serial, uint8_t i32TriggerLen, 1000); //Idle-timeout, 1ms - + if (result != RT_EOK) + { + goto exit_nu_pdma_uuart_rx_config; + } //UUART PDMA reset UUART_PDMA_ENABLE(uuart_base, UUART_PDMACTL_PDMARST_Msk); @@ -327,6 +331,7 @@ static rt_err_t nu_pdma_uuart_rx_config(struct rt_serial_device *serial, uint8_t UUART_EnableInt(uuart_base, UUART_RLS_INT_MASK); UUART_PDMA_ENABLE(uuart_base, UUART_PDMACTL_RXPDMAEN_Msk | UUART_PDMACTL_PDMAEN_Msk); +exit_nu_pdma_uuart_rx_config: return result; } @@ -483,7 +488,6 @@ static rt_err_t nu_uuart_control(struct rt_serial_device *serial, int cmd, void rt_ubase_t ctrl_arg = (rt_ubase_t)arg; RT_ASSERT(serial != RT_NULL); - RT_ASSERT(arg != RT_NULL); /* Get base address of uuart register */ UUART_T *uuart_base = ((nu_uuart_t)serial)->uuart_base; @@ -530,6 +534,25 @@ static rt_err_t nu_uuart_control(struct rt_serial_device *serial, int cmd, void break; #endif + case RT_DEVICE_CTRL_CLOSE: + /* Disable NVIC interrupt. */ + NVIC_DisableIRQ(((nu_uuart_t)serial)->uuart_irq_n); + +#if defined(RT_SERIAL_USING_DMA) + nu_pdma_channel_terminate(((nu_uuart_t)serial)->pdma_chanid_tx); + nu_pdma_channel_terminate(((nu_uuart_t)serial)->pdma_chanid_rx); +#endif + + /* Reset this module */ + SYS_ResetModule(((nu_uuart_t)serial)->uuart_rst); + + /* Close UUART port */ + UUART_Close(uuart_base); + + break; + default: + result = -RT_EINVAL; + break; } return result; } @@ -599,7 +622,7 @@ static int rt_hw_uuart_init(void) RT_ASSERT(ret == RT_EOK); } - return ret; + return (int)ret; } INIT_DEVICE_EXPORT(rt_hw_uuart_init); diff --git a/bsp/nuvoton/libraries/m480/rtt_port/drv_wdt.c b/bsp/nuvoton/libraries/m480/rtt_port/drv_wdt.c index a4160600e6..82572325d2 100644 --- a/bsp/nuvoton/libraries/m480/rtt_port/drv_wdt.c +++ b/bsp/nuvoton/libraries/m480/rtt_port/drv_wdt.c @@ -13,7 +13,6 @@ #include #if defined(BSP_USING_WDT) - #include #include #include @@ -22,7 +21,7 @@ /*-------------------------------------------------------------------------------*/ /* watchdog timer timeout look up table */ /*-------------------------------------------------------------------------------*/ -/* clock = LIRC 10Khz. */ +/* clock = LIRC 10KHz. */ /* */ /* working hz toutsel exp cycles timeout (s) */ /* 10000 0 4 16 0.0016 */ @@ -34,7 +33,7 @@ /* 6 16 65536 6.5536 */ /* 7 18 262144 26.2144 */ /*-------------------------------------------------------------------------------*/ -/* clock = LXT 32.76Khz. */ +/* clock = LXT 32768Hz. */ /* */ /* working hz toutsel exp cycles timeout (s) */ /* 32768 0 4 16 0.0005 */ @@ -46,7 +45,7 @@ /* 6 16 65536 2.0000 */ /* 7 18 262144 8.0000 */ /*-------------------------------------------------------------------------------*/ -/* clock = 192Mhz HCLK divide 2048 = 93750 hz. */ +/* clock = 192MHz HCLK divide 2048 = 93750 Hz. */ /* */ /* working hz toutsel exp cycles timeout (s) */ /* 93750 0 4 16 0.00017 */ @@ -69,10 +68,10 @@ #define MIN_CYCLES (1024) -/* Macros to convert the value bewtween the timeout interval and the soft time iterations. */ +/* Macros to convert the value between the timeout interval and the soft time iterations. */ #define ROUND_TO_INTEGER(value) ((int)(((value) * 10 + 5) / 10)) -#define CONV_SEC_TO_IT(hz, secs) ROUND_TO_INTEGER((float)((secs) * (hz)) / (float)MIN_CYCLES) -#define CONV_IT_TO_SEC(hz, iterations) ROUND_TO_INTEGER((float)(iterations * MIN_CYCLES) / (float)hz) +#define CONV_SEC_TO_IT(hz, secs) (ROUND_TO_INTEGER((float)((secs) * (hz)) / (float)(MIN_CYCLES))) +#define CONV_IT_TO_SEC(hz, iterations) (ROUND_TO_INTEGER((float)((iterations) * (MIN_CYCLES)) / (float)(hz))) /* Private typedef --------------------------------------------------------------*/ @@ -98,12 +97,10 @@ static void soft_time_setup(uint32_t wanted_sec, uint32_t hz, soft_time_handle_t static void soft_time_feed_dog(soft_time_handle_t *const soft_time); #if defined(RT_USING_PM) - static int wdt_pm_suspend(const struct rt_device *device, rt_uint8_t mode); - static void wdt_pm_resume(const struct rt_device *device, rt_uint8_t mode); - static int wdt_pm_frequency_change(const struct rt_device *device, rt_uint8_t mode); - - static void soft_time_freqeucy_change(uint32_t new_hz, soft_time_handle_t *const soft_time); - +static int wdt_pm_suspend(const struct rt_device *device, rt_uint8_t mode); +static void wdt_pm_resume(const struct rt_device *device, rt_uint8_t mode); +static int wdt_pm_frequency_change(const struct rt_device *device, rt_uint8_t mode); +static void soft_time_freqeucy_change(uint32_t new_hz, soft_time_handle_t *const soft_time); #endif /* Public functions -------------------------------------------------------------*/ @@ -129,8 +126,6 @@ static struct rt_device_pm_ops device_pm_ops = #endif - - #if defined(RT_USING_PM) /* device pm suspend() entry. */ @@ -204,7 +199,7 @@ static int wdt_pm_frequency_change(const struct rt_device *device, rt_uint8_t mo if (new_hz == soft_time.clock_hz) return (int)(RT_EOK); - /* frequency change occurs in critial section */ + /* frequency change occurs in critical section */ soft_time_freqeucy_change(new_hz, &soft_time); } @@ -241,7 +236,7 @@ static void soft_time_freqeucy_change(uint32_t new_hz, soft_time_handle_t *const if (corner_case) { - LOG_W("pm frequency change cause wdt intenal left iterations convert to 0.\n\r \ + LOG_W("pm frequency change cause wdt internal left iterations convert to 0.\n\r \ wdt driver will add another 1 iteration for this corner case."); } } @@ -263,7 +258,7 @@ static void hw_wdt_init(void) } -/* wdt device driver initialise. */ +/* wdt device driver initialize. */ int rt_hw_wdt_init(void) { rt_err_t ret; @@ -278,13 +273,12 @@ int rt_hw_wdt_init(void) rt_pm_device_register((struct rt_device *)&device_wdt, &device_pm_ops); #endif - return (int)ret; } INIT_BOARD_EXPORT(rt_hw_wdt_init); -/* Reigster rt-thread device.init() entry. */ +/* Register rt-thread device.init() entry. */ static rt_err_t wdt_init(rt_watchdog_t *dev) { soft_time_init(&soft_time); diff --git a/bsp/nuvoton/numaker-iot-m487/applications/main.c b/bsp/nuvoton/numaker-iot-m487/applications/main.c index bffd9956a0..16126baad0 100644 --- a/bsp/nuvoton/numaker-iot-m487/applications/main.c +++ b/bsp/nuvoton/numaker-iot-m487/applications/main.c @@ -10,7 +10,7 @@ * ******************************************************************************/ -#include +#include #include #include @@ -19,6 +19,8 @@ int main(int argc, char **argv) { +#if defined(RT_USING_PIN) + int counter = 0; /* set LEDR1 pin mode to output */ @@ -32,5 +34,6 @@ int main(int argc, char **argv) rt_thread_mdelay(500); } +#endif return 0; } diff --git a/bsp/nuvoton/numaker-iot-m487/board/board_dev.c b/bsp/nuvoton/numaker-iot-m487/board/board_dev.c index 7f3aafb45e..068573e8fe 100644 --- a/bsp/nuvoton/numaker-iot-m487/board/board_dev.c +++ b/bsp/nuvoton/numaker-iot-m487/board/board_dev.c @@ -145,7 +145,8 @@ INIT_APP_EXPORT(rt_hw_bmx055_port); #if defined(BOARD_USING_ESP8266) #include -#define LOG_TAG "at.sample.esp" +#define LOG_TAG "at.sample.esp" +#undef DBG_TAG #include static struct at_device_esp8266 esp0 = From f0fc56989cc4ac950f824b1475a5222f704c9678 Mon Sep 17 00:00:00 2001 From: Wayne Lin Date: Mon, 3 Aug 2020 15:14:51 +0800 Subject: [PATCH 15/34] Update driver supporting status. --- bsp/nuvoton/numaker-iot-m487/README.md | 2 +- bsp/nuvoton/numaker-pfm-m487/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bsp/nuvoton/numaker-iot-m487/README.md b/bsp/nuvoton/numaker-iot-m487/README.md index 185d77cbdf..480c536936 100644 --- a/bsp/nuvoton/numaker-iot-m487/README.md +++ b/bsp/nuvoton/numaker-iot-m487/README.md @@ -35,7 +35,7 @@ NuMaker-IoT-M487 provides multiple networking, interfaces, audio recording, play |Ethernet PHY| IP101GR | Supported | |Sensor| BMX055 | Supported | |Wi-Fi module| ESP8266-ESP12, AT firmware v1.7 | Supported | -|Audio Codec| NAU88L25, Supports MIC and earphone | Coming soon | +|Audio Codec| NAU88L25, Supports MIC and earphone | Supported | ## 2. Supported compiler Support GCC, MDK4, MDK5, IAR IDE/compilers. More information of these compiler version as following: diff --git a/bsp/nuvoton/numaker-pfm-m487/README.md b/bsp/nuvoton/numaker-pfm-m487/README.md index 3575f3b9c2..6f9a6c300c 100644 --- a/bsp/nuvoton/numaker-pfm-m487/README.md +++ b/bsp/nuvoton/numaker-pfm-m487/README.md @@ -32,7 +32,7 @@ NuMaker-PFM-M487 provides multiple networking, interfaces, audio recording, play | -- | -- | -- | |SPI flash | W25Q32 | Supported | |Ethernet PHY| IP101GR | Supported | -|Audio Codec| NAU88L25, Supports MIC and earphone | Coming soon | +|Audio Codec| NAU88L25, Supports MIC and earphone | Supported | ## 2. Supported compiler Support GCC, MDK4, MDK5, IAR IDE/compilers. More information of these compiler version as following: From bc830faf544d477d3f132f5c3975c03ee848111d Mon Sep 17 00:00:00 2001 From: wangyq2018 Date: Wed, 29 Jul 2020 15:36:40 +0800 Subject: [PATCH 16/34] bugfixed on SConscript --- bsp/essemi/es8p508x/SConscript | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bsp/essemi/es8p508x/SConscript b/bsp/essemi/es8p508x/SConscript index df4aa532be..11d722608a 100644 --- a/bsp/essemi/es8p508x/SConscript +++ b/bsp/essemi/es8p508x/SConscript @@ -1,8 +1,9 @@ # RT-Thread SConscript bridge import os +from building import * objs = [] -cwd = GetCurrentDir() +cwd = GetCurrentDir() list = os.listdir(cwd) for d in list: From b2a9b8308e45364dda9b288af4c754db724683ed Mon Sep 17 00:00:00 2001 From: tangweikang Date: Tue, 4 Aug 2020 11:01:22 +0800 Subject: [PATCH 17/34] [components][usb] word error : PROERTY -> PROPERTY --- components/drivers/include/drivers/usb_common.h | 16 ++++++++-------- components/drivers/usb/usbdevice/class/winusb.c | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/components/drivers/include/drivers/usb_common.h b/components/drivers/include/drivers/usb_common.h index c26d83391e..4d85a85e35 100644 --- a/components/drivers/include/drivers/usb_common.h +++ b/components/drivers/include/drivers/usb_common.h @@ -435,15 +435,15 @@ typedef struct usb_os_proerty * usb_os_proerty_t; // 5 A big-endian 32-bit integer (REG_DWORD_BIG_ENDIAN) // 6 A NULL-terminated Unicode string that contains a symbolic link (REG_LINK) // 7 Multiple NULL-terminated Unicode strings (REG_MULTI_SZ) -#define USB_OS_PROERTY_TYPE_REG_SZ 0x01UL -#define USB_OS_PROERTY_TYPE_REG_EXPAND_SZ 0x02UL -#define USB_OS_PROERTY_TYPE_REG_BINARY 0x03UL -#define USB_OS_PROERTY_TYPE_REG_DWORD_LITTLE_ENDIAN 0x04UL -#define USB_OS_PROERTY_TYPE_REG_DWORD_BIG_ENDIAN 0x05UL -#define USB_OS_PROERTY_TYPE_REG_LINK 0x06UL -#define USB_OS_PROERTY_TYPE_REG_MULTI_SZ 0x07UL +#define USB_OS_PROPERTY_TYPE_REG_SZ 0x01UL +#define USB_OS_PROPERTY_TYPE_REG_EXPAND_SZ 0x02UL +#define USB_OS_PROPERTY_TYPE_REG_BINARY 0x03UL +#define USB_OS_PROPERTY_TYPE_REG_DWORD_LITTLE_ENDIAN 0x04UL +#define USB_OS_PROPERTY_TYPE_REG_DWORD_BIG_ENDIAN 0x05UL +#define USB_OS_PROPERTY_TYPE_REG_LINK 0x06UL +#define USB_OS_PROPERTY_TYPE_REG_MULTI_SZ 0x07UL -#define USB_OS_PROERTY_DESC(PropertyDataType,PropertyName,PropertyData) \ +#define USB_OS_PROPERTY_DESC(PropertyDataType,PropertyName,PropertyData) \ {\ .dwSize = sizeof(struct usb_os_proerty)-sizeof(const char *)*2\ +sizeof(PropertyName)*2+sizeof(PropertyData)*2,\ diff --git a/components/drivers/usb/usbdevice/class/winusb.c b/components/drivers/usb/usbdevice/class/winusb.c index bf4b353d73..729e39f663 100644 --- a/components/drivers/usb/usbdevice/class/winusb.c +++ b/components/drivers/usb/usbdevice/class/winusb.c @@ -121,7 +121,7 @@ const static char* _ustring[] = ALIGN(4) struct usb_os_proerty winusb_proerty[] = { - USB_OS_PROERTY_DESC(USB_OS_PROERTY_TYPE_REG_SZ,"DeviceInterfaceGUID",RT_WINUSB_GUID), + USB_OS_PROPERTY_DESC(USB_OS_PROPERTY_TYPE_REG_SZ,"DeviceInterfaceGUID",RT_WINUSB_GUID), }; ALIGN(4) From ba5f2a5bb63950a9360de6910d4c07f4fa80a3fb Mon Sep 17 00:00:00 2001 From: liuduanfei <939763442@qq.com> Date: Tue, 4 Aug 2020 15:10:43 +0800 Subject: [PATCH 18/34] Update Kconfig Change I2C configuration hierarchy --- components/drivers/Kconfig | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/components/drivers/Kconfig b/components/drivers/Kconfig index 4ebde15125..6dffd9d5ea 100755 --- a/components/drivers/Kconfig +++ b/components/drivers/Kconfig @@ -95,12 +95,11 @@ if RT_USING_I2C config RT_USING_I2C_BITOPS bool "Use GPIO to simulate I2C" default y -endif - -if RT_USING_I2C_BITOPS - config RT_I2C_BITOPS_DEBUG - bool "Use simulate I2C debug message" - default n + if RT_USING_I2C_BITOPS + config RT_I2C_BITOPS_DEBUG + bool "Use simulate I2C debug message" + default n + endif endif config RT_USING_PIN From 719b71a0155cc5053a238ca004d8c8ff73a5a989 Mon Sep 17 00:00:00 2001 From: liuduanfei <939763442@qq.com> Date: Tue, 4 Aug 2020 15:11:48 +0800 Subject: [PATCH 19/34] Update Kconfig --- components/drivers/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/components/drivers/Kconfig b/components/drivers/Kconfig index 6dffd9d5ea..471f68054f 100755 --- a/components/drivers/Kconfig +++ b/components/drivers/Kconfig @@ -95,6 +95,7 @@ if RT_USING_I2C config RT_USING_I2C_BITOPS bool "Use GPIO to simulate I2C" default y + if RT_USING_I2C_BITOPS config RT_I2C_BITOPS_DEBUG bool "Use simulate I2C debug message" From f7ba4a63413cf6a0d64ea03f7cb63eb58d1ad099 Mon Sep 17 00:00:00 2001 From: Meco <920369182@qq.com> Date: Wed, 5 Aug 2020 02:47:27 +0800 Subject: [PATCH 20/34] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E7=BC=96=E8=AF=91=EF=BC=8C=E9=98=B2=E6=AD=A2RT=5FUSING=5FDFS?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=AE=9A=E4=B9=89=E6=97=B6=20=5Fsys=5Fflen()?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E7=BC=96=E8=AF=91=E8=AD=A6=E5=91=8A=EF=BC=9A?= =?UTF-8?q?stat=E5=8F=98=E9=87=8F=E5=AE=9A=E4=B9=89=E4=BD=86=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E8=A2=AB=E8=B0=83=E7=94=A8=20=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/libc/compilers/armlibc/stubs.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/components/libc/compilers/armlibc/stubs.c b/components/libc/compilers/armlibc/stubs.c index b6ffb37b0f..8acde16495 100644 --- a/components/libc/compilers/armlibc/stubs.c +++ b/components/libc/compilers/armlibc/stubs.c @@ -9,6 +9,8 @@ * 2013-11-24 aozima fixed _sys_read()/_sys_write() issues. * 2014-08-03 bernard If using msh, use system() implementation * in msh. + * 2020-08-05 Meco Man fixed _sys_flen() compiling-warning when + * RT_USING_DFS is not defined */ #include @@ -265,7 +267,9 @@ RT_WEAK void _sys_exit(int return_code) */ long _sys_flen(FILEHANDLE fh) { +#ifdef RT_USING_DFS struct stat stat; +#endif if (fh < STDERR) return -1; From 3e46db932a97eda44b0a8189d3525f7d8debf21a Mon Sep 17 00:00:00 2001 From: Meco <920369182@qq.com> Date: Wed, 5 Aug 2020 03:12:26 +0800 Subject: [PATCH 21/34] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86nucel?= =?UTF-8?q?o=E5=BC=80=E5=8F=91=E6=9D=BFreadme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/stm32/stm32f072-st-nucleo/README.md | 2 +- bsp/stm32/stm32f091-st-nucleo/README.md | 8 ++++---- bsp/stm32/stm32f412-st-nucleo/README.md | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bsp/stm32/stm32f072-st-nucleo/README.md b/bsp/stm32/stm32f072-st-nucleo/README.md index 1e3f6391a6..e2d1a3e0ac 100644 --- a/bsp/stm32/stm32f072-st-nucleo/README.md +++ b/bsp/stm32/stm32f072-st-nucleo/README.md @@ -29,7 +29,7 @@ NUCLEO-F072RB 开发板常用 **板载资源** 如下: - 常用接口:USB 转串口、Arduino Uno 和 ST morpho 两类扩展接口 - 调试接口:板载 ST-LINK/V2-1 调试器。 -更多相关信息资料见 ST 官网详情页:[NUCLEO_F072RB_STM32Nucleo-64开发板]https://www.stmcu.com.cn/Designresource/design_resource_detail?file_name=NUCLEO_F072RB_STM32Nucleo-64%E5%BC%80%E5%8F%91%E6%9D%BF&lang=EN&ver= +开发板更多详细信息请参考意法半导体[NUCLEO-F072RB](https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-f072rb.html) ## 外设支持 diff --git a/bsp/stm32/stm32f091-st-nucleo/README.md b/bsp/stm32/stm32f091-st-nucleo/README.md index 5165ed6f85..5e19d41c65 100644 --- a/bsp/stm32/stm32f091-st-nucleo/README.md +++ b/bsp/stm32/stm32f091-st-nucleo/README.md @@ -1,8 +1,8 @@ -# BSP README 模板 +# NUCLEO-F091RC 开发板 BSP 说明 ## 简介 -本文档为 RT-Thread 开发团队为 STM32F091RC-NuCLEO 开发板提供的 BSP (板级支持包) 说明。 +本文档为 RT-Thread 开发团队为 STM32F091RC-NUCLEO 开发板提供的 BSP (板级支持包) 说明。 主要内容如下: @@ -22,7 +22,7 @@ STM32F091RC-NuCLEO 开发板是 ST 官方推出的一款基于 ARM Cortex-M0 内 该开发板常用 **板载资源** 如下: -- MCU:STM32F091,主频 48MHz,256KB FLASH ,32KB RAM +- MCU:STM32F091RC,主频 48MHz,256KB FLASH ,32KB RAM - 外部 RAM:无 - 外部 FLASH:无 - 常用外设 @@ -30,7 +30,7 @@ STM32F091RC-NuCLEO 开发板是 ST 官方推出的一款基于 ARM Cortex-M0 内 - 常用接口:USB 转串口、arduino 接口等 - 调试接口,标准 SWD -开发板更多详细信息请参考 ST 的 [NUCLEO 开发板介绍](https://www.st.com/en/evaluation-tools/stm32-mcu-nucleo.html?querycriteria=productId=LN1847)。 +开发板更多详细信息请参考意法半导体[NUCLEO-F091RC](https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-f091rc.html)。 ## 外设支持 diff --git a/bsp/stm32/stm32f412-st-nucleo/README.md b/bsp/stm32/stm32f412-st-nucleo/README.md index 10fb2c58fa..2502e29e29 100644 --- a/bsp/stm32/stm32f412-st-nucleo/README.md +++ b/bsp/stm32/stm32f412-st-nucleo/README.md @@ -20,9 +20,9 @@ ![board](figures/board.png) -该开发板常用 ** 板载资源 ** 如下: +该开发板常用 **板载资源** 如下: -- MCU:STM32F411ZG,主频 100MHz,1024KB FLASH ,256KB RAM。 +- MCU:STM32F412ZG,主频 100MHz,1024KB FLASH ,256KB RAM。 - 常用外设 - LED:3 个,USB communication (LD1), user LED (LD2), power LED (LD3) 。 - 按键,2 个,USER and RESET 。 @@ -71,7 +71,7 @@ #### 运行结果 -下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,红色 LD3 和 LD1 常亮、绿色 LD2 会周期性闪烁。 +下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,红色 LD3 和 LD1 常亮、蓝色 LD2 会周期性闪烁。 USB 虚拟 COM 端口默认连接串口 3,在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息: From 576475f14f66e3bc73fcef434ca51bb37420d49d Mon Sep 17 00:00:00 2001 From: Meco <920369182@qq.com> Date: Wed, 5 Aug 2020 09:28:10 +0800 Subject: [PATCH 22/34] change format --- components/libc/compilers/armlibc/stubs.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/components/libc/compilers/armlibc/stubs.c b/components/libc/compilers/armlibc/stubs.c index 8acde16495..b4cc13799e 100644 --- a/components/libc/compilers/armlibc/stubs.c +++ b/components/libc/compilers/armlibc/stubs.c @@ -269,16 +269,14 @@ long _sys_flen(FILEHANDLE fh) { #ifdef RT_USING_DFS struct stat stat; -#endif - + if (fh < STDERR) return -1; -#ifndef RT_USING_DFS - return -1; -#else fstat(fh, &stat); return stat.st_size; +#else + return -1; #endif } From 27a6ebf4b1f5be57661c7c6152ec3efc96a14855 Mon Sep 17 00:00:00 2001 From: liuduanfei <939763442@qq.com> Date: Wed, 5 Aug 2020 10:06:20 +0800 Subject: [PATCH 23/34] Update Kconfig --- components/drivers/Kconfig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/components/drivers/Kconfig b/components/drivers/Kconfig index 471f68054f..457b8751fe 100755 --- a/components/drivers/Kconfig +++ b/components/drivers/Kconfig @@ -97,10 +97,10 @@ if RT_USING_I2C default y if RT_USING_I2C_BITOPS - config RT_I2C_BITOPS_DEBUG - bool "Use simulate I2C debug message" - default n - endif + config RT_I2C_BITOPS_DEBUG + bool "Use simulate I2C debug message" + default n + endif endif config RT_USING_PIN From f44bdc1019c3c96091935c5dc4e09e0d0d8ec4ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A5=E6=97=A5=E6=96=B9=E9=95=BF?= <1125934312@qq.com> Date: Thu, 6 Aug 2020 12:10:49 +0800 Subject: [PATCH 24/34] Update SConscript --- bsp/stm32/stm32h750-armfly-h7-tool/board/SConscript | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bsp/stm32/stm32h750-armfly-h7-tool/board/SConscript b/bsp/stm32/stm32h750-armfly-h7-tool/board/SConscript index 20c211147f..5e388d5047 100644 --- a/bsp/stm32/stm32h750-armfly-h7-tool/board/SConscript +++ b/bsp/stm32/stm32h750-armfly-h7-tool/board/SConscript @@ -17,11 +17,11 @@ path = [cwd] path += [cwd + '/CubeMX_Config/Inc'] if rtconfig.CROSS_TOOL == 'gcc': - src += [cwd + '/../../libraries/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h743xx.s'] + src += [cwd + '/../../libraries/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h750xx.s'] elif rtconfig.CROSS_TOOL == 'keil': - src += [cwd + '/../../libraries/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/arm/startup_stm32h743xx.s'] + src += [cwd + '/../../libraries/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/arm/startup_stm32h750xx.s'] elif rtconfig.CROSS_TOOL == 'iar': - src += [cwd + '/../../libraries/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/iar/startup_stm32h743xx.s'] + src += [cwd + '/../../libraries/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/iar/startup_stm32h750xx.s'] # STM32H743xx || STM32H750xx || STM32F753xx # You can select chips from the list above From 49b86c6a2111a3b26dfcc7092b7e4f82ae2a3cd6 Mon Sep 17 00:00:00 2001 From: WangQiang Date: Thu, 6 Aug 2020 18:03:15 +0800 Subject: [PATCH 25/34] fixed gcc assembly option and objcopy option in rtconfig.py for imxrt1052-nxp-evk --- bsp/imxrt/imxrt1052-nxp-evk/rtconfig.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bsp/imxrt/imxrt1052-nxp-evk/rtconfig.py b/bsp/imxrt/imxrt1052-nxp-evk/rtconfig.py index 44de4dc1df..1c90a8bdaa 100644 --- a/bsp/imxrt/imxrt1052-nxp-evk/rtconfig.py +++ b/bsp/imxrt/imxrt1052-nxp-evk/rtconfig.py @@ -53,6 +53,9 @@ if PLATFORM == 'gcc': CPATH = '' LPATH = '' + AFLAGS += ' -D__STARTUP_INITIALIZE_NONCACHEDATA' + AFLAGS += ' -D__STARTUP_CLEAR_BSS' + if BUILD == 'debug': CFLAGS += ' -gdwarf-2' AFLAGS += ' -gdwarf-2' @@ -60,7 +63,7 @@ if PLATFORM == 'gcc': else: CFLAGS += ' -O2 -Os' - POST_ACTION = OBJCPY + ' -O binary --remove-section=.boot_data --remove-section=.image_vertor_table --remove-section=.ncache $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' + POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' # module setting CXXFLAGS = ' -Woverloaded-virtual -fno-exceptions -fno-rtti ' From ad3e6d889854f646fcfb1abc618d5fa3e1140b4e Mon Sep 17 00:00:00 2001 From: Bernard Xiong Date: Fri, 7 Aug 2020 08:51:22 +0800 Subject: [PATCH 26/34] [DFS] clean the unnecessary checking --- components/dfs/src/dfs_fs.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/components/dfs/src/dfs_fs.c b/components/dfs/src/dfs_fs.c index 476e47fc06..c21b914727 100644 --- a/components/dfs/src/dfs_fs.c +++ b/components/dfs/src/dfs_fs.c @@ -129,7 +129,7 @@ const char *dfs_filesystem_get_mounted_path(struct rt_device *device) for (iter = &filesystem_table[0]; iter < &filesystem_table[DFS_FILESYSTEMS_MAX]; iter++) { - /* fint the mounted device */ + /* find the mounted device */ if (iter->ops == NULL) continue; else if (iter->dev_id == device) { @@ -321,7 +321,7 @@ int dfs_mount(const char *device_name, if (rt_device_open(fs->dev_id, RT_DEVICE_OFLAG_RDWR) != RT_EOK) { - /* The underlaying device has error, clear the entry. */ + /* The underlying device has error, clear the entry. */ dfs_lock(); memset(fs, 0, sizeof(struct dfs_filesystem)); @@ -568,8 +568,7 @@ int dfs_unmount_device(rt_device_t dev) iter < &filesystem_table[DFS_FILESYSTEMS_MAX]; iter++) { /* check if the PATH is mounted */ - if ((iter->dev_id->parent.name != NULL) - && (strcmp(iter->dev_id->parent.name, dev->parent.name) == 0)) + if (strcmp(iter->dev_id->parent.name, dev->parent.name) == 0) { fs = iter; break; From b254563a67154faa30a8de71479a86286ae40c38 Mon Sep 17 00:00:00 2001 From: supperthomas <78900636@qq.com> Date: Fri, 7 Aug 2020 21:35:33 +0800 Subject: [PATCH 27/34] [bsp/nrfx5]: fix the board of nrf52832(pca10040) --- bsp/nrf5x/libraries/drivers/drv_gpio.c | 16 - bsp/nrf5x/libraries/drivers/drv_gpio.h | 1 - bsp/nrf5x/nrf52832/.config | 63 +- bsp/nrf5x/nrf52832/SConstruct | 3 + bsp/nrf5x/nrf52832/applications/application.c | 56 +- bsp/nrf5x/nrf52832/applications/ble_nus_app.c | 670 - bsp/nrf5x/nrf52832/applications/sdk_config.h | 3991 ------ bsp/nrf5x/nrf52832/applications/startup.c | 98 - bsp/nrf5x/nrf52832/board/Kconfig | 278 +- bsp/nrf5x/nrf52832/board/SConscript | 3 +- bsp/nrf5x/nrf52832/board/app_config.h | 4 + bsp/nrf5x/nrf52832/board/board.c | 283 +- bsp/nrf5x/nrf52832/board/board.h | 20 +- .../nrf52832/board/linker_scripts/link.sct | 6 +- bsp/nrf5x/nrf52832/board/nrfx_config.h | 47 + bsp/nrf5x/nrf52832/board/nrfx_glue.h | 269 + bsp/nrf5x/nrf52832/board/nrfx_log.h | 135 + bsp/nrf5x/nrf52832/board/sdk_config.h | 11704 ++++++++++++++++ bsp/nrf5x/nrf52832/project.uvoptx | 1316 +- bsp/nrf5x/nrf52832/project.uvprojx | 538 +- bsp/nrf5x/nrf52832/rtconfig.h | 20 +- bsp/nrf5x/nrf52832/template.uvoptx | 4 +- bsp/nrf5x/nrf52832/template.uvprojx | 18 +- 23 files changed, 13658 insertions(+), 5885 deletions(-) delete mode 100644 bsp/nrf5x/nrf52832/applications/ble_nus_app.c delete mode 100644 bsp/nrf5x/nrf52832/applications/sdk_config.h delete mode 100644 bsp/nrf5x/nrf52832/applications/startup.c create mode 100644 bsp/nrf5x/nrf52832/board/app_config.h create mode 100644 bsp/nrf5x/nrf52832/board/nrfx_config.h create mode 100644 bsp/nrf5x/nrf52832/board/nrfx_glue.h create mode 100644 bsp/nrf5x/nrf52832/board/nrfx_log.h create mode 100644 bsp/nrf5x/nrf52832/board/sdk_config.h diff --git a/bsp/nrf5x/libraries/drivers/drv_gpio.c b/bsp/nrf5x/libraries/drivers/drv_gpio.c index 001839b2b4..3084fbc043 100644 --- a/bsp/nrf5x/libraries/drivers/drv_gpio.c +++ b/bsp/nrf5x/libraries/drivers/drv_gpio.c @@ -46,22 +46,6 @@ static const struct pin_index pins[] = __NRF5X_PIN(29, 0, 29), __NRF5X_PIN(30, 0, 30), __NRF5X_PIN(31, 0, 31), - __NRF5X_PIN(32, 1, 0 ), - __NRF5X_PIN(33, 1, 1 ), - __NRF5X_PIN(34, 1, 2 ), - __NRF5X_PIN(35, 1, 3 ), - __NRF5X_PIN(36, 1, 4 ), - __NRF5X_PIN(37, 1, 5 ), - __NRF5X_PIN(38, 1, 6 ), - __NRF5X_PIN(39, 1, 7 ), - __NRF5X_PIN(40, 1, 8 ), - __NRF5X_PIN(41, 1, 9 ), - __NRF5X_PIN(42, 1, 10), - __NRF5X_PIN(43, 1, 11), - __NRF5X_PIN(44, 1, 12), - __NRF5X_PIN(45, 1, 13), - __NRF5X_PIN(46, 1, 14), - __NRF5X_PIN(47, 1, 15), }; /* EVENTS_IN[n](n=0..7) and EVENTS_PORT */ diff --git a/bsp/nrf5x/libraries/drivers/drv_gpio.h b/bsp/nrf5x/libraries/drivers/drv_gpio.h index 28eca1a810..bb04697ab5 100644 --- a/bsp/nrf5x/libraries/drivers/drv_gpio.h +++ b/bsp/nrf5x/libraries/drivers/drv_gpio.h @@ -13,7 +13,6 @@ #include #include -#include #include #include diff --git a/bsp/nrf5x/nrf52832/.config b/bsp/nrf5x/nrf52832/.config index 385179fda9..0638293bd5 100644 --- a/bsp/nrf5x/nrf52832/.config +++ b/bsp/nrf5x/nrf52832/.config @@ -74,7 +74,9 @@ CONFIG_RT_VER_NUM=0x40003 # RT-Thread Components # CONFIG_RT_USING_COMPONENTS_INIT=y -# CONFIG_RT_USING_USER_MAIN is not set +CONFIG_RT_USING_USER_MAIN=y +CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 +CONFIG_RT_MAIN_THREAD_PRIORITY=10 # # C++ features @@ -112,7 +114,7 @@ CONFIG_RT_USING_DEVICE_IPC=y CONFIG_RT_PIPE_BUFSZ=512 # CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set CONFIG_RT_USING_SERIAL=y -CONFIG_RT_SERIAL_USING_DMA=y +# CONFIG_RT_SERIAL_USING_DMA is not set CONFIG_RT_SERIAL_RB_BUFSZ=64 # CONFIG_RT_USING_CAN is not set # CONFIG_RT_USING_HWTIMER is not set @@ -120,6 +122,7 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64 # CONFIG_RT_USING_I2C is not set CONFIG_RT_USING_PIN=y # CONFIG_RT_USING_ADC is not set +# CONFIG_RT_USING_DAC is not set # CONFIG_RT_USING_PWM is not set # CONFIG_RT_USING_MTD_NOR is not set # CONFIG_RT_USING_MTD_NAND is not set @@ -192,12 +195,15 @@ CONFIG_RT_USING_LIBC=y # # IoT - internet of things # +# CONFIG_PKG_USING_LORAWAN_DRIVER is not set # CONFIG_PKG_USING_PAHOMQTT is not set +# CONFIG_PKG_USING_UMQTT is not set # CONFIG_PKG_USING_WEBCLIENT is not set # CONFIG_PKG_USING_WEBNET is not set # CONFIG_PKG_USING_MONGOOSE is not set # CONFIG_PKG_USING_MYMQTT is not set # CONFIG_PKG_USING_KAWAII_MQTT is not set +# CONFIG_PKG_USING_BC28_MQTT is not set # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_CJSON is not set # CONFIG_PKG_USING_JSMN is not set @@ -224,6 +230,7 @@ CONFIG_RT_USING_LIBC=y # CONFIG_PKG_USING_COAP is not set # CONFIG_PKG_USING_NOPOLL is not set # CONFIG_PKG_USING_NETUTILS is not set +# CONFIG_PKG_USING_CMUX is not set # CONFIG_PKG_USING_PPP_DEVICE is not set # CONFIG_PKG_USING_AT_DEVICE is not set # CONFIG_PKG_USING_ATSRV_SOCKET is not set @@ -236,9 +243,10 @@ CONFIG_RT_USING_LIBC=y # CONFIG_PKG_USING_GAGENT_CLOUD is not set # CONFIG_PKG_USING_ALI_IOTKIT is not set # CONFIG_PKG_USING_AZURE is not set -# CONFIG_PKG_USING_TENCENT_IOTHUB is not set +# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set +# CONFIG_PKG_USING_JOYLINK is not set # CONFIG_PKG_USING_NIMBLE is not set # CONFIG_PKG_USING_OTA_DOWNLOADER is not set # CONFIG_PKG_USING_IPMSG is not set @@ -257,6 +265,7 @@ CONFIG_RT_USING_LIBC=y # CONFIG_PKG_USING_CAPNP is not set # CONFIG_PKG_USING_RT_CJSON_TOOLS is not set # CONFIG_PKG_USING_AGILE_TELNET is not set +# CONFIG_PKG_USING_NMEALIB is not set # # security packages @@ -265,6 +274,7 @@ CONFIG_RT_USING_LIBC=y # CONFIG_PKG_USING_libsodium is not set # CONFIG_PKG_USING_TINYCRYPT is not set # CONFIG_PKG_USING_TFM is not set +# CONFIG_PKG_USING_YD_CRYPTO is not set # # language packages @@ -299,6 +309,8 @@ CONFIG_RT_USING_LIBC=y # CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set # CONFIG_PKG_USING_LUNAR_CALENDAR is not set # CONFIG_PKG_USING_BS8116A is not set +# CONFIG_PKG_USING_GPS_RMC is not set +# CONFIG_PKG_USING_URLENCODE is not set # # system packages @@ -309,6 +321,7 @@ CONFIG_RT_USING_LIBC=y # CONFIG_PKG_USING_LWEXT4 is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_FAL is not set +# CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set # CONFIG_PKG_USING_LITTLEVGL2RTT is not set @@ -321,6 +334,9 @@ CONFIG_RT_USING_LIBC=y # CONFIG_PKG_USING_SYSWATCH is not set # CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set # CONFIG_PKG_USING_PLCCORE is not set +# CONFIG_PKG_USING_RAMDISK is not set +# CONFIG_PKG_USING_MININI is not set +# CONFIG_PKG_USING_QBOOT is not set # # peripheral libraries and drivers @@ -338,6 +354,13 @@ CONFIG_RT_USING_LIBC=y # CONFIG_PKG_USING_SIGNAL_LED is not set # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set +# CONFIG_PKG_USING_LKDGUI is not set +# CONFIG_PKG_USING_NRF5X_SDK is not set +CONFIG_PKG_USING_NRFX=y +CONFIG_PKG_NRFX_PATH="/packages/peripherals/nrfx" +CONFIG_PKG_USING_NRFX_V210=y +# CONFIG_PKG_USING_NRFX_LATEST_VERSION is not set +CONFIG_PKG_NRFX_VER="v2.1.0" # CONFIG_PKG_USING_WM_LIBRARIES is not set # CONFIG_PKG_USING_KENDRYTE_SDK is not set # CONFIG_PKG_USING_INFRARED is not set @@ -355,13 +378,19 @@ CONFIG_RT_USING_LIBC=y # CONFIG_PKG_USING_RPLIDAR is not set # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set +# CONFIG_PKG_USING_WS2812B is not set # CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set +# CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set # CONFIG_PKG_USING_BEEP is not set -# CONFIG_PKG_USING_NORDIC_SDK is not set -# CONFIG_PKG_USING_NORDIC_SDK_V100 is not set -# CONFIG_PKG_USING_NORDIC_SDK_LATEST_VERSION is not set +# CONFIG_PKG_USING_EASYBLINK is not set +# CONFIG_PKG_USING_PMS_SERIES is not set +# CONFIG_PKG_USING_CAN_YMODEM is not set +# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set +# CONFIG_PKG_USING_QLED is not set +# CONFIG_PKG_USING_PAJ7620 is not set +# CONFIG_PKG_USING_AGILE_CONSOLE is not set # # miscellaneous packages @@ -398,17 +427,39 @@ CONFIG_RT_USING_LIBC=y # CONFIG_PKG_USING_VT100 is not set # CONFIG_PKG_USING_ULAPACK is not set # CONFIG_PKG_USING_UKAL is not set +# CONFIG_PKG_USING_CRCLIB is not set # # Hardware Drivers Config # CONFIG_SOC_NRF52832=y +CONFIG_SOC_NORDIC=y # # Onboard Peripheral Drivers # +# CONFIG_BSP_USING_JLINK_TO_USART is not set +# CONFIG_BSP_USING_QSPI_FLASH is not set # # On-chip Peripheral Drivers # +CONFIG_BSP_USING_GPIO=y +# CONFIG_BSP_USING_PWM is not set +# CONFIG_BSP_USING_SOFTDEVICE is not set CONFIG_BSP_USING_UART=y +CONFIG_BSP_USING_UART0=y +CONFIG_BSP_UART0_RX_PIN=8 +CONFIG_BSP_UART0_TX_PIN=6 +# CONFIG_BSP_USING_UART1 is not set +# CONFIG_BSP_USING_SPI is not set +# CONFIG_BSP_USING_ON_CHIP_FLASH is not set + +# +# On-chip flash config +# +CONFIG_MCU_FLASH_START_ADDRESS=0x00000000 +CONFIG_MCU_FLASH_SIZE_KB=1024 +CONFIG_MCU_SRAM_START_ADDRESS=0x20000000 +CONFIG_MCU_SRAM_SIZE_KB=256 +CONFIG_MCU_FLASH_PAGE_SIZE=0x1000 diff --git a/bsp/nrf5x/nrf52832/SConstruct b/bsp/nrf5x/nrf52832/SConstruct index 20d41c40ae..2ac1ce6674 100644 --- a/bsp/nrf5x/nrf52832/SConstruct +++ b/bsp/nrf5x/nrf52832/SConstruct @@ -50,5 +50,8 @@ objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) # include drivers objs.extend(SConscript(os.path.join(libraries_path_prefix, 'drivers', 'SConscript'))) +# include cmsis +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'cmsis', 'SConscript'))) + # make a building DoBuilding(TARGET, objs) diff --git a/bsp/nrf5x/nrf52832/applications/application.c b/bsp/nrf5x/nrf52832/applications/application.c index 1135d82e16..3e29eeeac3 100644 --- a/bsp/nrf5x/nrf52832/applications/application.c +++ b/bsp/nrf5x/nrf52832/applications/application.c @@ -1,48 +1,32 @@ /* - * File : application.c - * This file is part of RT-Thread RTOS - * COPYRIGHT (C) 2015, RT-Thread Development Team + * Copyright (c) 2006-2020, RT-Thread Development Team * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rt-thread.org/license/LICENSE + * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes - * 2015-03-01 Yangfs the first version - * 2015-03-27 Bernard code cleanup. + * 2020-04-29 supperthomas first version + * */ -/** - * @addtogroup NRF52832 - */ -/*@{*/ - #include +#include +#define DK_BOARD_LED_1 17 +#define DK_BOARD_LED_2 18 -#ifdef RT_USING_FINSH -#include -#include -#endif - -void rt_init_thread_entry(void* parameter) +int main(void) { - extern rt_err_t ble_init(void); - - ble_init(); + int count = 1; + rt_pin_mode(DK_BOARD_LED_1, PIN_MODE_OUTPUT); + + while (count++) + { + rt_pin_write(DK_BOARD_LED_1, PIN_HIGH); + rt_thread_mdelay(500); + + rt_pin_write(DK_BOARD_LED_1, PIN_LOW); + rt_thread_mdelay(500); + } + return RT_EOK; } -int rt_application_init(void) -{ - rt_thread_t tid; - - tid = rt_thread_create("init", rt_init_thread_entry, RT_NULL, 1024, - RT_THREAD_PRIORITY_MAX / 3, 20); - if (tid != RT_NULL) - rt_thread_startup(tid); - - return 0; -} - - -/*@}*/ diff --git a/bsp/nrf5x/nrf52832/applications/ble_nus_app.c b/bsp/nrf5x/nrf52832/applications/ble_nus_app.c deleted file mode 100644 index f4a51493ed..0000000000 --- a/bsp/nrf5x/nrf52832/applications/ble_nus_app.c +++ /dev/null @@ -1,670 +0,0 @@ -#include "nordic_common.h" -#include "nrf.h" -#include "ble_hci.h" -#include "ble_advdata.h" -#include "ble_advertising.h" -#include "ble_conn_params.h" -#include "softdevice_handler.h" -#include "nrf_ble_gatt.h" -#include "app_timer.h" -#include "ble_nus.h" -#include "app_util_platform.h" - -#include - -typedef rt_size_t (*BLE_NOTIFY_T)(rt_uint8_t *buf, rt_uint16_t size); - -#define STACK_EVT_MQ_NUM 10 - -#define FAST_ADV() \ - do { \ - uint32_t err_code; \ - err_code = ble_advertising_start(BLE_ADV_MODE_FAST); \ - APP_ERROR_CHECK(err_code); \ - } while(0) - -typedef enum -{ - STACK_EV_DISCON = 1, - STACK_EV_DISPATCH = 2, - STACK_EV_KEY = 4, -} STACK_EV_E; - -typedef struct -{ - rt_list_t node; - void* evt; -} evt_list_t; - -typedef enum -{ - STACK_STATE_IDLE = 0, - STACK_STATE_ADV = 1, - STACK_STATE_CON = 2, - STACK_STATE_DISC = 3 -} STACK_STATE_E; - -STACK_STATE_E stack_state = STACK_STATE_IDLE; - -rt_event_t stack_event; -rt_sem_t sd_evt_sem; -rt_mq_t stack_evt_mq; -rt_uint8_t *evt_sample; - -BLE_NOTIFY_T rx_notify = RT_NULL; - -// Low frequency clock source to be used by the SoftDevice -#define NRF_CLOCK_LFCLKSRC {.source = NRF_CLOCK_LF_SRC_XTAL, \ - .rc_ctiv = 0, \ - .rc_temp_ctiv = 0, \ - .xtal_accuracy = NRF_CLOCK_LF_XTAL_ACCURACY_20_PPM} - - -#define CONN_CFG_TAG 1 /**< A tag that refers to the BLE stack configuration we set with @ref sd_ble_cfg_set. Default tag is @ref BLE_CONN_CFG_TAG_DEFAULT. */ - -#define APP_FEATURE_NOT_SUPPORTED BLE_GATT_STATUS_ATTERR_APP_BEGIN + 2 /**< Reply when unsupported features are requested. */ - -#define DEVICE_NAME "Nordic_UART" /**< Name of device. Will be included in the advertising data. */ -#define NUS_SERVICE_UUID_TYPE BLE_UUID_TYPE_VENDOR_BEGIN /**< UUID type for the Nordic UART Service (vendor specific). */ - -#define APP_ADV_INTERVAL 64 /**< The advertising interval (in units of 0.625 ms. This value corresponds to 40 ms). */ -#define APP_ADV_TIMEOUT_IN_SECONDS 30 /**< The advertising timeout (in units of seconds). */ - -#define MIN_CONN_INTERVAL MSEC_TO_UNITS(20, UNIT_1_25_MS) /**< Minimum acceptable connection interval (20 ms), Connection interval uses 1.25 ms units. */ -#define MAX_CONN_INTERVAL MSEC_TO_UNITS(75, UNIT_1_25_MS) /**< Maximum acceptable connection interval (75 ms), Connection interval uses 1.25 ms units. */ -#define SLAVE_LATENCY 0 /**< Slave latency. */ -#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS) /**< Connection supervisory timeout (4 seconds), Supervision Timeout uses 10 ms units. */ -#define FIRST_CONN_PARAMS_UPDATE_DELAY APP_TIMER_TICKS(5000) /**< Time from initiating event (connect or start of notification) to first time sd_ble_gap_conn_param_update is called (5 seconds). */ -#define NEXT_CONN_PARAMS_UPDATE_DELAY APP_TIMER_TICKS(30000) /**< Time between each call to sd_ble_gap_conn_param_update after the first call (30 seconds). */ -#define MAX_CONN_PARAMS_UPDATE_COUNT 3 /**< Number of attempts before giving up the connection parameter negotiation. */ - -#define DEAD_BEEF 0xDEADBEEF /**< Value used as error code on stack dump, can be used to identify stack location on stack unwind. */ - -#define UART_TX_BUF_SIZE 256 /**< UART TX buffer size. */ -#define UART_RX_BUF_SIZE 256 /**< UART RX buffer size. */ - -static ble_nus_t m_nus; /**< Structure to identify the Nordic UART Service. */ -static uint16_t m_conn_handle = BLE_CONN_HANDLE_INVALID; /**< Handle of the current connection. */ - -static nrf_ble_gatt_t m_gatt; /**< GATT module instance. */ -static ble_uuid_t m_adv_uuids[] = {{BLE_UUID_NUS_SERVICE, NUS_SERVICE_UUID_TYPE}}; /**< Universally unique service identifier. */ -static uint16_t m_ble_nus_max_data_len = BLE_GATT_ATT_MTU_DEFAULT - 3; /**< Maximum length of data (in bytes) that can be transmitted to the peer by the Nordic UART service module. */ - -/**@brief Function for assert macro callback. - * - * @details This function will be called in case of an assert in the SoftDevice. - * - * @warning This handler is an example only and does not fit a final product. You need to analyse - * how your product is supposed to react in case of Assert. - * @warning On assert from the SoftDevice, the system can only recover on reset. - * - * @param[in] line_num Line number of the failing ASSERT call. - * @param[in] p_file_name File name of the failing ASSERT call. - */ -void assert_nrf_callback(uint16_t line_num, const uint8_t * p_file_name) -{ - app_error_handler(DEAD_BEEF, line_num, p_file_name); -} - - -/**@brief Function for the GAP initialization. - * - * @details This function will set up all the necessary GAP (Generic Access Profile) parameters of - * the device. It also sets the permissions and appearance. - */ -static void gap_params_init(void) -{ - uint32_t err_code; - ble_gap_conn_params_t gap_conn_params; - ble_gap_conn_sec_mode_t sec_mode; - - BLE_GAP_CONN_SEC_MODE_SET_OPEN(&sec_mode); - - err_code = sd_ble_gap_device_name_set(&sec_mode, - (const uint8_t *) DEVICE_NAME, - strlen(DEVICE_NAME)); - APP_ERROR_CHECK(err_code); - - memset(&gap_conn_params, 0, sizeof(gap_conn_params)); - - gap_conn_params.min_conn_interval = MIN_CONN_INTERVAL; - gap_conn_params.max_conn_interval = MAX_CONN_INTERVAL; - gap_conn_params.slave_latency = SLAVE_LATENCY; - gap_conn_params.conn_sup_timeout = CONN_SUP_TIMEOUT; - - err_code = sd_ble_gap_ppcp_set(&gap_conn_params); - APP_ERROR_CHECK(err_code); -} - - -/**@brief Function for handling the data from the Nordic UART Service. - * - * @details This function will process the data received from the Nordic UART BLE Service and send - * it to the UART module. - * - * @param[in] p_nus Nordic UART Service structure. - * @param[in] p_data Data to be send to UART module. - * @param[in] length Length of the data. - */ -/**@snippet [Handling the data received over BLE] */ -static void nus_data_handler(ble_nus_t * p_nus, uint8_t * p_data, uint16_t length) -{ - rt_kprintf("Received data from BLE NUS. Writing data on UART.\r\n"); - - for (uint32_t i = 0; i < length; i++) - { - rt_kprintf("%02x ", p_data[i]); - } - - // ble_send(p_data, length); - - if (rx_notify != RT_NULL) - { - rx_notify(p_data, length); - } -} -/**@snippet [Handling the data received over BLE] */ - - -/**@brief Function for initializing services that will be used by the application. - */ -static void services_init(void) -{ - uint32_t err_code; - ble_nus_init_t nus_init; - - memset(&nus_init, 0, sizeof(nus_init)); - - nus_init.data_handler = nus_data_handler; - - err_code = ble_nus_init(&m_nus, &nus_init); - APP_ERROR_CHECK(err_code); -} - - -/**@brief Function for handling an event from the Connection Parameters Module. - * - * @details This function will be called for all events in the Connection Parameters Module - * which are passed to the application. - * - * @note All this function does is to disconnect. This could have been done by simply setting - * the disconnect_on_fail config parameter, but instead we use the event handler - * mechanism to demonstrate its use. - * - * @param[in] p_evt Event received from the Connection Parameters Module. - */ -static void on_conn_params_evt(ble_conn_params_evt_t * p_evt) -{ - uint32_t err_code; - - if (p_evt->evt_type == BLE_CONN_PARAMS_EVT_FAILED) - { - err_code = sd_ble_gap_disconnect(m_conn_handle, BLE_HCI_CONN_INTERVAL_UNACCEPTABLE); - APP_ERROR_CHECK(err_code); - } -} - - -/**@brief Function for handling errors from the Connection Parameters module. - * - * @param[in] nrf_error Error code containing information about what went wrong. - */ -static void conn_params_error_handler(uint32_t nrf_error) -{ - APP_ERROR_HANDLER(nrf_error); -} - - -/**@brief Function for initializing the Connection Parameters module. - */ -static void conn_params_init(void) -{ - uint32_t err_code; - ble_conn_params_init_t cp_init; - - memset(&cp_init, 0, sizeof(cp_init)); - - cp_init.p_conn_params = NULL; - cp_init.first_conn_params_update_delay = FIRST_CONN_PARAMS_UPDATE_DELAY; - cp_init.next_conn_params_update_delay = NEXT_CONN_PARAMS_UPDATE_DELAY; - cp_init.max_conn_params_update_count = MAX_CONN_PARAMS_UPDATE_COUNT; - cp_init.start_on_notify_cccd_handle = BLE_GATT_HANDLE_INVALID; - cp_init.disconnect_on_fail = false; - cp_init.evt_handler = on_conn_params_evt; - cp_init.error_handler = conn_params_error_handler; - - err_code = ble_conn_params_init(&cp_init); - APP_ERROR_CHECK(err_code); -} - -/**@brief Function for handling advertising events. - * - * @details This function will be called for advertising events which are passed to the application. - * - * @param[in] ble_adv_evt Advertising event. - */ -static void on_adv_evt(ble_adv_evt_t ble_adv_evt) -{ - // uint32_t err_code; - - switch (ble_adv_evt) - { - case BLE_ADV_EVT_FAST: - // err_code = bsp_indication_set(BSP_INDICATE_ADVERTISING); - // APP_ERROR_CHECK(err_code); - stack_state = STACK_STATE_ADV; - rt_kprintf("ble fast advert\n"); - break; - case BLE_ADV_EVT_IDLE: - // sleep_mode_enter(); - stack_state = STACK_STATE_IDLE; - rt_kprintf("advert idle\n"); - break; - default: - break; - } -} - - -/**@brief Function for the application's SoftDevice event handler. - * - * @param[in] p_ble_evt SoftDevice event. - */ -static void on_ble_evt(ble_evt_t * p_ble_evt) -{ - uint32_t err_code; - - switch (p_ble_evt->header.evt_id) - { - case BLE_GAP_EVT_CONNECTED: - // err_code = bsp_indication_set(BSP_INDICATE_CONNECTED); - // APP_ERROR_CHECK(err_code); - m_conn_handle = p_ble_evt->evt.gap_evt.conn_handle; - stack_state = STACK_STATE_CON; - rt_kprintf("Connected\r\n"); - break; // BLE_GAP_EVT_CONNECTED - - case BLE_GAP_EVT_DISCONNECTED: - // err_code = bsp_indication_set(BSP_INDICATE_IDLE); - // APP_ERROR_CHECK(err_code); - m_conn_handle = BLE_CONN_HANDLE_INVALID; - stack_state = STACK_STATE_DISC; - rt_kprintf("Disconnected\r\n"); - break; // BLE_GAP_EVT_DISCONNECTED - - case BLE_GAP_EVT_SEC_PARAMS_REQUEST: - // Pairing not supported - err_code = sd_ble_gap_sec_params_reply(m_conn_handle, BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP, NULL, NULL); - APP_ERROR_CHECK(err_code); - break; // BLE_GAP_EVT_SEC_PARAMS_REQUEST - - case BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST: - { - ble_gap_data_length_params_t dl_params; - - // Clearing the struct will effectivly set members to @ref BLE_GAP_DATA_LENGTH_AUTO - memset(&dl_params, 0, sizeof(ble_gap_data_length_params_t)); - err_code = sd_ble_gap_data_length_update(p_ble_evt->evt.gap_evt.conn_handle, &dl_params, NULL); - APP_ERROR_CHECK(err_code); - } break; - - case BLE_GATTS_EVT_SYS_ATTR_MISSING: - // No system attributes have been stored. - err_code = sd_ble_gatts_sys_attr_set(m_conn_handle, NULL, 0, 0); - APP_ERROR_CHECK(err_code); - break; // BLE_GATTS_EVT_SYS_ATTR_MISSING - - case BLE_GATTC_EVT_TIMEOUT: - // Disconnect on GATT Client timeout event. - err_code = sd_ble_gap_disconnect(p_ble_evt->evt.gattc_evt.conn_handle, - BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION); - APP_ERROR_CHECK(err_code); - break; // BLE_GATTC_EVT_TIMEOUT - - case BLE_GATTS_EVT_TIMEOUT: - // Disconnect on GATT Server timeout event. - err_code = sd_ble_gap_disconnect(p_ble_evt->evt.gatts_evt.conn_handle, - BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION); - APP_ERROR_CHECK(err_code); - break; // BLE_GATTS_EVT_TIMEOUT - - case BLE_EVT_USER_MEM_REQUEST: - err_code = sd_ble_user_mem_reply(p_ble_evt->evt.gattc_evt.conn_handle, NULL); - APP_ERROR_CHECK(err_code); - break; // BLE_EVT_USER_MEM_REQUEST - - case BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST: - { - ble_gatts_evt_rw_authorize_request_t req; - ble_gatts_rw_authorize_reply_params_t auth_reply; - - req = p_ble_evt->evt.gatts_evt.params.authorize_request; - - if (req.type != BLE_GATTS_AUTHORIZE_TYPE_INVALID) - { - if ((req.request.write.op == BLE_GATTS_OP_PREP_WRITE_REQ) || - (req.request.write.op == BLE_GATTS_OP_EXEC_WRITE_REQ_NOW) || - (req.request.write.op == BLE_GATTS_OP_EXEC_WRITE_REQ_CANCEL)) - { - if (req.type == BLE_GATTS_AUTHORIZE_TYPE_WRITE) - { - auth_reply.type = BLE_GATTS_AUTHORIZE_TYPE_WRITE; - } - else - { - auth_reply.type = BLE_GATTS_AUTHORIZE_TYPE_READ; - } - auth_reply.params.write.gatt_status = APP_FEATURE_NOT_SUPPORTED; - err_code = sd_ble_gatts_rw_authorize_reply(p_ble_evt->evt.gatts_evt.conn_handle, - &auth_reply); - APP_ERROR_CHECK(err_code); - } - } - } break; // BLE_GATTS_EVT_RW_AUTHORIZE_REQUEST - - default: - // No implementation needed. - break; - } -} - - -/**@brief Function for dispatching a SoftDevice event to all modules with a SoftDevice - * event handler. - * - * @details This function is called from the SoftDevice event interrupt handler after a - * SoftDevice event has been received. - * - * @param[in] p_ble_evt SoftDevice event. - */ -static void ble_evt_dispatch(ble_evt_t * p_ble_evt) -{ - if (rt_mq_send(stack_evt_mq, p_ble_evt, p_ble_evt->header.evt_len) != RT_EOK) - { - rt_kprintf("dispatch malloc failure\n"); - } - else - { - rt_event_send(stack_event, STACK_EV_DISPATCH); - } -} - -static rt_err_t evt_dispatch_worker(void) -{ - ble_evt_t * p_ble_evt = (ble_evt_t *)evt_sample; - rt_err_t err; - - err = rt_mq_recv(stack_evt_mq, (void*)evt_sample, BLE_STACK_EVT_MSG_BUF_SIZE, RT_WAITING_NO); - - if (RT_EOK == err) - { - ble_conn_params_on_ble_evt(p_ble_evt); - nrf_ble_gatt_on_ble_evt(&m_gatt, p_ble_evt); - ble_nus_on_ble_evt(&m_nus, p_ble_evt); - on_ble_evt(p_ble_evt); - ble_advertising_on_ble_evt(p_ble_evt); - // bsp_btn_ble_on_ble_evt(p_ble_evt); - - rt_kprintf("ble evt dispatch\n"); - } - - return err; -} - -static uint32_t _softdevice_evt_schedule(void) -{ - rt_sem_release(sd_evt_sem); - - return NRF_SUCCESS; -} - -/**@brief Function for the SoftDevice initialization. - * - * @details This function initializes the SoftDevice and the BLE event interrupt. - */ -static void ble_stack_init(void) -{ - uint32_t err_code; - - nrf_clock_lf_cfg_t clock_lf_cfg = NRF_CLOCK_LFCLKSRC; - - // Initialize SoftDevice. - SOFTDEVICE_HANDLER_INIT(&clock_lf_cfg, _softdevice_evt_schedule); - - // Fetch the start address of the application RAM. - uint32_t ram_start = 0; - err_code = softdevice_app_ram_start_get(&ram_start); - APP_ERROR_CHECK(err_code); - - // Overwrite some of the default configurations for the BLE stack. - ble_cfg_t ble_cfg; - - // Configure the maximum number of connections. - memset(&ble_cfg, 0, sizeof(ble_cfg)); - ble_cfg.gap_cfg.role_count_cfg.periph_role_count = BLE_GAP_ROLE_COUNT_PERIPH_DEFAULT; - ble_cfg.gap_cfg.role_count_cfg.central_role_count = 0; - ble_cfg.gap_cfg.role_count_cfg.central_sec_count = 0; - err_code = sd_ble_cfg_set(BLE_GAP_CFG_ROLE_COUNT, &ble_cfg, ram_start); - APP_ERROR_CHECK(err_code); - - // Configure the maximum ATT MTU. - memset(&ble_cfg, 0x00, sizeof(ble_cfg)); - ble_cfg.conn_cfg.conn_cfg_tag = CONN_CFG_TAG; - ble_cfg.conn_cfg.params.gatt_conn_cfg.att_mtu = NRF_BLE_GATT_MAX_MTU_SIZE; - err_code = sd_ble_cfg_set(BLE_CONN_CFG_GATT, &ble_cfg, ram_start); - APP_ERROR_CHECK(err_code); - - // Configure the maximum event length. - memset(&ble_cfg, 0x00, sizeof(ble_cfg)); - ble_cfg.conn_cfg.conn_cfg_tag = CONN_CFG_TAG; - ble_cfg.conn_cfg.params.gap_conn_cfg.event_length = 320; - ble_cfg.conn_cfg.params.gap_conn_cfg.conn_count = BLE_GAP_CONN_COUNT_DEFAULT; - err_code = sd_ble_cfg_set(BLE_CONN_CFG_GAP, &ble_cfg, ram_start); - APP_ERROR_CHECK(err_code); - - // Enable BLE stack. - err_code = softdevice_enable(&ram_start); - APP_ERROR_CHECK(err_code); - - // Subscribe for BLE events. - err_code = softdevice_ble_evt_handler_set(ble_evt_dispatch); - APP_ERROR_CHECK(err_code); -} - -/**@brief Function for handling events from the GATT library. */ -static void gatt_evt_handler(nrf_ble_gatt_t * p_gatt, const nrf_ble_gatt_evt_t * p_evt) -{ - if ((m_conn_handle == p_evt->conn_handle) && (p_evt->evt_id == NRF_BLE_GATT_EVT_ATT_MTU_UPDATED)) - { - m_ble_nus_max_data_len = p_evt->params.att_mtu_effective - OPCODE_LENGTH - HANDLE_LENGTH; - rt_kprintf("Data len is set to 0x%X(%d)\r\n", m_ble_nus_max_data_len, m_ble_nus_max_data_len); - } - rt_kprintf("ATT MTU exchange completed. central 0x%x peripheral 0x%x\r\n", p_gatt->att_mtu_desired_central, p_gatt->att_mtu_desired_periph); -} - -/**@brief Function for initializing the GATT library. */ -static void gatt_init(void) -{ - ret_code_t err_code; - - err_code = nrf_ble_gatt_init(&m_gatt, gatt_evt_handler); - APP_ERROR_CHECK(err_code); - - err_code = nrf_ble_gatt_att_mtu_periph_set(&m_gatt, 64); - APP_ERROR_CHECK(err_code); -} - -/**@brief Function for initializing the Advertising functionality. - */ -static void advertising_init(void) -{ - uint32_t err_code; - ble_advdata_t advdata; - ble_advdata_t scanrsp; - ble_adv_modes_config_t options; - - // Build advertising data struct to pass into @ref ble_advertising_init. - memset(&advdata, 0, sizeof(advdata)); - advdata.name_type = BLE_ADVDATA_FULL_NAME; - advdata.include_appearance = false; - advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE; - - memset(&scanrsp, 0, sizeof(scanrsp)); - scanrsp.uuids_complete.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]); - scanrsp.uuids_complete.p_uuids = m_adv_uuids; - - memset(&options, 0, sizeof(options)); - options.ble_adv_fast_enabled = true; - options.ble_adv_fast_interval = APP_ADV_INTERVAL; - options.ble_adv_fast_timeout = APP_ADV_TIMEOUT_IN_SECONDS; - - err_code = ble_advertising_init(&advdata, &scanrsp, &options, on_adv_evt, NULL); - APP_ERROR_CHECK(err_code); - - ble_advertising_conn_cfg_tag_set(CONN_CFG_TAG); -} - -/**@brief Function for handling app_uart events. - * - * @details This function will receive a single character from the app_uart module and append it to - * a string. The string will be be sent over BLE when the last character received was a - * 'new line' '\n' (hex 0x0A) or if the string has reached the maximum data length. - */ -/**@snippet [Handling the data received over UART] */ -void uart_event_handle(rt_device_t uart) -{ - uint8_t data_array[BLE_NUS_MAX_DATA_LEN]; - rt_size_t size = 0; - uint32_t err_code; - - size = rt_device_read(uart, 0, data_array, BLE_NUS_MAX_DATA_LEN); - - if (size <= 0) - { - return; - } - - do - { - err_code = ble_nus_string_send(&m_nus, data_array, size); - if ( (err_code != NRF_ERROR_INVALID_STATE) && (err_code != NRF_ERROR_BUSY) ) - { - APP_ERROR_CHECK(err_code); - } - } while (err_code == NRF_ERROR_BUSY); -} -/**@snippet [Handling the data received over UART] */ - -/**@brief Function for initializing the UART module. - */ -/**@snippet [UART Initialization] */ -static rt_bool_t _stack_init(void) -{ - uint32_t err_code; - - stack_event = rt_event_create("stackev", RT_IPC_FLAG_FIFO); - sd_evt_sem = rt_sem_create("sdsem", 0, RT_IPC_FLAG_FIFO); - stack_evt_mq = rt_mq_create("stackmq", BLE_STACK_EVT_MSG_BUF_SIZE, STACK_EVT_MQ_NUM, RT_IPC_FLAG_FIFO); - evt_sample = rt_malloc(BLE_STACK_EVT_MSG_BUF_SIZE); - - if (!stack_event || !sd_evt_sem || !stack_evt_mq || !evt_sample) - { - rt_kprintf("uart rx sem create failure\n"); - return RT_FALSE; - } - - // Initialize. - err_code = app_timer_init(); - APP_ERROR_CHECK(err_code); - - ble_stack_init(); - gap_params_init(); - gatt_init(); - services_init(); - advertising_init(); - conn_params_init(); - - return RT_TRUE; -} - -/**@brief Application main function. - */ -static void _stack_thread(void *parameter) -{ - rt_tick_t next_timeout = (rt_tick_t)RT_WAITING_FOREVER; - - FAST_ADV(); - // Enter main loop. - for (;;) - { - rt_uint32_t event = 0; - rt_tick_t dispatch_timeout = RT_WAITING_NO; - - rt_event_recv(stack_event, STACK_EV_DISCON | STACK_EV_DISPATCH | STACK_EV_KEY, - RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, next_timeout, &event); - - if (evt_dispatch_worker() != RT_EOK) - { - dispatch_timeout = (rt_tick_t)RT_WAITING_FOREVER; - } - - if (event & STACK_EV_DISCON) - { - if (BLE_CONN_HANDLE_INVALID != m_conn_handle) - { - sd_ble_gap_disconnect(m_conn_handle, BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION); - } - } - - if (event & STACK_EV_KEY) - { - if (stack_state != STACK_STATE_CON && stack_state != STACK_STATE_ADV) - { - FAST_ADV(); - } - } - - next_timeout = (rt_tick_t)RT_WAITING_FOREVER; - - if (dispatch_timeout < next_timeout) - { - next_timeout = dispatch_timeout; - } - } -} - -static void _softdevice_thread(void* parameter) -{ - for (;;) - { - rt_sem_take(sd_evt_sem, RT_WAITING_FOREVER); - intern_softdevice_events_execute(); - } -} - -rt_err_t ble_init(void) -{ - rt_thread_t thread; - - _stack_init(); - - thread = rt_thread_create("sdth", _softdevice_thread, RT_NULL, 512, 0, 10); - - if (thread != RT_NULL) - { - rt_thread_startup(thread); - } - else - { - return RT_ERROR; - } - - thread = rt_thread_create("bleth", _stack_thread, RT_NULL, 2048, 1, 10); - - if (thread != RT_NULL) - { - return rt_thread_startup(thread); - } - - return RT_ERROR; -} diff --git a/bsp/nrf5x/nrf52832/applications/sdk_config.h b/bsp/nrf5x/nrf52832/applications/sdk_config.h deleted file mode 100644 index 72abeeed7c..0000000000 --- a/bsp/nrf5x/nrf52832/applications/sdk_config.h +++ /dev/null @@ -1,3991 +0,0 @@ - - -#ifndef SDK_CONFIG_H -#define SDK_CONFIG_H -// <<< Use Configuration Wizard in Context Menu >>>\n -#ifdef USE_APP_CONFIG -#include "app_config.h" -#endif -// nRF_BLE - -//========================================================== -// BLE_ADVERTISING_ENABLED - ble_advertising - Advertising module - - -#ifndef BLE_ADVERTISING_ENABLED -#define BLE_ADVERTISING_ENABLED 1 -#endif - -// BLE_DTM_ENABLED - ble_dtm - Module for testing RF/PHY using DTM commands - - -#ifndef BLE_DTM_ENABLED -#define BLE_DTM_ENABLED 0 -#endif - -// BLE_RACP_ENABLED - ble_racp - Record Access Control Point library - - -#ifndef BLE_RACP_ENABLED -#define BLE_RACP_ENABLED 0 -#endif - -// NRF_BLE_GATT_ENABLED - nrf_ble_gatt - GATT module -//========================================================== -#ifndef NRF_BLE_GATT_ENABLED -#define NRF_BLE_GATT_ENABLED 1 -#endif -#if NRF_BLE_GATT_ENABLED -// NRF_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size that is passed to the @ref sd_ble_enable function. -#ifndef NRF_BLE_GATT_MAX_MTU_SIZE -#define NRF_BLE_GATT_MAX_MTU_SIZE 158 -#endif - -#endif //NRF_BLE_GATT_ENABLED -// - -// NRF_BLE_QWR_ENABLED - nrf_ble_qwr - Queued writes support module (prepare/execute write) - - -#ifndef NRF_BLE_QWR_ENABLED -#define NRF_BLE_QWR_ENABLED 0 -#endif - -// PEER_MANAGER_ENABLED - peer_manager - Peer Manager - - -#ifndef PEER_MANAGER_ENABLED -#define PEER_MANAGER_ENABLED 0 -#endif - -// -//========================================================== - -// nRF_BLE_Services - -//========================================================== -// BLE_ANCS_C_ENABLED - ble_ancs_c - Apple Notification Service Client - - -#ifndef BLE_ANCS_C_ENABLED -#define BLE_ANCS_C_ENABLED 0 -#endif - -// BLE_ANS_C_ENABLED - ble_ans_c - Alert Notification Service Client - - -#ifndef BLE_ANS_C_ENABLED -#define BLE_ANS_C_ENABLED 0 -#endif - -// BLE_BAS_C_ENABLED - ble_bas_c - Battery Service Client - - -#ifndef BLE_BAS_C_ENABLED -#define BLE_BAS_C_ENABLED 0 -#endif - -// BLE_BAS_ENABLED - ble_bas - Battery Service - - -#ifndef BLE_BAS_ENABLED -#define BLE_BAS_ENABLED 0 -#endif - -// BLE_CSCS_ENABLED - ble_cscs - Cycling Speed and Cadence Service - - -#ifndef BLE_CSCS_ENABLED -#define BLE_CSCS_ENABLED 0 -#endif - -// BLE_CTS_C_ENABLED - ble_cts_c - Current Time Service Client - - -#ifndef BLE_CTS_C_ENABLED -#define BLE_CTS_C_ENABLED 0 -#endif - -// BLE_DIS_ENABLED - ble_dis - Device Information Service - - -#ifndef BLE_DIS_ENABLED -#define BLE_DIS_ENABLED 0 -#endif - -// BLE_GLS_ENABLED - ble_gls - Glucose Service - - -#ifndef BLE_GLS_ENABLED -#define BLE_GLS_ENABLED 0 -#endif - -// BLE_HIDS_ENABLED - ble_hids - Human Interface Device Service - - -#ifndef BLE_HIDS_ENABLED -#define BLE_HIDS_ENABLED 0 -#endif - -// BLE_HRS_C_ENABLED - ble_hrs_c - Heart Rate Service Client -//========================================================== -#ifndef BLE_HRS_C_ENABLED -#define BLE_HRS_C_ENABLED 0 -#endif -#if BLE_HRS_C_ENABLED -// BLE_HRS_C_RR_INTERVALS_MAX_CNT - Maximum number of RR_INTERVALS per notification to be decoded -#ifndef BLE_HRS_C_RR_INTERVALS_MAX_CNT -#define BLE_HRS_C_RR_INTERVALS_MAX_CNT 30 -#endif - -#endif //BLE_HRS_C_ENABLED -// - -// BLE_HRS_ENABLED - ble_hrs - Heart Rate Service - - -#ifndef BLE_HRS_ENABLED -#define BLE_HRS_ENABLED 0 -#endif - -// BLE_HTS_ENABLED - ble_hts - Health Thermometer Service - - -#ifndef BLE_HTS_ENABLED -#define BLE_HTS_ENABLED 0 -#endif - -// BLE_IAS_C_ENABLED - ble_ias_c - Immediate Alert Service Client - - -#ifndef BLE_IAS_C_ENABLED -#define BLE_IAS_C_ENABLED 0 -#endif - -// BLE_IAS_ENABLED - ble_ias - Immediate Alert Service - - -#ifndef BLE_IAS_ENABLED -#define BLE_IAS_ENABLED 0 -#endif - -// BLE_LBS_C_ENABLED - ble_lbs_c - Nordic LED Button Service Client - - -#ifndef BLE_LBS_C_ENABLED -#define BLE_LBS_C_ENABLED 0 -#endif - -// BLE_LBS_ENABLED - ble_lbs - LED Button Service - - -#ifndef BLE_LBS_ENABLED -#define BLE_LBS_ENABLED 0 -#endif - -// BLE_LLS_ENABLED - ble_lls - Link Loss Service - - -#ifndef BLE_LLS_ENABLED -#define BLE_LLS_ENABLED 0 -#endif - -// BLE_NUS_C_ENABLED - ble_nus_c - Nordic UART Central Service - - -#ifndef BLE_NUS_C_ENABLED -#define BLE_NUS_C_ENABLED 0 -#endif - -// BLE_NUS_ENABLED - ble_nus - Nordic UART Service - - -#ifndef BLE_NUS_ENABLED -#define BLE_NUS_ENABLED 1 -#endif - -// BLE_RSCS_C_ENABLED - ble_rscs_c - Running Speed and Cadence Client - - -#ifndef BLE_RSCS_C_ENABLED -#define BLE_RSCS_C_ENABLED 0 -#endif - -// BLE_RSCS_ENABLED - ble_rscs - Running Speed and Cadence Service - - -#ifndef BLE_RSCS_ENABLED -#define BLE_RSCS_ENABLED 0 -#endif - -// BLE_TPS_ENABLED - ble_tps - TX Power Service - - -#ifndef BLE_TPS_ENABLED -#define BLE_TPS_ENABLED 0 -#endif - -// -//========================================================== - -// nRF_Drivers - -//========================================================== -// APP_USBD_ENABLED - app_usbd - USB Device library -//========================================================== -#ifndef APP_USBD_ENABLED -#define APP_USBD_ENABLED 0 -#endif -#if APP_USBD_ENABLED -// APP_USBD_VID - Vendor ID <0x0000-0xFFFF> - - -// Vendor ID ordered from USB IF: http://www.usb.org/developers/vendor/ - -#ifndef APP_USBD_VID -#define APP_USBD_VID 0 -#endif - -// APP_USBD_PID - Product ID <0x0000-0xFFFF> - - -// Selected Product ID - -#ifndef APP_USBD_PID -#define APP_USBD_PID 0 -#endif - -// APP_USBD_DEVICE_VER_MAJOR - Device version, major part <0-99> - - -// Device version, will be converted automatically to BCD notation. Use just decimal values. - -#ifndef APP_USBD_DEVICE_VER_MAJOR -#define APP_USBD_DEVICE_VER_MAJOR 1 -#endif - -// APP_USBD_DEVICE_VER_MINOR - Device version, minor part <0-99> - - -// Device version, will be converted automatically to BCD notation. Use just decimal values. - -#ifndef APP_USBD_DEVICE_VER_MINOR -#define APP_USBD_DEVICE_VER_MINOR 0 -#endif - -#endif //APP_USBD_ENABLED -// - -// CLOCK_ENABLED - nrf_drv_clock - CLOCK peripheral driver -//========================================================== -#ifndef CLOCK_ENABLED -#define CLOCK_ENABLED 1 -#endif -#if CLOCK_ENABLED -// CLOCK_CONFIG_XTAL_FREQ - HF XTAL Frequency - -// <0=> Default (64 MHz) - -#ifndef CLOCK_CONFIG_XTAL_FREQ -#define CLOCK_CONFIG_XTAL_FREQ 0 -#endif - -// CLOCK_CONFIG_LF_SRC - LF Clock Source - -// <0=> RC -// <1=> XTAL -// <2=> Synth - -#ifndef CLOCK_CONFIG_LF_SRC -#define CLOCK_CONFIG_LF_SRC 1 -#endif - -// CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef CLOCK_CONFIG_IRQ_PRIORITY -#define CLOCK_CONFIG_IRQ_PRIORITY 7 -#endif - -// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef CLOCK_CONFIG_LOG_ENABLED -#define CLOCK_CONFIG_LOG_ENABLED 0 -#endif -#if CLOCK_CONFIG_LOG_ENABLED -// CLOCK_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef CLOCK_CONFIG_LOG_LEVEL -#define CLOCK_CONFIG_LOG_LEVEL 3 -#endif - -// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef CLOCK_CONFIG_INFO_COLOR -#define CLOCK_CONFIG_INFO_COLOR 0 -#endif - -// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef CLOCK_CONFIG_DEBUG_COLOR -#define CLOCK_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //CLOCK_CONFIG_LOG_ENABLED -// - -#endif //CLOCK_ENABLED -// - -// COMP_ENABLED - nrf_drv_comp - COMP peripheral driver -//========================================================== -#ifndef COMP_ENABLED -#define COMP_ENABLED 0 -#endif -#if COMP_ENABLED -// COMP_CONFIG_REF - Reference voltage - -// <0=> Internal 1.2V -// <1=> Internal 1.8V -// <2=> Internal 2.4V -// <4=> VDD -// <7=> ARef - -#ifndef COMP_CONFIG_REF -#define COMP_CONFIG_REF 1 -#endif - -// COMP_CONFIG_MAIN_MODE - Main mode - -// <0=> Single ended -// <1=> Differential - -#ifndef COMP_CONFIG_MAIN_MODE -#define COMP_CONFIG_MAIN_MODE 0 -#endif - -// COMP_CONFIG_SPEED_MODE - Speed mode - -// <0=> Low power -// <1=> Normal -// <2=> High speed - -#ifndef COMP_CONFIG_SPEED_MODE -#define COMP_CONFIG_SPEED_MODE 2 -#endif - -// COMP_CONFIG_HYST - Hystheresis - -// <0=> No -// <1=> 50mV - -#ifndef COMP_CONFIG_HYST -#define COMP_CONFIG_HYST 0 -#endif - -// COMP_CONFIG_ISOURCE - Current Source - -// <0=> Off -// <1=> 2.5 uA -// <2=> 5 uA -// <3=> 10 uA - -#ifndef COMP_CONFIG_ISOURCE -#define COMP_CONFIG_ISOURCE 0 -#endif - -// COMP_CONFIG_INPUT - Analog input - -// <0=> 0 -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef COMP_CONFIG_INPUT -#define COMP_CONFIG_INPUT 0 -#endif - -// COMP_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef COMP_CONFIG_IRQ_PRIORITY -#define COMP_CONFIG_IRQ_PRIORITY 7 -#endif - -// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef COMP_CONFIG_LOG_ENABLED -#define COMP_CONFIG_LOG_ENABLED 0 -#endif -#if COMP_CONFIG_LOG_ENABLED -// COMP_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef COMP_CONFIG_LOG_LEVEL -#define COMP_CONFIG_LOG_LEVEL 3 -#endif - -// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef COMP_CONFIG_INFO_COLOR -#define COMP_CONFIG_INFO_COLOR 0 -#endif - -// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef COMP_CONFIG_DEBUG_COLOR -#define COMP_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //COMP_CONFIG_LOG_ENABLED -// - -#endif //COMP_ENABLED -// - -// EGU_ENABLED - nrf_drv_swi - SWI(EGU) peripheral driver -//========================================================== -#ifndef EGU_ENABLED -#define EGU_ENABLED 0 -#endif -#if EGU_ENABLED -// SWI_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef SWI_CONFIG_LOG_ENABLED -#define SWI_CONFIG_LOG_ENABLED 0 -#endif -#if SWI_CONFIG_LOG_ENABLED -// SWI_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef SWI_CONFIG_LOG_LEVEL -#define SWI_CONFIG_LOG_LEVEL 3 -#endif - -// SWI_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef SWI_CONFIG_INFO_COLOR -#define SWI_CONFIG_INFO_COLOR 0 -#endif - -// SWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef SWI_CONFIG_DEBUG_COLOR -#define SWI_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //SWI_CONFIG_LOG_ENABLED -// - -#endif //EGU_ENABLED -// - -// GPIOTE_ENABLED - nrf_drv_gpiote - GPIOTE peripheral driver -//========================================================== -#ifndef GPIOTE_ENABLED -#define GPIOTE_ENABLED 1 -#endif -#if GPIOTE_ENABLED -// GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS - Number of lower power input pins -#ifndef GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS -#define GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS 4 -#endif - -// GPIOTE_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef GPIOTE_CONFIG_IRQ_PRIORITY -#define GPIOTE_CONFIG_IRQ_PRIORITY 7 -#endif - -// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef GPIOTE_CONFIG_LOG_ENABLED -#define GPIOTE_CONFIG_LOG_ENABLED 0 -#endif -#if GPIOTE_CONFIG_LOG_ENABLED -// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef GPIOTE_CONFIG_LOG_LEVEL -#define GPIOTE_CONFIG_LOG_LEVEL 3 -#endif - -// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef GPIOTE_CONFIG_INFO_COLOR -#define GPIOTE_CONFIG_INFO_COLOR 0 -#endif - -// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef GPIOTE_CONFIG_DEBUG_COLOR -#define GPIOTE_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //GPIOTE_CONFIG_LOG_ENABLED -// - -#endif //GPIOTE_ENABLED -// - -// I2S_ENABLED - nrf_drv_i2s - I2S peripheral driver -//========================================================== -#ifndef I2S_ENABLED -#define I2S_ENABLED 0 -#endif -#if I2S_ENABLED -// I2S_CONFIG_SCK_PIN - SCK pin <0-31> - - -#ifndef I2S_CONFIG_SCK_PIN -#define I2S_CONFIG_SCK_PIN 31 -#endif - -// I2S_CONFIG_LRCK_PIN - LRCK pin <1-31> - - -#ifndef I2S_CONFIG_LRCK_PIN -#define I2S_CONFIG_LRCK_PIN 30 -#endif - -// I2S_CONFIG_MCK_PIN - MCK pin -#ifndef I2S_CONFIG_MCK_PIN -#define I2S_CONFIG_MCK_PIN 255 -#endif - -// I2S_CONFIG_SDOUT_PIN - SDOUT pin <0-31> - - -#ifndef I2S_CONFIG_SDOUT_PIN -#define I2S_CONFIG_SDOUT_PIN 29 -#endif - -// I2S_CONFIG_SDIN_PIN - SDIN pin <0-31> - - -#ifndef I2S_CONFIG_SDIN_PIN -#define I2S_CONFIG_SDIN_PIN 28 -#endif - -// I2S_CONFIG_MASTER - Mode - -// <0=> Master -// <1=> Slave - -#ifndef I2S_CONFIG_MASTER -#define I2S_CONFIG_MASTER 0 -#endif - -// I2S_CONFIG_FORMAT - Format - -// <0=> I2S -// <1=> Aligned - -#ifndef I2S_CONFIG_FORMAT -#define I2S_CONFIG_FORMAT 0 -#endif - -// I2S_CONFIG_ALIGN - Alignment - -// <0=> Left -// <1=> Right - -#ifndef I2S_CONFIG_ALIGN -#define I2S_CONFIG_ALIGN 0 -#endif - -// I2S_CONFIG_SWIDTH - Sample width (bits) - -// <0=> 8 -// <1=> 16 -// <2=> 24 - -#ifndef I2S_CONFIG_SWIDTH -#define I2S_CONFIG_SWIDTH 1 -#endif - -// I2S_CONFIG_CHANNELS - Channels - -// <0=> Stereo -// <1=> Left -// <2=> Right - -#ifndef I2S_CONFIG_CHANNELS -#define I2S_CONFIG_CHANNELS 1 -#endif - -// I2S_CONFIG_MCK_SETUP - MCK behavior - -// <0=> Disabled -// <2147483648=> 32MHz/2 -// <1342177280=> 32MHz/3 -// <1073741824=> 32MHz/4 -// <805306368=> 32MHz/5 -// <671088640=> 32MHz/6 -// <536870912=> 32MHz/8 -// <402653184=> 32MHz/10 -// <369098752=> 32MHz/11 -// <285212672=> 32MHz/15 -// <268435456=> 32MHz/16 -// <201326592=> 32MHz/21 -// <184549376=> 32MHz/23 -// <142606336=> 32MHz/30 -// <138412032=> 32MHz/31 -// <134217728=> 32MHz/32 -// <100663296=> 32MHz/42 -// <68157440=> 32MHz/63 -// <34340864=> 32MHz/125 - -#ifndef I2S_CONFIG_MCK_SETUP -#define I2S_CONFIG_MCK_SETUP 536870912 -#endif - -// I2S_CONFIG_RATIO - MCK/LRCK ratio - -// <0=> 32x -// <1=> 48x -// <2=> 64x -// <3=> 96x -// <4=> 128x -// <5=> 192x -// <6=> 256x -// <7=> 384x -// <8=> 512x - -#ifndef I2S_CONFIG_RATIO -#define I2S_CONFIG_RATIO 2000 -#endif - -// I2S_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef I2S_CONFIG_IRQ_PRIORITY -#define I2S_CONFIG_IRQ_PRIORITY 7 -#endif - -// I2S_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef I2S_CONFIG_LOG_ENABLED -#define I2S_CONFIG_LOG_ENABLED 0 -#endif -#if I2S_CONFIG_LOG_ENABLED -// I2S_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef I2S_CONFIG_LOG_LEVEL -#define I2S_CONFIG_LOG_LEVEL 3 -#endif - -// I2S_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef I2S_CONFIG_INFO_COLOR -#define I2S_CONFIG_INFO_COLOR 0 -#endif - -// I2S_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef I2S_CONFIG_DEBUG_COLOR -#define I2S_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //I2S_CONFIG_LOG_ENABLED -// - -#endif //I2S_ENABLED -// - -// LPCOMP_ENABLED - nrf_drv_lpcomp - LPCOMP peripheral driver -//========================================================== -#ifndef LPCOMP_ENABLED -#define LPCOMP_ENABLED 0 -#endif -#if LPCOMP_ENABLED -// LPCOMP_CONFIG_REFERENCE - Reference voltage - -// <0=> Supply 1/8 -// <1=> Supply 2/8 -// <2=> Supply 3/8 -// <3=> Supply 4/8 -// <4=> Supply 5/8 -// <5=> Supply 6/8 -// <6=> Supply 7/8 -// <8=> Supply 1/16 (nRF52) -// <9=> Supply 3/16 (nRF52) -// <10=> Supply 5/16 (nRF52) -// <11=> Supply 7/16 (nRF52) -// <12=> Supply 9/16 (nRF52) -// <13=> Supply 11/16 (nRF52) -// <14=> Supply 13/16 (nRF52) -// <15=> Supply 15/16 (nRF52) -// <7=> External Ref 0 -// <65543=> External Ref 1 - -#ifndef LPCOMP_CONFIG_REFERENCE -#define LPCOMP_CONFIG_REFERENCE 3 -#endif - -// LPCOMP_CONFIG_DETECTION - Detection - -// <0=> Crossing -// <1=> Up -// <2=> Down - -#ifndef LPCOMP_CONFIG_DETECTION -#define LPCOMP_CONFIG_DETECTION 2 -#endif - -// LPCOMP_CONFIG_INPUT - Analog input - -// <0=> 0 -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef LPCOMP_CONFIG_INPUT -#define LPCOMP_CONFIG_INPUT 0 -#endif - -// LPCOMP_CONFIG_HYST - Hysteresis - - -#ifndef LPCOMP_CONFIG_HYST -#define LPCOMP_CONFIG_HYST 0 -#endif - -// LPCOMP_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef LPCOMP_CONFIG_IRQ_PRIORITY -#define LPCOMP_CONFIG_IRQ_PRIORITY 7 -#endif - -// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef LPCOMP_CONFIG_LOG_ENABLED -#define LPCOMP_CONFIG_LOG_ENABLED 0 -#endif -#if LPCOMP_CONFIG_LOG_ENABLED -// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef LPCOMP_CONFIG_LOG_LEVEL -#define LPCOMP_CONFIG_LOG_LEVEL 3 -#endif - -// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef LPCOMP_CONFIG_INFO_COLOR -#define LPCOMP_CONFIG_INFO_COLOR 0 -#endif - -// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef LPCOMP_CONFIG_DEBUG_COLOR -#define LPCOMP_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //LPCOMP_CONFIG_LOG_ENABLED -// - -#endif //LPCOMP_ENABLED -// - -// PDM_ENABLED - nrf_drv_pdm - PDM peripheral driver -//========================================================== -#ifndef PDM_ENABLED -#define PDM_ENABLED 0 -#endif -#if PDM_ENABLED -// PDM_CONFIG_MODE - Mode - -// <0=> Stereo -// <1=> Mono - -#ifndef PDM_CONFIG_MODE -#define PDM_CONFIG_MODE 1 -#endif - -// PDM_CONFIG_EDGE - Edge - -// <0=> Left falling -// <1=> Left rising - -#ifndef PDM_CONFIG_EDGE -#define PDM_CONFIG_EDGE 0 -#endif - -// PDM_CONFIG_CLOCK_FREQ - Clock frequency - -// <134217728=> 1000k -// <138412032=> 1032k (default) -// <142606336=> 1067k - -#ifndef PDM_CONFIG_CLOCK_FREQ -#define PDM_CONFIG_CLOCK_FREQ 138412032 -#endif - -// PDM_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef PDM_CONFIG_IRQ_PRIORITY -#define PDM_CONFIG_IRQ_PRIORITY 7 -#endif - -// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef PDM_CONFIG_LOG_ENABLED -#define PDM_CONFIG_LOG_ENABLED 0 -#endif -#if PDM_CONFIG_LOG_ENABLED -// PDM_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef PDM_CONFIG_LOG_LEVEL -#define PDM_CONFIG_LOG_LEVEL 3 -#endif - -// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef PDM_CONFIG_INFO_COLOR -#define PDM_CONFIG_INFO_COLOR 0 -#endif - -// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef PDM_CONFIG_DEBUG_COLOR -#define PDM_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //PDM_CONFIG_LOG_ENABLED -// - -#endif //PDM_ENABLED -// - -// PERIPHERAL_RESOURCE_SHARING_ENABLED - nrf_drv_common - Peripheral drivers common module -//========================================================== -#ifndef PERIPHERAL_RESOURCE_SHARING_ENABLED -#define PERIPHERAL_RESOURCE_SHARING_ENABLED 0 -#endif -#if PERIPHERAL_RESOURCE_SHARING_ENABLED -// COMMON_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef COMMON_CONFIG_LOG_ENABLED -#define COMMON_CONFIG_LOG_ENABLED 0 -#endif -#if COMMON_CONFIG_LOG_ENABLED -// COMMON_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef COMMON_CONFIG_LOG_LEVEL -#define COMMON_CONFIG_LOG_LEVEL 3 -#endif - -// COMMON_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef COMMON_CONFIG_INFO_COLOR -#define COMMON_CONFIG_INFO_COLOR 0 -#endif - -// COMMON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef COMMON_CONFIG_DEBUG_COLOR -#define COMMON_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //COMMON_CONFIG_LOG_ENABLED -// - -#endif //PERIPHERAL_RESOURCE_SHARING_ENABLED -// - -// POWER_ENABLED - nrf_drv_power - POWER peripheral driver -//========================================================== -#ifndef POWER_ENABLED -#define POWER_ENABLED 0 -#endif -#if POWER_ENABLED -// POWER_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef POWER_CONFIG_IRQ_PRIORITY -#define POWER_CONFIG_IRQ_PRIORITY 7 -#endif - -// POWER_CONFIG_DEFAULT_DCDCEN - The default configuration of main DCDC regulator - - -// This settings means only that components for DCDC regulator are installed and it can be enabled. - -#ifndef POWER_CONFIG_DEFAULT_DCDCEN -#define POWER_CONFIG_DEFAULT_DCDCEN 0 -#endif - -// POWER_CONFIG_DEFAULT_DCDCENHV - The default configuration of High Voltage DCDC regulator - - -// This settings means only that components for DCDC regulator are installed and it can be enabled. - -#ifndef POWER_CONFIG_DEFAULT_DCDCENHV -#define POWER_CONFIG_DEFAULT_DCDCENHV 0 -#endif - -#endif //POWER_ENABLED -// - -// PPI_ENABLED - nrf_drv_ppi - PPI peripheral driver -//========================================================== -#ifndef PPI_ENABLED -#define PPI_ENABLED 0 -#endif -#if PPI_ENABLED -// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef PPI_CONFIG_LOG_ENABLED -#define PPI_CONFIG_LOG_ENABLED 0 -#endif -#if PPI_CONFIG_LOG_ENABLED -// PPI_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef PPI_CONFIG_LOG_LEVEL -#define PPI_CONFIG_LOG_LEVEL 3 -#endif - -// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef PPI_CONFIG_INFO_COLOR -#define PPI_CONFIG_INFO_COLOR 0 -#endif - -// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef PPI_CONFIG_DEBUG_COLOR -#define PPI_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //PPI_CONFIG_LOG_ENABLED -// - -#endif //PPI_ENABLED -// - -// PWM_ENABLED - nrf_drv_pwm - PWM peripheral driver -//========================================================== -#ifndef PWM_ENABLED -#define PWM_ENABLED 1 -#endif -#if PWM_ENABLED -// PWM_DEFAULT_CONFIG_OUT0_PIN - Out0 pin <0-31> - - -#ifndef PWM_DEFAULT_CONFIG_OUT0_PIN -#define PWM_DEFAULT_CONFIG_OUT0_PIN 2 -#endif - -// PWM_DEFAULT_CONFIG_OUT1_PIN - Out1 pin <0-31> - - -#ifndef PWM_DEFAULT_CONFIG_OUT1_PIN -#define PWM_DEFAULT_CONFIG_OUT1_PIN 31 -#endif - -// PWM_DEFAULT_CONFIG_OUT2_PIN - Out2 pin <0-31> - - -#ifndef PWM_DEFAULT_CONFIG_OUT2_PIN -#define PWM_DEFAULT_CONFIG_OUT2_PIN 31 -#endif - -// PWM_DEFAULT_CONFIG_OUT3_PIN - Out3 pin <0-31> - - -#ifndef PWM_DEFAULT_CONFIG_OUT3_PIN -#define PWM_DEFAULT_CONFIG_OUT3_PIN 31 -#endif - -// PWM_DEFAULT_CONFIG_BASE_CLOCK - Base clock - -// <0=> 16 MHz -// <1=> 8 MHz -// <2=> 4 MHz -// <3=> 2 MHz -// <4=> 1 MHz -// <5=> 500 kHz -// <6=> 250 kHz -// <7=> 125 MHz - -#ifndef PWM_DEFAULT_CONFIG_BASE_CLOCK -#define PWM_DEFAULT_CONFIG_BASE_CLOCK 7 -#endif - -// PWM_DEFAULT_CONFIG_COUNT_MODE - Count mode - -// <0=> Up -// <1=> Up and Down - -#ifndef PWM_DEFAULT_CONFIG_COUNT_MODE -#define PWM_DEFAULT_CONFIG_COUNT_MODE 0 -#endif - -// PWM_DEFAULT_CONFIG_TOP_VALUE - Top value -#ifndef PWM_DEFAULT_CONFIG_TOP_VALUE -#define PWM_DEFAULT_CONFIG_TOP_VALUE 46 -#endif - -// PWM_DEFAULT_CONFIG_LOAD_MODE - Load mode - -// <0=> Common -// <1=> Grouped -// <2=> Individual -// <3=> Waveform - -#ifndef PWM_DEFAULT_CONFIG_LOAD_MODE -#define PWM_DEFAULT_CONFIG_LOAD_MODE 0 -#endif - -// PWM_DEFAULT_CONFIG_STEP_MODE - Step mode - -// <0=> Auto -// <1=> Triggered - -#ifndef PWM_DEFAULT_CONFIG_STEP_MODE -#define PWM_DEFAULT_CONFIG_STEP_MODE 0 -#endif - -// PWM_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef PWM_DEFAULT_CONFIG_IRQ_PRIORITY -#define PWM_DEFAULT_CONFIG_IRQ_PRIORITY 7 -#endif - -// PWM0_ENABLED - Enable PWM0 instance - - -#ifndef PWM0_ENABLED -#define PWM0_ENABLED 1 -#endif - -// PWM1_ENABLED - Enable PWM1 instance - - -#ifndef PWM1_ENABLED -#define PWM1_ENABLED 0 -#endif - -// PWM2_ENABLED - Enable PWM2 instance - - -#ifndef PWM2_ENABLED -#define PWM2_ENABLED 0 -#endif - -// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef PWM_CONFIG_LOG_ENABLED -#define PWM_CONFIG_LOG_ENABLED 0 -#endif -#if PWM_CONFIG_LOG_ENABLED -// PWM_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef PWM_CONFIG_LOG_LEVEL -#define PWM_CONFIG_LOG_LEVEL 3 -#endif - -// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef PWM_CONFIG_INFO_COLOR -#define PWM_CONFIG_INFO_COLOR 0 -#endif - -// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef PWM_CONFIG_DEBUG_COLOR -#define PWM_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //PWM_CONFIG_LOG_ENABLED -// - -// PWM_NRF52_ANOMALY_109_WORKAROUND_ENABLED - Enables nRF52 Anomaly 109 workaround for PWM. - -// The workaround uses interrupts to wake up the CPU and ensure -// it is active when PWM is about to start a DMA transfer. For -// initial transfer, done when a playback is started via PPI, -// a specific EGU instance is used to generate the interrupt. -// During the playback, the PWM interrupt triggered on SEQEND -// event of a preceding sequence is used to protect the transfer -// done for the next sequence to be played. -//========================================================== -#ifndef PWM_NRF52_ANOMALY_109_WORKAROUND_ENABLED -#define PWM_NRF52_ANOMALY_109_WORKAROUND_ENABLED 0 -#endif -#if PWM_NRF52_ANOMALY_109_WORKAROUND_ENABLED -// PWM_NRF52_ANOMALY_109_EGU_INSTANCE - EGU instance used by the nRF52 Anomaly 109 workaround for PWM. - -// <0=> EGU0 -// <1=> EGU1 -// <2=> EGU2 -// <3=> EGU3 -// <4=> EGU4 -// <5=> EGU5 - -#ifndef PWM_NRF52_ANOMALY_109_EGU_INSTANCE -#define PWM_NRF52_ANOMALY_109_EGU_INSTANCE 5 -#endif - -#endif //PWM_NRF52_ANOMALY_109_WORKAROUND_ENABLED -// - -#endif //PWM_ENABLED -// - -// QDEC_ENABLED - nrf_drv_qdec - QDEC peripheral driver -//========================================================== -#ifndef QDEC_ENABLED -#define QDEC_ENABLED 0 -#endif -#if QDEC_ENABLED -// QDEC_CONFIG_REPORTPER - Report period - -// <0=> 10 Samples -// <1=> 40 Samples -// <2=> 80 Samples -// <3=> 120 Samples -// <4=> 160 Samples -// <5=> 200 Samples -// <6=> 240 Samples -// <7=> 280 Samples - -#ifndef QDEC_CONFIG_REPORTPER -#define QDEC_CONFIG_REPORTPER 0 -#endif - -// QDEC_CONFIG_SAMPLEPER - Sample period - -// <0=> 128 us -// <1=> 256 us -// <2=> 512 us -// <3=> 1024 us -// <4=> 2048 us -// <5=> 4096 us -// <6=> 8192 us -// <7=> 16384 us - -#ifndef QDEC_CONFIG_SAMPLEPER -#define QDEC_CONFIG_SAMPLEPER 7 -#endif - -// QDEC_CONFIG_PIO_A - A pin <0-31> - - -#ifndef QDEC_CONFIG_PIO_A -#define QDEC_CONFIG_PIO_A 31 -#endif - -// QDEC_CONFIG_PIO_B - B pin <0-31> - - -#ifndef QDEC_CONFIG_PIO_B -#define QDEC_CONFIG_PIO_B 31 -#endif - -// QDEC_CONFIG_PIO_LED - LED pin <0-31> - - -#ifndef QDEC_CONFIG_PIO_LED -#define QDEC_CONFIG_PIO_LED 31 -#endif - -// QDEC_CONFIG_LEDPRE - LED pre -#ifndef QDEC_CONFIG_LEDPRE -#define QDEC_CONFIG_LEDPRE 511 -#endif - -// QDEC_CONFIG_LEDPOL - LED polarity - -// <0=> Active low -// <1=> Active high - -#ifndef QDEC_CONFIG_LEDPOL -#define QDEC_CONFIG_LEDPOL 1 -#endif - -// QDEC_CONFIG_DBFEN - Debouncing enable - - -#ifndef QDEC_CONFIG_DBFEN -#define QDEC_CONFIG_DBFEN 0 -#endif - -// QDEC_CONFIG_SAMPLE_INTEN - Sample ready interrupt enable - - -#ifndef QDEC_CONFIG_SAMPLE_INTEN -#define QDEC_CONFIG_SAMPLE_INTEN 0 -#endif - -// QDEC_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef QDEC_CONFIG_IRQ_PRIORITY -#define QDEC_CONFIG_IRQ_PRIORITY 7 -#endif - -// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef QDEC_CONFIG_LOG_ENABLED -#define QDEC_CONFIG_LOG_ENABLED 0 -#endif -#if QDEC_CONFIG_LOG_ENABLED -// QDEC_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef QDEC_CONFIG_LOG_LEVEL -#define QDEC_CONFIG_LOG_LEVEL 3 -#endif - -// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef QDEC_CONFIG_INFO_COLOR -#define QDEC_CONFIG_INFO_COLOR 0 -#endif - -// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef QDEC_CONFIG_DEBUG_COLOR -#define QDEC_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //QDEC_CONFIG_LOG_ENABLED -// - -#endif //QDEC_ENABLED -// - -// RNG_ENABLED - nrf_drv_rng - RNG peripheral driver -//========================================================== -#ifndef RNG_ENABLED -#define RNG_ENABLED 0 -#endif -#if RNG_ENABLED -// RNG_CONFIG_ERROR_CORRECTION - Error correction - - -#ifndef RNG_CONFIG_ERROR_CORRECTION -#define RNG_CONFIG_ERROR_CORRECTION 0 -#endif - -// RNG_CONFIG_POOL_SIZE - Pool size -#ifndef RNG_CONFIG_POOL_SIZE -#define RNG_CONFIG_POOL_SIZE 32 -#endif - -// RNG_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef RNG_CONFIG_IRQ_PRIORITY -#define RNG_CONFIG_IRQ_PRIORITY 7 -#endif - -// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef RNG_CONFIG_LOG_ENABLED -#define RNG_CONFIG_LOG_ENABLED 0 -#endif -#if RNG_CONFIG_LOG_ENABLED -// RNG_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef RNG_CONFIG_LOG_LEVEL -#define RNG_CONFIG_LOG_LEVEL 3 -#endif - -// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef RNG_CONFIG_INFO_COLOR -#define RNG_CONFIG_INFO_COLOR 0 -#endif - -// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef RNG_CONFIG_DEBUG_COLOR -#define RNG_CONFIG_DEBUG_COLOR 0 -#endif - -// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. - - -#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED -#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 -#endif - -#endif //RNG_CONFIG_LOG_ENABLED -// - -#endif //RNG_ENABLED -// - -// RTC_ENABLED - nrf_drv_rtc - RTC peripheral driver -//========================================================== -#ifndef RTC_ENABLED -#define RTC_ENABLED 0 -#endif -#if RTC_ENABLED -// RTC_DEFAULT_CONFIG_FREQUENCY - Frequency <16-32768> - - -#ifndef RTC_DEFAULT_CONFIG_FREQUENCY -#define RTC_DEFAULT_CONFIG_FREQUENCY 32768 -#endif - -// RTC_DEFAULT_CONFIG_RELIABLE - Ensures safe compare event triggering - - -#ifndef RTC_DEFAULT_CONFIG_RELIABLE -#define RTC_DEFAULT_CONFIG_RELIABLE 0 -#endif - -// RTC_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef RTC_DEFAULT_CONFIG_IRQ_PRIORITY -#define RTC_DEFAULT_CONFIG_IRQ_PRIORITY 7 -#endif - -// RTC0_ENABLED - Enable RTC0 instance - - -#ifndef RTC0_ENABLED -#define RTC0_ENABLED 0 -#endif - -// RTC1_ENABLED - Enable RTC1 instance - - -#ifndef RTC1_ENABLED -#define RTC1_ENABLED 0 -#endif - -// RTC2_ENABLED - Enable RTC2 instance - - -#ifndef RTC2_ENABLED -#define RTC2_ENABLED 0 -#endif - -// NRF_MAXIMUM_LATENCY_US - Maximum possible time[us] in highest priority interrupt -#ifndef NRF_MAXIMUM_LATENCY_US -#define NRF_MAXIMUM_LATENCY_US 2000 -#endif - -// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef RTC_CONFIG_LOG_ENABLED -#define RTC_CONFIG_LOG_ENABLED 0 -#endif -#if RTC_CONFIG_LOG_ENABLED -// RTC_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef RTC_CONFIG_LOG_LEVEL -#define RTC_CONFIG_LOG_LEVEL 3 -#endif - -// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef RTC_CONFIG_INFO_COLOR -#define RTC_CONFIG_INFO_COLOR 0 -#endif - -// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef RTC_CONFIG_DEBUG_COLOR -#define RTC_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //RTC_CONFIG_LOG_ENABLED -// - -#endif //RTC_ENABLED -// - -// SAADC_ENABLED - nrf_drv_saadc - SAADC peripheral driver -//========================================================== -#ifndef SAADC_ENABLED -#define SAADC_ENABLED 1 -#endif -#if SAADC_ENABLED -// SAADC_CONFIG_RESOLUTION - Resolution - -// <0=> 8 bit -// <1=> 10 bit -// <2=> 12 bit -// <3=> 14 bit - -#ifndef SAADC_CONFIG_RESOLUTION -#define SAADC_CONFIG_RESOLUTION 2 -#endif - -// SAADC_CONFIG_OVERSAMPLE - Sample period - -// <0=> Disabled -// <1=> 2x -// <2=> 4x -// <3=> 8x -// <4=> 16x -// <5=> 32x -// <6=> 64x -// <7=> 128x -// <8=> 256x - -#ifndef SAADC_CONFIG_OVERSAMPLE -#define SAADC_CONFIG_OVERSAMPLE 0 -#endif - -// SAADC_CONFIG_LP_MODE - Enabling low power mode - - -#ifndef SAADC_CONFIG_LP_MODE -#define SAADC_CONFIG_LP_MODE 0 -#endif - -// SAADC_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef SAADC_CONFIG_IRQ_PRIORITY -#define SAADC_CONFIG_IRQ_PRIORITY 7 -#endif - -// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef SAADC_CONFIG_LOG_ENABLED -#define SAADC_CONFIG_LOG_ENABLED 0 -#endif -#if SAADC_CONFIG_LOG_ENABLED -// SAADC_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef SAADC_CONFIG_LOG_LEVEL -#define SAADC_CONFIG_LOG_LEVEL 3 -#endif - -// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef SAADC_CONFIG_INFO_COLOR -#define SAADC_CONFIG_INFO_COLOR 0 -#endif - -// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef SAADC_CONFIG_DEBUG_COLOR -#define SAADC_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //SAADC_CONFIG_LOG_ENABLED -// - -#endif //SAADC_ENABLED -// - -// SPIS_ENABLED - nrf_drv_spis - SPI Slave driver -//========================================================== -#ifndef SPIS_ENABLED -#define SPIS_ENABLED 0 -#endif -#if SPIS_ENABLED -// SPIS_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef SPIS_DEFAULT_CONFIG_IRQ_PRIORITY -#define SPIS_DEFAULT_CONFIG_IRQ_PRIORITY 7 -#endif - -// SPIS_DEFAULT_MODE - Mode - -// <0=> MODE_0 -// <1=> MODE_1 -// <2=> MODE_2 -// <3=> MODE_3 - -#ifndef SPIS_DEFAULT_MODE -#define SPIS_DEFAULT_MODE 0 -#endif - -// SPIS_DEFAULT_BIT_ORDER - SPIS default bit order - -// <0=> MSB first -// <1=> LSB first - -#ifndef SPIS_DEFAULT_BIT_ORDER -#define SPIS_DEFAULT_BIT_ORDER 0 -#endif - -// SPIS_DEFAULT_DEF - SPIS default DEF character <0-255> - - -#ifndef SPIS_DEFAULT_DEF -#define SPIS_DEFAULT_DEF 255 -#endif - -// SPIS_DEFAULT_ORC - SPIS default ORC character <0-255> - - -#ifndef SPIS_DEFAULT_ORC -#define SPIS_DEFAULT_ORC 255 -#endif - -// SPIS0_ENABLED - Enable SPIS0 instance - - -#ifndef SPIS0_ENABLED -#define SPIS0_ENABLED 0 -#endif - -// SPIS1_ENABLED - Enable SPIS1 instance - - -#ifndef SPIS1_ENABLED -#define SPIS1_ENABLED 0 -#endif - -// SPIS2_ENABLED - Enable SPIS2 instance - - -#ifndef SPIS2_ENABLED -#define SPIS2_ENABLED 0 -#endif - -// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef SPIS_CONFIG_LOG_ENABLED -#define SPIS_CONFIG_LOG_ENABLED 0 -#endif -#if SPIS_CONFIG_LOG_ENABLED -// SPIS_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef SPIS_CONFIG_LOG_LEVEL -#define SPIS_CONFIG_LOG_LEVEL 3 -#endif - -// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef SPIS_CONFIG_INFO_COLOR -#define SPIS_CONFIG_INFO_COLOR 0 -#endif - -// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef SPIS_CONFIG_DEBUG_COLOR -#define SPIS_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //SPIS_CONFIG_LOG_ENABLED -// - -// SPIS_NRF52_ANOMALY_109_WORKAROUND_ENABLED - Enables nRF52 Anomaly 109 workaround for SPIS. - - -// The workaround uses a GPIOTE channel to generate interrupts -// on falling edges detected on the CSN line. This will make -// the CPU active for the moment when SPIS starts DMA transfers, -// and this way the transfers will be protected. -// This workaround uses GPIOTE driver, so this driver must be -// enabled as well. - -#ifndef SPIS_NRF52_ANOMALY_109_WORKAROUND_ENABLED -#define SPIS_NRF52_ANOMALY_109_WORKAROUND_ENABLED 0 -#endif - -#endif //SPIS_ENABLED -// - -// SPI_ENABLED - nrf_drv_spi - SPI/SPIM peripheral driver -//========================================================== -#ifndef SPI_ENABLED -#define SPI_ENABLED 0 -#endif -#if SPI_ENABLED -// SPI_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef SPI_DEFAULT_CONFIG_IRQ_PRIORITY -#define SPI_DEFAULT_CONFIG_IRQ_PRIORITY 7 -#endif - -// SPI0_ENABLED - Enable SPI0 instance -//========================================================== -#ifndef SPI0_ENABLED -#define SPI0_ENABLED 0 -#endif -#if SPI0_ENABLED -// SPI0_USE_EASY_DMA - Use EasyDMA - - -#ifndef SPI0_USE_EASY_DMA -#define SPI0_USE_EASY_DMA 1 -#endif - -// SPI0_DEFAULT_FREQUENCY - SPI frequency - -// <33554432=> 125 kHz -// <67108864=> 250 kHz -// <134217728=> 500 kHz -// <268435456=> 1 MHz -// <536870912=> 2 MHz -// <1073741824=> 4 MHz -// <2147483648=> 8 MHz - -#ifndef SPI0_DEFAULT_FREQUENCY -#define SPI0_DEFAULT_FREQUENCY 1073741824 -#endif - -#endif //SPI0_ENABLED -// - -// SPI1_ENABLED - Enable SPI1 instance -//========================================================== -#ifndef SPI1_ENABLED -#define SPI1_ENABLED 0 -#endif -#if SPI1_ENABLED -// SPI1_USE_EASY_DMA - Use EasyDMA - - -#ifndef SPI1_USE_EASY_DMA -#define SPI1_USE_EASY_DMA 1 -#endif - -// SPI1_DEFAULT_FREQUENCY - SPI frequency - -// <33554432=> 125 kHz -// <67108864=> 250 kHz -// <134217728=> 500 kHz -// <268435456=> 1 MHz -// <536870912=> 2 MHz -// <1073741824=> 4 MHz -// <2147483648=> 8 MHz - -#ifndef SPI1_DEFAULT_FREQUENCY -#define SPI1_DEFAULT_FREQUENCY 1073741824 -#endif - -#endif //SPI1_ENABLED -// - -// SPI2_ENABLED - Enable SPI2 instance -//========================================================== -#ifndef SPI2_ENABLED -#define SPI2_ENABLED 0 -#endif -#if SPI2_ENABLED -// SPI2_USE_EASY_DMA - Use EasyDMA - - -#ifndef SPI2_USE_EASY_DMA -#define SPI2_USE_EASY_DMA 1 -#endif - -// SPI2_DEFAULT_FREQUENCY - Use EasyDMA - - -#ifndef SPI2_DEFAULT_FREQUENCY -#define SPI2_DEFAULT_FREQUENCY 1 -#endif - -#endif //SPI2_ENABLED -// - -// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef SPI_CONFIG_LOG_ENABLED -#define SPI_CONFIG_LOG_ENABLED 0 -#endif -#if SPI_CONFIG_LOG_ENABLED -// SPI_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef SPI_CONFIG_LOG_LEVEL -#define SPI_CONFIG_LOG_LEVEL 3 -#endif - -// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef SPI_CONFIG_INFO_COLOR -#define SPI_CONFIG_INFO_COLOR 0 -#endif - -// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef SPI_CONFIG_DEBUG_COLOR -#define SPI_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //SPI_CONFIG_LOG_ENABLED -// - -// SPIM_NRF52_ANOMALY_109_WORKAROUND_ENABLED - Enables nRF52 anomaly 109 workaround for SPIM. - - -// The workaround uses interrupts to wake up the CPU by catching -// a start event of zero-length transmission to start the clock. This -// ensures that the DMA transfer will be executed without issues and -// that the proper transfer will be started. See more in the Errata -// document or Anomaly 109 Addendum located at -// https://infocenter.nordicsemi.com/ - -#ifndef SPIM_NRF52_ANOMALY_109_WORKAROUND_ENABLED -#define SPIM_NRF52_ANOMALY_109_WORKAROUND_ENABLED 0 -#endif - -#endif //SPI_ENABLED -// - -// TIMER_ENABLED - nrf_drv_timer - TIMER periperal driver -//========================================================== -#ifndef TIMER_ENABLED -#define TIMER_ENABLED 0 -#endif -#if TIMER_ENABLED -// TIMER_DEFAULT_CONFIG_FREQUENCY - Timer frequency if in Timer mode - -// <0=> 16 MHz -// <1=> 8 MHz -// <2=> 4 MHz -// <3=> 2 MHz -// <4=> 1 MHz -// <5=> 500 kHz -// <6=> 250 kHz -// <7=> 125 kHz -// <8=> 62.5 kHz -// <9=> 31.25 kHz - -#ifndef TIMER_DEFAULT_CONFIG_FREQUENCY -#define TIMER_DEFAULT_CONFIG_FREQUENCY 0 -#endif - -// TIMER_DEFAULT_CONFIG_MODE - Timer mode or operation - -// <0=> Timer -// <1=> Counter - -#ifndef TIMER_DEFAULT_CONFIG_MODE -#define TIMER_DEFAULT_CONFIG_MODE 0 -#endif - -// TIMER_DEFAULT_CONFIG_BIT_WIDTH - Timer counter bit width - -// <0=> 16 bit -// <1=> 8 bit -// <2=> 24 bit -// <3=> 32 bit - -#ifndef TIMER_DEFAULT_CONFIG_BIT_WIDTH -#define TIMER_DEFAULT_CONFIG_BIT_WIDTH 0 -#endif - -// TIMER_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef TIMER_DEFAULT_CONFIG_IRQ_PRIORITY -#define TIMER_DEFAULT_CONFIG_IRQ_PRIORITY 7 -#endif - -// TIMER0_ENABLED - Enable TIMER0 instance - - -#ifndef TIMER0_ENABLED -#define TIMER0_ENABLED 0 -#endif - -// TIMER1_ENABLED - Enable TIMER1 instance - - -#ifndef TIMER1_ENABLED -#define TIMER1_ENABLED 0 -#endif - -// TIMER2_ENABLED - Enable TIMER2 instance - - -#ifndef TIMER2_ENABLED -#define TIMER2_ENABLED 0 -#endif - -// TIMER3_ENABLED - Enable TIMER3 instance - - -#ifndef TIMER3_ENABLED -#define TIMER3_ENABLED 0 -#endif - -// TIMER4_ENABLED - Enable TIMER4 instance - - -#ifndef TIMER4_ENABLED -#define TIMER4_ENABLED 0 -#endif - -// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef TIMER_CONFIG_LOG_ENABLED -#define TIMER_CONFIG_LOG_ENABLED 0 -#endif -#if TIMER_CONFIG_LOG_ENABLED -// TIMER_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef TIMER_CONFIG_LOG_LEVEL -#define TIMER_CONFIG_LOG_LEVEL 3 -#endif - -// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef TIMER_CONFIG_INFO_COLOR -#define TIMER_CONFIG_INFO_COLOR 0 -#endif - -// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef TIMER_CONFIG_DEBUG_COLOR -#define TIMER_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //TIMER_CONFIG_LOG_ENABLED -// - -#endif //TIMER_ENABLED -// - -// TWIS_ENABLED - nrf_drv_twis - TWIS peripheral driver -//========================================================== -#ifndef TWIS_ENABLED -#define TWIS_ENABLED 0 -#endif -#if TWIS_ENABLED -// TWIS_DEFAULT_CONFIG_ADDR0 - Address0 -#ifndef TWIS_DEFAULT_CONFIG_ADDR0 -#define TWIS_DEFAULT_CONFIG_ADDR0 0 -#endif - -// TWIS_DEFAULT_CONFIG_ADDR1 - Address1 -#ifndef TWIS_DEFAULT_CONFIG_ADDR1 -#define TWIS_DEFAULT_CONFIG_ADDR1 0 -#endif - -// TWIS_DEFAULT_CONFIG_SCL_PULL - SCL pin pull configuration - -// <0=> Disabled -// <1=> Pull down -// <3=> Pull up - -#ifndef TWIS_DEFAULT_CONFIG_SCL_PULL -#define TWIS_DEFAULT_CONFIG_SCL_PULL 0 -#endif - -// TWIS_DEFAULT_CONFIG_SDA_PULL - SDA pin pull configuration - -// <0=> Disabled -// <1=> Pull down -// <3=> Pull up - -#ifndef TWIS_DEFAULT_CONFIG_SDA_PULL -#define TWIS_DEFAULT_CONFIG_SDA_PULL 0 -#endif - -// TWIS_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef TWIS_DEFAULT_CONFIG_IRQ_PRIORITY -#define TWIS_DEFAULT_CONFIG_IRQ_PRIORITY 7 -#endif - -// TWIS0_ENABLED - Enable TWIS0 instance - - -#ifndef TWIS0_ENABLED -#define TWIS0_ENABLED 0 -#endif - -// TWIS1_ENABLED - Enable TWIS1 instance - - -#ifndef TWIS1_ENABLED -#define TWIS1_ENABLED 0 -#endif - -// TWIS_ASSUME_INIT_AFTER_RESET_ONLY - Assume that any instance would be initialized only once - - -// Optimization flag. Registers used by TWIS are shared by other peripherals. Normally, during initialization driver tries to clear all registers to known state before doing the initialization itself. This gives initialization safe procedure, no matter when it would be called. If you activate TWIS only once and do never uninitialize it - set this flag to 1 what gives more optimal code. - -#ifndef TWIS_ASSUME_INIT_AFTER_RESET_ONLY -#define TWIS_ASSUME_INIT_AFTER_RESET_ONLY 0 -#endif - -// TWIS_NO_SYNC_MODE - Remove support for synchronous mode - - -// Synchronous mode would be used in specific situations. And it uses some additional code and data memory to safely process state machine by polling it in status functions. If this functionality is not required it may be disabled to free some resources. - -#ifndef TWIS_NO_SYNC_MODE -#define TWIS_NO_SYNC_MODE 0 -#endif - -// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef TWIS_CONFIG_LOG_ENABLED -#define TWIS_CONFIG_LOG_ENABLED 0 -#endif -#if TWIS_CONFIG_LOG_ENABLED -// TWIS_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef TWIS_CONFIG_LOG_LEVEL -#define TWIS_CONFIG_LOG_LEVEL 3 -#endif - -// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef TWIS_CONFIG_INFO_COLOR -#define TWIS_CONFIG_INFO_COLOR 0 -#endif - -// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef TWIS_CONFIG_DEBUG_COLOR -#define TWIS_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //TWIS_CONFIG_LOG_ENABLED -// - -#endif //TWIS_ENABLED -// - -// TWI_ENABLED - nrf_drv_twi - TWI/TWIM peripheral driver -//========================================================== -#ifndef TWI_ENABLED -#define TWI_ENABLED 0 -#endif -#if TWI_ENABLED -// TWI_DEFAULT_CONFIG_FREQUENCY - Frequency - -// <26738688=> 100k -// <67108864=> 250k -// <104857600=> 400k - -#ifndef TWI_DEFAULT_CONFIG_FREQUENCY -#define TWI_DEFAULT_CONFIG_FREQUENCY 26738688 -#endif - -// TWI_DEFAULT_CONFIG_CLR_BUS_INIT - Enables bus clearing procedure during init - - -#ifndef TWI_DEFAULT_CONFIG_CLR_BUS_INIT -#define TWI_DEFAULT_CONFIG_CLR_BUS_INIT 0 -#endif - -// TWI_DEFAULT_CONFIG_HOLD_BUS_UNINIT - Enables bus holding after uninit - - -#ifndef TWI_DEFAULT_CONFIG_HOLD_BUS_UNINIT -#define TWI_DEFAULT_CONFIG_HOLD_BUS_UNINIT 0 -#endif - -// TWI_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef TWI_DEFAULT_CONFIG_IRQ_PRIORITY -#define TWI_DEFAULT_CONFIG_IRQ_PRIORITY 7 -#endif - -// TWI0_ENABLED - Enable TWI0 instance -//========================================================== -#ifndef TWI0_ENABLED -#define TWI0_ENABLED 0 -#endif -#if TWI0_ENABLED -// TWI0_USE_EASY_DMA - Use EasyDMA (if present) - - -#ifndef TWI0_USE_EASY_DMA -#define TWI0_USE_EASY_DMA 0 -#endif - -#endif //TWI0_ENABLED -// - -// TWI1_ENABLED - Enable TWI1 instance -//========================================================== -#ifndef TWI1_ENABLED -#define TWI1_ENABLED 0 -#endif -#if TWI1_ENABLED -// TWI1_USE_EASY_DMA - Use EasyDMA (if present) - - -#ifndef TWI1_USE_EASY_DMA -#define TWI1_USE_EASY_DMA 0 -#endif - -#endif //TWI1_ENABLED -// - -// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef TWI_CONFIG_LOG_ENABLED -#define TWI_CONFIG_LOG_ENABLED 0 -#endif -#if TWI_CONFIG_LOG_ENABLED -// TWI_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef TWI_CONFIG_LOG_LEVEL -#define TWI_CONFIG_LOG_LEVEL 3 -#endif - -// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef TWI_CONFIG_INFO_COLOR -#define TWI_CONFIG_INFO_COLOR 0 -#endif - -// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef TWI_CONFIG_DEBUG_COLOR -#define TWI_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //TWI_CONFIG_LOG_ENABLED -// - -// TWIM_NRF52_ANOMALY_109_WORKAROUND_ENABLED - Enables nRF52 anomaly 109 workaround for TWIM. - - -// The workaround uses interrupts to wake up the CPU by catching -// the start event of zero-frequency transmission, clear the -// peripheral, set desired frequency, start the peripheral, and -// the proper transmission. See more in the Errata document or -// Anomaly 109 Addendum located at https://infocenter.nordicsemi.com/ - -#ifndef TWIM_NRF52_ANOMALY_109_WORKAROUND_ENABLED -#define TWIM_NRF52_ANOMALY_109_WORKAROUND_ENABLED 0 -#endif - -#endif //TWI_ENABLED -// - -// UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver -//========================================================== -#ifndef UART_ENABLED -#define UART_ENABLED 1 -#endif -#if UART_ENABLED -// UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control - -// <0=> Disabled -// <1=> Enabled - -#ifndef UART_DEFAULT_CONFIG_HWFC -#define UART_DEFAULT_CONFIG_HWFC 0 -#endif - -// UART_DEFAULT_CONFIG_PARITY - Parity - -// <0=> Excluded -// <14=> Included - -#ifndef UART_DEFAULT_CONFIG_PARITY -#define UART_DEFAULT_CONFIG_PARITY 0 -#endif - -// UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate - -// <323584=> 1200 baud -// <643072=> 2400 baud -// <1290240=> 4800 baud -// <2576384=> 9600 baud -// <3862528=> 14400 baud -// <5152768=> 19200 baud -// <7716864=> 28800 baud -// <10289152=> 38400 baud -// <15400960=> 57600 baud -// <20615168=> 76800 baud -// <30801920=> 115200 baud -// <61865984=> 230400 baud -// <67108864=> 250000 baud -// <121634816=> 460800 baud -// <251658240=> 921600 baud -// <268435456=> 57600 baud - -#ifndef UART_DEFAULT_CONFIG_BAUDRATE -#define UART_DEFAULT_CONFIG_BAUDRATE 30801920 -#endif - -// UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY -#define UART_DEFAULT_CONFIG_IRQ_PRIORITY 7 -#endif - -// UART_EASY_DMA_SUPPORT - Driver supporting EasyDMA - - -#ifndef UART_EASY_DMA_SUPPORT -#define UART_EASY_DMA_SUPPORT 0 -#endif - -// UART_LEGACY_SUPPORT - Driver supporting Legacy mode - - -#ifndef UART_LEGACY_SUPPORT -#define UART_LEGACY_SUPPORT 1 -#endif - -// UART0_ENABLED - Enable UART0 instance -//========================================================== -#ifndef UART0_ENABLED -#define UART0_ENABLED 1 -#endif -#if UART0_ENABLED -// UART0_CONFIG_USE_EASY_DMA - Default setting for using EasyDMA - - -#ifndef UART0_CONFIG_USE_EASY_DMA -#define UART0_CONFIG_USE_EASY_DMA 0 -#endif - -#endif //UART0_ENABLED -// - -// UART_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef UART_CONFIG_LOG_ENABLED -#define UART_CONFIG_LOG_ENABLED 0 -#endif -#if UART_CONFIG_LOG_ENABLED -// UART_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef UART_CONFIG_LOG_LEVEL -#define UART_CONFIG_LOG_LEVEL 3 -#endif - -// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef UART_CONFIG_INFO_COLOR -#define UART_CONFIG_INFO_COLOR 0 -#endif - -// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef UART_CONFIG_DEBUG_COLOR -#define UART_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //UART_CONFIG_LOG_ENABLED -// - -#endif //UART_ENABLED -// - -// USBD_ENABLED - nrf_drv_usbd - USB driver -//========================================================== -#ifndef USBD_ENABLED -#define USBD_ENABLED 0 -#endif -#if USBD_ENABLED -// USBD_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef USBD_CONFIG_IRQ_PRIORITY -#define USBD_CONFIG_IRQ_PRIORITY 7 -#endif - -// NRF_DRV_USBD_DMASCHEDULER_MODE - USBD SMA scheduler working scheme - -// <0=> Prioritized access -// <1=> Round Robin - -#ifndef NRF_DRV_USBD_DMASCHEDULER_MODE -#define NRF_DRV_USBD_DMASCHEDULER_MODE 0 -#endif - -// NRF_USBD_DRV_LOG_ENABLED - Enable logging - - -#ifndef NRF_USBD_DRV_LOG_ENABLED -#define NRF_USBD_DRV_LOG_ENABLED 0 -#endif - -#endif //USBD_ENABLED -// - -// WDT_ENABLED - nrf_drv_wdt - WDT peripheral driver -//========================================================== -#ifndef WDT_ENABLED -#define WDT_ENABLED 0 -#endif -#if WDT_ENABLED -// WDT_CONFIG_BEHAVIOUR - WDT behavior in CPU SLEEP or HALT mode - -// <1=> Run in SLEEP, Pause in HALT -// <8=> Pause in SLEEP, Run in HALT -// <9=> Run in SLEEP and HALT -// <0=> Pause in SLEEP and HALT - -#ifndef WDT_CONFIG_BEHAVIOUR -#define WDT_CONFIG_BEHAVIOUR 1 -#endif - -// WDT_CONFIG_RELOAD_VALUE - Reload value <15-4294967295> - - -#ifndef WDT_CONFIG_RELOAD_VALUE -#define WDT_CONFIG_RELOAD_VALUE 2000 -#endif - -// WDT_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef WDT_CONFIG_IRQ_PRIORITY -#define WDT_CONFIG_IRQ_PRIORITY 7 -#endif - -// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. -//========================================================== -#ifndef WDT_CONFIG_LOG_ENABLED -#define WDT_CONFIG_LOG_ENABLED 0 -#endif -#if WDT_CONFIG_LOG_ENABLED -// WDT_CONFIG_LOG_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef WDT_CONFIG_LOG_LEVEL -#define WDT_CONFIG_LOG_LEVEL 3 -#endif - -// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef WDT_CONFIG_INFO_COLOR -#define WDT_CONFIG_INFO_COLOR 0 -#endif - -// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef WDT_CONFIG_DEBUG_COLOR -#define WDT_CONFIG_DEBUG_COLOR 0 -#endif - -#endif //WDT_CONFIG_LOG_ENABLED -// - -#endif //WDT_ENABLED -// - -// -//========================================================== - -// nRF_Libraries - -//========================================================== -// APP_FIFO_ENABLED - app_fifo - Software FIFO implementation - - -#ifndef APP_FIFO_ENABLED -#define APP_FIFO_ENABLED 1 -#endif - -// APP_GPIOTE_ENABLED - app_gpiote - GPIOTE events dispatcher - - -#ifndef APP_GPIOTE_ENABLED -#define APP_GPIOTE_ENABLED 0 -#endif - -// APP_PWM_ENABLED - app_pwm - PWM functionality - - -#ifndef APP_PWM_ENABLED -#define APP_PWM_ENABLED 0 -#endif - -// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler -//========================================================== -#ifndef APP_SCHEDULER_ENABLED -#define APP_SCHEDULER_ENABLED 1 -#endif -#if APP_SCHEDULER_ENABLED -// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature - - -#ifndef APP_SCHEDULER_WITH_PAUSE -#define APP_SCHEDULER_WITH_PAUSE 0 -#endif - -// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling - - -#ifndef APP_SCHEDULER_WITH_PROFILER -#define APP_SCHEDULER_WITH_PROFILER 0 -#endif - -#endif //APP_SCHEDULER_ENABLED -// - -// APP_TIMER_ENABLED - app_timer - Application timer functionality -//========================================================== -#ifndef APP_TIMER_ENABLED -#define APP_TIMER_ENABLED 1 -#endif -#if APP_TIMER_ENABLED -// APP_TIMER_CONFIG_RTC_FREQUENCY - Configure RTC prescaler. - -// <0=> 32768 Hz -// <1=> 16384 Hz -// <3=> 8192 Hz -// <7=> 4096 Hz -// <15=> 2048 Hz -// <31=> 1024 Hz - -#ifndef APP_TIMER_CONFIG_RTC_FREQUENCY -#define APP_TIMER_CONFIG_RTC_FREQUENCY 0 -#endif - -// APP_TIMER_CONFIG_IRQ_PRIORITY - Interrupt priority - - -// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice -// <0=> 0 (highest) -// <1=> 1 -// <2=> 2 -// <3=> 3 -// <4=> 4 -// <5=> 5 -// <6=> 6 -// <7=> 7 - -#ifndef APP_TIMER_CONFIG_IRQ_PRIORITY -#define APP_TIMER_CONFIG_IRQ_PRIORITY 7 -#endif - -// APP_TIMER_CONFIG_OP_QUEUE_SIZE - Capacity of timer requests queue. -// Size of the queue depends on how many timers are used -// in the system, how often timers are started and overall -// system latency. If queue size is too small app_timer calls -// will fail. - -#ifndef APP_TIMER_CONFIG_OP_QUEUE_SIZE -#define APP_TIMER_CONFIG_OP_QUEUE_SIZE 10 -#endif - -// APP_TIMER_CONFIG_USE_SCHEDULER - Enable scheduling app_timer events to app_scheduler - - -#ifndef APP_TIMER_CONFIG_USE_SCHEDULER -#define APP_TIMER_CONFIG_USE_SCHEDULER 0 -#endif - -// APP_TIMER_WITH_PROFILER - Enable app_timer profiling - - -#ifndef APP_TIMER_WITH_PROFILER -#define APP_TIMER_WITH_PROFILER 0 -#endif - -// APP_TIMER_KEEPS_RTC_ACTIVE - Enable RTC always on - - -// If option is enabled RTC is kept running even if there is no active timers. -// This option can be used when app_timer is used for timestamping. - -#ifndef APP_TIMER_KEEPS_RTC_ACTIVE -#define APP_TIMER_KEEPS_RTC_ACTIVE 0 -#endif - -// APP_TIMER_CONFIG_SWI_NUMBER - Configure SWI instance used. - -// <0=> 0 -// <1=> 1 - -#ifndef APP_TIMER_CONFIG_SWI_NUMBER -#define APP_TIMER_CONFIG_SWI_NUMBER 0 -#endif - -#endif //APP_TIMER_ENABLED -// - -// APP_TWI_ENABLED - app_twi - TWI transaction manager - - -#ifndef APP_TWI_ENABLED -#define APP_TWI_ENABLED 0 -#endif - -// APP_UART_ENABLED - app_uart - UART driver -//========================================================== -#ifndef APP_UART_ENABLED -#define APP_UART_ENABLED 1 -#endif -#if APP_UART_ENABLED -// APP_UART_DRIVER_INSTANCE - UART instance used - -// <0=> 0 - -#ifndef APP_UART_DRIVER_INSTANCE -#define APP_UART_DRIVER_INSTANCE 0 -#endif - -#endif //APP_UART_ENABLED -// - -// APP_USBD_CLASS_AUDIO_ENABLED - app_usbd_audio - USB AUDIO class - - -#ifndef APP_USBD_CLASS_AUDIO_ENABLED -#define APP_USBD_CLASS_AUDIO_ENABLED 0 -#endif - -// APP_USBD_CLASS_HID_ENABLED - app_usbd_hid - USB HID class - - -#ifndef APP_USBD_CLASS_HID_ENABLED -#define APP_USBD_CLASS_HID_ENABLED 0 -#endif - -// APP_USBD_HID_GENERIC_ENABLED - app_usbd_hid_generic - USB HID generic - - -#ifndef APP_USBD_HID_GENERIC_ENABLED -#define APP_USBD_HID_GENERIC_ENABLED 0 -#endif - -// APP_USBD_HID_KBD_ENABLED - app_usbd_hid_kbd - USB HID keyboard - - -#ifndef APP_USBD_HID_KBD_ENABLED -#define APP_USBD_HID_KBD_ENABLED 0 -#endif - -// APP_USBD_HID_MOUSE_ENABLED - app_usbd_hid_mouse - USB HID mouse - - -#ifndef APP_USBD_HID_MOUSE_ENABLED -#define APP_USBD_HID_MOUSE_ENABLED 0 -#endif - -// BUTTON_ENABLED - app_button - buttons handling module - - -#ifndef BUTTON_ENABLED -#define BUTTON_ENABLED 1 -#endif - -// CRC16_ENABLED - crc16 - CRC16 calculation routines - - -#ifndef CRC16_ENABLED -#define CRC16_ENABLED 0 -#endif - -// CRC32_ENABLED - crc32 - CRC32 calculation routines - - -#ifndef CRC32_ENABLED -#define CRC32_ENABLED 0 -#endif - -// ECC_ENABLED - ecc - Elliptic Curve Cryptography Library - - -#ifndef ECC_ENABLED -#define ECC_ENABLED 0 -#endif - -// FDS_ENABLED - fds - Flash data storage module -//========================================================== -#ifndef FDS_ENABLED -#define FDS_ENABLED 0 -#endif -#if FDS_ENABLED -// FDS_OP_QUEUE_SIZE - Size of the internal queue. -#ifndef FDS_OP_QUEUE_SIZE -#define FDS_OP_QUEUE_SIZE 4 -#endif - -// FDS_CHUNK_QUEUE_SIZE - Determines how many @ref fds_record_chunk_t structures can be buffered at any time. -#ifndef FDS_CHUNK_QUEUE_SIZE -#define FDS_CHUNK_QUEUE_SIZE 8 -#endif - -// FDS_MAX_USERS - Maximum number of callbacks that can be registered. -#ifndef FDS_MAX_USERS -#define FDS_MAX_USERS 8 -#endif - -// FDS_VIRTUAL_PAGES - Number of virtual flash pages to use. -// One of the virtual pages is reserved by the system for garbage collection. -// Therefore, the minimum is two virtual pages: one page to store data and -// one page to be used by the system for garbage collection. The total amount -// of flash memory that is used by FDS amounts to @ref FDS_VIRTUAL_PAGES -// @ref FDS_VIRTUAL_PAGE_SIZE * 4 bytes. - -#ifndef FDS_VIRTUAL_PAGES -#define FDS_VIRTUAL_PAGES 3 -#endif - -// FDS_VIRTUAL_PAGE_SIZE - The size of a virtual page of flash memory, expressed in number of 4-byte words. - - -// By default, a virtual page is the same size as a physical page. -// The size of a virtual page must be a multiple of the size of a physical page. -// <1024=> 1024 -// <2048=> 2048 - -#ifndef FDS_VIRTUAL_PAGE_SIZE -#define FDS_VIRTUAL_PAGE_SIZE 1024 -#endif - -#endif //FDS_ENABLED -// - -// FSTORAGE_ENABLED - fstorage - Flash storage module -//========================================================== -#ifndef FSTORAGE_ENABLED -#define FSTORAGE_ENABLED 1 -#endif -#if FSTORAGE_ENABLED -// FS_QUEUE_SIZE - Configures the size of the internal queue. -// Increase this if there are many users, or if it is likely that many -// operation will be queued at once without waiting for the previous operations -// to complete. In general, increase the queue size if you frequently receive -// @ref FS_ERR_QUEUE_FULL errors when calling @ref fs_store or @ref fs_erase. - -#ifndef FS_QUEUE_SIZE -#define FS_QUEUE_SIZE 4 -#endif - -// FS_OP_MAX_RETRIES - Number attempts to execute an operation if the SoftDevice fails. -// Increase this value if events return the @ref FS_ERR_OPERATION_TIMEOUT -// error often. The SoftDevice may fail to schedule flash access due to high BLE activity. - -#ifndef FS_OP_MAX_RETRIES -#define FS_OP_MAX_RETRIES 3 -#endif - -// FS_MAX_WRITE_SIZE_WORDS - Maximum number of words to be written to flash in a single operation. -// Tweaking this value can increase the chances of the SoftDevice being -// able to fit flash operations in between radio activity. This value is bound by the -// maximum number of words which the SoftDevice can write to flash in a single call to -// @ref sd_flash_write, which is 256 words for nRF51 ICs and 1024 words for nRF52 ICs. - -#ifndef FS_MAX_WRITE_SIZE_WORDS -#define FS_MAX_WRITE_SIZE_WORDS 1024 -#endif - -#endif //FSTORAGE_ENABLED -// - -// HARDFAULT_HANDLER_ENABLED - hardfault_default - HardFault default handler for debugging and release - - -#ifndef HARDFAULT_HANDLER_ENABLED -#define HARDFAULT_HANDLER_ENABLED 0 -#endif - -// HCI_MEM_POOL_ENABLED - hci_mem_pool - memory pool implementation used by HCI -//========================================================== -#ifndef HCI_MEM_POOL_ENABLED -#define HCI_MEM_POOL_ENABLED 0 -#endif -#if HCI_MEM_POOL_ENABLED -// HCI_TX_BUF_SIZE - TX buffer size in bytes. -#ifndef HCI_TX_BUF_SIZE -#define HCI_TX_BUF_SIZE 600 -#endif - -// HCI_RX_BUF_SIZE - RX buffer size in bytes. -#ifndef HCI_RX_BUF_SIZE -#define HCI_RX_BUF_SIZE 600 -#endif - -// HCI_RX_BUF_QUEUE_SIZE - RX buffer queue size. -#ifndef HCI_RX_BUF_QUEUE_SIZE -#define HCI_RX_BUF_QUEUE_SIZE 4 -#endif - -#endif //HCI_MEM_POOL_ENABLED -// - -// HCI_SLIP_ENABLED - hci_slip - SLIP protocol implementation used by HCI -//========================================================== -#ifndef HCI_SLIP_ENABLED -#define HCI_SLIP_ENABLED 0 -#endif -#if HCI_SLIP_ENABLED -// HCI_UART_BAUDRATE - Default Baudrate - -// <323584=> 1200 baud -// <643072=> 2400 baud -// <1290240=> 4800 baud -// <2576384=> 9600 baud -// <3862528=> 14400 baud -// <5152768=> 19200 baud -// <7716864=> 28800 baud -// <10289152=> 38400 baud -// <15400960=> 57600 baud -// <20615168=> 76800 baud -// <30801920=> 115200 baud -// <61865984=> 230400 baud -// <67108864=> 250000 baud -// <121634816=> 460800 baud -// <251658240=> 921600 baud -// <268435456=> 57600 baud - -#ifndef HCI_UART_BAUDRATE -#define HCI_UART_BAUDRATE 30801920 -#endif - -// HCI_UART_FLOW_CONTROL - Hardware Flow Control - -// <0=> Disabled -// <1=> Enabled - -#ifndef HCI_UART_FLOW_CONTROL -#define HCI_UART_FLOW_CONTROL 0 -#endif - -// HCI_UART_RX_PIN - UART RX pin -#ifndef HCI_UART_RX_PIN -#define HCI_UART_RX_PIN 8 -#endif - -// HCI_UART_TX_PIN - UART TX pin -#ifndef HCI_UART_TX_PIN -#define HCI_UART_TX_PIN 6 -#endif - -// HCI_UART_RTS_PIN - UART RTS pin -#ifndef HCI_UART_RTS_PIN -#define HCI_UART_RTS_PIN 5 -#endif - -// HCI_UART_CTS_PIN - UART CTS pin -#ifndef HCI_UART_CTS_PIN -#define HCI_UART_CTS_PIN 7 -#endif - -#endif //HCI_SLIP_ENABLED -// - -// HCI_TRANSPORT_ENABLED - hci_transport - HCI transport -//========================================================== -#ifndef HCI_TRANSPORT_ENABLED -#define HCI_TRANSPORT_ENABLED 0 -#endif -#if HCI_TRANSPORT_ENABLED -// HCI_MAX_PACKET_SIZE_IN_BITS - Maximum size of a single application packet in bits. -#ifndef HCI_MAX_PACKET_SIZE_IN_BITS -#define HCI_MAX_PACKET_SIZE_IN_BITS 8000 -#endif - -#endif //HCI_TRANSPORT_ENABLED -// - -// LED_SOFTBLINK_ENABLED - led_softblink - led_softblink module - - -#ifndef LED_SOFTBLINK_ENABLED -#define LED_SOFTBLINK_ENABLED 0 -#endif - -// LOW_POWER_PWM_ENABLED - low_power_pwm - low_power_pwm module - - -#ifndef LOW_POWER_PWM_ENABLED -#define LOW_POWER_PWM_ENABLED 0 -#endif - -// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator -//========================================================== -#ifndef MEM_MANAGER_ENABLED -#define MEM_MANAGER_ENABLED 0 -#endif -#if MEM_MANAGER_ENABLED -// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> - - -#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT -#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 -#endif - -// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. -// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. - -#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE -#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 -#endif - -// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> - - -#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT -#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 -#endif - -// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. -// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. - -#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE -#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 -#endif - -// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> - - -#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT -#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 -#endif - -// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. -// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. - -#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE -#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 -#endif - -// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> - - -#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT -#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 -#endif - -// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. -// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. - -#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE -#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 -#endif - -// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> - - -#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT -#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 -#endif - -// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. -// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. - -#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE -#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 -#endif - -// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> - - -#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT -#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 -#endif - -// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. -// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. - -#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE -#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 -#endif - -// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> - - -#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT -#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 -#endif - -// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. -// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. - -#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE -#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 -#endif - -// MEM_MANAGER_ENABLE_LOGS - Enable debug trace in the module. - - -#ifndef MEM_MANAGER_ENABLE_LOGS -#define MEM_MANAGER_ENABLE_LOGS 0 -#endif - -// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. - - -#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK -#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 -#endif - -#endif //MEM_MANAGER_ENABLED -// - -// NRF_CSENSE_ENABLED - nrf_csense - Capacitive sensor module -//========================================================== -#ifndef NRF_CSENSE_ENABLED -#define NRF_CSENSE_ENABLED 0 -#endif -#if NRF_CSENSE_ENABLED -// NRF_CSENSE_PAD_HYSTERESIS - Minimum value of change required to determine that a pad was touched. -#ifndef NRF_CSENSE_PAD_HYSTERESIS -#define NRF_CSENSE_PAD_HYSTERESIS 15 -#endif - -// NRF_CSENSE_PAD_DEVIATION - Minimum value measured on a pad required to take it into account while calculating the step. -#ifndef NRF_CSENSE_PAD_DEVIATION -#define NRF_CSENSE_PAD_DEVIATION 70 -#endif - -// NRF_CSENSE_MIN_PAD_VALUE - Minimum normalized value on a pad required to take its value into account. -#ifndef NRF_CSENSE_MIN_PAD_VALUE -#define NRF_CSENSE_MIN_PAD_VALUE 20 -#endif - -// NRF_CSENSE_MAX_PADS_NUMBER - Maximum number of pads used for one instance. -#ifndef NRF_CSENSE_MAX_PADS_NUMBER -#define NRF_CSENSE_MAX_PADS_NUMBER 20 -#endif - -// NRF_CSENSE_MAX_VALUE - Maximum normalized value obtained from measurement. -#ifndef NRF_CSENSE_MAX_VALUE -#define NRF_CSENSE_MAX_VALUE 1000 -#endif - -// NRF_CSENSE_OUTPUT_PIN - Output pin used by the low-level module. -// This is used when capacitive sensor does not use COMP. - -#ifndef NRF_CSENSE_OUTPUT_PIN -#define NRF_CSENSE_OUTPUT_PIN 26 -#endif - -#endif //NRF_CSENSE_ENABLED -// - -// NRF_DRV_CSENSE_ENABLED - nrf_drv_csense - Capacitive sensor low-level module -//========================================================== -#ifndef NRF_DRV_CSENSE_ENABLED -#define NRF_DRV_CSENSE_ENABLED 0 -#endif -#if NRF_DRV_CSENSE_ENABLED -// USE_COMP - Use the comparator to implement the capacitive sensor driver. - -// Due to Anomaly 84, COMP I_SOURCE is not functional. It has too high a varation. -//========================================================== -#ifndef USE_COMP -#define USE_COMP 0 -#endif -#if USE_COMP -// TIMER0_FOR_CSENSE - First TIMER instance used by the driver (not used on nRF51). -#ifndef TIMER0_FOR_CSENSE -#define TIMER0_FOR_CSENSE 1 -#endif - -// TIMER1_FOR_CSENSE - Second TIMER instance used by the driver (not used on nRF51). -#ifndef TIMER1_FOR_CSENSE -#define TIMER1_FOR_CSENSE 2 -#endif - -// MEASUREMENT_PERIOD - Single measurement period. -// Time of a single measurement can be calculated as -// T = (1/2)*MEASUREMENT_PERIOD*(1/f_OSC) where f_OSC = I_SOURCE / (2C*(VUP-VDOWN) ). -// I_SOURCE, VUP, and VDOWN are values used to initialize COMP and C is the capacitance of the used pad. - -#ifndef MEASUREMENT_PERIOD -#define MEASUREMENT_PERIOD 20 -#endif - -#endif //USE_COMP -// - -#endif //NRF_DRV_CSENSE_ENABLED -// - -// NRF_QUEUE_ENABLED - nrf_queue - Queue module - - -#ifndef NRF_QUEUE_ENABLED -#define NRF_QUEUE_ENABLED 0 -#endif - -// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. - - -#ifndef NRF_STRERROR_ENABLED -#define NRF_STRERROR_ENABLED 1 -#endif - -// RETARGET_ENABLED - retarget - Retargeting stdio functions - - -#ifndef RETARGET_ENABLED -#define RETARGET_ENABLED 1 -#endif - -// SLIP_ENABLED - slip - SLIP encoding and decoding - - -#ifndef SLIP_ENABLED -#define SLIP_ENABLED 0 -#endif - -// app_usbd_cdc_acm - USB CDC ACM class - -//========================================================== -// APP_USBD_CLASS_CDC_ACM_ENABLED - Enabling USBD CDC ACM Class library - - -#ifndef APP_USBD_CLASS_CDC_ACM_ENABLED -#define APP_USBD_CLASS_CDC_ACM_ENABLED 0 -#endif - -// APP_USBD_CDC_ACM_LOG_ENABLED - Enables logging in the module. - - -#ifndef APP_USBD_CDC_ACM_LOG_ENABLED -#define APP_USBD_CDC_ACM_LOG_ENABLED 0 -#endif - -// -//========================================================== - -// app_usbd_msc - USB MSC class - -//========================================================== -// APP_USBD_CLASS_MSC_ENABLED - Enabling USBD MSC Class library - - -#ifndef APP_USBD_CLASS_MSC_ENABLED -#define APP_USBD_CLASS_MSC_ENABLED 0 -#endif - -// APP_USBD_MSC_CLASS_LOG_ENABLED - Enables logging in the module. - - -#ifndef APP_USBD_MSC_CLASS_LOG_ENABLED -#define APP_USBD_MSC_CLASS_LOG_ENABLED 0 -#endif - -// -//========================================================== - -// -//========================================================== - -// nRF_Log - -//========================================================== -// NRF_LOG_ENABLED - nrf_log - Logging -//========================================================== -#ifndef NRF_LOG_ENABLED -#define NRF_LOG_ENABLED 0 -#endif -#if NRF_LOG_ENABLED -// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string -//========================================================== -#ifndef NRF_LOG_USES_COLORS -#define NRF_LOG_USES_COLORS 0 -#endif -#if NRF_LOG_USES_COLORS -// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef NRF_LOG_COLOR_DEFAULT -#define NRF_LOG_COLOR_DEFAULT 0 -#endif - -// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef NRF_LOG_ERROR_COLOR -#define NRF_LOG_ERROR_COLOR 0 -#endif - -// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. - -// <0=> Default -// <1=> Black -// <2=> Red -// <3=> Green -// <4=> Yellow -// <5=> Blue -// <6=> Magenta -// <7=> Cyan -// <8=> White - -#ifndef NRF_LOG_WARNING_COLOR -#define NRF_LOG_WARNING_COLOR 0 -#endif - -#endif //NRF_LOG_USES_COLORS -// - -// NRF_LOG_DEFAULT_LEVEL - Default Severity level - -// <0=> Off -// <1=> Error -// <2=> Warning -// <3=> Info -// <4=> Debug - -#ifndef NRF_LOG_DEFAULT_LEVEL -#define NRF_LOG_DEFAULT_LEVEL 3 -#endif - -// NRF_LOG_DEFERRED - Enable deffered logger. - -// Log data is buffered and can be processed in idle. -//========================================================== -#ifndef NRF_LOG_DEFERRED -#define NRF_LOG_DEFERRED 0 -#endif -#if NRF_LOG_DEFERRED -// NRF_LOG_DEFERRED_BUFSIZE - Size of the buffer for logs in words. -// Must be power of 2 - -#ifndef NRF_LOG_DEFERRED_BUFSIZE -#define NRF_LOG_DEFERRED_BUFSIZE 256 -#endif - -#endif //NRF_LOG_DEFERRED -// - -// NRF_LOG_USES_TIMESTAMP - Enable timestamping - - -// Function for getting the timestamp is provided by the user - -#ifndef NRF_LOG_USES_TIMESTAMP -#define NRF_LOG_USES_TIMESTAMP 0 -#endif - -#endif //NRF_LOG_ENABLED -// - -// nrf_log_backend - Logging sink - -//========================================================== -// NRF_LOG_BACKEND_MAX_STRING_LENGTH - Buffer for storing single output string -// Logger backend RAM usage is determined by this value. - -#ifndef NRF_LOG_BACKEND_MAX_STRING_LENGTH -#define NRF_LOG_BACKEND_MAX_STRING_LENGTH 256 -#endif - -// NRF_LOG_TIMESTAMP_DIGITS - Number of digits for timestamp -// If higher resolution timestamp source is used it might be needed to increase that - -#ifndef NRF_LOG_TIMESTAMP_DIGITS -#define NRF_LOG_TIMESTAMP_DIGITS 8 -#endif - -// NRF_LOG_BACKEND_SERIAL_USES_UART - If enabled data is printed over UART -//========================================================== -#ifndef NRF_LOG_BACKEND_SERIAL_USES_UART -#define NRF_LOG_BACKEND_SERIAL_USES_UART 0 -#endif -#if NRF_LOG_BACKEND_SERIAL_USES_UART -// NRF_LOG_BACKEND_SERIAL_UART_BAUDRATE - Default Baudrate - -// <323584=> 1200 baud -// <643072=> 2400 baud -// <1290240=> 4800 baud -// <2576384=> 9600 baud -// <3862528=> 14400 baud -// <5152768=> 19200 baud -// <7716864=> 28800 baud -// <10289152=> 38400 baud -// <15400960=> 57600 baud -// <20615168=> 76800 baud -// <30801920=> 115200 baud -// <61865984=> 230400 baud -// <67108864=> 250000 baud -// <121634816=> 460800 baud -// <251658240=> 921600 baud -// <268435456=> 57600 baud - -#ifndef NRF_LOG_BACKEND_SERIAL_UART_BAUDRATE -#define NRF_LOG_BACKEND_SERIAL_UART_BAUDRATE 30801920 -#endif - -// NRF_LOG_BACKEND_SERIAL_UART_TX_PIN - UART TX pin -#ifndef NRF_LOG_BACKEND_SERIAL_UART_TX_PIN -#define NRF_LOG_BACKEND_SERIAL_UART_TX_PIN 4 -#endif - -// NRF_LOG_BACKEND_SERIAL_UART_RX_PIN - UART RX pin -#ifndef NRF_LOG_BACKEND_SERIAL_UART_RX_PIN -#define NRF_LOG_BACKEND_SERIAL_UART_RX_PIN 3 -#endif - -// NRF_LOG_BACKEND_SERIAL_UART_RTS_PIN - UART RTS pin -#ifndef NRF_LOG_BACKEND_SERIAL_UART_RTS_PIN -#define NRF_LOG_BACKEND_SERIAL_UART_RTS_PIN 5 -#endif - -// NRF_LOG_BACKEND_SERIAL_UART_CTS_PIN - UART CTS pin -#ifndef NRF_LOG_BACKEND_SERIAL_UART_CTS_PIN -#define NRF_LOG_BACKEND_SERIAL_UART_CTS_PIN 7 -#endif - -// NRF_LOG_BACKEND_SERIAL_UART_FLOW_CONTROL - Hardware Flow Control - -// <0=> Disabled -// <1=> Enabled - -#ifndef NRF_LOG_BACKEND_SERIAL_UART_FLOW_CONTROL -#define NRF_LOG_BACKEND_SERIAL_UART_FLOW_CONTROL 0 -#endif - -// NRF_LOG_BACKEND_UART_INSTANCE - UART instance used - -// <0=> 0 - -#ifndef NRF_LOG_BACKEND_UART_INSTANCE -#define NRF_LOG_BACKEND_UART_INSTANCE 0 -#endif - -#endif //NRF_LOG_BACKEND_SERIAL_USES_UART -// - -// NRF_LOG_BACKEND_SERIAL_USES_RTT - If enabled data is printed using RTT -//========================================================== -#ifndef NRF_LOG_BACKEND_SERIAL_USES_RTT -#define NRF_LOG_BACKEND_SERIAL_USES_RTT 0 -#endif -#if NRF_LOG_BACKEND_SERIAL_USES_RTT -// NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE - RTT output buffer size. -// Should be equal or bigger than \ref NRF_LOG_BACKEND_MAX_STRING_LENGTH. -// This value is used in Segger RTT configuration to set the buffer size -// if it is bigger than default RTT buffer size. - -#ifndef NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE -#define NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE 512 -#endif - -#endif //NRF_LOG_BACKEND_SERIAL_USES_RTT -// - -// -//========================================================== - -// -//========================================================== - -// nRF_Segger_RTT - -//========================================================== -// segger_rtt - SEGGER RTT - -//========================================================== -// SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. -// Note that either @ref NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE -// or this value is actually used. It depends on which one is bigger. - -#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP -#define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 64 -#endif - -// SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Size of upstream buffer. -#ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS -#define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2 -#endif - -// SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of upstream buffer. -#ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN -#define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16 -#endif - -// SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Size of upstream buffer. -#ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS -#define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2 -#endif - -// SEGGER_RTT_CONFIG_DEFAULT_MODE - RTT behavior if the buffer is full. - - -// The following modes are supported: -// - SKIP - Do not block, output nothing. -// - TRIM - Do not block, output as much as fits. -// - BLOCK - Wait until there is space in the buffer. -// <0=> SKIP -// <1=> TRIM -// <2=> BLOCK_IF_FIFO_FULL - -#ifndef SEGGER_RTT_CONFIG_DEFAULT_MODE -#define SEGGER_RTT_CONFIG_DEFAULT_MODE 0 -#endif - -// -//========================================================== - -// -//========================================================== - -// <<< end of configuration section >>> -#endif //SDK_CONFIG_H - diff --git a/bsp/nrf5x/nrf52832/applications/startup.c b/bsp/nrf5x/nrf52832/applications/startup.c deleted file mode 100644 index a48524814c..0000000000 --- a/bsp/nrf5x/nrf52832/applications/startup.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * File : startup.c - * This file is part of RT-Thread RTOS - * COPYRIGHT (C) 2015, RT-Thread Develop Team - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://openlab.rt-thread.com/license/LICENSE - * - * Change Logs: - * Date Author Notes - * 2015-03-01 Yangfs the first version - * 2015-03-27 Bernard code cleanup. - */ - -#include -#include - -#include "board.h" - -/** - * @addtogroup NRF52832 - */ - -/*@{*/ - -extern int rt_application_init(void); - -#ifdef __CC_ARM -extern int Image$$RW_IRAM1$$ZI$$Limit; -#define NRF_SRAM_BEGIN (&Image$$RW_IRAM1$$ZI$$Limit) -#elif __ICCARM__ -#pragma section="HEAP" -#define NRF_SRAM_BEGIN (__segment_end("HEAP")) -#else -extern int __bss_end; -#define NRF_SRAM_BEGIN (&__bss_end) -#endif - -/** - * This function will startup RT-Thread RTOS. - */ -void rtthread_startup(void) -{ - /* init board */ - rt_hw_board_init(); - - /* show version */ - rt_show_version(); - - /* init tick */ - rt_system_tick_init(); - - /* init kernel object */ - rt_system_object_init(); - - /* init timer system */ - rt_system_timer_init(); - -#ifdef RT_USING_HEAP - rt_system_heap_init((void*)NRF_SRAM_BEGIN, (void*)CHIP_SRAM_END); -#endif - - /* init scheduler system */ - rt_system_scheduler_init(); - -#ifdef RT_USING_COMPONENTS_INIT - rt_components_init(); -#endif - - /* init application */ - rt_application_init(); - - /* init timer thread */ - rt_system_timer_thread_init(); - - /* init idle thread */ - rt_thread_idle_init(); - - /* start scheduler */ - rt_system_scheduler_start(); - - /* never reach here */ - return ; -} - -int main(void) -{ - /* disable interrupt first */ - // rt_hw_interrupt_disable(); - - /* startup RT-Thread RTOS */ - rtthread_startup(); - - return 0; -} - -/*@}*/ diff --git a/bsp/nrf5x/nrf52832/board/Kconfig b/bsp/nrf5x/nrf52832/board/Kconfig index 40823ab976..5241d56318 100644 --- a/bsp/nrf5x/nrf52832/board/Kconfig +++ b/bsp/nrf5x/nrf52832/board/Kconfig @@ -2,21 +2,293 @@ menu "Hardware Drivers Config" config SOC_NRF52832 bool + config SOC_NRF52832 select RT_USING_COMPONENTS_INIT - # select RT_USING_USER_MAIN + select RT_USING_USER_MAIN default y -menu "Onboard Peripheral Drivers" +config SOC_NORDIC + bool + config SOC_NORDIC + default y + +menu "Onboard Peripheral Drivers" + config BSP_USING_JLINK_TO_USART + bool "Enable JLINK TO USART (uart0|RX_PIN:8|TX_PIN:6)" + select BSP_USING_UART + select BSP_USING_UART0 + default y endmenu menu "On-chip Peripheral Drivers" - + config BSP_USING_GPIO + bool "Enable GPIO" + select RT_USING_PIN + default y + menuconfig BSP_USING_PWM + bool "Enable PWM" + select RT_USING_PWM + default n + if BSP_USING_PWM + config NRFX_PWM_ENABLED + int + default 1 + config BSP_USING_PWM0 + bool "Enable PWM0 bus" + default y + if BSP_USING_PWM0 + config NRFX_PWM0_ENABLED + int + default 1 + config BSP_USING_PWM0_CH0 + int "PWM0 channel 0 pin number set" + range 0 47 + default 13 + config BSP_USING_PWM0_CH1 + int "PWM0 channel 1 pin number set" + range 0 47 + default 14 + config BSP_USING_PWM0_CH2 + int "PWM0 channel 2 pin number set" + range 0 47 + default 15 + config BSP_USING_PWM0_CH3 + int "PWM0 channel 3 pin number set" + range 0 47 + default 16 + endif + config BSP_USING_PWM1 + bool "Enable PWM1 bus" + default n + if BSP_USING_PWM1 + config NRFX_PWM1_ENABLED + int + default 1 + config BSP_USING_PWM1_CH0 + int "PWM1 channel 0 pin number set" + range 0 47 + default 13 + config BSP_USING_PWM1_CH1 + int "PWM1 channel 1 pin number set" + range 0 47 + default 14 + config BSP_USING_PWM1_CH2 + int "PWM1 channel 2 pin number set" + range 0 47 + default 15 + config BSP_USING_PWM1_CH3 + int "PWM1 channel 3 pin number set" + range 0 47 + default 16 + endif + config BSP_USING_PWM2 + bool "Enable PWM2 bus" + default n + if BSP_USING_PWM2 + config NRFX_PWM2_ENABLED + int + default 1 + config BSP_USING_PWM2_CH0 + int "PWM2 channel 0 pin number set" + range 0 47 + default 13 + config BSP_USING_PWM2_CH1 + int "PWM2 channel 1 pin number set" + range 0 47 + default 14 + config BSP_USING_PWM2_CH2 + int "PWM2 channel 2 pin number set" + range 0 47 + default 15 + config BSP_USING_PWM2_CH3 + int "PWM2 channel 3 pin number set" + range 0 47 + default 16 + endif + config BSP_USING_PWM3 + bool "Enable PWM3 bus" + default n + if BSP_USING_PWM3 + config NRFX_PWM3_ENABLED + int + default 1 + config BSP_USING_PWM3_CH0 + int "PWM3 channel 0 pin number set" + range 0 47 + default 13 + config BSP_USING_PWM3_CH1 + int "PWM3 channel 1 pin number set" + range 0 47 + default 14 + config BSP_USING_PWM3_CH2 + int "PWM3 channel 2 pin number set" + range 0 47 + default 15 + config BSP_USING_PWM3_CH3 + int "PWM3 channel 3 pin number set" + range 0 47 + default 16 + endif + endif + menuconfig BSP_USING_SOFTDEVICE + bool "Enable NRF SOFTDEVICE" + select PKG_USING_NRF5X_SDK + select NRFX_CLOCK_ENABLED + default n +if BSP_USING_SOFTDEVICE + config NRFX_CLOCK_ENABLED + int + default 1 + config NRFX_CLOCK_DEFAULT_CONFIG_IRQ_PRIORITY + int + default 7 + config NRFX_RTC_ENABLED + int + default 1 + config NRFX_RTC1_ENABLED + int + default 1 + config NRF_CLOCK_ENABLED + int + default 1 + config NRF_SDH_BLE_ENABLED + int + default 1 + config NRF_SDH_ENABLED + int + default 1 + config NRF_SDH_SOC_ENABLED + int + default 1 +endif menuconfig BSP_USING_UART bool "Enable UART" default y select RT_USING_SERIAL + if BSP_USING_UART + config BSP_USING_UART0 + bool "Enable UART0" + default y + if BSP_USING_UART0 + config BSP_UART0_RX_PIN + int "uart0 rx pin number" + range 0 31 + default 8 + config BSP_UART0_TX_PIN + int "uart0 tx pin number" + range 0 31 + default 6 + endif + config BSP_USING_UART1 + bool "Enable UART1" + default n + endif + + config BSP_USING_SPI + bool "Enable SPI" + select RT_USING_PIN + default y + + if BSP_USING_SPI + config BSP_USING_SPI0 + bool "Enable SPI0 bus" + default y + if BSP_USING_SPI0 + config BSP_SPI0_SCK_PIN + int "SPI0 sck pin number set" + range 0 47 + default 28 + config BSP_SPI0_MOSI_PIN + int "SPI0 mosi pin number set" + range 0 47 + default 29 + config BSP_SPI0_MISO_PIN + int "SPI0 miso pin number set" + range 0 47 + default 30 + config BSP_SPI0_SS_PIN + int "SPI0 ss pin number set" + range 0 47 + default 31 + endif + + config BSP_USING_SPI1 + bool "Enable SPI1 bus" + default n + if BSP_USING_SPI1 + config BSP_SPI1_SCK_PIN + int "SPI0 sck pin number set" + range 0 47 + default 28 + config BSP_SPI1_MOSI_PIN + int "SPI0 mosi pin number set" + range 0 47 + default 29 + config BSP_SPI1_MISO_PIN + int "SPI0 miso pin number set" + range 0 47 + default 30 + config BSP_SPI1_SS_PIN + int "SPI0 ss pin number set" + range 0 47 + default 31 + endif + + config BSP_USING_SPI2 + bool "Enable SPI2 bus" + default n + if BSP_USING_SPI2 + config BSP_SPI2_SCK_PIN + int "SPI0 sck pin number set" + range 0 47 + default 28 + config BSP_SPI2_MOSI_PIN + int "SPI0 mosi pin number set" + range 0 47 + default 29 + config BSP_SPI2_MISO_PIN + int "SPI0 miso pin number set" + range 0 47 + default 30 + config BSP_SPI2_SS_PIN + int "SPI0 ss pin number set" + range 0 47 + default 31 + endif + + endif + config BSP_USING_ON_CHIP_FLASH + select PKG_USING_FAL + bool "Enable on-chip FLASH" + default n + + menu "On-chip flash config" + + config MCU_FLASH_START_ADDRESS + hex "MCU FLASH START ADDRESS" + default 0x00000000 + + config MCU_FLASH_SIZE_KB + int "MCU FLASH SIZE, MAX size 1024 KB" + range 1 1024 + default 1024 + + config MCU_SRAM_START_ADDRESS + hex "MCU RAM START ADDRESS" + default 0x20000000 + + config MCU_SRAM_SIZE_KB + int "MCU RAM SIZE, MAX size 256 KB" + range 1 256 + default 256 + + config MCU_FLASH_PAGE_SIZE + hex "MCU FLASH PAGE SIZE, please not change,nrfx default is 0x1000" + range 0x1000 0x1000 + default 0x1000 + endmenu endmenu endmenu diff --git a/bsp/nrf5x/nrf52832/board/SConscript b/bsp/nrf5x/nrf52832/board/SConscript index abe43c5729..27bcddd310 100644 --- a/bsp/nrf5x/nrf52832/board/SConscript +++ b/bsp/nrf5x/nrf52832/board/SConscript @@ -5,6 +5,7 @@ from building import * cwd = GetCurrentDir() src = Glob('*.c') CPPPATH = [cwd] +define = ['USE_APP_CONFIG'] -group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH,) +group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH,CPPDEFINES = define) Return('group') diff --git a/bsp/nrf5x/nrf52832/board/app_config.h b/bsp/nrf5x/nrf52832/board/app_config.h new file mode 100644 index 0000000000..7909dd55b4 --- /dev/null +++ b/bsp/nrf5x/nrf52832/board/app_config.h @@ -0,0 +1,4 @@ +#ifndef APP_CONFIG_H +#define APP_CONFIG_H + +#endif //APP_CONFIG_H diff --git a/bsp/nrf5x/nrf52832/board/board.c b/bsp/nrf5x/nrf52832/board/board.c index 7ff8bfd9c4..d1e55f4c49 100644 --- a/bsp/nrf5x/nrf52832/board/board.c +++ b/bsp/nrf5x/nrf52832/board/board.c @@ -1,17 +1,60 @@ -#include "board.h" -#include "drv_uart.h" -#include "app_util_platform.h" -#include "nrf_drv_common.h" -#include "nrf_systick.h" -#include "nrf_rtc.h" -#include "nrf_drv_clock.h" -#include "softdevice_handler.h" -#include "nrf_drv_uart.h" -#include "nrf_gpio.h" - +/* + * Copyright (c) 2006-2020, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-04-29 supperthomas first version + * + */ #include #include +#include +#include "board.h" +#include "drv_uart.h" +#ifdef BSP_USING_SOFTDEVICE +#include +#include +#include "app_error.h" +#include "nrf_drv_clock.h" +const nrfx_rtc_t rtc = NRFX_RTC_INSTANCE(1); /**< Declaring an instance of nrf_drv_rtc for RTC0. */ + +static void rtc_handler(nrfx_rtc_int_type_t int_type) +{ + if (int_type == NRFX_RTC_INT_TICK) + { + rt_interrupt_enter(); + + rt_tick_increase(); + + rt_interrupt_leave(); + } +} +#else +/** + * This is the timer interrupt service routine. + * + */ +void SysTick_Handler(void) +{ + /* enter interrupt */ + rt_interrupt_enter(); + + rt_tick_increase(); + + /* leave interrupt */ + rt_interrupt_leave(); +} +#endif +void SysTick_Configuration(void) +{ +#ifdef BSP_USING_SOFTDEVICE + nrf_drv_clock_init(); + nrf_drv_clock_lfclk_request(NULL); + + uint32_t err_code; #define TICK_RATE_HZ RT_TICK_PER_SECOND #define SYSTICK_CLOCK_HZ ( 32768UL ) @@ -19,202 +62,49 @@ /* IRQn used by the selected RTC */ #define NRF_RTC_IRQn RTC1_IRQn /* Constants required to manipulate the NVIC. */ -#define NRF_RTC_PRESCALER ( (uint32_t) (ROUNDED_DIV(SYSTICK_CLOCK_HZ, TICK_RATE_HZ) - 1) ) - /* Maximum RTC ticks */ -#define NRF_RTC_MAXTICKS ((1U<<24)-1U) +#define NRF_RTC_PRESCALER ( (uint32_t) (NRFX_ROUNDED_DIV(SYSTICK_CLOCK_HZ, TICK_RATE_HZ) - 1) ) + nrfx_rtc_config_t config = NRFX_RTC_DEFAULT_CONFIG; + config.prescaler = NRF_RTC_PRESCALER; -static volatile uint32_t m_tick_overflow_count = 0; -#define NRF_RTC_BITWIDTH 24 -#define OSTick_Handler RTC1_IRQHandler -#define EXPECTED_IDLE_TIME_BEFORE_SLEEP 2 + err_code = nrfx_rtc_init(&rtc, &config, rtc_handler); + // APP_ERROR_CHECK(err_code); + nrfx_rtc_tick_enable(&rtc, true); +#define COMPARE_COUNTERTIME (3UL) /**< Get Compare event COMPARE_TIME seconds after the counter starts from 0. */ + //Set compare channel to trigger interrupt after COMPARE_COUNTERTIME seconds + err_code = nrfx_rtc_cc_set(&rtc, 0, COMPARE_COUNTERTIME * 8, true); + // APP_ERROR_CHECK(err_code); -void SysTick_Configuration(void) -{ - nrf_drv_clock_lfclk_request(NULL); + //Power on RTC instance + nrfx_rtc_enable(&rtc); +#else + /* Set interrupt priority */ + NVIC_SetPriority(SysTick_IRQn, 0xf); /* Configure SysTick to interrupt at the requested rate. */ - nrf_rtc_prescaler_set(NRF_RTC_REG, NRF_RTC_PRESCALER); - nrf_rtc_int_enable (NRF_RTC_REG, RTC_INTENSET_TICK_Msk); - nrf_rtc_task_trigger (NRF_RTC_REG, NRF_RTC_TASK_CLEAR); - nrf_rtc_task_trigger (NRF_RTC_REG, NRF_RTC_TASK_START); - nrf_rtc_event_enable(NRF_RTC_REG, RTC_EVTEN_OVRFLW_Msk); - - NVIC_SetPriority(NRF_RTC_IRQn, 0xF); - NVIC_EnableIRQ(NRF_RTC_IRQn); -} - -static rt_tick_t _tick_distance(void) -{ - nrf_rtc_event_clear(NRF_RTC_REG, NRF_RTC_EVENT_COMPARE_0); - - uint32_t systick_counter = nrf_rtc_counter_get(NRF_RTC_REG); - nrf_rtc_event_clear(NRF_RTC_REG, NRF_RTC_EVENT_TICK); - - /* check for overflow in TICK counter */ - if(nrf_rtc_event_pending(NRF_RTC_REG, NRF_RTC_EVENT_OVERFLOW)) - { - nrf_rtc_event_clear(NRF_RTC_REG, NRF_RTC_EVENT_OVERFLOW); - m_tick_overflow_count++; - } - - return ((m_tick_overflow_count << NRF_RTC_BITWIDTH) + systick_counter) - rt_tick_get(); -} - -void OSTick_Handler( void ) -{ - uint32_t diff; - - /* enter interrupt */ - rt_interrupt_enter(); - diff = _tick_distance(); - - while((diff--) > 0) - { - if (rt_thread_self() != RT_NULL) - { - rt_tick_increase(); - } - } - /* leave interrupt */ - rt_interrupt_leave(); -} - -static void _wakeup_tick_adjust(void) -{ - uint32_t diff; - uint32_t level; - - level = rt_hw_interrupt_disable(); - - diff = _tick_distance(); - - rt_tick_set(rt_tick_get() + diff); - - if (rt_thread_self() != RT_NULL) - { - struct rt_thread *thread; - - /* check time slice */ - thread = rt_thread_self(); - - if (thread->remaining_tick <= diff) - { - /* change to initialized tick */ - thread->remaining_tick = thread->init_tick; - - /* yield */ - rt_thread_yield(); - } - else - { - thread->remaining_tick -= diff; - } - - /* check timer */ - rt_timer_check(); - } - - rt_hw_interrupt_enable(level); -} - -static void _sleep_ongo( uint32_t sleep_tick ) -{ - uint32_t enterTime; - uint32_t entry_tick; - - /* Make sure the SysTick reload value does not overflow the counter. */ - if ( sleep_tick > NRF_RTC_MAXTICKS - EXPECTED_IDLE_TIME_BEFORE_SLEEP ) - { - sleep_tick = NRF_RTC_MAXTICKS - EXPECTED_IDLE_TIME_BEFORE_SLEEP; - } - - rt_enter_critical(); - - enterTime = nrf_rtc_counter_get(NRF_RTC_REG); - - { - uint32_t wakeupTime = (enterTime + sleep_tick) & NRF_RTC_MAXTICKS; - - /* Stop tick events */ - nrf_rtc_int_disable(NRF_RTC_REG, NRF_RTC_INT_TICK_MASK); - - /* Configure CTC interrupt */ - nrf_rtc_cc_set(NRF_RTC_REG, 0, wakeupTime); - nrf_rtc_event_clear(NRF_RTC_REG, NRF_RTC_EVENT_COMPARE_0); - nrf_rtc_int_enable(NRF_RTC_REG, NRF_RTC_INT_COMPARE0_MASK); - - entry_tick = rt_tick_get(); - - __DSB(); - - if ( sleep_tick > 0 ) - { -#ifdef SOFTDEVICE_PRESENT - if (softdevice_handler_is_enabled()) - { - uint32_t err_code = sd_app_evt_wait(); - APP_ERROR_CHECK(err_code); - } - else + nrf_systick_load_set(SystemCoreClock / RT_TICK_PER_SECOND); + nrf_systick_val_clear(); + nrf_systick_csr_set(NRF_SYSTICK_CSR_CLKSOURCE_CPU | NRF_SYSTICK_CSR_TICKINT_ENABLE + | NRF_SYSTICK_CSR_ENABLE); #endif - { - /* No SD - we would just block interrupts globally. - * BASEPRI cannot be used for that because it would prevent WFE from wake up. - */ - do{ - __WFE(); - } while (0 == (NVIC->ISPR[0] | NVIC->ISPR[1])); - } - } - - nrf_rtc_int_disable(NRF_RTC_REG, NRF_RTC_INT_COMPARE0_MASK); - nrf_rtc_event_clear(NRF_RTC_REG, NRF_RTC_EVENT_COMPARE_0); - - _wakeup_tick_adjust(); - - /* Correct the system ticks */ - { - - nrf_rtc_event_clear(NRF_RTC_REG, NRF_RTC_EVENT_TICK); - nrf_rtc_int_enable (NRF_RTC_REG, NRF_RTC_INT_TICK_MASK); - /* It is important that we clear pending here so that our corrections are latest and in sync with tick_interrupt handler */ - NVIC_ClearPendingIRQ(NRF_RTC_IRQn); - } - - // rt_kprintf("entry tick:%u, expected:%u, current tick:%u\n", entry_tick, sleep_tick, rt_tick_get()); - } - - rt_exit_critical(); } -void rt_hw_system_powersave(void) -{ - uint32_t sleep_tick; - - sleep_tick = rt_timer_next_timeout_tick() - rt_tick_get(); - - if ( sleep_tick >= EXPECTED_IDLE_TIME_BEFORE_SLEEP) - { - // rt_kprintf("sleep entry:%u\n", rt_tick_get()); - _sleep_ongo( sleep_tick ); - } -} - void rt_hw_board_init(void) { + rt_hw_interrupt_enable(0); // sd_power_dcdc_mode_set(NRF_POWER_DCDC_ENABLE); /* Activate deep sleep mode */ SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; - nrf_drv_clock_init(); - // nrf_drv_clock_hfclk_request(0); - SysTick_Configuration(); - rt_thread_idle_sethook(rt_hw_system_powersave); +#if defined(RT_USING_HEAP) + rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END); +#endif +#ifdef RT_USING_SERIAL rt_hw_uart_init(); +#endif #ifdef RT_USING_CONSOLE rt_console_set_device(RT_CONSOLE_DEVICE_NAME); @@ -223,5 +113,20 @@ void rt_hw_board_init(void) #ifdef RT_USING_COMPONENTS_INIT rt_components_board_init(); #endif + +#ifdef BSP_USING_SOFTDEVICE + extern uint32_t Image$$RW_IRAM1$$Base; + uint32_t const *const m_ram_start = &Image$$RW_IRAM1$$Base; + if ((uint32_t)m_ram_start == 0x20000000) + { + rt_kprintf("\r\n using softdevice the RAM couldn't be %p,please use the templete from package\r\n", m_ram_start); + while (1); + } + else + { + rt_kprintf("\r\n using softdevice the RAM at %p\r\n", m_ram_start); + } +#endif + } diff --git a/bsp/nrf5x/nrf52832/board/board.h b/bsp/nrf5x/nrf52832/board/board.h index f9d291792a..f808960780 100644 --- a/bsp/nrf5x/nrf52832/board/board.h +++ b/bsp/nrf5x/nrf52832/board/board.h @@ -2,10 +2,26 @@ #define _BOARD_H_ #include - +#include #include "nrf.h" -#define CHIP_SRAM_END (0x20000000 + 64*1024) +#define MCU_FLASH_SIZE MCU_FLASH_SIZE_KB*1024 +#define MCU_FLASH_END_ADDRESS ((uint32_t)(MCU_FLASH_START_ADDRESS + MCU_FLASH_SIZE)) +#define MCU_SRAM_SIZE MCU_SRAM_SIZE_KB*1024 +#define MCU_SRAM_END_ADDRESS (MCU_SRAM_START_ADDRESS + MCU_SRAM_SIZE) + +#if defined(__CC_ARM) || defined(__CLANG_ARM) +extern int Image$$RW_IRAM1$$ZI$$Limit; +#define HEAP_BEGIN ((void *)&Image$$RW_IRAM1$$ZI$$Limit) +#elif __ICCARM__ +#pragma section="CSTACK" +#define HEAP_BEGIN (__segment_end("CSTACK")) +#else +extern int __bss_end; +#define HEAP_BEGIN ((void *)&__bss_end) +#endif + +#define HEAP_END (0x20000000 + 64*1024) void rt_hw_board_init(void); diff --git a/bsp/nrf5x/nrf52832/board/linker_scripts/link.sct b/bsp/nrf5x/nrf52832/board/linker_scripts/link.sct index 0200e96087..a2f8ebd922 100644 --- a/bsp/nrf5x/nrf52832/board/linker_scripts/link.sct +++ b/bsp/nrf5x/nrf52832/board/linker_scripts/link.sct @@ -2,13 +2,13 @@ ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* -LR_IROM1 0x0001F000 0x00061000 { ; load region size_region - ER_IROM1 0x0001F000 0x00061000 { ; load address = execution address +LR_IROM1 0x00000000 0x100000 { ; load region size_region + ER_IROM1 0x00000000 0x100000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } - RW_IRAM1 0x200025F8 0x0000DA08 { ; RW data + RW_IRAM1 0x20000000 0x40000 { ; RW data .ANY (+RW +ZI) } } diff --git a/bsp/nrf5x/nrf52832/board/nrfx_config.h b/bsp/nrf5x/nrf52832/board/nrfx_config.h new file mode 100644 index 0000000000..b006b6bcd5 --- /dev/null +++ b/bsp/nrf5x/nrf52832/board/nrfx_config.h @@ -0,0 +1,47 @@ +/** + * Copyright (c) 2017 - 2019, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef NRFX_CONFIG_H__ +#define NRFX_CONFIG_H__ + +// TODO - temporary redirection +#include + +#endif // NRFX_CONFIG_H__ diff --git a/bsp/nrf5x/nrf52832/board/nrfx_glue.h b/bsp/nrf5x/nrf52832/board/nrfx_glue.h new file mode 100644 index 0000000000..28025dafae --- /dev/null +++ b/bsp/nrf5x/nrf52832/board/nrfx_glue.h @@ -0,0 +1,269 @@ +/* + * Copyright (c) 2017 - 2020, Nordic Semiconductor ASA + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef NRFX_GLUE_H__ +#define NRFX_GLUE_H__ + +// THIS IS A TEMPLATE FILE. +// It should be copied to a suitable location within the host environment into +// which nrfx is integrated, and the following macros should be provided with +// appropriate implementations. +// And this comment should be removed from the customized file. + +#ifdef __cplusplus +extern "C" { +#endif +#include +#include "nrf.h" +/** + * @defgroup nrfx_glue nrfx_glue.h + * @{ + * @ingroup nrfx + * + * @brief This file contains macros that should be implemented according to + * the needs of the host environment into which @em nrfx is integrated. + */ + +// Uncomment this line to use the standard MDK way of binding IRQ handlers +// at linking time. +#include + +//------------------------------------------------------------------------------ + +/** + * @brief Macro for placing a runtime assertion. + * + * @param expression Expression to be evaluated. + */ +#define NRFX_ASSERT(expression) + +/** + * @brief Macro for placing a compile time assertion. + * + * @param expression Expression to be evaluated. + */ +#define NRFX_STATIC_ASSERT(expression) + +//------------------------------------------------------------------------------ + +/** + * @brief Macro for setting the priority of a specific IRQ. + * + * @param irq_number IRQ number. + * @param priority Priority to be set. + */ +#define NRFX_IRQ_PRIORITY_SET(irq_number, priority) NVIC_SetPriority(irq_number, priority) + +/** + * @brief Macro for enabling a specific IRQ. + * + * @param irq_number IRQ number. + */ +#define NRFX_IRQ_ENABLE(irq_number) NVIC_EnableIRQ(irq_number) + +/** + * @brief Macro for checking if a specific IRQ is enabled. + * + * @param irq_number IRQ number. + * + * @retval true If the IRQ is enabled. + * @retval false Otherwise. + */ +#define NRFX_IRQ_IS_ENABLED(irq_number) _NRFX_IRQ_IS_ENABLED(irq_number) +static inline bool _NRFX_IRQ_IS_ENABLED(IRQn_Type irq_number) +{ + return 0 != (NVIC->ISER[irq_number / 32] & (1UL << (irq_number % 32))); +} + + +/** + * @brief Macro for disabling a specific IRQ. + * + * @param irq_number IRQ number. + */ +#define NRFX_IRQ_DISABLE(irq_number) _NRFX_IRQ_DISABLE(irq_number) +static inline void _NRFX_IRQ_DISABLE(IRQn_Type irq_number) +{ + NVIC_DisableIRQ(irq_number); +} + + +/** + * @brief Macro for setting a specific IRQ as pending. + * + * @param irq_number IRQ number. + */ +#define NRFX_IRQ_PENDING_SET(irq_number) + +/** + * @brief Macro for clearing the pending status of a specific IRQ. + * + * @param irq_number IRQ number. + */ +#define NRFX_IRQ_PENDING_CLEAR(irq_number) + +/** + * @brief Macro for checking the pending status of a specific IRQ. + * + * @retval true If the IRQ is pending. + * @retval false Otherwise. + */ +#define NRFX_IRQ_IS_PENDING(irq_number) + +/** @brief Macro for entering into a critical section. */ +#define NRFX_CRITICAL_SECTION_ENTER() + +/** @brief Macro for exiting from a critical section. */ +#define NRFX_CRITICAL_SECTION_EXIT() + +//------------------------------------------------------------------------------ + +/** + * @brief When set to a non-zero value, this macro specifies that + * @ref nrfx_coredep_delay_us uses a precise DWT-based solution. + * A compilation error is generated if the DWT unit is not present + * in the SoC used. + */ +#define NRFX_DELAY_DWT_BASED 0 + +/** + * @brief Macro for delaying the code execution for at least the specified time. + * + * @param us_time Number of microseconds to wait. + */ +#define NRFX_DELAY_US(us_time) + +//------------------------------------------------------------------------------ + +/** @brief Atomic 32-bit unsigned type. */ +#define nrfx_atomic_t + +/** + * @brief Macro for storing a value to an atomic object and returning its previous value. + * + * @param[in] p_data Atomic memory pointer. + * @param[in] value Value to store. + * + * @return Previous value of the atomic object. + */ +#define NRFX_ATOMIC_FETCH_STORE(p_data, value) + +/** + * @brief Macro for running a bitwise OR operation on an atomic object and returning its previous value. + * + * @param[in] p_data Atomic memory pointer. + * @param[in] value Value of the second operand in the OR operation. + * + * @return Previous value of the atomic object. + */ +#define NRFX_ATOMIC_FETCH_OR(p_data, value) + +/** + * @brief Macro for running a bitwise AND operation on an atomic object + * and returning its previous value. + * + * @param[in] p_data Atomic memory pointer. + * @param[in] value Value of the second operand in the AND operation. + * + * @return Previous value of the atomic object. + */ +#define NRFX_ATOMIC_FETCH_AND(p_data, value) + +/** + * @brief Macro for running a bitwise XOR operation on an atomic object + * and returning its previous value. + * + * @param[in] p_data Atomic memory pointer. + * @param[in] value Value of the second operand in the XOR operation. + * + * @return Previous value of the atomic object. + */ +#define NRFX_ATOMIC_FETCH_XOR(p_data, value) + +/** + * @brief Macro for running an addition operation on an atomic object + * and returning its previous value. + * + * @param[in] p_data Atomic memory pointer. + * @param[in] value Value of the second operand in the ADD operation. + * + * @return Previous value of the atomic object. + */ +#define NRFX_ATOMIC_FETCH_ADD(p_data, value) + +/** + * @brief Macro for running a subtraction operation on an atomic object + * and returning its previous value. + * + * @param[in] p_data Atomic memory pointer. + * @param[in] value Value of the second operand in the SUB operation. + * + * @return Previous value of the atomic object. + */ +#define NRFX_ATOMIC_FETCH_SUB(p_data, value) + +//------------------------------------------------------------------------------ + +/** + * @brief When set to a non-zero value, this macro specifies that the + * @ref nrfx_error_codes and the @ref nrfx_err_t type itself are defined + * in a customized way and the default definitions from @c + * should not be used. + */ +#define NRFX_CUSTOM_ERROR_CODES 0 + +//------------------------------------------------------------------------------ + +/** @brief Bitmask that defines DPPI channels that are reserved for use outside of the nrfx library. */ +#define NRFX_DPPI_CHANNELS_USED 0 + +/** @brief Bitmask that defines DPPI groups that are reserved for use outside of the nrfx library. */ +#define NRFX_DPPI_GROUPS_USED 0 + +/** @brief Bitmask that defines PPI channels that are reserved for use outside of the nrfx library. */ +#define NRFX_PPI_CHANNELS_USED 0 + +/** @brief Bitmask that defines PPI groups that are reserved for use outside of the nrfx library. */ +#define NRFX_PPI_GROUPS_USED 0 + +/** @brief Bitmask that defines EGU instances that are reserved for use outside of the nrfx library. */ +#define NRFX_EGUS_USED 0 + +/** @brief Bitmask that defines TIMER instances that are reserved for use outside of the nrfx library. */ +#define NRFX_TIMERS_USED 0 + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif // NRFX_GLUE_H__ diff --git a/bsp/nrf5x/nrf52832/board/nrfx_log.h b/bsp/nrf5x/nrf52832/board/nrfx_log.h new file mode 100644 index 0000000000..80d8efbdf1 --- /dev/null +++ b/bsp/nrf5x/nrf52832/board/nrfx_log.h @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2017 - 2020, Nordic Semiconductor ASA + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef NRFX_LOG_H__ +#define NRFX_LOG_H__ + +// THIS IS A TEMPLATE FILE. +// It should be copied to a suitable location within the host environment into +// which nrfx is integrated, and the following macros should be provided with +// appropriate implementations. +// And this comment should be removed from the customized file. + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @defgroup nrfx_log nrfx_log.h + * @{ + * @ingroup nrfx + * + * @brief This file contains macros that should be implemented according to + * the needs of the host environment into which @em nrfx is integrated. + */ + +/** + * @brief Macro for logging a message with the severity level ERROR. + * + * @param format printf-style format string, optionally followed by arguments + * to be formatted and inserted in the resulting string. + */ +#define NRFX_LOG_ERROR(format, ...) + +/** + * @brief Macro for logging a message with the severity level WARNING. + * + * @param format printf-style format string, optionally followed by arguments + * to be formatted and inserted in the resulting string. + */ +#define NRFX_LOG_WARNING(format, ...) + +/** + * @brief Macro for logging a message with the severity level INFO. + * + * @param format printf-style format string, optionally followed by arguments + * to be formatted and inserted in the resulting string. + */ +#define NRFX_LOG_INFO(format, ...) + +/** + * @brief Macro for logging a message with the severity level DEBUG. + * + * @param format printf-style format string, optionally followed by arguments + * to be formatted and inserted in the resulting string. + */ +#define NRFX_LOG_DEBUG(format, ...) + + +/** + * @brief Macro for logging a memory dump with the severity level ERROR. + * + * @param[in] p_memory Pointer to the memory region to be dumped. + * @param[in] length Length of the memory region in bytes. + */ +#define NRFX_LOG_HEXDUMP_ERROR(p_memory, length) + +/** + * @brief Macro for logging a memory dump with the severity level WARNING. + * + * @param[in] p_memory Pointer to the memory region to be dumped. + * @param[in] length Length of the memory region in bytes. + */ +#define NRFX_LOG_HEXDUMP_WARNING(p_memory, length) + +/** + * @brief Macro for logging a memory dump with the severity level INFO. + * + * @param[in] p_memory Pointer to the memory region to be dumped. + * @param[in] length Length of the memory region in bytes. + */ +#define NRFX_LOG_HEXDUMP_INFO(p_memory, length) + +/** + * @brief Macro for logging a memory dump with the severity level DEBUG. + * + * @param[in] p_memory Pointer to the memory region to be dumped. + * @param[in] length Length of the memory region in bytes. + */ +#define NRFX_LOG_HEXDUMP_DEBUG(p_memory, length) + + +/** + * @brief Macro for getting the textual representation of a given error code. + * + * @param[in] error_code Error code. + * + * @return String containing the textual representation of the error code. + */ +#define NRFX_LOG_ERROR_STRING_GET(error_code) + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif // NRFX_LOG_H__ diff --git a/bsp/nrf5x/nrf52832/board/sdk_config.h b/bsp/nrf5x/nrf52832/board/sdk_config.h new file mode 100644 index 0000000000..172e0ccc2c --- /dev/null +++ b/bsp/nrf5x/nrf52832/board/sdk_config.h @@ -0,0 +1,11704 @@ +/** + * Copyright (c) 2017 - 2019, Nordic Semiconductor ASA + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form, except as embedded into a Nordic + * Semiconductor ASA integrated circuit in a product or a software update for + * such product, must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * 3. Neither the name of Nordic Semiconductor ASA nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * 4. This software, with or without modification, must only be used with a + * Nordic Semiconductor ASA integrated circuit. + * + * 5. Any software provided in binary form under this license must not be reverse + * engineered, decompiled, modified and/or disassembled. + * + * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + + + +#ifndef SDK_CONFIG_H +#define SDK_CONFIG_H +// <<< Use Configuration Wizard in Context Menu >>>\n +#ifdef USE_APP_CONFIG +#include "app_config.h" +#endif +// nRF_BLE + +#include +//========================================================== +// BLE_ADVERTISING_ENABLED - ble_advertising - Advertising module + + +#ifndef BLE_ADVERTISING_ENABLED +#define BLE_ADVERTISING_ENABLED 0 +#endif + +// BLE_DTM_ENABLED - ble_dtm - Module for testing RF/PHY using DTM commands + + +#ifndef BLE_DTM_ENABLED +#define BLE_DTM_ENABLED 0 +#endif + +// BLE_RACP_ENABLED - ble_racp - Record Access Control Point library + + +#ifndef BLE_RACP_ENABLED +#define BLE_RACP_ENABLED 0 +#endif + +// NRF_BLE_QWR_ENABLED - nrf_ble_qwr - Queued writes support module (prepare/execute write) +//========================================================== +#ifndef NRF_BLE_QWR_ENABLED +#define NRF_BLE_QWR_ENABLED 0 +#endif +// NRF_BLE_QWR_MAX_ATTR - Maximum number of attribute handles that can be registered. This number must be adjusted according to the number of attributes for which Queued Writes will be enabled. If it is zero, the module will reject all Queued Write requests. +#ifndef NRF_BLE_QWR_MAX_ATTR +#define NRF_BLE_QWR_MAX_ATTR 0 +#endif + +// + +// PEER_MANAGER_ENABLED - peer_manager - Peer Manager +//========================================================== +#ifndef PEER_MANAGER_ENABLED +#define PEER_MANAGER_ENABLED 0 +#endif +// PM_MAX_REGISTRANTS - Number of event handlers that can be registered. +#ifndef PM_MAX_REGISTRANTS +#define PM_MAX_REGISTRANTS 3 +#endif + +// PM_FLASH_BUFFERS - Number of internal buffers for flash operations. +// Decrease this value to lower RAM usage. + +#ifndef PM_FLASH_BUFFERS +#define PM_FLASH_BUFFERS 4 +#endif + +// PM_CENTRAL_ENABLED - Enable/disable central-specific Peer Manager functionality. + + +// Enable/disable central-specific Peer Manager functionality. + +#ifndef PM_CENTRAL_ENABLED +#define PM_CENTRAL_ENABLED 1 +#endif + +// PM_SERVICE_CHANGED_ENABLED - Enable/disable the service changed management for GATT server in Peer Manager. + + +// If not using a GATT server, or using a server wihout a service changed characteristic, +// disable this to save code space. + +#ifndef PM_SERVICE_CHANGED_ENABLED +#define PM_SERVICE_CHANGED_ENABLED 1 +#endif + +// PM_PEER_RANKS_ENABLED - Enable/disable the peer rank management in Peer Manager. + + +// Set this to false to save code space if not using the peer rank API. + +#ifndef PM_PEER_RANKS_ENABLED +#define PM_PEER_RANKS_ENABLED 1 +#endif + +// PM_LESC_ENABLED - Enable/disable LESC support in Peer Manager. + + +// If set to true, you need to call nrf_ble_lesc_request_handler() in the main loop to respond to LESC-related BLE events. If LESC support is not required, set this to false to save code space. + +#ifndef PM_LESC_ENABLED +#define PM_LESC_ENABLED 0 +#endif + +// PM_RA_PROTECTION_ENABLED - Enable/disable protection against repeated pairing attempts in Peer Manager. +//========================================================== +#ifndef PM_RA_PROTECTION_ENABLED +#define PM_RA_PROTECTION_ENABLED 0 +#endif +// PM_RA_PROTECTION_TRACKED_PEERS_NUM - Maximum number of peers whose authorization status can be tracked. +#ifndef PM_RA_PROTECTION_TRACKED_PEERS_NUM +#define PM_RA_PROTECTION_TRACKED_PEERS_NUM 8 +#endif + +// PM_RA_PROTECTION_MIN_WAIT_INTERVAL - Minimum waiting interval (in ms) before a new pairing attempt can be initiated. +#ifndef PM_RA_PROTECTION_MIN_WAIT_INTERVAL +#define PM_RA_PROTECTION_MIN_WAIT_INTERVAL 4000 +#endif + +// PM_RA_PROTECTION_MAX_WAIT_INTERVAL - Maximum waiting interval (in ms) before a new pairing attempt can be initiated. +#ifndef PM_RA_PROTECTION_MAX_WAIT_INTERVAL +#define PM_RA_PROTECTION_MAX_WAIT_INTERVAL 64000 +#endif + +// PM_RA_PROTECTION_REWARD_PERIOD - Reward period (in ms). +// The waiting interval is gradually decreased when no new failed pairing attempts are made during reward period. + +#ifndef PM_RA_PROTECTION_REWARD_PERIOD +#define PM_RA_PROTECTION_REWARD_PERIOD 10000 +#endif + +// + +// PM_HANDLER_SEC_DELAY_MS - Delay before starting security. +// This might be necessary for interoperability reasons, especially as peripheral. + +#ifndef PM_HANDLER_SEC_DELAY_MS +#define PM_HANDLER_SEC_DELAY_MS 0 +#endif + +// + +// +//========================================================== + +// nRF_BLE_Services + +//========================================================== +// BLE_ANCS_C_ENABLED - ble_ancs_c - Apple Notification Service Client + + +#ifndef BLE_ANCS_C_ENABLED +#define BLE_ANCS_C_ENABLED 0 +#endif + +// BLE_ANS_C_ENABLED - ble_ans_c - Alert Notification Service Client + + +#ifndef BLE_ANS_C_ENABLED +#define BLE_ANS_C_ENABLED 0 +#endif + +// BLE_BAS_C_ENABLED - ble_bas_c - Battery Service Client + + +#ifndef BLE_BAS_C_ENABLED +#define BLE_BAS_C_ENABLED 0 +#endif + +// BLE_BAS_ENABLED - ble_bas - Battery Service +//========================================================== +#ifndef BLE_BAS_ENABLED +#define BLE_BAS_ENABLED 0 +#endif +// BLE_BAS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef BLE_BAS_CONFIG_LOG_ENABLED +#define BLE_BAS_CONFIG_LOG_ENABLED 0 +#endif +// BLE_BAS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef BLE_BAS_CONFIG_LOG_LEVEL +#define BLE_BAS_CONFIG_LOG_LEVEL 3 +#endif + +// BLE_BAS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef BLE_BAS_CONFIG_INFO_COLOR +#define BLE_BAS_CONFIG_INFO_COLOR 0 +#endif + +// BLE_BAS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef BLE_BAS_CONFIG_DEBUG_COLOR +#define BLE_BAS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// BLE_CSCS_ENABLED - ble_cscs - Cycling Speed and Cadence Service + + +#ifndef BLE_CSCS_ENABLED +#define BLE_CSCS_ENABLED 0 +#endif + +// BLE_CTS_C_ENABLED - ble_cts_c - Current Time Service Client + + +#ifndef BLE_CTS_C_ENABLED +#define BLE_CTS_C_ENABLED 0 +#endif + +// BLE_DIS_ENABLED - ble_dis - Device Information Service + + +#ifndef BLE_DIS_ENABLED +#define BLE_DIS_ENABLED 0 +#endif + +// BLE_GLS_ENABLED - ble_gls - Glucose Service + + +#ifndef BLE_GLS_ENABLED +#define BLE_GLS_ENABLED 0 +#endif + +// BLE_HIDS_ENABLED - ble_hids - Human Interface Device Service + + +#ifndef BLE_HIDS_ENABLED +#define BLE_HIDS_ENABLED 0 +#endif + +// BLE_HRS_C_ENABLED - ble_hrs_c - Heart Rate Service Client + + +#ifndef BLE_HRS_C_ENABLED +#define BLE_HRS_C_ENABLED 0 +#endif + +// BLE_HRS_ENABLED - ble_hrs - Heart Rate Service + + +#ifndef BLE_HRS_ENABLED +#define BLE_HRS_ENABLED 0 +#endif + +// BLE_HTS_ENABLED - ble_hts - Health Thermometer Service + + +#ifndef BLE_HTS_ENABLED +#define BLE_HTS_ENABLED 0 +#endif + +// BLE_IAS_C_ENABLED - ble_ias_c - Immediate Alert Service Client + + +#ifndef BLE_IAS_C_ENABLED +#define BLE_IAS_C_ENABLED 0 +#endif + +// BLE_IAS_ENABLED - ble_ias - Immediate Alert Service +//========================================================== +#ifndef BLE_IAS_ENABLED +#define BLE_IAS_ENABLED 0 +#endif +// BLE_IAS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef BLE_IAS_CONFIG_LOG_ENABLED +#define BLE_IAS_CONFIG_LOG_ENABLED 0 +#endif +// BLE_IAS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef BLE_IAS_CONFIG_LOG_LEVEL +#define BLE_IAS_CONFIG_LOG_LEVEL 3 +#endif + +// BLE_IAS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef BLE_IAS_CONFIG_INFO_COLOR +#define BLE_IAS_CONFIG_INFO_COLOR 0 +#endif + +// BLE_IAS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef BLE_IAS_CONFIG_DEBUG_COLOR +#define BLE_IAS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// BLE_LBS_C_ENABLED - ble_lbs_c - Nordic LED Button Service Client + + +#ifndef BLE_LBS_C_ENABLED +#define BLE_LBS_C_ENABLED 0 +#endif + +// BLE_LBS_ENABLED - ble_lbs - LED Button Service + + +#ifndef BLE_LBS_ENABLED +#define BLE_LBS_ENABLED 0 +#endif + +// BLE_LLS_ENABLED - ble_lls - Link Loss Service + + +#ifndef BLE_LLS_ENABLED +#define BLE_LLS_ENABLED 0 +#endif + +// BLE_NUS_C_ENABLED - ble_nus_c - Nordic UART Central Service + + +#ifndef BLE_NUS_C_ENABLED +#define BLE_NUS_C_ENABLED 0 +#endif + +// BLE_NUS_ENABLED - ble_nus - Nordic UART Service +//========================================================== +#ifndef BLE_NUS_ENABLED +#define BLE_NUS_ENABLED 0 +#endif +// BLE_NUS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef BLE_NUS_CONFIG_LOG_ENABLED +#define BLE_NUS_CONFIG_LOG_ENABLED 0 +#endif +// BLE_NUS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef BLE_NUS_CONFIG_LOG_LEVEL +#define BLE_NUS_CONFIG_LOG_LEVEL 3 +#endif + +// BLE_NUS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef BLE_NUS_CONFIG_INFO_COLOR +#define BLE_NUS_CONFIG_INFO_COLOR 0 +#endif + +// BLE_NUS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef BLE_NUS_CONFIG_DEBUG_COLOR +#define BLE_NUS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// BLE_RSCS_C_ENABLED - ble_rscs_c - Running Speed and Cadence Client + + +#ifndef BLE_RSCS_C_ENABLED +#define BLE_RSCS_C_ENABLED 0 +#endif + +// BLE_RSCS_ENABLED - ble_rscs - Running Speed and Cadence Service + + +#ifndef BLE_RSCS_ENABLED +#define BLE_RSCS_ENABLED 0 +#endif + +// BLE_TPS_ENABLED - ble_tps - TX Power Service + + +#ifndef BLE_TPS_ENABLED +#define BLE_TPS_ENABLED 0 +#endif + +// +//========================================================== + +// nRF_Core + +//========================================================== +// NRF_MPU_LIB_ENABLED - nrf_mpu_lib - Module for MPU +//========================================================== +#ifndef NRF_MPU_LIB_ENABLED +#define NRF_MPU_LIB_ENABLED 0 +#endif +// NRF_MPU_LIB_CLI_CMDS - Enable CLI commands specific to the module. + + +#ifndef NRF_MPU_LIB_CLI_CMDS +#define NRF_MPU_LIB_CLI_CMDS 0 +#endif + +// + +// NRF_STACK_GUARD_ENABLED - nrf_stack_guard - Stack guard +//========================================================== +#ifndef NRF_STACK_GUARD_ENABLED +#define NRF_STACK_GUARD_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_SIZE - Size of the stack guard. + +// <5=> 32 bytes +// <6=> 64 bytes +// <7=> 128 bytes +// <8=> 256 bytes +// <9=> 512 bytes +// <10=> 1024 bytes +// <11=> 2048 bytes +// <12=> 4096 bytes + +#ifndef NRF_STACK_GUARD_CONFIG_SIZE +#define NRF_STACK_GUARD_CONFIG_SIZE 7 +#endif + +// + +// +//========================================================== + +// nRF_Crypto + +//========================================================== +// NRF_CRYPTO_ENABLED - nrf_crypto - Cryptography library. +//========================================================== +#ifndef NRF_CRYPTO_ENABLED +#define NRF_CRYPTO_ENABLED 1 +#endif +// NRF_CRYPTO_ALLOCATOR - Memory allocator + + +// Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected, the user has to create 'nrf_crypto_allocator.h' file that contains NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE, and NRF_CRYPTO_ALLOC_ON_STACK. +// <0=> Default +// <1=> User macros +// <2=> On stack (alloca) +// <3=> C dynamic memory (malloc) +// <4=> SDK Memory Manager (nrf_malloc) + +#ifndef NRF_CRYPTO_ALLOCATOR +#define NRF_CRYPTO_ALLOCATOR 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ENABLED - Enable the ARM Cryptocell CC310 reduced backend. + +// The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310_BL. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED - CC310_BL SHA-256 hash functionality. + + +// CC310_BL backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED - nrf_cc310_bl buffers to RAM before running hash operation + + +// Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE - nrf_cc310_bl hash outputs digests in little endian +// Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU! + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE +#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE 4096 +#endif + +// NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310 bl. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_BL_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CC310_ENABLED - Enable the ARM Cryptocell CC310 backend. + +// The CC310 hardware-accelerated cryptography backend (only available on nRF52840). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CC310_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED - Enable the AES CBC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED - Enable the AES CTR mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED - Enable the AES ECB mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED - Enable the AES CBC_MAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED - Enable the AES CMAC mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED - Enable the AES CCM mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED - Enable the AES CCM* mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED - Enable the secp160r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED - Enable the secp160r2 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED - Enable the secp192r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED - Enable the secp224r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED - Enable the secp256r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED - Enable the secp384r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED - Enable the secp521r1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED - Enable the secp160k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED - Enable the secp192k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED - Enable the secp224k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED - Enable the secp256k1 elliptic curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED - Enable the Curve25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED - Enable the Ed25519 curve support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED - CC310 SHA-256 hash functionality. + + +// CC310 backend implementation for hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED - CC310 SHA-512 hash functionality + + +// CC310 backend implementation for SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED - CC310 HMAC using SHA-256 + + +// CC310 backend implementation for HMAC using hardware-accelerated SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED - CC310 HMAC using SHA-512 + + +// CC310 backend implementation for HMAC using SHA-512 (in software). + +#ifndef NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED - Enable RNG support using CC310. + + +#ifndef NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED - Enable Interrupts while support using CC310. + + +// Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used + +#ifndef NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED +#define NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_CIFRA_ENABLED - Enable the Cifra backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_CIFRA_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED - Enable the AES EAX mode using Cifra. + + +#ifndef NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED +#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED - Enable the mbed TLS backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED - Enable the AES CBC mode mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED - Enable the AES CTR mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED - Enable the AES CFB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED - Enable the AES ECB mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED - Enable the AES CBC MAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED - Enable the AES CMAC mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED - Enable the AES CCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED - Enable the AES GCM mode using mbed TLS. + + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED - Enable secp384r1 (NIST 384-bit) curve + + +// Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED - Enable secp521r1 (NIST 521-bit) curve + + +// Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED - Enable secp192k1 (Koblitz 192-bit) curve + + +// Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED - Enable secp224k1 (Koblitz 224-bit) curve + + +// Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED - Enable bp256r1 (Brainpool 256-bit) curve + + +// Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED - Enable bp384r1 (Brainpool 384-bit) curve + + +// Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED - Enable bp512r1 (Brainpool 512-bit) curve + + +// Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED - Enable Curve25519 curve + + +// Enable this setting if you need Curve25519 support using MBEDTLS + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED - Enable mbed TLS SHA-256 hash functionality. + + +// mbed TLS backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED - Enable mbed TLS SHA-512 hash functionality. + + +// mbed TLS backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED - Enable mbed TLS HMAC using SHA-256. + + +// mbed TLS backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED - Enable mbed TLS HMAC using SHA-512. + + +// mbed TLS backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED - Enable the micro-ecc backend. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED - Enable secp192r1 (NIST 192-bit) curve + + +// Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED - Enable secp224r1 (NIST 224-bit) curve + + +// Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED - Enable secp256r1 (NIST 256-bit) curve + + +// Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED - Enable secp256k1 (Koblitz 256-bit) curve + + +// Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc + +#ifndef NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED +#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED - Enable the nRF HW RNG backend. + +// The nRF HW backend provide access to RNG peripheral in nRF5x devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED - Enable mbed TLS CTR-DRBG algorithm. + + +// Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding. + +#ifndef NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_NRF_SW_ENABLED - Enable the legacy nRFx sw for crypto. + +// The nRF SW cryptography backend (only used in bootloader context). +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED - nRF SW hash backend support for SHA-256 + + +// The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OBERON_ENABLED - Enable the Oberon backend + +// The Oberon backend +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OBERON_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED - Enable the CHACHA-POLY mode using Oberon. + + +#ifndef NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED - Enable secp256r1 curve + + +// Enable this setting if you need secp256r1 curve support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED - Enable Curve25519 ECDH + + +// Enable this setting if you need Curve25519 ECDH support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED - Enable Ed25519 signature scheme + + +// Enable this setting if you need Ed25519 support using Oberon library + +#ifndef NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED - Oberon SHA-256 hash functionality + + +// Oberon backend implementation for SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED - Oberon SHA-512 hash functionality + + +// Oberon backend implementation for SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED - Oberon HMAC using SHA-256 + + +// Oberon backend implementation for HMAC using SHA-256. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED 1 +#endif + +// NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED - Oberon HMAC using SHA-512 + + +// Oberon backend implementation for HMAC using SHA-512. + +#ifndef NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED +#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_BACKEND_OPTIGA_ENABLED - Enable the nrf_crypto Optiga Trust X backend. + +// Enables the nrf_crypto backend for Optiga Trust X devices. +//========================================================== +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED 0 +#endif +// NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED - Optiga backend support for RNG + + +// The Optiga backend provide external chip RNG. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED 0 +#endif + +// NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED - Optiga backend support for ECC secp256r1 + + +// The Optiga backend provide external chip ECC using secp256r1. + +#ifndef NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED +#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED 1 +#endif + +// + +// NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED - Big-endian byte order in raw Curve25519 data + + +// Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0. + +#ifndef NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED +#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED 0 +#endif + +// + +// +//========================================================== + +// nRF_DFU + +//========================================================== +// ble_dfu - Device Firmware Update + +//========================================================== +// BLE_DFU_ENABLED - Enable DFU Service. + + +#ifndef BLE_DFU_ENABLED +#define BLE_DFU_ENABLED 0 +#endif + +// NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS - Buttonless DFU supports bonds. + + +#ifndef NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS +#define NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Drivers + +//========================================================== +// COMP_ENABLED - nrf_drv_comp - COMP peripheral driver - legacy layer +//========================================================== +#ifndef COMP_ENABLED +#define COMP_ENABLED 0 +#endif +// COMP_CONFIG_REF - Reference voltage + +// <0=> Internal 1.2V +// <1=> Internal 1.8V +// <2=> Internal 2.4V +// <4=> VDD +// <7=> ARef + +#ifndef COMP_CONFIG_REF +#define COMP_CONFIG_REF 1 +#endif + +// COMP_CONFIG_MAIN_MODE - Main mode + +// <0=> Single ended +// <1=> Differential + +#ifndef COMP_CONFIG_MAIN_MODE +#define COMP_CONFIG_MAIN_MODE 0 +#endif + +// COMP_CONFIG_SPEED_MODE - Speed mode + +// <0=> Low power +// <1=> Normal +// <2=> High speed + +#ifndef COMP_CONFIG_SPEED_MODE +#define COMP_CONFIG_SPEED_MODE 2 +#endif + +// COMP_CONFIG_HYST - Hystheresis + +// <0=> No +// <1=> 50mV + +#ifndef COMP_CONFIG_HYST +#define COMP_CONFIG_HYST 0 +#endif + +// COMP_CONFIG_ISOURCE - Current Source + +// <0=> Off +// <1=> 2.5 uA +// <2=> 5 uA +// <3=> 10 uA + +#ifndef COMP_CONFIG_ISOURCE +#define COMP_CONFIG_ISOURCE 0 +#endif + +// COMP_CONFIG_INPUT - Analog input + +// <0=> 0 +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef COMP_CONFIG_INPUT +#define COMP_CONFIG_INPUT 0 +#endif + +// COMP_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef COMP_CONFIG_IRQ_PRIORITY +#define COMP_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// EGU_ENABLED - nrf_drv_swi - SWI(EGU) peripheral driver - legacy layer + + +#ifndef EGU_ENABLED +#define EGU_ENABLED 0 +#endif + +// GPIOTE_ENABLED - nrf_drv_gpiote - GPIOTE peripheral driver - legacy layer +//========================================================== +#ifndef GPIOTE_ENABLED +#define GPIOTE_ENABLED 0 +#endif +// GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS - Number of lower power input pins +#ifndef GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS +#define GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS 1 +#endif + +// GPIOTE_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef GPIOTE_CONFIG_IRQ_PRIORITY +#define GPIOTE_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// I2S_ENABLED - nrf_drv_i2s - I2S peripheral driver - legacy layer +//========================================================== +#ifndef I2S_ENABLED +#define I2S_ENABLED 0 +#endif +// I2S_CONFIG_SCK_PIN - SCK pin <0-31> + + +#ifndef I2S_CONFIG_SCK_PIN +#define I2S_CONFIG_SCK_PIN 31 +#endif + +// I2S_CONFIG_LRCK_PIN - LRCK pin <1-31> + + +#ifndef I2S_CONFIG_LRCK_PIN +#define I2S_CONFIG_LRCK_PIN 30 +#endif + +// I2S_CONFIG_MCK_PIN - MCK pin +#ifndef I2S_CONFIG_MCK_PIN +#define I2S_CONFIG_MCK_PIN 255 +#endif + +// I2S_CONFIG_SDOUT_PIN - SDOUT pin <0-31> + + +#ifndef I2S_CONFIG_SDOUT_PIN +#define I2S_CONFIG_SDOUT_PIN 29 +#endif + +// I2S_CONFIG_SDIN_PIN - SDIN pin <0-31> + + +#ifndef I2S_CONFIG_SDIN_PIN +#define I2S_CONFIG_SDIN_PIN 28 +#endif + +// I2S_CONFIG_MASTER - Mode + +// <0=> Master +// <1=> Slave + +#ifndef I2S_CONFIG_MASTER +#define I2S_CONFIG_MASTER 0 +#endif + +// I2S_CONFIG_FORMAT - Format + +// <0=> I2S +// <1=> Aligned + +#ifndef I2S_CONFIG_FORMAT +#define I2S_CONFIG_FORMAT 0 +#endif + +// I2S_CONFIG_ALIGN - Alignment + +// <0=> Left +// <1=> Right + +#ifndef I2S_CONFIG_ALIGN +#define I2S_CONFIG_ALIGN 0 +#endif + +// I2S_CONFIG_SWIDTH - Sample width (bits) + +// <0=> 8 +// <1=> 16 +// <2=> 24 + +#ifndef I2S_CONFIG_SWIDTH +#define I2S_CONFIG_SWIDTH 1 +#endif + +// I2S_CONFIG_CHANNELS - Channels + +// <0=> Stereo +// <1=> Left +// <2=> Right + +#ifndef I2S_CONFIG_CHANNELS +#define I2S_CONFIG_CHANNELS 1 +#endif + +// I2S_CONFIG_MCK_SETUP - MCK behavior + +// <0=> Disabled +// <2147483648=> 32MHz/2 +// <1342177280=> 32MHz/3 +// <1073741824=> 32MHz/4 +// <805306368=> 32MHz/5 +// <671088640=> 32MHz/6 +// <536870912=> 32MHz/8 +// <402653184=> 32MHz/10 +// <369098752=> 32MHz/11 +// <285212672=> 32MHz/15 +// <268435456=> 32MHz/16 +// <201326592=> 32MHz/21 +// <184549376=> 32MHz/23 +// <142606336=> 32MHz/30 +// <138412032=> 32MHz/31 +// <134217728=> 32MHz/32 +// <100663296=> 32MHz/42 +// <68157440=> 32MHz/63 +// <34340864=> 32MHz/125 + +#ifndef I2S_CONFIG_MCK_SETUP +#define I2S_CONFIG_MCK_SETUP 536870912 +#endif + +// I2S_CONFIG_RATIO - MCK/LRCK ratio + +// <0=> 32x +// <1=> 48x +// <2=> 64x +// <3=> 96x +// <4=> 128x +// <5=> 192x +// <6=> 256x +// <7=> 384x +// <8=> 512x + +#ifndef I2S_CONFIG_RATIO +#define I2S_CONFIG_RATIO 2000 +#endif + +// I2S_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef I2S_CONFIG_IRQ_PRIORITY +#define I2S_CONFIG_IRQ_PRIORITY 6 +#endif + +// I2S_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef I2S_CONFIG_LOG_ENABLED +#define I2S_CONFIG_LOG_ENABLED 0 +#endif +// I2S_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef I2S_CONFIG_LOG_LEVEL +#define I2S_CONFIG_LOG_LEVEL 3 +#endif + +// I2S_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef I2S_CONFIG_INFO_COLOR +#define I2S_CONFIG_INFO_COLOR 0 +#endif + +// I2S_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef I2S_CONFIG_DEBUG_COLOR +#define I2S_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// LPCOMP_ENABLED - nrf_drv_lpcomp - LPCOMP peripheral driver - legacy layer +//========================================================== +#ifndef LPCOMP_ENABLED +#define LPCOMP_ENABLED 0 +#endif +// LPCOMP_CONFIG_REFERENCE - Reference voltage + +// <0=> Supply 1/8 +// <1=> Supply 2/8 +// <2=> Supply 3/8 +// <3=> Supply 4/8 +// <4=> Supply 5/8 +// <5=> Supply 6/8 +// <6=> Supply 7/8 +// <8=> Supply 1/16 (nRF52) +// <9=> Supply 3/16 (nRF52) +// <10=> Supply 5/16 (nRF52) +// <11=> Supply 7/16 (nRF52) +// <12=> Supply 9/16 (nRF52) +// <13=> Supply 11/16 (nRF52) +// <14=> Supply 13/16 (nRF52) +// <15=> Supply 15/16 (nRF52) +// <7=> External Ref 0 +// <65543=> External Ref 1 + +#ifndef LPCOMP_CONFIG_REFERENCE +#define LPCOMP_CONFIG_REFERENCE 3 +#endif + +// LPCOMP_CONFIG_DETECTION - Detection + +// <0=> Crossing +// <1=> Up +// <2=> Down + +#ifndef LPCOMP_CONFIG_DETECTION +#define LPCOMP_CONFIG_DETECTION 2 +#endif + +// LPCOMP_CONFIG_INPUT - Analog input + +// <0=> 0 +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef LPCOMP_CONFIG_INPUT +#define LPCOMP_CONFIG_INPUT 0 +#endif + +// LPCOMP_CONFIG_HYST - Hysteresis + + +#ifndef LPCOMP_CONFIG_HYST +#define LPCOMP_CONFIG_HYST 0 +#endif + +// LPCOMP_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef LPCOMP_CONFIG_IRQ_PRIORITY +#define LPCOMP_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// NRFX_CLOCK_ENABLED - nrfx_clock - CLOCK peripheral driver +//========================================================== +#ifndef NRFX_CLOCK_ENABLED +#define NRFX_CLOCK_ENABLED 0 +#endif +// NRFX_CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef NRFX_CLOCK_CONFIG_LF_SRC +#define NRFX_CLOCK_CONFIG_LF_SRC 1 +#endif + +// NRFX_CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_CLOCK_CONFIG_IRQ_PRIORITY +#define NRFX_CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_CLOCK_CONFIG_LOG_ENABLED +#define NRFX_CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_CLOCK_CONFIG_LOG_LEVEL +#define NRFX_CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_INFO_COLOR +#define NRFX_CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_CLOCK_CONFIG_DEBUG_COLOR +#define NRFX_CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_COMP_ENABLED - nrfx_comp - COMP peripheral driver +//========================================================== +#ifndef NRFX_COMP_ENABLED +#define NRFX_COMP_ENABLED 0 +#endif +// NRFX_COMP_CONFIG_REF - Reference voltage + +// <0=> Internal 1.2V +// <1=> Internal 1.8V +// <2=> Internal 2.4V +// <4=> VDD +// <7=> ARef + +#ifndef NRFX_COMP_CONFIG_REF +#define NRFX_COMP_CONFIG_REF 1 +#endif + +// NRFX_COMP_CONFIG_MAIN_MODE - Main mode + +// <0=> Single ended +// <1=> Differential + +#ifndef NRFX_COMP_CONFIG_MAIN_MODE +#define NRFX_COMP_CONFIG_MAIN_MODE 0 +#endif + +// NRFX_COMP_CONFIG_SPEED_MODE - Speed mode + +// <0=> Low power +// <1=> Normal +// <2=> High speed + +#ifndef NRFX_COMP_CONFIG_SPEED_MODE +#define NRFX_COMP_CONFIG_SPEED_MODE 2 +#endif + +// NRFX_COMP_CONFIG_HYST - Hystheresis + +// <0=> No +// <1=> 50mV + +#ifndef NRFX_COMP_CONFIG_HYST +#define NRFX_COMP_CONFIG_HYST 0 +#endif + +// NRFX_COMP_CONFIG_ISOURCE - Current Source + +// <0=> Off +// <1=> 2.5 uA +// <2=> 5 uA +// <3=> 10 uA + +#ifndef NRFX_COMP_CONFIG_ISOURCE +#define NRFX_COMP_CONFIG_ISOURCE 0 +#endif + +// NRFX_COMP_CONFIG_INPUT - Analog input + +// <0=> 0 +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_COMP_CONFIG_INPUT +#define NRFX_COMP_CONFIG_INPUT 0 +#endif + +// NRFX_COMP_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_COMP_CONFIG_IRQ_PRIORITY +#define NRFX_COMP_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_COMP_CONFIG_LOG_ENABLED +#define NRFX_COMP_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_COMP_CONFIG_LOG_LEVEL +#define NRFX_COMP_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_COMP_CONFIG_INFO_COLOR +#define NRFX_COMP_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_COMP_CONFIG_DEBUG_COLOR +#define NRFX_COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_GPIOTE_ENABLED - nrfx_gpiote - GPIOTE peripheral driver +//========================================================== +#ifndef NRFX_GPIOTE_ENABLED +#define NRFX_GPIOTE_ENABLED 1 +#endif +// NRFX_GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS - Number of lower power input pins +#ifndef NRFX_GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS +#define NRFX_GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS 1 +#endif + +// NRFX_GPIOTE_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_GPIOTE_CONFIG_IRQ_PRIORITY +#define NRFX_GPIOTE_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_GPIOTE_CONFIG_LOG_ENABLED +#define NRFX_GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_GPIOTE_CONFIG_LOG_LEVEL +#define NRFX_GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_GPIOTE_CONFIG_INFO_COLOR +#define NRFX_GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_GPIOTE_CONFIG_DEBUG_COLOR +#define NRFX_GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_I2S_ENABLED - nrfx_i2s - I2S peripheral driver +//========================================================== +#ifndef NRFX_I2S_ENABLED +#define NRFX_I2S_ENABLED 0 +#endif +// NRFX_I2S_CONFIG_SCK_PIN - SCK pin <0-31> + + +#ifndef NRFX_I2S_CONFIG_SCK_PIN +#define NRFX_I2S_CONFIG_SCK_PIN 31 +#endif + +// NRFX_I2S_CONFIG_LRCK_PIN - LRCK pin <1-31> + + +#ifndef NRFX_I2S_CONFIG_LRCK_PIN +#define NRFX_I2S_CONFIG_LRCK_PIN 30 +#endif + +// NRFX_I2S_CONFIG_MCK_PIN - MCK pin +#ifndef NRFX_I2S_CONFIG_MCK_PIN +#define NRFX_I2S_CONFIG_MCK_PIN 255 +#endif + +// NRFX_I2S_CONFIG_SDOUT_PIN - SDOUT pin <0-31> + + +#ifndef NRFX_I2S_CONFIG_SDOUT_PIN +#define NRFX_I2S_CONFIG_SDOUT_PIN 29 +#endif + +// NRFX_I2S_CONFIG_SDIN_PIN - SDIN pin <0-31> + + +#ifndef NRFX_I2S_CONFIG_SDIN_PIN +#define NRFX_I2S_CONFIG_SDIN_PIN 28 +#endif + +// NRFX_I2S_CONFIG_MASTER - Mode + +// <0=> Master +// <1=> Slave + +#ifndef NRFX_I2S_CONFIG_MASTER +#define NRFX_I2S_CONFIG_MASTER 0 +#endif + +// NRFX_I2S_CONFIG_FORMAT - Format + +// <0=> I2S +// <1=> Aligned + +#ifndef NRFX_I2S_CONFIG_FORMAT +#define NRFX_I2S_CONFIG_FORMAT 0 +#endif + +// NRFX_I2S_CONFIG_ALIGN - Alignment + +// <0=> Left +// <1=> Right + +#ifndef NRFX_I2S_CONFIG_ALIGN +#define NRFX_I2S_CONFIG_ALIGN 0 +#endif + +// NRFX_I2S_CONFIG_SWIDTH - Sample width (bits) + +// <0=> 8 +// <1=> 16 +// <2=> 24 + +#ifndef NRFX_I2S_CONFIG_SWIDTH +#define NRFX_I2S_CONFIG_SWIDTH 1 +#endif + +// NRFX_I2S_CONFIG_CHANNELS - Channels + +// <0=> Stereo +// <1=> Left +// <2=> Right + +#ifndef NRFX_I2S_CONFIG_CHANNELS +#define NRFX_I2S_CONFIG_CHANNELS 1 +#endif + +// NRFX_I2S_CONFIG_MCK_SETUP - MCK behavior + +// <0=> Disabled +// <2147483648=> 32MHz/2 +// <1342177280=> 32MHz/3 +// <1073741824=> 32MHz/4 +// <805306368=> 32MHz/5 +// <671088640=> 32MHz/6 +// <536870912=> 32MHz/8 +// <402653184=> 32MHz/10 +// <369098752=> 32MHz/11 +// <285212672=> 32MHz/15 +// <268435456=> 32MHz/16 +// <201326592=> 32MHz/21 +// <184549376=> 32MHz/23 +// <142606336=> 32MHz/30 +// <138412032=> 32MHz/31 +// <134217728=> 32MHz/32 +// <100663296=> 32MHz/42 +// <68157440=> 32MHz/63 +// <34340864=> 32MHz/125 + +#ifndef NRFX_I2S_CONFIG_MCK_SETUP +#define NRFX_I2S_CONFIG_MCK_SETUP 536870912 +#endif + +// NRFX_I2S_CONFIG_RATIO - MCK/LRCK ratio + +// <0=> 32x +// <1=> 48x +// <2=> 64x +// <3=> 96x +// <4=> 128x +// <5=> 192x +// <6=> 256x +// <7=> 384x +// <8=> 512x + +#ifndef NRFX_I2S_CONFIG_RATIO +#define NRFX_I2S_CONFIG_RATIO 2000 +#endif + +// NRFX_I2S_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_I2S_CONFIG_IRQ_PRIORITY +#define NRFX_I2S_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_I2S_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_I2S_CONFIG_LOG_ENABLED +#define NRFX_I2S_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_I2S_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_I2S_CONFIG_LOG_LEVEL +#define NRFX_I2S_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_I2S_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_I2S_CONFIG_INFO_COLOR +#define NRFX_I2S_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_I2S_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_I2S_CONFIG_DEBUG_COLOR +#define NRFX_I2S_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_LPCOMP_ENABLED - nrfx_lpcomp - LPCOMP peripheral driver +//========================================================== +#ifndef NRFX_LPCOMP_ENABLED +#define NRFX_LPCOMP_ENABLED 0 +#endif +// NRFX_LPCOMP_CONFIG_REFERENCE - Reference voltage + +// <0=> Supply 1/8 +// <1=> Supply 2/8 +// <2=> Supply 3/8 +// <3=> Supply 4/8 +// <4=> Supply 5/8 +// <5=> Supply 6/8 +// <6=> Supply 7/8 +// <8=> Supply 1/16 (nRF52) +// <9=> Supply 3/16 (nRF52) +// <10=> Supply 5/16 (nRF52) +// <11=> Supply 7/16 (nRF52) +// <12=> Supply 9/16 (nRF52) +// <13=> Supply 11/16 (nRF52) +// <14=> Supply 13/16 (nRF52) +// <15=> Supply 15/16 (nRF52) +// <7=> External Ref 0 +// <65543=> External Ref 1 + +#ifndef NRFX_LPCOMP_CONFIG_REFERENCE +#define NRFX_LPCOMP_CONFIG_REFERENCE 3 +#endif + +// NRFX_LPCOMP_CONFIG_DETECTION - Detection + +// <0=> Crossing +// <1=> Up +// <2=> Down + +#ifndef NRFX_LPCOMP_CONFIG_DETECTION +#define NRFX_LPCOMP_CONFIG_DETECTION 2 +#endif + +// NRFX_LPCOMP_CONFIG_INPUT - Analog input + +// <0=> 0 +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_LPCOMP_CONFIG_INPUT +#define NRFX_LPCOMP_CONFIG_INPUT 0 +#endif + +// NRFX_LPCOMP_CONFIG_HYST - Hysteresis + + +#ifndef NRFX_LPCOMP_CONFIG_HYST +#define NRFX_LPCOMP_CONFIG_HYST 0 +#endif + +// NRFX_LPCOMP_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_LPCOMP_CONFIG_IRQ_PRIORITY +#define NRFX_LPCOMP_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_LPCOMP_CONFIG_LOG_ENABLED +#define NRFX_LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_LPCOMP_CONFIG_LOG_LEVEL +#define NRFX_LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_LPCOMP_CONFIG_INFO_COLOR +#define NRFX_LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_LPCOMP_CONFIG_DEBUG_COLOR +#define NRFX_LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_NFCT_ENABLED - nrfx_nfct - NFCT peripheral driver +//========================================================== +#ifndef NRFX_NFCT_ENABLED +#define NRFX_NFCT_ENABLED 0 +#endif +// NRFX_NFCT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_NFCT_CONFIG_IRQ_PRIORITY +#define NRFX_NFCT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_NFCT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_NFCT_CONFIG_LOG_ENABLED +#define NRFX_NFCT_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_NFCT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_NFCT_CONFIG_LOG_LEVEL +#define NRFX_NFCT_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_NFCT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_NFCT_CONFIG_INFO_COLOR +#define NRFX_NFCT_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_NFCT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_NFCT_CONFIG_DEBUG_COLOR +#define NRFX_NFCT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_PDM_ENABLED - nrfx_pdm - PDM peripheral driver +//========================================================== +#ifndef NRFX_PDM_ENABLED +#define NRFX_PDM_ENABLED 0 +#endif +// NRFX_PDM_CONFIG_MODE - Mode + +// <0=> Stereo +// <1=> Mono + +#ifndef NRFX_PDM_CONFIG_MODE +#define NRFX_PDM_CONFIG_MODE 1 +#endif + +// NRFX_PDM_CONFIG_EDGE - Edge + +// <0=> Left falling +// <1=> Left rising + +#ifndef NRFX_PDM_CONFIG_EDGE +#define NRFX_PDM_CONFIG_EDGE 0 +#endif + +// NRFX_PDM_CONFIG_CLOCK_FREQ - Clock frequency + +// <134217728=> 1000k +// <138412032=> 1032k (default) +// <142606336=> 1067k + +#ifndef NRFX_PDM_CONFIG_CLOCK_FREQ +#define NRFX_PDM_CONFIG_CLOCK_FREQ 138412032 +#endif + +// NRFX_PDM_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_PDM_CONFIG_IRQ_PRIORITY +#define NRFX_PDM_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PDM_CONFIG_LOG_ENABLED +#define NRFX_PDM_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PDM_CONFIG_LOG_LEVEL +#define NRFX_PDM_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PDM_CONFIG_INFO_COLOR +#define NRFX_PDM_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PDM_CONFIG_DEBUG_COLOR +#define NRFX_PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_POWER_ENABLED - nrfx_power - POWER peripheral driver +//========================================================== +#ifndef NRFX_POWER_ENABLED +#define NRFX_POWER_ENABLED 0 +#endif +// NRFX_POWER_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_POWER_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_POWER_DEFAULT_CONFIG_IRQ_PRIORITY 7 +#endif + +// NRFX_POWER_CONFIG_DEFAULT_DCDCEN - The default configuration of main DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef NRFX_POWER_CONFIG_DEFAULT_DCDCEN +#define NRFX_POWER_CONFIG_DEFAULT_DCDCEN 0 +#endif + +// NRFX_POWER_CONFIG_DEFAULT_DCDCENHV - The default configuration of High Voltage DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef NRFX_POWER_CONFIG_DEFAULT_DCDCENHV +#define NRFX_POWER_CONFIG_DEFAULT_DCDCENHV 0 +#endif + +// + +// NRFX_PPI_ENABLED - nrfx_ppi - PPI peripheral allocator +//========================================================== +#ifndef NRFX_PPI_ENABLED +#define NRFX_PPI_ENABLED 0 +#endif +// NRFX_PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PPI_CONFIG_LOG_ENABLED +#define NRFX_PPI_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PPI_CONFIG_LOG_LEVEL +#define NRFX_PPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PPI_CONFIG_INFO_COLOR +#define NRFX_PPI_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PPI_CONFIG_DEBUG_COLOR +#define NRFX_PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_PWM_ENABLED - nrfx_pwm - PWM peripheral driver +//========================================================== +#ifndef NRFX_PWM_ENABLED +#define NRFX_PWM_ENABLED 0 +#endif +// NRFX_PWM0_ENABLED - Enable PWM0 instance + + +#ifndef NRFX_PWM0_ENABLED +#define NRFX_PWM0_ENABLED 0 +#endif + +// NRFX_PWM1_ENABLED - Enable PWM1 instance + + +#ifndef NRFX_PWM1_ENABLED +#define NRFX_PWM1_ENABLED 0 +#endif + +// NRFX_PWM2_ENABLED - Enable PWM2 instance + + +#ifndef NRFX_PWM2_ENABLED +#define NRFX_PWM2_ENABLED 0 +#endif + +// NRFX_PWM3_ENABLED - Enable PWM3 instance + + +#ifndef NRFX_PWM3_ENABLED +#define NRFX_PWM3_ENABLED 0 +#endif + +// NRFX_PWM_DEFAULT_CONFIG_OUT0_PIN - Out0 pin <0-31> + + +#ifndef NRFX_PWM_DEFAULT_CONFIG_OUT0_PIN +#define NRFX_PWM_DEFAULT_CONFIG_OUT0_PIN 31 +#endif + +// NRFX_PWM_DEFAULT_CONFIG_OUT1_PIN - Out1 pin <0-31> + + +#ifndef NRFX_PWM_DEFAULT_CONFIG_OUT1_PIN +#define NRFX_PWM_DEFAULT_CONFIG_OUT1_PIN 31 +#endif + +// NRFX_PWM_DEFAULT_CONFIG_OUT2_PIN - Out2 pin <0-31> + + +#ifndef NRFX_PWM_DEFAULT_CONFIG_OUT2_PIN +#define NRFX_PWM_DEFAULT_CONFIG_OUT2_PIN 31 +#endif + +// NRFX_PWM_DEFAULT_CONFIG_OUT3_PIN - Out3 pin <0-31> + + +#ifndef NRFX_PWM_DEFAULT_CONFIG_OUT3_PIN +#define NRFX_PWM_DEFAULT_CONFIG_OUT3_PIN 31 +#endif + +// NRFX_PWM_DEFAULT_CONFIG_BASE_CLOCK - Base clock + +// <0=> 16 MHz +// <1=> 8 MHz +// <2=> 4 MHz +// <3=> 2 MHz +// <4=> 1 MHz +// <5=> 500 kHz +// <6=> 250 kHz +// <7=> 125 kHz + +#ifndef NRFX_PWM_DEFAULT_CONFIG_BASE_CLOCK +#define NRFX_PWM_DEFAULT_CONFIG_BASE_CLOCK 4 +#endif + +// NRFX_PWM_DEFAULT_CONFIG_COUNT_MODE - Count mode + +// <0=> Up +// <1=> Up and Down + +#ifndef NRFX_PWM_DEFAULT_CONFIG_COUNT_MODE +#define NRFX_PWM_DEFAULT_CONFIG_COUNT_MODE 0 +#endif + +// NRFX_PWM_DEFAULT_CONFIG_TOP_VALUE - Top value +#ifndef NRFX_PWM_DEFAULT_CONFIG_TOP_VALUE +#define NRFX_PWM_DEFAULT_CONFIG_TOP_VALUE 1000 +#endif + +// NRFX_PWM_DEFAULT_CONFIG_LOAD_MODE - Load mode + +// <0=> Common +// <1=> Grouped +// <2=> Individual +// <3=> Waveform + +#ifndef NRFX_PWM_DEFAULT_CONFIG_LOAD_MODE +#define NRFX_PWM_DEFAULT_CONFIG_LOAD_MODE 0 +#endif + +// NRFX_PWM_DEFAULT_CONFIG_STEP_MODE - Step mode + +// <0=> Auto +// <1=> Triggered + +#ifndef NRFX_PWM_DEFAULT_CONFIG_STEP_MODE +#define NRFX_PWM_DEFAULT_CONFIG_STEP_MODE 0 +#endif + +// NRFX_PWM_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_PWM_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_PWM_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_PWM_CONFIG_LOG_ENABLED +#define NRFX_PWM_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_PWM_CONFIG_LOG_LEVEL +#define NRFX_PWM_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PWM_CONFIG_INFO_COLOR +#define NRFX_PWM_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_PWM_CONFIG_DEBUG_COLOR +#define NRFX_PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_QDEC_ENABLED - nrfx_qdec - QDEC peripheral driver +//========================================================== +#ifndef NRFX_QDEC_ENABLED +#define NRFX_QDEC_ENABLED 0 +#endif +// NRFX_QDEC_CONFIG_REPORTPER - Report period + +// <0=> 10 Samples +// <1=> 40 Samples +// <2=> 80 Samples +// <3=> 120 Samples +// <4=> 160 Samples +// <5=> 200 Samples +// <6=> 240 Samples +// <7=> 280 Samples + +#ifndef NRFX_QDEC_CONFIG_REPORTPER +#define NRFX_QDEC_CONFIG_REPORTPER 0 +#endif + +// NRFX_QDEC_CONFIG_SAMPLEPER - Sample period + +// <0=> 128 us +// <1=> 256 us +// <2=> 512 us +// <3=> 1024 us +// <4=> 2048 us +// <5=> 4096 us +// <6=> 8192 us +// <7=> 16384 us + +#ifndef NRFX_QDEC_CONFIG_SAMPLEPER +#define NRFX_QDEC_CONFIG_SAMPLEPER 7 +#endif + +// NRFX_QDEC_CONFIG_PIO_A - A pin <0-31> + + +#ifndef NRFX_QDEC_CONFIG_PIO_A +#define NRFX_QDEC_CONFIG_PIO_A 31 +#endif + +// NRFX_QDEC_CONFIG_PIO_B - B pin <0-31> + + +#ifndef NRFX_QDEC_CONFIG_PIO_B +#define NRFX_QDEC_CONFIG_PIO_B 31 +#endif + +// NRFX_QDEC_CONFIG_PIO_LED - LED pin <0-31> + + +#ifndef NRFX_QDEC_CONFIG_PIO_LED +#define NRFX_QDEC_CONFIG_PIO_LED 31 +#endif + +// NRFX_QDEC_CONFIG_LEDPRE - LED pre +#ifndef NRFX_QDEC_CONFIG_LEDPRE +#define NRFX_QDEC_CONFIG_LEDPRE 511 +#endif + +// NRFX_QDEC_CONFIG_LEDPOL - LED polarity + +// <0=> Active low +// <1=> Active high + +#ifndef NRFX_QDEC_CONFIG_LEDPOL +#define NRFX_QDEC_CONFIG_LEDPOL 1 +#endif + +// NRFX_QDEC_CONFIG_DBFEN - Debouncing enable + + +#ifndef NRFX_QDEC_CONFIG_DBFEN +#define NRFX_QDEC_CONFIG_DBFEN 0 +#endif + +// NRFX_QDEC_CONFIG_SAMPLE_INTEN - Sample ready interrupt enable + + +#ifndef NRFX_QDEC_CONFIG_SAMPLE_INTEN +#define NRFX_QDEC_CONFIG_SAMPLE_INTEN 0 +#endif + +// NRFX_QDEC_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_QDEC_CONFIG_IRQ_PRIORITY +#define NRFX_QDEC_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_QDEC_CONFIG_LOG_ENABLED +#define NRFX_QDEC_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_QDEC_CONFIG_LOG_LEVEL +#define NRFX_QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_QDEC_CONFIG_INFO_COLOR +#define NRFX_QDEC_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_QDEC_CONFIG_DEBUG_COLOR +#define NRFX_QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_QSPI_ENABLED - nrfx_qspi - QSPI peripheral driver +//========================================================== +#ifndef NRFX_QSPI_ENABLED +#define NRFX_QSPI_ENABLED 1 +#endif +// NRFX_QSPI_CONFIG_SCK_DELAY - tSHSL, tWHSL and tSHWL in number of 16 MHz periods (62.5 ns). <0-255> + + +#ifndef NRFX_QSPI_CONFIG_SCK_DELAY +#define NRFX_QSPI_CONFIG_SCK_DELAY 1 +#endif + +// NRFX_QSPI_CONFIG_XIP_OFFSET - Address offset in the external memory for Execute in Place operation. +#ifndef NRFX_QSPI_CONFIG_XIP_OFFSET +#define NRFX_QSPI_CONFIG_XIP_OFFSET 0 +#endif + +// NRFX_QSPI_CONFIG_READOC - Number of data lines and opcode used for reading. + +// <0=> FastRead +// <1=> Read2O +// <2=> Read2IO +// <3=> Read4O +// <4=> Read4IO + +#ifndef NRFX_QSPI_CONFIG_READOC +#define NRFX_QSPI_CONFIG_READOC 0 +#endif + +// NRFX_QSPI_CONFIG_WRITEOC - Number of data lines and opcode used for writing. + +// <0=> PP +// <1=> PP2O +// <2=> PP4O +// <3=> PP4IO + +#ifndef NRFX_QSPI_CONFIG_WRITEOC +#define NRFX_QSPI_CONFIG_WRITEOC 0 +#endif + +// NRFX_QSPI_CONFIG_ADDRMODE - Addressing mode. + +// <0=> 24bit +// <1=> 32bit + +#ifndef NRFX_QSPI_CONFIG_ADDRMODE +#define NRFX_QSPI_CONFIG_ADDRMODE 0 +#endif + +// NRFX_QSPI_CONFIG_MODE - SPI mode. + +// <0=> Mode 0 +// <1=> Mode 1 + +#ifndef NRFX_QSPI_CONFIG_MODE +#define NRFX_QSPI_CONFIG_MODE 0 +#endif + +// NRFX_QSPI_CONFIG_FREQUENCY - Frequency divider. + +// <0=> 32MHz/1 +// <1=> 32MHz/2 +// <2=> 32MHz/3 +// <3=> 32MHz/4 +// <4=> 32MHz/5 +// <5=> 32MHz/6 +// <6=> 32MHz/7 +// <7=> 32MHz/8 +// <8=> 32MHz/9 +// <9=> 32MHz/10 +// <10=> 32MHz/11 +// <11=> 32MHz/12 +// <12=> 32MHz/13 +// <13=> 32MHz/14 +// <14=> 32MHz/15 +// <15=> 32MHz/16 + +#ifndef NRFX_QSPI_CONFIG_FREQUENCY +#define NRFX_QSPI_CONFIG_FREQUENCY 15 +#endif + +// NRFX_QSPI_PIN_SCK - SCK pin value. +#ifndef NRFX_QSPI_PIN_SCK +#define NRFX_QSPI_PIN_SCK NRF_QSPI_PIN_NOT_CONNECTED +#endif + +// NRFX_QSPI_PIN_CSN - CSN pin value. +#ifndef NRFX_QSPI_PIN_CSN +#define NRFX_QSPI_PIN_CSN NRF_QSPI_PIN_NOT_CONNECTED +#endif + +// NRFX_QSPI_PIN_IO0 - IO0 pin value. +#ifndef NRFX_QSPI_PIN_IO0 +#define NRFX_QSPI_PIN_IO0 NRF_QSPI_PIN_NOT_CONNECTED +#endif + +// NRFX_QSPI_PIN_IO1 - IO1 pin value. +#ifndef NRFX_QSPI_PIN_IO1 +#define NRFX_QSPI_PIN_IO1 NRF_QSPI_PIN_NOT_CONNECTED +#endif + +// NRFX_QSPI_PIN_IO2 - IO2 pin value. +#ifndef NRFX_QSPI_PIN_IO2 +#define NRFX_QSPI_PIN_IO2 NRF_QSPI_PIN_NOT_CONNECTED +#endif + +// NRFX_QSPI_PIN_IO3 - IO3 pin value. +#ifndef NRFX_QSPI_PIN_IO3 +#define NRFX_QSPI_PIN_IO3 NRF_QSPI_PIN_NOT_CONNECTED +#endif + +// NRFX_QSPI_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_QSPI_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_QSPI_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// NRFX_RNG_ENABLED - nrfx_rng - RNG peripheral driver +//========================================================== +#ifndef NRFX_RNG_ENABLED +#define NRFX_RNG_ENABLED 0 +#endif +// NRFX_RNG_CONFIG_ERROR_CORRECTION - Error correction + + +#ifndef NRFX_RNG_CONFIG_ERROR_CORRECTION +#define NRFX_RNG_CONFIG_ERROR_CORRECTION 1 +#endif + +// NRFX_RNG_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_RNG_CONFIG_IRQ_PRIORITY +#define NRFX_RNG_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_RNG_CONFIG_LOG_ENABLED +#define NRFX_RNG_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_RNG_CONFIG_LOG_LEVEL +#define NRFX_RNG_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_RNG_CONFIG_INFO_COLOR +#define NRFX_RNG_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_RNG_CONFIG_DEBUG_COLOR +#define NRFX_RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_RTC_ENABLED - nrfx_rtc - RTC peripheral driver +//========================================================== +#ifndef NRFX_RTC_ENABLED +#define NRFX_RTC_ENABLED 0 +#endif +// NRFX_RTC0_ENABLED - Enable RTC0 instance + + +#ifndef NRFX_RTC0_ENABLED +#define NRFX_RTC0_ENABLED 0 +#endif + +// NRFX_RTC1_ENABLED - Enable RTC1 instance + + +#ifndef NRFX_RTC1_ENABLED +#define NRFX_RTC1_ENABLED 0 +#endif + +// NRFX_RTC2_ENABLED - Enable RTC2 instance + + +#ifndef NRFX_RTC2_ENABLED +#define NRFX_RTC2_ENABLED 0 +#endif + +// NRFX_RTC_MAXIMUM_LATENCY_US - Maximum possible time[us] in highest priority interrupt +#ifndef NRFX_RTC_MAXIMUM_LATENCY_US +#define NRFX_RTC_MAXIMUM_LATENCY_US 2000 +#endif + +// NRFX_RTC_DEFAULT_CONFIG_FREQUENCY - Frequency <16-32768> + + +#ifndef NRFX_RTC_DEFAULT_CONFIG_FREQUENCY +#define NRFX_RTC_DEFAULT_CONFIG_FREQUENCY 32768 +#endif + +// NRFX_RTC_DEFAULT_CONFIG_RELIABLE - Ensures safe compare event triggering + + +#ifndef NRFX_RTC_DEFAULT_CONFIG_RELIABLE +#define NRFX_RTC_DEFAULT_CONFIG_RELIABLE 0 +#endif + +// NRFX_RTC_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_RTC_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_RTC_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_RTC_CONFIG_LOG_ENABLED +#define NRFX_RTC_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_RTC_CONFIG_LOG_LEVEL +#define NRFX_RTC_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_RTC_CONFIG_INFO_COLOR +#define NRFX_RTC_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_RTC_CONFIG_DEBUG_COLOR +#define NRFX_RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_SAADC_ENABLED - nrfx_saadc - SAADC peripheral driver +//========================================================== +#ifndef NRFX_SAADC_ENABLED +#define NRFX_SAADC_ENABLED 0 +#endif +// NRFX_SAADC_CONFIG_RESOLUTION - Resolution + +// <0=> 8 bit +// <1=> 10 bit +// <2=> 12 bit +// <3=> 14 bit + +#ifndef NRFX_SAADC_CONFIG_RESOLUTION +#define NRFX_SAADC_CONFIG_RESOLUTION 1 +#endif + +// NRFX_SAADC_CONFIG_OVERSAMPLE - Sample period + +// <0=> Disabled +// <1=> 2x +// <2=> 4x +// <3=> 8x +// <4=> 16x +// <5=> 32x +// <6=> 64x +// <7=> 128x +// <8=> 256x + +#ifndef NRFX_SAADC_CONFIG_OVERSAMPLE +#define NRFX_SAADC_CONFIG_OVERSAMPLE 0 +#endif + +// NRFX_SAADC_CONFIG_LP_MODE - Enabling low power mode + + +#ifndef NRFX_SAADC_CONFIG_LP_MODE +#define NRFX_SAADC_CONFIG_LP_MODE 0 +#endif + +// NRFX_SAADC_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_SAADC_CONFIG_IRQ_PRIORITY +#define NRFX_SAADC_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_SAADC_CONFIG_LOG_ENABLED +#define NRFX_SAADC_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_SAADC_CONFIG_LOG_LEVEL +#define NRFX_SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_SAADC_CONFIG_INFO_COLOR +#define NRFX_SAADC_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_SAADC_CONFIG_DEBUG_COLOR +#define NRFX_SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_SPIM_ENABLED - nrfx_spim - SPIM peripheral driver +//========================================================== +#ifndef NRFX_SPIM_ENABLED +#define NRFX_SPIM_ENABLED 0 +#endif +// NRFX_SPIM0_ENABLED - Enable SPIM0 instance + + +#ifndef NRFX_SPIM0_ENABLED +#define NRFX_SPIM0_ENABLED 0 +#endif + +// NRFX_SPIM1_ENABLED - Enable SPIM1 instance + + +#ifndef NRFX_SPIM1_ENABLED +#define NRFX_SPIM1_ENABLED 0 +#endif + +// NRFX_SPIM2_ENABLED - Enable SPIM2 instance + + +#ifndef NRFX_SPIM2_ENABLED +#define NRFX_SPIM2_ENABLED 0 +#endif + +// NRFX_SPIM3_ENABLED - Enable SPIM3 instance + + +#ifndef NRFX_SPIM3_ENABLED +#define NRFX_SPIM3_ENABLED 0 +#endif + +// NRFX_SPIM_EXTENDED_ENABLED - Enable extended SPIM features + + +#ifndef NRFX_SPIM_EXTENDED_ENABLED +#define NRFX_SPIM_EXTENDED_ENABLED 0 +#endif + +// NRFX_SPIM_MISO_PULL_CFG - MISO pin pull configuration. + +// <0=> NRF_GPIO_PIN_NOPULL +// <1=> NRF_GPIO_PIN_PULLDOWN +// <3=> NRF_GPIO_PIN_PULLUP + +#ifndef NRFX_SPIM_MISO_PULL_CFG +#define NRFX_SPIM_MISO_PULL_CFG 1 +#endif + +// NRFX_SPIM_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_SPIM_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_SPIM_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_SPIM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_SPIM_CONFIG_LOG_ENABLED +#define NRFX_SPIM_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_SPIM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_SPIM_CONFIG_LOG_LEVEL +#define NRFX_SPIM_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_SPIM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_SPIM_CONFIG_INFO_COLOR +#define NRFX_SPIM_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_SPIM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_SPIM_CONFIG_DEBUG_COLOR +#define NRFX_SPIM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_SPIS_ENABLED - nrfx_spis - SPIS peripheral driver +//========================================================== +#ifndef NRFX_SPIS_ENABLED +#define NRFX_SPIS_ENABLED 0 +#endif +// NRFX_SPIS0_ENABLED - Enable SPIS0 instance + + +#ifndef NRFX_SPIS0_ENABLED +#define NRFX_SPIS0_ENABLED 0 +#endif + +// NRFX_SPIS1_ENABLED - Enable SPIS1 instance + + +#ifndef NRFX_SPIS1_ENABLED +#define NRFX_SPIS1_ENABLED 0 +#endif + +// NRFX_SPIS2_ENABLED - Enable SPIS2 instance + + +#ifndef NRFX_SPIS2_ENABLED +#define NRFX_SPIS2_ENABLED 0 +#endif + +// NRFX_SPIS_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_SPIS_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_SPIS_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_SPIS_DEFAULT_DEF - SPIS default DEF character <0-255> + + +#ifndef NRFX_SPIS_DEFAULT_DEF +#define NRFX_SPIS_DEFAULT_DEF 255 +#endif + +// NRFX_SPIS_DEFAULT_ORC - SPIS default ORC character <0-255> + + +#ifndef NRFX_SPIS_DEFAULT_ORC +#define NRFX_SPIS_DEFAULT_ORC 255 +#endif + +// NRFX_SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_SPIS_CONFIG_LOG_ENABLED +#define NRFX_SPIS_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_SPIS_CONFIG_LOG_LEVEL +#define NRFX_SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_SPIS_CONFIG_INFO_COLOR +#define NRFX_SPIS_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_SPIS_CONFIG_DEBUG_COLOR +#define NRFX_SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_SPI_ENABLED - nrfx_spi - SPI peripheral driver +//========================================================== +#ifndef NRFX_SPI_ENABLED +#define NRFX_SPI_ENABLED 1 +#endif +// NRFX_SPI0_ENABLED - Enable SPI0 instance + + +#ifndef NRFX_SPI0_ENABLED +#define NRFX_SPI0_ENABLED 1 +#endif + +// NRFX_SPI1_ENABLED - Enable SPI1 instance + + +#ifndef NRFX_SPI1_ENABLED +#define NRFX_SPI1_ENABLED 1 +#endif + +// NRFX_SPI2_ENABLED - Enable SPI2 instance + + +#ifndef NRFX_SPI2_ENABLED +#define NRFX_SPI2_ENABLED 1 +#endif + +// NRFX_SPI_MISO_PULL_CFG - MISO pin pull configuration. + +// <0=> NRF_GPIO_PIN_NOPULL +// <1=> NRF_GPIO_PIN_PULLDOWN +// <3=> NRF_GPIO_PIN_PULLUP + +#ifndef NRFX_SPI_MISO_PULL_CFG +#define NRFX_SPI_MISO_PULL_CFG 1 +#endif + +// NRFX_SPI_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_SPI_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_SPI_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_SPI_CONFIG_LOG_ENABLED +#define NRFX_SPI_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_SPI_CONFIG_LOG_LEVEL +#define NRFX_SPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_SPI_CONFIG_INFO_COLOR +#define NRFX_SPI_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_SPI_CONFIG_DEBUG_COLOR +#define NRFX_SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_SWI_ENABLED - nrfx_swi - SWI/EGU peripheral allocator +//========================================================== +#ifndef NRFX_SWI_ENABLED +#define NRFX_SWI_ENABLED 0 +#endif +// NRFX_EGU_ENABLED - Enable EGU support + + +#ifndef NRFX_EGU_ENABLED +#define NRFX_EGU_ENABLED 0 +#endif + +// NRFX_SWI0_DISABLED - Exclude SWI0 from being utilized by the driver + + +#ifndef NRFX_SWI0_DISABLED +#define NRFX_SWI0_DISABLED 0 +#endif + +// NRFX_SWI1_DISABLED - Exclude SWI1 from being utilized by the driver + + +#ifndef NRFX_SWI1_DISABLED +#define NRFX_SWI1_DISABLED 0 +#endif + +// NRFX_SWI2_DISABLED - Exclude SWI2 from being utilized by the driver + + +#ifndef NRFX_SWI2_DISABLED +#define NRFX_SWI2_DISABLED 0 +#endif + +// NRFX_SWI3_DISABLED - Exclude SWI3 from being utilized by the driver + + +#ifndef NRFX_SWI3_DISABLED +#define NRFX_SWI3_DISABLED 0 +#endif + +// NRFX_SWI4_DISABLED - Exclude SWI4 from being utilized by the driver + + +#ifndef NRFX_SWI4_DISABLED +#define NRFX_SWI4_DISABLED 0 +#endif + +// NRFX_SWI5_DISABLED - Exclude SWI5 from being utilized by the driver + + +#ifndef NRFX_SWI5_DISABLED +#define NRFX_SWI5_DISABLED 0 +#endif + +// NRFX_SWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_SWI_CONFIG_LOG_ENABLED +#define NRFX_SWI_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_SWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_SWI_CONFIG_LOG_LEVEL +#define NRFX_SWI_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_SWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_SWI_CONFIG_INFO_COLOR +#define NRFX_SWI_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_SWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_SWI_CONFIG_DEBUG_COLOR +#define NRFX_SWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_TIMER_ENABLED - nrfx_timer - TIMER periperal driver +//========================================================== +#ifndef NRFX_TIMER_ENABLED +#define NRFX_TIMER_ENABLED 0 +#endif +// NRFX_TIMER0_ENABLED - Enable TIMER0 instance + + +#ifndef NRFX_TIMER0_ENABLED +#define NRFX_TIMER0_ENABLED 0 +#endif + +// NRFX_TIMER1_ENABLED - Enable TIMER1 instance + + +#ifndef NRFX_TIMER1_ENABLED +#define NRFX_TIMER1_ENABLED 0 +#endif + +// NRFX_TIMER2_ENABLED - Enable TIMER2 instance + + +#ifndef NRFX_TIMER2_ENABLED +#define NRFX_TIMER2_ENABLED 0 +#endif + +// NRFX_TIMER3_ENABLED - Enable TIMER3 instance + + +#ifndef NRFX_TIMER3_ENABLED +#define NRFX_TIMER3_ENABLED 0 +#endif + +// NRFX_TIMER4_ENABLED - Enable TIMER4 instance + + +#ifndef NRFX_TIMER4_ENABLED +#define NRFX_TIMER4_ENABLED 0 +#endif + +// NRFX_TIMER_DEFAULT_CONFIG_FREQUENCY - Timer frequency if in Timer mode + +// <0=> 16 MHz +// <1=> 8 MHz +// <2=> 4 MHz +// <3=> 2 MHz +// <4=> 1 MHz +// <5=> 500 kHz +// <6=> 250 kHz +// <7=> 125 kHz +// <8=> 62.5 kHz +// <9=> 31.25 kHz + +#ifndef NRFX_TIMER_DEFAULT_CONFIG_FREQUENCY +#define NRFX_TIMER_DEFAULT_CONFIG_FREQUENCY 0 +#endif + +// NRFX_TIMER_DEFAULT_CONFIG_MODE - Timer mode or operation + +// <0=> Timer +// <1=> Counter + +#ifndef NRFX_TIMER_DEFAULT_CONFIG_MODE +#define NRFX_TIMER_DEFAULT_CONFIG_MODE 0 +#endif + +// NRFX_TIMER_DEFAULT_CONFIG_BIT_WIDTH - Timer counter bit width + +// <0=> 16 bit +// <1=> 8 bit +// <2=> 24 bit +// <3=> 32 bit + +#ifndef NRFX_TIMER_DEFAULT_CONFIG_BIT_WIDTH +#define NRFX_TIMER_DEFAULT_CONFIG_BIT_WIDTH 0 +#endif + +// NRFX_TIMER_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_TIMER_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_TIMER_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_TIMER_CONFIG_LOG_ENABLED +#define NRFX_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_TIMER_CONFIG_LOG_LEVEL +#define NRFX_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_TIMER_CONFIG_INFO_COLOR +#define NRFX_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_TIMER_CONFIG_DEBUG_COLOR +#define NRFX_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_TWIM_ENABLED - nrfx_twim - TWIM peripheral driver +//========================================================== +#ifndef NRFX_TWIM_ENABLED +#define NRFX_TWIM_ENABLED 0 +#endif +// NRFX_TWIM0_ENABLED - Enable TWIM0 instance + + +#ifndef NRFX_TWIM0_ENABLED +#define NRFX_TWIM0_ENABLED 0 +#endif + +// NRFX_TWIM1_ENABLED - Enable TWIM1 instance + + +#ifndef NRFX_TWIM1_ENABLED +#define NRFX_TWIM1_ENABLED 0 +#endif + +// NRFX_TWIM_DEFAULT_CONFIG_FREQUENCY - Frequency + +// <26738688=> 100k +// <67108864=> 250k +// <104857600=> 400k + +#ifndef NRFX_TWIM_DEFAULT_CONFIG_FREQUENCY +#define NRFX_TWIM_DEFAULT_CONFIG_FREQUENCY 26738688 +#endif + +// NRFX_TWIM_DEFAULT_CONFIG_HOLD_BUS_UNINIT - Enables bus holding after uninit + + +#ifndef NRFX_TWIM_DEFAULT_CONFIG_HOLD_BUS_UNINIT +#define NRFX_TWIM_DEFAULT_CONFIG_HOLD_BUS_UNINIT 0 +#endif + +// NRFX_TWIM_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_TWIM_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_TWIM_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_TWIM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_TWIM_CONFIG_LOG_ENABLED +#define NRFX_TWIM_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_TWIM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_TWIM_CONFIG_LOG_LEVEL +#define NRFX_TWIM_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_TWIM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_TWIM_CONFIG_INFO_COLOR +#define NRFX_TWIM_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_TWIM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_TWIM_CONFIG_DEBUG_COLOR +#define NRFX_TWIM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_TWIS_ENABLED - nrfx_twis - TWIS peripheral driver +//========================================================== +#ifndef NRFX_TWIS_ENABLED +#define NRFX_TWIS_ENABLED 0 +#endif +// NRFX_TWIS0_ENABLED - Enable TWIS0 instance + + +#ifndef NRFX_TWIS0_ENABLED +#define NRFX_TWIS0_ENABLED 0 +#endif + +// NRFX_TWIS1_ENABLED - Enable TWIS1 instance + + +#ifndef NRFX_TWIS1_ENABLED +#define NRFX_TWIS1_ENABLED 0 +#endif + +// NRFX_TWIS_ASSUME_INIT_AFTER_RESET_ONLY - Assume that any instance would be initialized only once + + +// Optimization flag. Registers used by TWIS are shared by other peripherals. Normally, during initialization driver tries to clear all registers to known state before doing the initialization itself. This gives initialization safe procedure, no matter when it would be called. If you activate TWIS only once and do never uninitialize it - set this flag to 1 what gives more optimal code. + +#ifndef NRFX_TWIS_ASSUME_INIT_AFTER_RESET_ONLY +#define NRFX_TWIS_ASSUME_INIT_AFTER_RESET_ONLY 0 +#endif + +// NRFX_TWIS_NO_SYNC_MODE - Remove support for synchronous mode + + +// Synchronous mode would be used in specific situations. And it uses some additional code and data memory to safely process state machine by polling it in status functions. If this functionality is not required it may be disabled to free some resources. + +#ifndef NRFX_TWIS_NO_SYNC_MODE +#define NRFX_TWIS_NO_SYNC_MODE 0 +#endif + +// NRFX_TWIS_DEFAULT_CONFIG_ADDR0 - Address0 +#ifndef NRFX_TWIS_DEFAULT_CONFIG_ADDR0 +#define NRFX_TWIS_DEFAULT_CONFIG_ADDR0 0 +#endif + +// NRFX_TWIS_DEFAULT_CONFIG_ADDR1 - Address1 +#ifndef NRFX_TWIS_DEFAULT_CONFIG_ADDR1 +#define NRFX_TWIS_DEFAULT_CONFIG_ADDR1 0 +#endif + +// NRFX_TWIS_DEFAULT_CONFIG_SCL_PULL - SCL pin pull configuration + +// <0=> Disabled +// <1=> Pull down +// <3=> Pull up + +#ifndef NRFX_TWIS_DEFAULT_CONFIG_SCL_PULL +#define NRFX_TWIS_DEFAULT_CONFIG_SCL_PULL 0 +#endif + +// NRFX_TWIS_DEFAULT_CONFIG_SDA_PULL - SDA pin pull configuration + +// <0=> Disabled +// <1=> Pull down +// <3=> Pull up + +#ifndef NRFX_TWIS_DEFAULT_CONFIG_SDA_PULL +#define NRFX_TWIS_DEFAULT_CONFIG_SDA_PULL 0 +#endif + +// NRFX_TWIS_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_TWIS_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_TWIS_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_TWIS_CONFIG_LOG_ENABLED +#define NRFX_TWIS_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_TWIS_CONFIG_LOG_LEVEL +#define NRFX_TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_TWIS_CONFIG_INFO_COLOR +#define NRFX_TWIS_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_TWIS_CONFIG_DEBUG_COLOR +#define NRFX_TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_TWI_ENABLED - nrfx_twi - TWI peripheral driver +//========================================================== +#ifndef NRFX_TWI_ENABLED +#define NRFX_TWI_ENABLED 0 +#endif +// NRFX_TWI0_ENABLED - Enable TWI0 instance + + +#ifndef NRFX_TWI0_ENABLED +#define NRFX_TWI0_ENABLED 0 +#endif + +// NRFX_TWI1_ENABLED - Enable TWI1 instance + + +#ifndef NRFX_TWI1_ENABLED +#define NRFX_TWI1_ENABLED 0 +#endif + +// NRFX_TWI_DEFAULT_CONFIG_FREQUENCY - Frequency + +// <26738688=> 100k +// <67108864=> 250k +// <104857600=> 400k + +#ifndef NRFX_TWI_DEFAULT_CONFIG_FREQUENCY +#define NRFX_TWI_DEFAULT_CONFIG_FREQUENCY 26738688 +#endif + +// NRFX_TWI_DEFAULT_CONFIG_HOLD_BUS_UNINIT - Enables bus holding after uninit + + +#ifndef NRFX_TWI_DEFAULT_CONFIG_HOLD_BUS_UNINIT +#define NRFX_TWI_DEFAULT_CONFIG_HOLD_BUS_UNINIT 0 +#endif + +// NRFX_TWI_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_TWI_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_TWI_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_TWI_CONFIG_LOG_ENABLED +#define NRFX_TWI_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_TWI_CONFIG_LOG_LEVEL +#define NRFX_TWI_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_TWI_CONFIG_INFO_COLOR +#define NRFX_TWI_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_TWI_CONFIG_DEBUG_COLOR +#define NRFX_TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UARTE_ENABLED - nrfx_uarte - UARTE peripheral driver +//========================================================== +#ifndef NRFX_UARTE_ENABLED +#define NRFX_UARTE_ENABLED 0 +#endif +// NRFX_UARTE0_ENABLED - Enable UARTE0 instance +#ifndef NRFX_UARTE0_ENABLED +#define NRFX_UARTE0_ENABLED 0 +#endif + +// NRFX_UARTE1_ENABLED - Enable UARTE1 instance +#ifndef NRFX_UARTE1_ENABLED +#define NRFX_UARTE1_ENABLED 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_HWFC +#define NRFX_UARTE_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_PARITY +#define NRFX_UARTE_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <8388608=> 31250 baud +// <10289152=> 38400 baud +// <15007744=> 56000 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UARTE_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UARTE_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_UARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UARTE_CONFIG_LOG_ENABLED +#define NRFX_UARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UARTE_CONFIG_LOG_LEVEL +#define NRFX_UARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_INFO_COLOR +#define NRFX_UARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UARTE_CONFIG_DEBUG_COLOR +#define NRFX_UARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_UART_ENABLED - nrfx_uart - UART peripheral driver +//========================================================== +#ifndef NRFX_UART_ENABLED +#define NRFX_UART_ENABLED 1 +#endif +// NRFX_UART0_ENABLED - Enable UART0 instance +#ifndef NRFX_UART0_ENABLED +#define NRFX_UART0_ENABLED 1 +#endif + +// NRFX_UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef NRFX_UART_DEFAULT_CONFIG_HWFC +#define NRFX_UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef NRFX_UART_DEFAULT_CONFIG_PARITY +#define NRFX_UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// NRFX_UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3866624=> 14400 baud +// <5152768=> 19200 baud +// <7729152=> 28800 baud +// <8388608=> 31250 baud +// <10309632=> 38400 baud +// <15007744=> 56000 baud +// <15462400=> 57600 baud +// <20615168=> 76800 baud +// <30924800=> 115200 baud +// <61845504=> 230400 baud +// <67108864=> 250000 baud +// <123695104=> 460800 baud +// <247386112=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef NRFX_UART_DEFAULT_CONFIG_BAUDRATE +#define NRFX_UART_DEFAULT_CONFIG_BAUDRATE 30924800 +#endif + +// NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define NRFX_UART_DEFAULT_CONFIG_IRQ_PRIORITY 4 +#endif + +// NRFX_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_UART_CONFIG_LOG_ENABLED +#define NRFX_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_UART_CONFIG_LOG_LEVEL +#define NRFX_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_INFO_COLOR +#define NRFX_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_UART_CONFIG_DEBUG_COLOR +#define NRFX_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRFX_USBD_ENABLED - nrfx_usbd - USBD peripheral driver +//========================================================== +#ifndef NRFX_USBD_ENABLED +#define NRFX_USBD_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_USBD_CONFIG_IRQ_PRIORITY +#define NRFX_USBD_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_USBD_CONFIG_DMASCHEDULER_MODE - USBD DMA scheduler working scheme + +// <0=> Prioritized access +// <1=> Round Robin + +#ifndef NRFX_USBD_CONFIG_DMASCHEDULER_MODE +#define NRFX_USBD_CONFIG_DMASCHEDULER_MODE 0 +#endif + +// NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST - Give priority to isochronous transfers + + +// This option gives priority to isochronous transfers. +// Enabling it assures that isochronous transfers are always processed, +// even if multiple other transfers are pending. +// Isochronous endpoints are prioritized before the usbd_dma_scheduler_algorithm +// function is called, so the option is independent of the algorithm chosen. + +#ifndef NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST +#define NRFX_USBD_CONFIG_DMASCHEDULER_ISO_BOOST 1 +#endif + +// NRFX_USBD_CONFIG_ISO_IN_ZLP - Respond to an IN token on ISO IN endpoint with ZLP when no data is ready + + +// If set, ISO IN endpoint will respond to an IN token with ZLP when no data is ready to be sent. +// Else, there will be no response. + +#ifndef NRFX_USBD_CONFIG_ISO_IN_ZLP +#define NRFX_USBD_CONFIG_ISO_IN_ZLP 0 +#endif + +// + +// NRFX_WDT_ENABLED - nrfx_wdt - WDT peripheral driver +//========================================================== +#ifndef NRFX_WDT_ENABLED +#define NRFX_WDT_ENABLED 0 +#endif +// NRFX_WDT_CONFIG_BEHAVIOUR - WDT behavior in CPU SLEEP or HALT mode + +// <1=> Run in SLEEP, Pause in HALT +// <8=> Pause in SLEEP, Run in HALT +// <9=> Run in SLEEP and HALT +// <0=> Pause in SLEEP and HALT + +#ifndef NRFX_WDT_CONFIG_BEHAVIOUR +#define NRFX_WDT_CONFIG_BEHAVIOUR 1 +#endif + +// NRFX_WDT_CONFIG_RELOAD_VALUE - Reload value <15-4294967295> + + +#ifndef NRFX_WDT_CONFIG_RELOAD_VALUE +#define NRFX_WDT_CONFIG_RELOAD_VALUE 2000 +#endif + +// NRFX_WDT_CONFIG_NO_IRQ - Remove WDT IRQ handling from WDT driver + +// <0=> Include WDT IRQ handling +// <1=> Remove WDT IRQ handling + +#ifndef NRFX_WDT_CONFIG_NO_IRQ +#define NRFX_WDT_CONFIG_NO_IRQ 0 +#endif + +// NRFX_WDT_CONFIG_IRQ_PRIORITY - Interrupt priority + +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef NRFX_WDT_CONFIG_IRQ_PRIORITY +#define NRFX_WDT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRFX_WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRFX_WDT_CONFIG_LOG_ENABLED +#define NRFX_WDT_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_WDT_CONFIG_LOG_LEVEL +#define NRFX_WDT_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_WDT_CONFIG_INFO_COLOR +#define NRFX_WDT_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_WDT_CONFIG_DEBUG_COLOR +#define NRFX_WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// + +// NRF_CLOCK_ENABLED - nrf_drv_clock - CLOCK peripheral driver - legacy layer +//========================================================== +#ifndef NRF_CLOCK_ENABLED +#define NRF_CLOCK_ENABLED 0 +#endif +// CLOCK_CONFIG_LF_SRC - LF Clock Source + +// <0=> RC +// <1=> XTAL +// <2=> Synth +// <131073=> External Low Swing +// <196609=> External Full Swing + +#ifndef CLOCK_CONFIG_LF_SRC +#define CLOCK_CONFIG_LF_SRC 1 +#endif + +// CLOCK_CONFIG_LF_CAL_ENABLED - Calibration enable for LF Clock Source + + +#ifndef CLOCK_CONFIG_LF_CAL_ENABLED +#define CLOCK_CONFIG_LF_CAL_ENABLED 0 +#endif + +// CLOCK_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef CLOCK_CONFIG_IRQ_PRIORITY +#define CLOCK_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// PDM_ENABLED - nrf_drv_pdm - PDM peripheral driver - legacy layer +//========================================================== +#ifndef PDM_ENABLED +#define PDM_ENABLED 0 +#endif +// PDM_CONFIG_MODE - Mode + +// <0=> Stereo +// <1=> Mono + +#ifndef PDM_CONFIG_MODE +#define PDM_CONFIG_MODE 1 +#endif + +// PDM_CONFIG_EDGE - Edge + +// <0=> Left falling +// <1=> Left rising + +#ifndef PDM_CONFIG_EDGE +#define PDM_CONFIG_EDGE 0 +#endif + +// PDM_CONFIG_CLOCK_FREQ - Clock frequency + +// <134217728=> 1000k +// <138412032=> 1032k (default) +// <142606336=> 1067k + +#ifndef PDM_CONFIG_CLOCK_FREQ +#define PDM_CONFIG_CLOCK_FREQ 138412032 +#endif + +// PDM_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef PDM_CONFIG_IRQ_PRIORITY +#define PDM_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// POWER_ENABLED - nrf_drv_power - POWER peripheral driver - legacy layer +//========================================================== +#ifndef POWER_ENABLED +#define POWER_ENABLED 0 +#endif +// POWER_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef POWER_CONFIG_IRQ_PRIORITY +#define POWER_CONFIG_IRQ_PRIORITY 6 +#endif + +// POWER_CONFIG_DEFAULT_DCDCEN - The default configuration of main DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef POWER_CONFIG_DEFAULT_DCDCEN +#define POWER_CONFIG_DEFAULT_DCDCEN 0 +#endif + +// POWER_CONFIG_DEFAULT_DCDCENHV - The default configuration of High Voltage DCDC regulator + + +// This settings means only that components for DCDC regulator are installed and it can be enabled. + +#ifndef POWER_CONFIG_DEFAULT_DCDCENHV +#define POWER_CONFIG_DEFAULT_DCDCENHV 0 +#endif + +// + +// PPI_ENABLED - nrf_drv_ppi - PPI peripheral driver - legacy layer + + +#ifndef PPI_ENABLED +#define PPI_ENABLED 0 +#endif + +// PWM_ENABLED - nrf_drv_pwm - PWM peripheral driver - legacy layer +//========================================================== +#ifndef PWM_ENABLED +#define PWM_ENABLED 0 +#endif +// PWM_DEFAULT_CONFIG_OUT0_PIN - Out0 pin <0-31> + + +#ifndef PWM_DEFAULT_CONFIG_OUT0_PIN +#define PWM_DEFAULT_CONFIG_OUT0_PIN 31 +#endif + +// PWM_DEFAULT_CONFIG_OUT1_PIN - Out1 pin <0-31> + + +#ifndef PWM_DEFAULT_CONFIG_OUT1_PIN +#define PWM_DEFAULT_CONFIG_OUT1_PIN 31 +#endif + +// PWM_DEFAULT_CONFIG_OUT2_PIN - Out2 pin <0-31> + + +#ifndef PWM_DEFAULT_CONFIG_OUT2_PIN +#define PWM_DEFAULT_CONFIG_OUT2_PIN 31 +#endif + +// PWM_DEFAULT_CONFIG_OUT3_PIN - Out3 pin <0-31> + + +#ifndef PWM_DEFAULT_CONFIG_OUT3_PIN +#define PWM_DEFAULT_CONFIG_OUT3_PIN 31 +#endif + +// PWM_DEFAULT_CONFIG_BASE_CLOCK - Base clock + +// <0=> 16 MHz +// <1=> 8 MHz +// <2=> 4 MHz +// <3=> 2 MHz +// <4=> 1 MHz +// <5=> 500 kHz +// <6=> 250 kHz +// <7=> 125 kHz + +#ifndef PWM_DEFAULT_CONFIG_BASE_CLOCK +#define PWM_DEFAULT_CONFIG_BASE_CLOCK 4 +#endif + +// PWM_DEFAULT_CONFIG_COUNT_MODE - Count mode + +// <0=> Up +// <1=> Up and Down + +#ifndef PWM_DEFAULT_CONFIG_COUNT_MODE +#define PWM_DEFAULT_CONFIG_COUNT_MODE 0 +#endif + +// PWM_DEFAULT_CONFIG_TOP_VALUE - Top value +#ifndef PWM_DEFAULT_CONFIG_TOP_VALUE +#define PWM_DEFAULT_CONFIG_TOP_VALUE 1000 +#endif + +// PWM_DEFAULT_CONFIG_LOAD_MODE - Load mode + +// <0=> Common +// <1=> Grouped +// <2=> Individual +// <3=> Waveform + +#ifndef PWM_DEFAULT_CONFIG_LOAD_MODE +#define PWM_DEFAULT_CONFIG_LOAD_MODE 0 +#endif + +// PWM_DEFAULT_CONFIG_STEP_MODE - Step mode + +// <0=> Auto +// <1=> Triggered + +#ifndef PWM_DEFAULT_CONFIG_STEP_MODE +#define PWM_DEFAULT_CONFIG_STEP_MODE 0 +#endif + +// PWM_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef PWM_DEFAULT_CONFIG_IRQ_PRIORITY +#define PWM_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// PWM0_ENABLED - Enable PWM0 instance + + +#ifndef PWM0_ENABLED +#define PWM0_ENABLED 0 +#endif + +// PWM1_ENABLED - Enable PWM1 instance + + +#ifndef PWM1_ENABLED +#define PWM1_ENABLED 0 +#endif + +// PWM2_ENABLED - Enable PWM2 instance + + +#ifndef PWM2_ENABLED +#define PWM2_ENABLED 0 +#endif + +// PWM3_ENABLED - Enable PWM3 instance + + +#ifndef PWM3_ENABLED +#define PWM3_ENABLED 0 +#endif + +// + +// QDEC_ENABLED - nrf_drv_qdec - QDEC peripheral driver - legacy layer +//========================================================== +#ifndef QDEC_ENABLED +#define QDEC_ENABLED 0 +#endif +// QDEC_CONFIG_REPORTPER - Report period + +// <0=> 10 Samples +// <1=> 40 Samples +// <2=> 80 Samples +// <3=> 120 Samples +// <4=> 160 Samples +// <5=> 200 Samples +// <6=> 240 Samples +// <7=> 280 Samples + +#ifndef QDEC_CONFIG_REPORTPER +#define QDEC_CONFIG_REPORTPER 0 +#endif + +// QDEC_CONFIG_SAMPLEPER - Sample period + +// <0=> 128 us +// <1=> 256 us +// <2=> 512 us +// <3=> 1024 us +// <4=> 2048 us +// <5=> 4096 us +// <6=> 8192 us +// <7=> 16384 us + +#ifndef QDEC_CONFIG_SAMPLEPER +#define QDEC_CONFIG_SAMPLEPER 7 +#endif + +// QDEC_CONFIG_PIO_A - A pin <0-31> + + +#ifndef QDEC_CONFIG_PIO_A +#define QDEC_CONFIG_PIO_A 31 +#endif + +// QDEC_CONFIG_PIO_B - B pin <0-31> + + +#ifndef QDEC_CONFIG_PIO_B +#define QDEC_CONFIG_PIO_B 31 +#endif + +// QDEC_CONFIG_PIO_LED - LED pin <0-31> + + +#ifndef QDEC_CONFIG_PIO_LED +#define QDEC_CONFIG_PIO_LED 31 +#endif + +// QDEC_CONFIG_LEDPRE - LED pre +#ifndef QDEC_CONFIG_LEDPRE +#define QDEC_CONFIG_LEDPRE 511 +#endif + +// QDEC_CONFIG_LEDPOL - LED polarity + +// <0=> Active low +// <1=> Active high + +#ifndef QDEC_CONFIG_LEDPOL +#define QDEC_CONFIG_LEDPOL 1 +#endif + +// QDEC_CONFIG_DBFEN - Debouncing enable + + +#ifndef QDEC_CONFIG_DBFEN +#define QDEC_CONFIG_DBFEN 0 +#endif + +// QDEC_CONFIG_SAMPLE_INTEN - Sample ready interrupt enable + + +#ifndef QDEC_CONFIG_SAMPLE_INTEN +#define QDEC_CONFIG_SAMPLE_INTEN 0 +#endif + +// QDEC_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef QDEC_CONFIG_IRQ_PRIORITY +#define QDEC_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// QSPI_ENABLED - nrf_drv_qspi - QSPI peripheral driver - legacy layer +//========================================================== +#ifndef QSPI_ENABLED +#define QSPI_ENABLED 0 +#endif +// QSPI_CONFIG_SCK_DELAY - tSHSL, tWHSL and tSHWL in number of 16 MHz periods (62.5 ns). <0-255> + + +#ifndef QSPI_CONFIG_SCK_DELAY +#define QSPI_CONFIG_SCK_DELAY 1 +#endif + +// QSPI_CONFIG_XIP_OFFSET - Address offset in the external memory for Execute in Place operation. +#ifndef QSPI_CONFIG_XIP_OFFSET +#define QSPI_CONFIG_XIP_OFFSET 0 +#endif + +// QSPI_CONFIG_READOC - Number of data lines and opcode used for reading. + +// <0=> FastRead +// <1=> Read2O +// <2=> Read2IO +// <3=> Read4O +// <4=> Read4IO + +#ifndef QSPI_CONFIG_READOC +#define QSPI_CONFIG_READOC 0 +#endif + +// QSPI_CONFIG_WRITEOC - Number of data lines and opcode used for writing. + +// <0=> PP +// <1=> PP2O +// <2=> PP4O +// <3=> PP4IO + +#ifndef QSPI_CONFIG_WRITEOC +#define QSPI_CONFIG_WRITEOC 0 +#endif + +// QSPI_CONFIG_ADDRMODE - Addressing mode. + +// <0=> 24bit +// <1=> 32bit + +#ifndef QSPI_CONFIG_ADDRMODE +#define QSPI_CONFIG_ADDRMODE 0 +#endif + +// QSPI_CONFIG_MODE - SPI mode. + +// <0=> Mode 0 +// <1=> Mode 1 + +#ifndef QSPI_CONFIG_MODE +#define QSPI_CONFIG_MODE 0 +#endif + +// QSPI_CONFIG_FREQUENCY - Frequency divider. + +// <0=> 32MHz/1 +// <1=> 32MHz/2 +// <2=> 32MHz/3 +// <3=> 32MHz/4 +// <4=> 32MHz/5 +// <5=> 32MHz/6 +// <6=> 32MHz/7 +// <7=> 32MHz/8 +// <8=> 32MHz/9 +// <9=> 32MHz/10 +// <10=> 32MHz/11 +// <11=> 32MHz/12 +// <12=> 32MHz/13 +// <13=> 32MHz/14 +// <14=> 32MHz/15 +// <15=> 32MHz/16 + +#ifndef QSPI_CONFIG_FREQUENCY +#define QSPI_CONFIG_FREQUENCY 15 +#endif + +// QSPI_PIN_SCK - SCK pin value. +#ifndef QSPI_PIN_SCK +#define QSPI_PIN_SCK NRF_QSPI_PIN_NOT_CONNECTED +#endif + +// QSPI_PIN_CSN - CSN pin value. +#ifndef QSPI_PIN_CSN +#define QSPI_PIN_CSN NRF_QSPI_PIN_NOT_CONNECTED +#endif + +// QSPI_PIN_IO0 - IO0 pin value. +#ifndef QSPI_PIN_IO0 +#define QSPI_PIN_IO0 NRF_QSPI_PIN_NOT_CONNECTED +#endif + +// QSPI_PIN_IO1 - IO1 pin value. +#ifndef QSPI_PIN_IO1 +#define QSPI_PIN_IO1 NRF_QSPI_PIN_NOT_CONNECTED +#endif + +// QSPI_PIN_IO2 - IO2 pin value. +#ifndef QSPI_PIN_IO2 +#define QSPI_PIN_IO2 NRF_QSPI_PIN_NOT_CONNECTED +#endif + +// QSPI_PIN_IO3 - IO3 pin value. +#ifndef QSPI_PIN_IO3 +#define QSPI_PIN_IO3 NRF_QSPI_PIN_NOT_CONNECTED +#endif + +// QSPI_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef QSPI_CONFIG_IRQ_PRIORITY +#define QSPI_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// RNG_ENABLED - nrf_drv_rng - RNG peripheral driver - legacy layer +//========================================================== +#ifndef RNG_ENABLED +#define RNG_ENABLED 0 +#endif +// RNG_CONFIG_ERROR_CORRECTION - Error correction + + +#ifndef RNG_CONFIG_ERROR_CORRECTION +#define RNG_CONFIG_ERROR_CORRECTION 1 +#endif + +// RNG_CONFIG_POOL_SIZE - Pool size +#ifndef RNG_CONFIG_POOL_SIZE +#define RNG_CONFIG_POOL_SIZE 64 +#endif + +// RNG_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef RNG_CONFIG_IRQ_PRIORITY +#define RNG_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// RTC_ENABLED - nrf_drv_rtc - RTC peripheral driver - legacy layer +//========================================================== +#ifndef RTC_ENABLED +#define RTC_ENABLED 0 +#endif +// RTC_DEFAULT_CONFIG_FREQUENCY - Frequency <16-32768> + + +#ifndef RTC_DEFAULT_CONFIG_FREQUENCY +#define RTC_DEFAULT_CONFIG_FREQUENCY 32768 +#endif + +// RTC_DEFAULT_CONFIG_RELIABLE - Ensures safe compare event triggering + + +#ifndef RTC_DEFAULT_CONFIG_RELIABLE +#define RTC_DEFAULT_CONFIG_RELIABLE 0 +#endif + +// RTC_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef RTC_DEFAULT_CONFIG_IRQ_PRIORITY +#define RTC_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// RTC0_ENABLED - Enable RTC0 instance + + +#ifndef RTC0_ENABLED +#define RTC0_ENABLED 0 +#endif + +// RTC1_ENABLED - Enable RTC1 instance + + +#ifndef RTC1_ENABLED +#define RTC1_ENABLED 0 +#endif + +// RTC2_ENABLED - Enable RTC2 instance + + +#ifndef RTC2_ENABLED +#define RTC2_ENABLED 0 +#endif + +// NRF_MAXIMUM_LATENCY_US - Maximum possible time[us] in highest priority interrupt +#ifndef NRF_MAXIMUM_LATENCY_US +#define NRF_MAXIMUM_LATENCY_US 2000 +#endif + +// + +// SAADC_ENABLED - nrf_drv_saadc - SAADC peripheral driver - legacy layer +//========================================================== +#ifndef SAADC_ENABLED +#define SAADC_ENABLED 0 +#endif +// SAADC_CONFIG_RESOLUTION - Resolution + +// <0=> 8 bit +// <1=> 10 bit +// <2=> 12 bit +// <3=> 14 bit + +#ifndef SAADC_CONFIG_RESOLUTION +#define SAADC_CONFIG_RESOLUTION 1 +#endif + +// SAADC_CONFIG_OVERSAMPLE - Sample period + +// <0=> Disabled +// <1=> 2x +// <2=> 4x +// <3=> 8x +// <4=> 16x +// <5=> 32x +// <6=> 64x +// <7=> 128x +// <8=> 256x + +#ifndef SAADC_CONFIG_OVERSAMPLE +#define SAADC_CONFIG_OVERSAMPLE 0 +#endif + +// SAADC_CONFIG_LP_MODE - Enabling low power mode + + +#ifndef SAADC_CONFIG_LP_MODE +#define SAADC_CONFIG_LP_MODE 0 +#endif + +// SAADC_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef SAADC_CONFIG_IRQ_PRIORITY +#define SAADC_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// SPIS_ENABLED - nrf_drv_spis - SPIS peripheral driver - legacy layer +//========================================================== +#ifndef SPIS_ENABLED +#define SPIS_ENABLED 0 +#endif +// SPIS_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef SPIS_DEFAULT_CONFIG_IRQ_PRIORITY +#define SPIS_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// SPIS_DEFAULT_MODE - Mode + +// <0=> MODE_0 +// <1=> MODE_1 +// <2=> MODE_2 +// <3=> MODE_3 + +#ifndef SPIS_DEFAULT_MODE +#define SPIS_DEFAULT_MODE 0 +#endif + +// SPIS_DEFAULT_BIT_ORDER - SPIS default bit order + +// <0=> MSB first +// <1=> LSB first + +#ifndef SPIS_DEFAULT_BIT_ORDER +#define SPIS_DEFAULT_BIT_ORDER 0 +#endif + +// SPIS_DEFAULT_DEF - SPIS default DEF character <0-255> + + +#ifndef SPIS_DEFAULT_DEF +#define SPIS_DEFAULT_DEF 255 +#endif + +// SPIS_DEFAULT_ORC - SPIS default ORC character <0-255> + + +#ifndef SPIS_DEFAULT_ORC +#define SPIS_DEFAULT_ORC 255 +#endif + +// SPIS0_ENABLED - Enable SPIS0 instance + + +#ifndef SPIS0_ENABLED +#define SPIS0_ENABLED 0 +#endif + +// SPIS1_ENABLED - Enable SPIS1 instance + + +#ifndef SPIS1_ENABLED +#define SPIS1_ENABLED 0 +#endif + +// SPIS2_ENABLED - Enable SPIS2 instance + + +#ifndef SPIS2_ENABLED +#define SPIS2_ENABLED 0 +#endif + +// + +// SPI_ENABLED - nrf_drv_spi - SPI/SPIM peripheral driver - legacy layer +//========================================================== +#ifndef SPI_ENABLED +#define SPI_ENABLED 0 +#endif +// SPI_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef SPI_DEFAULT_CONFIG_IRQ_PRIORITY +#define SPI_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// NRF_SPI_DRV_MISO_PULLUP_CFG - MISO PIN pull-up configuration. + +// <0=> NRF_GPIO_PIN_NOPULL +// <1=> NRF_GPIO_PIN_PULLDOWN +// <3=> NRF_GPIO_PIN_PULLUP + +#ifndef NRF_SPI_DRV_MISO_PULLUP_CFG +#define NRF_SPI_DRV_MISO_PULLUP_CFG 1 +#endif + +// SPI0_ENABLED - Enable SPI0 instance +//========================================================== +#ifndef SPI0_ENABLED +#define SPI0_ENABLED 0 +#endif +// SPI0_USE_EASY_DMA - Use EasyDMA + + +#ifndef SPI0_USE_EASY_DMA +#define SPI0_USE_EASY_DMA 1 +#endif + +// + +// SPI1_ENABLED - Enable SPI1 instance +//========================================================== +#ifndef SPI1_ENABLED +#define SPI1_ENABLED 0 +#endif +// SPI1_USE_EASY_DMA - Use EasyDMA + + +#ifndef SPI1_USE_EASY_DMA +#define SPI1_USE_EASY_DMA 1 +#endif + +// + +// SPI2_ENABLED - Enable SPI2 instance +//========================================================== +#ifndef SPI2_ENABLED +#define SPI2_ENABLED 0 +#endif +// SPI2_USE_EASY_DMA - Use EasyDMA + + +#ifndef SPI2_USE_EASY_DMA +#define SPI2_USE_EASY_DMA 1 +#endif + +// + +// + +// TIMER_ENABLED - nrf_drv_timer - TIMER periperal driver - legacy layer +//========================================================== +#ifndef TIMER_ENABLED +#define TIMER_ENABLED 0 +#endif +// TIMER_DEFAULT_CONFIG_FREQUENCY - Timer frequency if in Timer mode + +// <0=> 16 MHz +// <1=> 8 MHz +// <2=> 4 MHz +// <3=> 2 MHz +// <4=> 1 MHz +// <5=> 500 kHz +// <6=> 250 kHz +// <7=> 125 kHz +// <8=> 62.5 kHz +// <9=> 31.25 kHz + +#ifndef TIMER_DEFAULT_CONFIG_FREQUENCY +#define TIMER_DEFAULT_CONFIG_FREQUENCY 0 +#endif + +// TIMER_DEFAULT_CONFIG_MODE - Timer mode or operation + +// <0=> Timer +// <1=> Counter + +#ifndef TIMER_DEFAULT_CONFIG_MODE +#define TIMER_DEFAULT_CONFIG_MODE 0 +#endif + +// TIMER_DEFAULT_CONFIG_BIT_WIDTH - Timer counter bit width + +// <0=> 16 bit +// <1=> 8 bit +// <2=> 24 bit +// <3=> 32 bit + +#ifndef TIMER_DEFAULT_CONFIG_BIT_WIDTH +#define TIMER_DEFAULT_CONFIG_BIT_WIDTH 0 +#endif + +// TIMER_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef TIMER_DEFAULT_CONFIG_IRQ_PRIORITY +#define TIMER_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// TIMER0_ENABLED - Enable TIMER0 instance + + +#ifndef TIMER0_ENABLED +#define TIMER0_ENABLED 0 +#endif + +// TIMER1_ENABLED - Enable TIMER1 instance + + +#ifndef TIMER1_ENABLED +#define TIMER1_ENABLED 0 +#endif + +// TIMER2_ENABLED - Enable TIMER2 instance + + +#ifndef TIMER2_ENABLED +#define TIMER2_ENABLED 0 +#endif + +// TIMER3_ENABLED - Enable TIMER3 instance + + +#ifndef TIMER3_ENABLED +#define TIMER3_ENABLED 0 +#endif + +// TIMER4_ENABLED - Enable TIMER4 instance + + +#ifndef TIMER4_ENABLED +#define TIMER4_ENABLED 0 +#endif + +// + +// TWIS_ENABLED - nrf_drv_twis - TWIS peripheral driver - legacy layer +//========================================================== +#ifndef TWIS_ENABLED +#define TWIS_ENABLED 0 +#endif +// TWIS0_ENABLED - Enable TWIS0 instance + + +#ifndef TWIS0_ENABLED +#define TWIS0_ENABLED 0 +#endif + +// TWIS1_ENABLED - Enable TWIS1 instance + + +#ifndef TWIS1_ENABLED +#define TWIS1_ENABLED 0 +#endif + +// TWIS_ASSUME_INIT_AFTER_RESET_ONLY - Assume that any instance would be initialized only once + + +// Optimization flag. Registers used by TWIS are shared by other peripherals. Normally, during initialization driver tries to clear all registers to known state before doing the initialization itself. This gives initialization safe procedure, no matter when it would be called. If you activate TWIS only once and do never uninitialize it - set this flag to 1 what gives more optimal code. + +#ifndef TWIS_ASSUME_INIT_AFTER_RESET_ONLY +#define TWIS_ASSUME_INIT_AFTER_RESET_ONLY 0 +#endif + +// TWIS_NO_SYNC_MODE - Remove support for synchronous mode + + +// Synchronous mode would be used in specific situations. And it uses some additional code and data memory to safely process state machine by polling it in status functions. If this functionality is not required it may be disabled to free some resources. + +#ifndef TWIS_NO_SYNC_MODE +#define TWIS_NO_SYNC_MODE 0 +#endif + +// TWIS_DEFAULT_CONFIG_ADDR0 - Address0 +#ifndef TWIS_DEFAULT_CONFIG_ADDR0 +#define TWIS_DEFAULT_CONFIG_ADDR0 0 +#endif + +// TWIS_DEFAULT_CONFIG_ADDR1 - Address1 +#ifndef TWIS_DEFAULT_CONFIG_ADDR1 +#define TWIS_DEFAULT_CONFIG_ADDR1 0 +#endif + +// TWIS_DEFAULT_CONFIG_SCL_PULL - SCL pin pull configuration + +// <0=> Disabled +// <1=> Pull down +// <3=> Pull up + +#ifndef TWIS_DEFAULT_CONFIG_SCL_PULL +#define TWIS_DEFAULT_CONFIG_SCL_PULL 0 +#endif + +// TWIS_DEFAULT_CONFIG_SDA_PULL - SDA pin pull configuration + +// <0=> Disabled +// <1=> Pull down +// <3=> Pull up + +#ifndef TWIS_DEFAULT_CONFIG_SDA_PULL +#define TWIS_DEFAULT_CONFIG_SDA_PULL 0 +#endif + +// TWIS_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef TWIS_DEFAULT_CONFIG_IRQ_PRIORITY +#define TWIS_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// TWI_ENABLED - nrf_drv_twi - TWI/TWIM peripheral driver - legacy layer +//========================================================== +#ifndef TWI_ENABLED +#define TWI_ENABLED 0 +#endif +// TWI_DEFAULT_CONFIG_FREQUENCY - Frequency + +// <26738688=> 100k +// <67108864=> 250k +// <104857600=> 400k + +#ifndef TWI_DEFAULT_CONFIG_FREQUENCY +#define TWI_DEFAULT_CONFIG_FREQUENCY 26738688 +#endif + +// TWI_DEFAULT_CONFIG_CLR_BUS_INIT - Enables bus clearing procedure during init + + +#ifndef TWI_DEFAULT_CONFIG_CLR_BUS_INIT +#define TWI_DEFAULT_CONFIG_CLR_BUS_INIT 0 +#endif + +// TWI_DEFAULT_CONFIG_HOLD_BUS_UNINIT - Enables bus holding after uninit + + +#ifndef TWI_DEFAULT_CONFIG_HOLD_BUS_UNINIT +#define TWI_DEFAULT_CONFIG_HOLD_BUS_UNINIT 0 +#endif + +// TWI_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef TWI_DEFAULT_CONFIG_IRQ_PRIORITY +#define TWI_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// TWI0_ENABLED - Enable TWI0 instance +//========================================================== +#ifndef TWI0_ENABLED +#define TWI0_ENABLED 0 +#endif +// TWI0_USE_EASY_DMA - Use EasyDMA (if present) + + +#ifndef TWI0_USE_EASY_DMA +#define TWI0_USE_EASY_DMA 0 +#endif + +// + +// TWI1_ENABLED - Enable TWI1 instance +//========================================================== +#ifndef TWI1_ENABLED +#define TWI1_ENABLED 0 +#endif +// TWI1_USE_EASY_DMA - Use EasyDMA (if present) + + +#ifndef TWI1_USE_EASY_DMA +#define TWI1_USE_EASY_DMA 0 +#endif + +// + +// + +// UART_ENABLED - nrf_drv_uart - UART/UARTE peripheral driver - legacy layer +//========================================================== +#ifndef UART_ENABLED +#define UART_ENABLED 0 +#endif +// UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef UART_DEFAULT_CONFIG_HWFC +#define UART_DEFAULT_CONFIG_HWFC 0 +#endif + +// UART_DEFAULT_CONFIG_PARITY - Parity + +// <0=> Excluded +// <14=> Included + +#ifndef UART_DEFAULT_CONFIG_PARITY +#define UART_DEFAULT_CONFIG_PARITY 0 +#endif + +// UART_DEFAULT_CONFIG_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef UART_DEFAULT_CONFIG_BAUDRATE +#define UART_DEFAULT_CONFIG_BAUDRATE 30801920 +#endif + +// UART_DEFAULT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef UART_DEFAULT_CONFIG_IRQ_PRIORITY +#define UART_DEFAULT_CONFIG_IRQ_PRIORITY 6 +#endif + +// UART_EASY_DMA_SUPPORT - Driver supporting EasyDMA + + +#ifndef UART_EASY_DMA_SUPPORT +#define UART_EASY_DMA_SUPPORT 1 +#endif + +// UART_LEGACY_SUPPORT - Driver supporting Legacy mode + + +#ifndef UART_LEGACY_SUPPORT +#define UART_LEGACY_SUPPORT 1 +#endif + +// UART0_ENABLED - Enable UART0 instance +//========================================================== +#ifndef UART0_ENABLED +#define UART0_ENABLED 0 +#endif +// UART0_CONFIG_USE_EASY_DMA - Default setting for using EasyDMA + + +#ifndef UART0_CONFIG_USE_EASY_DMA +#define UART0_CONFIG_USE_EASY_DMA 1 +#endif + +// + +// UART1_ENABLED - Enable UART1 instance +//========================================================== +#ifndef UART1_ENABLED +#define UART1_ENABLED 0 +#endif +// + +// + +// USBD_ENABLED - nrf_drv_usbd - Software Component +//========================================================== +#ifndef USBD_ENABLED +#define USBD_ENABLED 0 +#endif +// USBD_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef USBD_CONFIG_IRQ_PRIORITY +#define USBD_CONFIG_IRQ_PRIORITY 6 +#endif + +// USBD_CONFIG_DMASCHEDULER_MODE - USBD SMA scheduler working scheme + +// <0=> Prioritized access +// <1=> Round Robin + +#ifndef USBD_CONFIG_DMASCHEDULER_MODE +#define USBD_CONFIG_DMASCHEDULER_MODE 0 +#endif + +// USBD_CONFIG_DMASCHEDULER_ISO_BOOST - Give priority to isochronous transfers + + +// This option gives priority to isochronous transfers. +// Enabling it assures that isochronous transfers are always processed, +// even if multiple other transfers are pending. +// Isochronous endpoints are prioritized before the usbd_dma_scheduler_algorithm +// function is called, so the option is independent of the algorithm chosen. + +#ifndef USBD_CONFIG_DMASCHEDULER_ISO_BOOST +#define USBD_CONFIG_DMASCHEDULER_ISO_BOOST 1 +#endif + +// USBD_CONFIG_ISO_IN_ZLP - Respond to an IN token on ISO IN endpoint with ZLP when no data is ready + + +// If set, ISO IN endpoint will respond to an IN token with ZLP when no data is ready to be sent. +// Else, there will be no response. +// NOTE: This option does not work on Engineering A chip. + +#ifndef USBD_CONFIG_ISO_IN_ZLP +#define USBD_CONFIG_ISO_IN_ZLP 0 +#endif + +// + +// WDT_ENABLED - nrf_drv_wdt - WDT peripheral driver - legacy layer +//========================================================== +#ifndef WDT_ENABLED +#define WDT_ENABLED 0 +#endif +// WDT_CONFIG_BEHAVIOUR - WDT behavior in CPU SLEEP or HALT mode + +// <1=> Run in SLEEP, Pause in HALT +// <8=> Pause in SLEEP, Run in HALT +// <9=> Run in SLEEP and HALT +// <0=> Pause in SLEEP and HALT + +#ifndef WDT_CONFIG_BEHAVIOUR +#define WDT_CONFIG_BEHAVIOUR 1 +#endif + +// WDT_CONFIG_RELOAD_VALUE - Reload value <15-4294967295> + + +#ifndef WDT_CONFIG_RELOAD_VALUE +#define WDT_CONFIG_RELOAD_VALUE 2000 +#endif + +// WDT_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef WDT_CONFIG_IRQ_PRIORITY +#define WDT_CONFIG_IRQ_PRIORITY 6 +#endif + +// + +// +//========================================================== + +// nRF_Drivers_External + +//========================================================== +// NRF_TWI_SENSOR_ENABLED - nrf_twi_sensor - nRF TWI Sensor module + + +#ifndef NRF_TWI_SENSOR_ENABLED +#define NRF_TWI_SENSOR_ENABLED 0 +#endif + +// +//========================================================== + +// nRF_Libraries + +//========================================================== +// APP_GPIOTE_ENABLED - app_gpiote - GPIOTE events dispatcher + + +#ifndef APP_GPIOTE_ENABLED +#define APP_GPIOTE_ENABLED 0 +#endif + +// APP_PWM_ENABLED - app_pwm - PWM functionality + + +#ifndef APP_PWM_ENABLED +#define APP_PWM_ENABLED 0 +#endif + +// APP_SCHEDULER_ENABLED - app_scheduler - Events scheduler +//========================================================== +#ifndef APP_SCHEDULER_ENABLED +#define APP_SCHEDULER_ENABLED 0 +#endif +// APP_SCHEDULER_WITH_PAUSE - Enabling pause feature + + +#ifndef APP_SCHEDULER_WITH_PAUSE +#define APP_SCHEDULER_WITH_PAUSE 0 +#endif + +// APP_SCHEDULER_WITH_PROFILER - Enabling scheduler profiling + + +#ifndef APP_SCHEDULER_WITH_PROFILER +#define APP_SCHEDULER_WITH_PROFILER 0 +#endif + +// + +// APP_SDCARD_ENABLED - app_sdcard - SD/MMC card support using SPI +//========================================================== +#ifndef APP_SDCARD_ENABLED +#define APP_SDCARD_ENABLED 0 +#endif +// APP_SDCARD_SPI_INSTANCE - SPI instance used + +// <0=> 0 +// <1=> 1 +// <2=> 2 + +#ifndef APP_SDCARD_SPI_INSTANCE +#define APP_SDCARD_SPI_INSTANCE 0 +#endif + +// APP_SDCARD_FREQ_INIT - SPI frequency + +// <33554432=> 125 kHz +// <67108864=> 250 kHz +// <134217728=> 500 kHz +// <268435456=> 1 MHz +// <536870912=> 2 MHz +// <1073741824=> 4 MHz +// <2147483648=> 8 MHz + +#ifndef APP_SDCARD_FREQ_INIT +#define APP_SDCARD_FREQ_INIT 67108864 +#endif + +// APP_SDCARD_FREQ_DATA - SPI frequency + +// <33554432=> 125 kHz +// <67108864=> 250 kHz +// <134217728=> 500 kHz +// <268435456=> 1 MHz +// <536870912=> 2 MHz +// <1073741824=> 4 MHz +// <2147483648=> 8 MHz + +#ifndef APP_SDCARD_FREQ_DATA +#define APP_SDCARD_FREQ_DATA 1073741824 +#endif + +// + +// APP_TIMER_ENABLED - app_timer - Application timer functionality +//========================================================== +#ifndef APP_TIMER_ENABLED +#define APP_TIMER_ENABLED 0 +#endif +// APP_TIMER_CONFIG_RTC_FREQUENCY - Configure RTC prescaler. + +// <0=> 32768 Hz +// <1=> 16384 Hz +// <3=> 8192 Hz +// <7=> 4096 Hz +// <15=> 2048 Hz +// <31=> 1024 Hz + +#ifndef APP_TIMER_CONFIG_RTC_FREQUENCY +#define APP_TIMER_CONFIG_RTC_FREQUENCY 1 +#endif + +// APP_TIMER_CONFIG_IRQ_PRIORITY - Interrupt priority + + +// Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice +// <0=> 0 (highest) +// <1=> 1 +// <2=> 2 +// <3=> 3 +// <4=> 4 +// <5=> 5 +// <6=> 6 +// <7=> 7 + +#ifndef APP_TIMER_CONFIG_IRQ_PRIORITY +#define APP_TIMER_CONFIG_IRQ_PRIORITY 6 +#endif + +// APP_TIMER_CONFIG_OP_QUEUE_SIZE - Capacity of timer requests queue. +// Size of the queue depends on how many timers are used +// in the system, how often timers are started and overall +// system latency. If queue size is too small app_timer calls +// will fail. + +#ifndef APP_TIMER_CONFIG_OP_QUEUE_SIZE +#define APP_TIMER_CONFIG_OP_QUEUE_SIZE 10 +#endif + +// APP_TIMER_CONFIG_USE_SCHEDULER - Enable scheduling app_timer events to app_scheduler + + +#ifndef APP_TIMER_CONFIG_USE_SCHEDULER +#define APP_TIMER_CONFIG_USE_SCHEDULER 0 +#endif + +// APP_TIMER_KEEPS_RTC_ACTIVE - Enable RTC always on + + +// If option is enabled RTC is kept running even if there is no active timers. +// This option can be used when app_timer is used for timestamping. + +#ifndef APP_TIMER_KEEPS_RTC_ACTIVE +#define APP_TIMER_KEEPS_RTC_ACTIVE 0 +#endif + +// APP_TIMER_SAFE_WINDOW_MS - Maximum possible latency (in milliseconds) of handling app_timer event. +// Maximum possible timeout that can be set is reduced by safe window. +// Example: RTC frequency 16384 Hz, maximum possible timeout 1024 seconds - APP_TIMER_SAFE_WINDOW_MS. +// Since RTC is not stopped when processor is halted in debugging session, this value +// must cover it if debugging is needed. It is possible to halt processor for APP_TIMER_SAFE_WINDOW_MS +// without corrupting app_timer behavior. + +#ifndef APP_TIMER_SAFE_WINDOW_MS +#define APP_TIMER_SAFE_WINDOW_MS 300000 +#endif + +// App Timer Legacy configuration - Legacy configuration. + +//========================================================== +// APP_TIMER_WITH_PROFILER - Enable app_timer profiling + + +#ifndef APP_TIMER_WITH_PROFILER +#define APP_TIMER_WITH_PROFILER 0 +#endif + +// APP_TIMER_CONFIG_SWI_NUMBER - Configure SWI instance used. + + +#ifndef APP_TIMER_CONFIG_SWI_NUMBER +#define APP_TIMER_CONFIG_SWI_NUMBER 0 +#endif + +// +//========================================================== + +// + +// APP_USBD_AUDIO_ENABLED - app_usbd_audio - USB AUDIO class + + +#ifndef APP_USBD_AUDIO_ENABLED +#define APP_USBD_AUDIO_ENABLED 0 +#endif + +// APP_USBD_ENABLED - app_usbd - USB Device library +//========================================================== +#ifndef APP_USBD_ENABLED +#define APP_USBD_ENABLED 0 +#endif +// APP_USBD_VID - Vendor ID. <0x0000-0xFFFF> + + +// Note: This value is not editable in Configuration Wizard. +// Vendor ID ordered from USB IF: http://www.usb.org/developers/vendor/ + +#ifndef APP_USBD_VID +#define APP_USBD_VID 0 +#endif + +// APP_USBD_PID - Product ID. <0x0000-0xFFFF> + + +// Note: This value is not editable in Configuration Wizard. +// Selected Product ID + +#ifndef APP_USBD_PID +#define APP_USBD_PID 0 +#endif + +// APP_USBD_DEVICE_VER_MAJOR - Major device version <0-99> + + +// Major device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_MAJOR +#define APP_USBD_DEVICE_VER_MAJOR 1 +#endif + +// APP_USBD_DEVICE_VER_MINOR - Minor device version <0-9> + + +// Minor device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_MINOR +#define APP_USBD_DEVICE_VER_MINOR 0 +#endif + +// APP_USBD_DEVICE_VER_SUB - Sub-minor device version <0-9> + + +// Sub-minor device version, will be converted automatically to BCD notation. Use just decimal values. + +#ifndef APP_USBD_DEVICE_VER_SUB +#define APP_USBD_DEVICE_VER_SUB 0 +#endif + +// APP_USBD_CONFIG_SELF_POWERED - Self-powered device, as opposed to bus-powered. + + +#ifndef APP_USBD_CONFIG_SELF_POWERED +#define APP_USBD_CONFIG_SELF_POWERED 1 +#endif + +// APP_USBD_CONFIG_MAX_POWER - MaxPower field in configuration descriptor in milliamps. <0-500> + + +#ifndef APP_USBD_CONFIG_MAX_POWER +#define APP_USBD_CONFIG_MAX_POWER 100 +#endif + +// APP_USBD_CONFIG_POWER_EVENTS_PROCESS - Process power events. + + +// Enable processing power events in USB event handler. + +#ifndef APP_USBD_CONFIG_POWER_EVENTS_PROCESS +#define APP_USBD_CONFIG_POWER_EVENTS_PROCESS 1 +#endif + +// APP_USBD_CONFIG_EVENT_QUEUE_ENABLE - Enable event queue. + +// This is the default configuration when all the events are placed into internal queue. +// Disable it when an external queue is used like app_scheduler or if you wish to process all events inside interrupts. +// Processing all events from the interrupt level adds requirement not to call any functions that modifies the USBD library state from the context higher than USB interrupt context. +// Functions that modify USBD state are functions for sleep, wakeup, start, stop, enable, and disable. +//========================================================== +#ifndef APP_USBD_CONFIG_EVENT_QUEUE_ENABLE +#define APP_USBD_CONFIG_EVENT_QUEUE_ENABLE 1 +#endif +// APP_USBD_CONFIG_EVENT_QUEUE_SIZE - The size of the event queue. <16-64> + + +// The size of the queue for the events that would be processed in the main loop. + +#ifndef APP_USBD_CONFIG_EVENT_QUEUE_SIZE +#define APP_USBD_CONFIG_EVENT_QUEUE_SIZE 32 +#endif + +// APP_USBD_CONFIG_SOF_HANDLING_MODE - Change SOF events handling mode. + + +// Normal queue - SOF events are pushed normally into the event queue. +// Compress queue - SOF events are counted and binded with other events or executed when the queue is empty. +// This prevents the queue from filling up with SOF events. +// Interrupt - SOF events are processed in interrupt. +// <0=> Normal queue +// <1=> Compress queue +// <2=> Interrupt + +#ifndef APP_USBD_CONFIG_SOF_HANDLING_MODE +#define APP_USBD_CONFIG_SOF_HANDLING_MODE 1 +#endif + +// + +// APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE - Provide a function that generates timestamps for logs based on the current SOF. + + +// The function app_usbd_sof_timestamp_get is implemented if the logger is enabled. +// Use it when initializing the logger. +// SOF processing is always enabled when this configuration parameter is active. +// Note: This option is configured outside of APP_USBD_CONFIG_LOG_ENABLED. +// This means that it works even if the logging in this very module is disabled. + +#ifndef APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE +#define APP_USBD_CONFIG_SOF_TIMESTAMP_PROVIDE 0 +#endif + +// APP_USBD_CONFIG_DESC_STRING_SIZE - Maximum size of the NULL-terminated string of the string descriptor. <31-254> + + +// 31 characters can be stored in the internal USB buffer used for transfers. +// Any value higher than 31 creates an additional buffer just for descriptor strings. + +#ifndef APP_USBD_CONFIG_DESC_STRING_SIZE +#define APP_USBD_CONFIG_DESC_STRING_SIZE 31 +#endif + +// APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED - Enable UTF8 conversion. + + +// Enable UTF8-encoded characters. In normal processing, only ASCII characters are available. + +#ifndef APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED +#define APP_USBD_CONFIG_DESC_STRING_UTF_ENABLED 0 +#endif + +// APP_USBD_STRINGS_LANGIDS - Supported languages identifiers. + +// Note: This value is not editable in Configuration Wizard. +// Comma-separated list of supported languages. +#ifndef APP_USBD_STRINGS_LANGIDS +#define APP_USBD_STRINGS_LANGIDS APP_USBD_LANG_AND_SUBLANG(APP_USBD_LANG_ENGLISH, APP_USBD_SUBLANG_ENGLISH_US) +#endif + +// APP_USBD_STRING_ID_MANUFACTURER - Define manufacturer string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_MANUFACTURER +#define APP_USBD_STRING_ID_MANUFACTURER 1 +#endif +// APP_USBD_STRINGS_MANUFACTURER_EXTERN - Define whether @ref APP_USBD_STRINGS_MANUFACTURER is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRINGS_MANUFACTURER_EXTERN +#define APP_USBD_STRINGS_MANUFACTURER_EXTERN 0 +#endif + +// APP_USBD_STRINGS_MANUFACTURER - String descriptor for the manufacturer name. + +// Note: This value is not editable in Configuration Wizard. +// Comma-separated list of manufacturer names for each defined language. +// Use @ref APP_USBD_STRING_DESC macro to create string descriptor from a NULL-terminated string. +// Use @ref APP_USBD_STRING_RAW8_DESC macro to create string descriptor from comma-separated uint8_t values. +// Use @ref APP_USBD_STRING_RAW16_DESC macro to create string descriptor from comma-separated uint16_t values. +// Alternatively, configure the macro to point to any internal variable pointer that already contains the descriptor. +// Setting string to NULL disables that string. +// The order of manufacturer names must be the same like in @ref APP_USBD_STRINGS_LANGIDS. +#ifndef APP_USBD_STRINGS_MANUFACTURER +#define APP_USBD_STRINGS_MANUFACTURER APP_USBD_STRING_DESC("Nordic Semiconductor") +#endif + +// + +// APP_USBD_STRING_ID_PRODUCT - Define product string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_PRODUCT +#define APP_USBD_STRING_ID_PRODUCT 2 +#endif +// APP_USBD_STRINGS_PRODUCT_EXTERN - Define whether @ref APP_USBD_STRINGS_PRODUCT is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRINGS_PRODUCT_EXTERN +#define APP_USBD_STRINGS_PRODUCT_EXTERN 0 +#endif + +// APP_USBD_STRINGS_PRODUCT - String descriptor for the product name. + +// Note: This value is not editable in Configuration Wizard. +// List of product names that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRINGS_PRODUCT +#define APP_USBD_STRINGS_PRODUCT APP_USBD_STRING_DESC("nRF52 USB Product") +#endif + +// + +// APP_USBD_STRING_ID_SERIAL - Define serial number string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_SERIAL +#define APP_USBD_STRING_ID_SERIAL 3 +#endif +// APP_USBD_STRING_SERIAL_EXTERN - Define whether @ref APP_USBD_STRING_SERIAL is created by macro or declared as a global variable. + + +#ifndef APP_USBD_STRING_SERIAL_EXTERN +#define APP_USBD_STRING_SERIAL_EXTERN 0 +#endif + +// APP_USBD_STRING_SERIAL - String descriptor for the serial number. + +// Note: This value is not editable in Configuration Wizard. +// Serial number that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRING_SERIAL +#define APP_USBD_STRING_SERIAL APP_USBD_STRING_DESC("000000000000") +#endif + +// + +// APP_USBD_STRING_ID_CONFIGURATION - Define configuration string ID. + +// Setting ID to 0 disables the string. +//========================================================== +#ifndef APP_USBD_STRING_ID_CONFIGURATION +#define APP_USBD_STRING_ID_CONFIGURATION 4 +#endif +// APP_USBD_STRING_CONFIGURATION_EXTERN - Define whether @ref APP_USBD_STRINGS_CONFIGURATION is created by macro or declared as global variable. + + +#ifndef APP_USBD_STRING_CONFIGURATION_EXTERN +#define APP_USBD_STRING_CONFIGURATION_EXTERN 0 +#endif + +// APP_USBD_STRINGS_CONFIGURATION - String descriptor for the device configuration. + +// Note: This value is not editable in Configuration Wizard. +// Configuration string that is defined the same way like in @ref APP_USBD_STRINGS_MANUFACTURER. +#ifndef APP_USBD_STRINGS_CONFIGURATION +#define APP_USBD_STRINGS_CONFIGURATION APP_USBD_STRING_DESC("Default configuration") +#endif + +// + +// APP_USBD_STRINGS_USER - Default values for user strings. + +// Note: This value is not editable in Configuration Wizard. +// This value stores all application specific user strings with the default initialization. +// The setup is done by X-macros. +// Expected macro parameters: +// @code +// X(mnemonic, [=str_idx], ...) +// @endcode +// - @c mnemonic: Mnemonic of the string descriptor that would be added to +// @ref app_usbd_string_desc_idx_t enumerator. +// - @c str_idx : String index value, can be set or left empty. +// For example, WinUSB driver requires descriptor to be present on 0xEE index. +// Then use X(USBD_STRING_WINUSB, =0xEE, (APP_USBD_STRING_DESC(...))) +// - @c ... : List of string descriptors for each defined language. +#ifndef APP_USBD_STRINGS_USER +#define APP_USBD_STRINGS_USER X(APP_USER_1, , APP_USBD_STRING_DESC("User 1")) +#endif + +// + +// APP_USBD_HID_ENABLED - app_usbd_hid - USB HID class +//========================================================== +#ifndef APP_USBD_HID_ENABLED +#define APP_USBD_HID_ENABLED 0 +#endif +// APP_USBD_HID_DEFAULT_IDLE_RATE - Default idle rate for HID class. <0-255> + + +// 0 means indefinite duration, any other value is multiplied by 4 milliseconds. Refer to Chapter 7.2.4 of HID 1.11 Specification. + +#ifndef APP_USBD_HID_DEFAULT_IDLE_RATE +#define APP_USBD_HID_DEFAULT_IDLE_RATE 0 +#endif + +// APP_USBD_HID_REPORT_IDLE_TABLE_SIZE - Size of idle rate table. <1-255> + + +// Must be higher than the highest report ID used. + +#ifndef APP_USBD_HID_REPORT_IDLE_TABLE_SIZE +#define APP_USBD_HID_REPORT_IDLE_TABLE_SIZE 4 +#endif + +// + +// APP_USBD_HID_GENERIC_ENABLED - app_usbd_hid_generic - USB HID generic + + +#ifndef APP_USBD_HID_GENERIC_ENABLED +#define APP_USBD_HID_GENERIC_ENABLED 0 +#endif + +// APP_USBD_HID_KBD_ENABLED - app_usbd_hid_kbd - USB HID keyboard + + +#ifndef APP_USBD_HID_KBD_ENABLED +#define APP_USBD_HID_KBD_ENABLED 0 +#endif + +// APP_USBD_HID_MOUSE_ENABLED - app_usbd_hid_mouse - USB HID mouse + + +#ifndef APP_USBD_HID_MOUSE_ENABLED +#define APP_USBD_HID_MOUSE_ENABLED 0 +#endif + +// APP_USBD_MSC_ENABLED - app_usbd_msc - USB MSC class + + +#ifndef APP_USBD_MSC_ENABLED +#define APP_USBD_MSC_ENABLED 0 +#endif + +// CRC16_ENABLED - crc16 - CRC16 calculation routines + + +#ifndef CRC16_ENABLED +#define CRC16_ENABLED 0 +#endif + +// CRC32_ENABLED - crc32 - CRC32 calculation routines + + +#ifndef CRC32_ENABLED +#define CRC32_ENABLED 0 +#endif + +// ECC_ENABLED - ecc - Elliptic Curve Cryptography Library + + +#ifndef ECC_ENABLED +#define ECC_ENABLED 0 +#endif + +// FDS_ENABLED - fds - Flash data storage module +//========================================================== +#ifndef FDS_ENABLED +#define FDS_ENABLED 0 +#endif +// Pages - Virtual page settings + +// Configure the number of virtual pages to use and their size. +//========================================================== +// FDS_VIRTUAL_PAGES - Number of virtual flash pages to use. +// One of the virtual pages is reserved by the system for garbage collection. +// Therefore, the minimum is two virtual pages: one page to store data and one page to be used by the system for garbage collection. +// The total amount of flash memory that is used by FDS amounts to @ref FDS_VIRTUAL_PAGES * @ref FDS_VIRTUAL_PAGE_SIZE * 4 bytes. + +#ifndef FDS_VIRTUAL_PAGES +#define FDS_VIRTUAL_PAGES 3 +#endif + +// FDS_VIRTUAL_PAGE_SIZE - The size of a virtual flash page. + + +// Expressed in number of 4-byte words. +// By default, a virtual page is the same size as a physical page. +// The size of a virtual page must be a multiple of the size of a physical page. +// <1024=> 1024 +// <2048=> 2048 + +#ifndef FDS_VIRTUAL_PAGE_SIZE +#define FDS_VIRTUAL_PAGE_SIZE 1024 +#endif + +// FDS_VIRTUAL_PAGES_RESERVED - The number of virtual flash pages that are used by other modules. +// FDS module stores its data in the last pages of the flash memory. +// By setting this value, you can move flash end address used by the FDS. +// As a result the reserved space can be used by other modules. + +#ifndef FDS_VIRTUAL_PAGES_RESERVED +#define FDS_VIRTUAL_PAGES_RESERVED 0 +#endif + +// +//========================================================== + +// Backend - Backend configuration + +// Configure which nrf_fstorage backend is used by FDS to write to flash. +//========================================================== +// FDS_BACKEND - FDS flash backend. + + +// NRF_FSTORAGE_SD uses the nrf_fstorage_sd backend implementation using the SoftDevice API. Use this if you have a SoftDevice present. +// NRF_FSTORAGE_NVMC uses the nrf_fstorage_nvmc implementation. Use this setting if you don't use the SoftDevice. +// <1=> NRF_FSTORAGE_NVMC +// <2=> NRF_FSTORAGE_SD + +#ifndef FDS_BACKEND +#define FDS_BACKEND 2 +#endif + +// +//========================================================== + +// Queue - Queue settings + +//========================================================== +// FDS_OP_QUEUE_SIZE - Size of the internal queue. +// Increase this value if you frequently get synchronous FDS_ERR_NO_SPACE_IN_QUEUES errors. + +#ifndef FDS_OP_QUEUE_SIZE +#define FDS_OP_QUEUE_SIZE 4 +#endif + +// +//========================================================== + +// CRC - CRC functionality + +//========================================================== +// FDS_CRC_CHECK_ON_READ - Enable CRC checks. + +// Save a record's CRC when it is written to flash and check it when the record is opened. +// Records with an incorrect CRC can still be 'seen' by the user using FDS functions, but they cannot be opened. +// Additionally, they will not be garbage collected until they are deleted. +//========================================================== +#ifndef FDS_CRC_CHECK_ON_READ +#define FDS_CRC_CHECK_ON_READ 0 +#endif +// FDS_CRC_CHECK_ON_WRITE - Perform a CRC check on newly written records. + + +// Perform a CRC check on newly written records. +// This setting can be used to make sure that the record data was not altered while being written to flash. +// <1=> Enabled +// <0=> Disabled + +#ifndef FDS_CRC_CHECK_ON_WRITE +#define FDS_CRC_CHECK_ON_WRITE 0 +#endif + +// + +// +//========================================================== + +// Users - Number of users + +//========================================================== +// FDS_MAX_USERS - Maximum number of callbacks that can be registered. +#ifndef FDS_MAX_USERS +#define FDS_MAX_USERS 4 +#endif + +// +//========================================================== + +// + +// HARDFAULT_HANDLER_ENABLED - hardfault_default - HardFault default handler for debugging and release + + +#ifndef HARDFAULT_HANDLER_ENABLED +#define HARDFAULT_HANDLER_ENABLED 0 +#endif + +// HCI_MEM_POOL_ENABLED - hci_mem_pool - memory pool implementation used by HCI +//========================================================== +#ifndef HCI_MEM_POOL_ENABLED +#define HCI_MEM_POOL_ENABLED 0 +#endif +// HCI_TX_BUF_SIZE - TX buffer size in bytes. +#ifndef HCI_TX_BUF_SIZE +#define HCI_TX_BUF_SIZE 600 +#endif + +// HCI_RX_BUF_SIZE - RX buffer size in bytes. +#ifndef HCI_RX_BUF_SIZE +#define HCI_RX_BUF_SIZE 600 +#endif + +// HCI_RX_BUF_QUEUE_SIZE - RX buffer queue size. +#ifndef HCI_RX_BUF_QUEUE_SIZE +#define HCI_RX_BUF_QUEUE_SIZE 4 +#endif + +// + +// HCI_SLIP_ENABLED - hci_slip - SLIP protocol implementation used by HCI +//========================================================== +#ifndef HCI_SLIP_ENABLED +#define HCI_SLIP_ENABLED 0 +#endif +// HCI_UART_BAUDRATE - Default Baudrate + +// <323584=> 1200 baud +// <643072=> 2400 baud +// <1290240=> 4800 baud +// <2576384=> 9600 baud +// <3862528=> 14400 baud +// <5152768=> 19200 baud +// <7716864=> 28800 baud +// <10289152=> 38400 baud +// <15400960=> 57600 baud +// <20615168=> 76800 baud +// <30801920=> 115200 baud +// <61865984=> 230400 baud +// <67108864=> 250000 baud +// <121634816=> 460800 baud +// <251658240=> 921600 baud +// <268435456=> 1000000 baud + +#ifndef HCI_UART_BAUDRATE +#define HCI_UART_BAUDRATE 30801920 +#endif + +// HCI_UART_FLOW_CONTROL - Hardware Flow Control + +// <0=> Disabled +// <1=> Enabled + +#ifndef HCI_UART_FLOW_CONTROL +#define HCI_UART_FLOW_CONTROL 0 +#endif + +// HCI_UART_RX_PIN - UART RX pin +#ifndef HCI_UART_RX_PIN +#define HCI_UART_RX_PIN 31 +#endif + +// HCI_UART_TX_PIN - UART TX pin +#ifndef HCI_UART_TX_PIN +#define HCI_UART_TX_PIN 31 +#endif + +// HCI_UART_RTS_PIN - UART RTS pin +#ifndef HCI_UART_RTS_PIN +#define HCI_UART_RTS_PIN 31 +#endif + +// HCI_UART_CTS_PIN - UART CTS pin +#ifndef HCI_UART_CTS_PIN +#define HCI_UART_CTS_PIN 31 +#endif + +// + +// HCI_TRANSPORT_ENABLED - hci_transport - HCI transport +//========================================================== +#ifndef HCI_TRANSPORT_ENABLED +#define HCI_TRANSPORT_ENABLED 0 +#endif +// HCI_MAX_PACKET_SIZE_IN_BITS - Maximum size of a single application packet in bits. +#ifndef HCI_MAX_PACKET_SIZE_IN_BITS +#define HCI_MAX_PACKET_SIZE_IN_BITS 8000 +#endif + +// + +// LED_SOFTBLINK_ENABLED - led_softblink - led_softblink module + + +#ifndef LED_SOFTBLINK_ENABLED +#define LED_SOFTBLINK_ENABLED 0 +#endif + +// LOW_POWER_PWM_ENABLED - low_power_pwm - low_power_pwm module + + +#ifndef LOW_POWER_PWM_ENABLED +#define LOW_POWER_PWM_ENABLED 0 +#endif + +// MEM_MANAGER_ENABLED - mem_manager - Dynamic memory allocator +//========================================================== +#ifndef MEM_MANAGER_ENABLED +#define MEM_MANAGER_ENABLED 0 +#endif +// MEMORY_MANAGER_SMALL_BLOCK_COUNT - Size of each memory blocks identified as 'small' block. <0-255> + + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_COUNT +#define MEMORY_MANAGER_SMALL_BLOCK_COUNT 1 +#endif + +// MEMORY_MANAGER_SMALL_BLOCK_SIZE - Size of each memory blocks identified as 'small' block. +// Size of each memory blocks identified as 'small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_SMALL_BLOCK_SIZE +#define MEMORY_MANAGER_SMALL_BLOCK_SIZE 32 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_COUNT - Size of each memory blocks identified as 'medium' block. <0-255> + + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_COUNT +#define MEMORY_MANAGER_MEDIUM_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_MEDIUM_BLOCK_SIZE - Size of each memory blocks identified as 'medium' block. +// Size of each memory blocks identified as 'medium' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_MEDIUM_BLOCK_SIZE +#define MEMORY_MANAGER_MEDIUM_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_COUNT - Size of each memory blocks identified as 'large' block. <0-255> + + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_COUNT +#define MEMORY_MANAGER_LARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_LARGE_BLOCK_SIZE - Size of each memory blocks identified as 'large' block. +// Size of each memory blocks identified as 'large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_LARGE_BLOCK_SIZE +#define MEMORY_MANAGER_LARGE_BLOCK_SIZE 256 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra large' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XLARGE_BLOCK_SIZE 1320 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra large' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_COUNT +#define MEMORY_MANAGER_XXLARGE_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXLARGE_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra large' block. +// Size of each memory blocks identified as 'extra extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXLARGE_BLOCK_SIZE +#define MEMORY_MANAGER_XXLARGE_BLOCK_SIZE 3444 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra small' block. +// Size of each memory blocks identified as 'extra large' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XSMALL_BLOCK_SIZE 64 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_COUNT - Size of each memory blocks identified as 'extra extra small' block. <0-255> + + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_COUNT +#define MEMORY_MANAGER_XXSMALL_BLOCK_COUNT 0 +#endif + +// MEMORY_MANAGER_XXSMALL_BLOCK_SIZE - Size of each memory blocks identified as 'extra extra small' block. +// Size of each memory blocks identified as 'extra extra small' block. Memory block are recommended to be word-sized. + +#ifndef MEMORY_MANAGER_XXSMALL_BLOCK_SIZE +#define MEMORY_MANAGER_XXSMALL_BLOCK_SIZE 32 +#endif + +// MEM_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef MEM_MANAGER_CONFIG_LOG_ENABLED +#define MEM_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// MEM_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MEM_MANAGER_CONFIG_LOG_LEVEL +#define MEM_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// MEM_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_INFO_COLOR +#define MEM_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// MEM_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MEM_MANAGER_CONFIG_DEBUG_COLOR +#define MEM_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MEM_MANAGER_DISABLE_API_PARAM_CHECK - Disable API parameter checks in the module. + + +#ifndef MEM_MANAGER_DISABLE_API_PARAM_CHECK +#define MEM_MANAGER_DISABLE_API_PARAM_CHECK 0 +#endif + +// + +// NRF_BALLOC_ENABLED - nrf_balloc - Block allocator module +//========================================================== +#ifndef NRF_BALLOC_ENABLED +#define NRF_BALLOC_ENABLED 1 +#endif +// NRF_BALLOC_CONFIG_DEBUG_ENABLED - Enables debug mode in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_DEBUG_ENABLED +#define NRF_BALLOC_CONFIG_DEBUG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS - Number of words used as head guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS +#define NRF_BALLOC_CONFIG_HEAD_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS - Number of words used as tail guard. <0-255> + + +#ifndef NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS +#define NRF_BALLOC_CONFIG_TAIL_GUARD_WORDS 1 +#endif + +// NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED - Enables basic checks in this module. + + +#ifndef NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED +#define NRF_BALLOC_CONFIG_BASIC_CHECKS_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED - Enables double memory free check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DOUBLE_FREE_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED - Enables free memory corruption check in this module. + + +#ifndef NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED +#define NRF_BALLOC_CONFIG_DATA_TRASHING_CHECK_ENABLED 0 +#endif + +// NRF_BALLOC_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_BALLOC_CLI_CMDS +#define NRF_BALLOC_CLI_CMDS 0 +#endif + +// + +// + +// NRF_CSENSE_ENABLED - nrf_csense - Capacitive sensor module +//========================================================== +#ifndef NRF_CSENSE_ENABLED +#define NRF_CSENSE_ENABLED 0 +#endif +// NRF_CSENSE_PAD_HYSTERESIS - Minimum value of change required to determine that a pad was touched. +#ifndef NRF_CSENSE_PAD_HYSTERESIS +#define NRF_CSENSE_PAD_HYSTERESIS 15 +#endif + +// NRF_CSENSE_PAD_DEVIATION - Minimum value measured on a pad required to take it into account while calculating the step. +#ifndef NRF_CSENSE_PAD_DEVIATION +#define NRF_CSENSE_PAD_DEVIATION 70 +#endif + +// NRF_CSENSE_MIN_PAD_VALUE - Minimum normalized value on a pad required to take its value into account. +#ifndef NRF_CSENSE_MIN_PAD_VALUE +#define NRF_CSENSE_MIN_PAD_VALUE 20 +#endif + +// NRF_CSENSE_MAX_PADS_NUMBER - Maximum number of pads used for one instance. +#ifndef NRF_CSENSE_MAX_PADS_NUMBER +#define NRF_CSENSE_MAX_PADS_NUMBER 20 +#endif + +// NRF_CSENSE_MAX_VALUE - Maximum normalized value obtained from measurement. +#ifndef NRF_CSENSE_MAX_VALUE +#define NRF_CSENSE_MAX_VALUE 1000 +#endif + +// NRF_CSENSE_OUTPUT_PIN - Output pin used by the low-level module. +// This is used when capacitive sensor does not use COMP. + +#ifndef NRF_CSENSE_OUTPUT_PIN +#define NRF_CSENSE_OUTPUT_PIN 26 +#endif + +// + +// NRF_DRV_CSENSE_ENABLED - nrf_drv_csense - Capacitive sensor low-level module +//========================================================== +#ifndef NRF_DRV_CSENSE_ENABLED +#define NRF_DRV_CSENSE_ENABLED 0 +#endif +// USE_COMP - Use the comparator to implement the capacitive sensor driver. + +// Due to Anomaly 84, COMP I_SOURCE is not functional. It has too high a varation. +//========================================================== +#ifndef USE_COMP +#define USE_COMP 0 +#endif +// TIMER0_FOR_CSENSE - First TIMER instance used by the driver (not used on nRF51). +#ifndef TIMER0_FOR_CSENSE +#define TIMER0_FOR_CSENSE 1 +#endif + +// TIMER1_FOR_CSENSE - Second TIMER instance used by the driver (not used on nRF51). +#ifndef TIMER1_FOR_CSENSE +#define TIMER1_FOR_CSENSE 2 +#endif + +// MEASUREMENT_PERIOD - Single measurement period. +// Time of a single measurement can be calculated as +// T = (1/2)*MEASUREMENT_PERIOD*(1/f_OSC) where f_OSC = I_SOURCE / (2C*(VUP-VDOWN) ). +// I_SOURCE, VUP, and VDOWN are values used to initialize COMP and C is the capacitance of the used pad. + +#ifndef MEASUREMENT_PERIOD +#define MEASUREMENT_PERIOD 20 +#endif + +// + +// + +// NRF_FSTORAGE_ENABLED - nrf_fstorage - Flash abstraction library +//========================================================== +#ifndef NRF_FSTORAGE_ENABLED +#define NRF_FSTORAGE_ENABLED 0 +#endif +// nrf_fstorage - Common settings + +// Common settings to all fstorage implementations +//========================================================== +// NRF_FSTORAGE_PARAM_CHECK_DISABLED - Disable user input validation + + +// If selected, use ASSERT to validate user input. +// This effectively removes user input validation in production code. +// Recommended setting: OFF, only enable this setting if size is a major concern. + +#ifndef NRF_FSTORAGE_PARAM_CHECK_DISABLED +#define NRF_FSTORAGE_PARAM_CHECK_DISABLED 0 +#endif + +// +//========================================================== + +// nrf_fstorage_sd - Implementation using the SoftDevice + +// Configuration options for the fstorage implementation using the SoftDevice +//========================================================== +// NRF_FSTORAGE_SD_QUEUE_SIZE - Size of the internal queue of operations +// Increase this value if API calls frequently return the error @ref NRF_ERROR_NO_MEM. + +#ifndef NRF_FSTORAGE_SD_QUEUE_SIZE +#define NRF_FSTORAGE_SD_QUEUE_SIZE 4 +#endif + +// NRF_FSTORAGE_SD_MAX_RETRIES - Maximum number of attempts at executing an operation when the SoftDevice is busy +// Increase this value if events frequently return the @ref NRF_ERROR_TIMEOUT error. +// The SoftDevice might fail to schedule flash access due to high BLE activity. + +#ifndef NRF_FSTORAGE_SD_MAX_RETRIES +#define NRF_FSTORAGE_SD_MAX_RETRIES 8 +#endif + +// NRF_FSTORAGE_SD_MAX_WRITE_SIZE - Maximum number of bytes to be written to flash in a single operation +// This value must be a multiple of four. +// Lowering this value can increase the chances of the SoftDevice being able to execute flash operations in between radio activity. +// This value is bound by the maximum number of bytes that can be written to flash in a single call to @ref sd_flash_write. +// That is 1024 bytes for nRF51 ICs and 4096 bytes for nRF52 ICs. + +#ifndef NRF_FSTORAGE_SD_MAX_WRITE_SIZE +#define NRF_FSTORAGE_SD_MAX_WRITE_SIZE 4096 +#endif + +// +//========================================================== + +// + +// NRF_GFX_ENABLED - nrf_gfx - GFX module + + +#ifndef NRF_GFX_ENABLED +#define NRF_GFX_ENABLED 0 +#endif + +// NRF_MEMOBJ_ENABLED - nrf_memobj - Linked memory allocator module + + +#ifndef NRF_MEMOBJ_ENABLED +#define NRF_MEMOBJ_ENABLED 1 +#endif + +// NRF_PWR_MGMT_ENABLED - nrf_pwr_mgmt - Power management module +//========================================================== +#ifndef NRF_PWR_MGMT_ENABLED +#define NRF_PWR_MGMT_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_DEBUG_PIN_ENABLED - Enables pin debug in the module. + +// Selected pin will be set when CPU is in sleep mode. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_PIN_ENABLED +#define NRF_PWR_MGMT_CONFIG_DEBUG_PIN_ENABLED 0 +#endif +// NRF_PWR_MGMT_SLEEP_DEBUG_PIN - Pin number + +// <0=> 0 (P0.0) +// <1=> 1 (P0.1) +// <2=> 2 (P0.2) +// <3=> 3 (P0.3) +// <4=> 4 (P0.4) +// <5=> 5 (P0.5) +// <6=> 6 (P0.6) +// <7=> 7 (P0.7) +// <8=> 8 (P0.8) +// <9=> 9 (P0.9) +// <10=> 10 (P0.10) +// <11=> 11 (P0.11) +// <12=> 12 (P0.12) +// <13=> 13 (P0.13) +// <14=> 14 (P0.14) +// <15=> 15 (P0.15) +// <16=> 16 (P0.16) +// <17=> 17 (P0.17) +// <18=> 18 (P0.18) +// <19=> 19 (P0.19) +// <20=> 20 (P0.20) +// <21=> 21 (P0.21) +// <22=> 22 (P0.22) +// <23=> 23 (P0.23) +// <24=> 24 (P0.24) +// <25=> 25 (P0.25) +// <26=> 26 (P0.26) +// <27=> 27 (P0.27) +// <28=> 28 (P0.28) +// <29=> 29 (P0.29) +// <30=> 30 (P0.30) +// <31=> 31 (P0.31) +// <32=> 32 (P1.0) +// <33=> 33 (P1.1) +// <34=> 34 (P1.2) +// <35=> 35 (P1.3) +// <36=> 36 (P1.4) +// <37=> 37 (P1.5) +// <38=> 38 (P1.6) +// <39=> 39 (P1.7) +// <40=> 40 (P1.8) +// <41=> 41 (P1.9) +// <42=> 42 (P1.10) +// <43=> 43 (P1.11) +// <44=> 44 (P1.12) +// <45=> 45 (P1.13) +// <46=> 46 (P1.14) +// <47=> 47 (P1.15) +// <4294967295=> Not connected + +#ifndef NRF_PWR_MGMT_SLEEP_DEBUG_PIN +#define NRF_PWR_MGMT_SLEEP_DEBUG_PIN 31 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_CPU_USAGE_MONITOR_ENABLED - Enables CPU usage monitor. + + +// Module will trace percentage of CPU usage in one second intervals. + +#ifndef NRF_PWR_MGMT_CONFIG_CPU_USAGE_MONITOR_ENABLED +#define NRF_PWR_MGMT_CONFIG_CPU_USAGE_MONITOR_ENABLED 0 +#endif + +// NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_ENABLED - Enable standby timeout. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_ENABLED +#define NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_S - Standby timeout (in seconds). +// Shutdown procedure will begin no earlier than after this number of seconds. + +#ifndef NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_S +#define NRF_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_S 3 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_FPU_SUPPORT_ENABLED - Enables FPU event cleaning. + + +#ifndef NRF_PWR_MGMT_CONFIG_FPU_SUPPORT_ENABLED +#define NRF_PWR_MGMT_CONFIG_FPU_SUPPORT_ENABLED 0 +#endif + +// NRF_PWR_MGMT_CONFIG_AUTO_SHUTDOWN_RETRY - Blocked shutdown procedure will be retried every second. + + +#ifndef NRF_PWR_MGMT_CONFIG_AUTO_SHUTDOWN_RETRY +#define NRF_PWR_MGMT_CONFIG_AUTO_SHUTDOWN_RETRY 0 +#endif + +// NRF_PWR_MGMT_CONFIG_USE_SCHEDULER - Module will use @ref app_scheduler. + + +#ifndef NRF_PWR_MGMT_CONFIG_USE_SCHEDULER +#define NRF_PWR_MGMT_CONFIG_USE_SCHEDULER 0 +#endif + +// NRF_PWR_MGMT_CONFIG_HANDLER_PRIORITY_COUNT - The number of priorities for module handlers. +// The number of stages of the shutdown process. + +#ifndef NRF_PWR_MGMT_CONFIG_HANDLER_PRIORITY_COUNT +#define NRF_PWR_MGMT_CONFIG_HANDLER_PRIORITY_COUNT 3 +#endif + +// + +// NRF_QUEUE_ENABLED - nrf_queue - Queue module +//========================================================== +#ifndef NRF_QUEUE_ENABLED +#define NRF_QUEUE_ENABLED 0 +#endif +// NRF_QUEUE_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef NRF_QUEUE_CLI_CMDS +#define NRF_QUEUE_CLI_CMDS 0 +#endif + +// + +// NRF_SECTION_ITER_ENABLED - nrf_section_iter - Section iterator + + +#ifndef NRF_SECTION_ITER_ENABLED +#define NRF_SECTION_ITER_ENABLED 1 +#endif + +// NRF_SORTLIST_ENABLED - nrf_sortlist - Sorted list + + +#ifndef NRF_SORTLIST_ENABLED +#define NRF_SORTLIST_ENABLED 1 +#endif + +// NRF_SPI_MNGR_ENABLED - nrf_spi_mngr - SPI transaction manager + + +#ifndef NRF_SPI_MNGR_ENABLED +#define NRF_SPI_MNGR_ENABLED 0 +#endif + +// NRF_STRERROR_ENABLED - nrf_strerror - Library for converting error code to string. + + +#ifndef NRF_STRERROR_ENABLED +#define NRF_STRERROR_ENABLED 1 +#endif + +// NRF_TWI_MNGR_ENABLED - nrf_twi_mngr - TWI transaction manager + + +#ifndef NRF_TWI_MNGR_ENABLED +#define NRF_TWI_MNGR_ENABLED 0 +#endif + +// SLIP_ENABLED - slip - SLIP encoding and decoding + + +#ifndef SLIP_ENABLED +#define SLIP_ENABLED 0 +#endif + +// TASK_MANAGER_ENABLED - task_manager - Task manager. +//========================================================== +#ifndef TASK_MANAGER_ENABLED +#define TASK_MANAGER_ENABLED 0 +#endif +// TASK_MANAGER_CLI_CMDS - Enable CLI commands specific to the module + + +#ifndef TASK_MANAGER_CLI_CMDS +#define TASK_MANAGER_CLI_CMDS 0 +#endif + +// TASK_MANAGER_CONFIG_MAX_TASKS - Maximum number of tasks which can be created +#ifndef TASK_MANAGER_CONFIG_MAX_TASKS +#define TASK_MANAGER_CONFIG_MAX_TASKS 2 +#endif + +// TASK_MANAGER_CONFIG_STACK_SIZE - Stack size for every task (power of 2) +#ifndef TASK_MANAGER_CONFIG_STACK_SIZE +#define TASK_MANAGER_CONFIG_STACK_SIZE 1024 +#endif + +// TASK_MANAGER_CONFIG_STACK_PROFILER_ENABLED - Enable stack profiling. + + +#ifndef TASK_MANAGER_CONFIG_STACK_PROFILER_ENABLED +#define TASK_MANAGER_CONFIG_STACK_PROFILER_ENABLED 1 +#endif + +// TASK_MANAGER_CONFIG_STACK_GUARD - Configures stack guard. + +// <0=> Disabled +// <4=> 32 bytes +// <5=> 64 bytes +// <6=> 128 bytes +// <7=> 256 bytes +// <8=> 512 bytes + +#ifndef TASK_MANAGER_CONFIG_STACK_GUARD +#define TASK_MANAGER_CONFIG_STACK_GUARD 7 +#endif + +// + +// app_button - buttons handling module + +//========================================================== +// BUTTON_ENABLED - Enables Button module + + +#ifndef BUTTON_ENABLED +#define BUTTON_ENABLED 0 +#endif + +// BUTTON_HIGH_ACCURACY_ENABLED - Enables GPIOTE high accuracy for buttons + + +#ifndef BUTTON_HIGH_ACCURACY_ENABLED +#define BUTTON_HIGH_ACCURACY_ENABLED 0 +#endif + +// +//========================================================== + +// app_usbd_cdc_acm - USB CDC ACM class + +//========================================================== +// APP_USBD_CDC_ACM_ENABLED - Enabling USBD CDC ACM Class library + + +#ifndef APP_USBD_CDC_ACM_ENABLED +#define APP_USBD_CDC_ACM_ENABLED 0 +#endif + +// APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE - Send ZLP on write with same size as endpoint + + +// If enabled, CDC ACM class will automatically send a zero length packet after transfer which has the same size as endpoint. +// This may limit throughput if a lot of binary data is sent, but in terminal mode operation it makes sure that the data is always displayed right after it is sent. + +#ifndef APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE +#define APP_USBD_CDC_ACM_ZLP_ON_EPSIZE_WRITE 1 +#endif + +// +//========================================================== + +// nrf_cli - Command line interface + +//========================================================== +// NRF_CLI_ENABLED - Enable/disable the CLI module. + + +#ifndef NRF_CLI_ENABLED +#define NRF_CLI_ENABLED 0 +#endif + +// NRF_CLI_ARGC_MAX - Maximum number of parameters passed to the command handler. +#ifndef NRF_CLI_ARGC_MAX +#define NRF_CLI_ARGC_MAX 12 +#endif + +// NRF_CLI_BUILD_IN_CMDS_ENABLED - CLI built-in commands. + + +#ifndef NRF_CLI_BUILD_IN_CMDS_ENABLED +#define NRF_CLI_BUILD_IN_CMDS_ENABLED 1 +#endif + +// NRF_CLI_CMD_BUFF_SIZE - Maximum buffer size for a single command. +#ifndef NRF_CLI_CMD_BUFF_SIZE +#define NRF_CLI_CMD_BUFF_SIZE 128 +#endif + +// NRF_CLI_ECHO_STATUS - CLI echo status. If set, echo is ON. + + +#ifndef NRF_CLI_ECHO_STATUS +#define NRF_CLI_ECHO_STATUS 1 +#endif + +// NRF_CLI_WILDCARD_ENABLED - Enable wildcard functionality for CLI commands. + + +#ifndef NRF_CLI_WILDCARD_ENABLED +#define NRF_CLI_WILDCARD_ENABLED 0 +#endif + +// NRF_CLI_METAKEYS_ENABLED - Enable additional control keys for CLI commands like ctrl+a, ctrl+e, ctrl+w, ctrl+u + + +#ifndef NRF_CLI_METAKEYS_ENABLED +#define NRF_CLI_METAKEYS_ENABLED 0 +#endif + +// NRF_CLI_PRINTF_BUFF_SIZE - Maximum print buffer size. +#ifndef NRF_CLI_PRINTF_BUFF_SIZE +#define NRF_CLI_PRINTF_BUFF_SIZE 23 +#endif + +// NRF_CLI_HISTORY_ENABLED - Enable CLI history mode. +//========================================================== +#ifndef NRF_CLI_HISTORY_ENABLED +#define NRF_CLI_HISTORY_ENABLED 1 +#endif +// NRF_CLI_HISTORY_ELEMENT_SIZE - Size of one memory object reserved for CLI history. +#ifndef NRF_CLI_HISTORY_ELEMENT_SIZE +#define NRF_CLI_HISTORY_ELEMENT_SIZE 32 +#endif + +// NRF_CLI_HISTORY_ELEMENT_COUNT - Number of history memory objects. +#ifndef NRF_CLI_HISTORY_ELEMENT_COUNT +#define NRF_CLI_HISTORY_ELEMENT_COUNT 8 +#endif + +// + +// NRF_CLI_VT100_COLORS_ENABLED - CLI VT100 colors. + + +#ifndef NRF_CLI_VT100_COLORS_ENABLED +#define NRF_CLI_VT100_COLORS_ENABLED 1 +#endif + +// NRF_CLI_STATISTICS_ENABLED - Enable CLI statistics. + + +#ifndef NRF_CLI_STATISTICS_ENABLED +#define NRF_CLI_STATISTICS_ENABLED 1 +#endif + +// NRF_CLI_LOG_BACKEND - Enable logger backend interface. + + +#ifndef NRF_CLI_LOG_BACKEND +#define NRF_CLI_LOG_BACKEND 1 +#endif + +// NRF_CLI_USES_TASK_MANAGER_ENABLED - Enable CLI to use task_manager + + +#ifndef NRF_CLI_USES_TASK_MANAGER_ENABLED +#define NRF_CLI_USES_TASK_MANAGER_ENABLED 0 +#endif + +// +//========================================================== + +// nrf_fprintf - fprintf function. + +//========================================================== +// NRF_FPRINTF_ENABLED - Enable/disable fprintf module. + + +#ifndef NRF_FPRINTF_ENABLED +#define NRF_FPRINTF_ENABLED 1 +#endif + +// NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED - For each printed LF, function will add CR. + + +#ifndef NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED +#define NRF_FPRINTF_FLAG_AUTOMATIC_CR_ON_LF_ENABLED 1 +#endif + +// NRF_FPRINTF_DOUBLE_ENABLED - Enable IEEE-754 double precision formatting. + + +#ifndef NRF_FPRINTF_DOUBLE_ENABLED +#define NRF_FPRINTF_DOUBLE_ENABLED 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// nRF_Log + +//========================================================== +// NRF_LOG_ENABLED - nrf_log - Logger +//========================================================== +#ifndef NRF_LOG_ENABLED +#define NRF_LOG_ENABLED 0 +#endif +// Log message pool - Configuration of log message pool + +//========================================================== +// NRF_LOG_MSGPOOL_ELEMENT_SIZE - Size of a single element in the pool of memory objects. +// If a small value is set, then performance of logs processing +// is degraded because data is fragmented. Bigger value impacts +// RAM memory utilization. The size is set to fit a message with +// a timestamp and up to 2 arguments in a single memory object. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_SIZE +#define NRF_LOG_MSGPOOL_ELEMENT_SIZE 20 +#endif + +// NRF_LOG_MSGPOOL_ELEMENT_COUNT - Number of elements in the pool of memory objects +// If a small value is set, then it may lead to a deadlock +// in certain cases if backend has high latency and holds +// multiple messages for long time. Bigger value impacts +// RAM memory usage. + +#ifndef NRF_LOG_MSGPOOL_ELEMENT_COUNT +#define NRF_LOG_MSGPOOL_ELEMENT_COUNT 8 +#endif + +// +//========================================================== + +// NRF_LOG_ALLOW_OVERFLOW - Configures behavior when circular buffer is full. + + +// If set then oldest logs are overwritten. Otherwise a +// marker is injected informing about overflow. + +#ifndef NRF_LOG_ALLOW_OVERFLOW +#define NRF_LOG_ALLOW_OVERFLOW 1 +#endif + +// NRF_LOG_BUFSIZE - Size of the buffer for storing logs (in bytes). + + +// Must be power of 2 and multiple of 4. +// If NRF_LOG_DEFERRED = 0 then buffer size can be reduced to minimum. +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 +// <2048=> 2048 +// <4096=> 4096 +// <8192=> 8192 +// <16384=> 16384 + +#ifndef NRF_LOG_BUFSIZE +#define NRF_LOG_BUFSIZE 1024 +#endif + +// NRF_LOG_CLI_CMDS - Enable CLI commands for the module. + + +#ifndef NRF_LOG_CLI_CMDS +#define NRF_LOG_CLI_CMDS 0 +#endif + +// NRF_LOG_DEFAULT_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LOG_DEFAULT_LEVEL +#define NRF_LOG_DEFAULT_LEVEL 3 +#endif + +// NRF_LOG_DEFERRED - Enable deffered logger. + + +// Log data is buffered and can be processed in idle. + +#ifndef NRF_LOG_DEFERRED +#define NRF_LOG_DEFERRED 1 +#endif + +// NRF_LOG_FILTERS_ENABLED - Enable dynamic filtering of logs. + + +#ifndef NRF_LOG_FILTERS_ENABLED +#define NRF_LOG_FILTERS_ENABLED 0 +#endif + +// NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED - Enable use of critical region for non deffered mode when flushing logs. + + +// When enabled NRF_LOG_FLUSH is called from critical section when non deffered mode is used. +// Log output will never be corrupted as access to the log backend is exclusive +// but system will spend significant amount of time in critical section + +#ifndef NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED +#define NRF_LOG_NON_DEFFERED_CRITICAL_REGION_ENABLED 0 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_STR_PUSH_BUFFER_SIZE - Size of the buffer dedicated for strings stored using @ref NRF_LOG_PUSH. + +// <16=> 16 +// <32=> 32 +// <64=> 64 +// <128=> 128 +// <256=> 256 +// <512=> 512 +// <1024=> 1024 + +#ifndef NRF_LOG_STR_PUSH_BUFFER_SIZE +#define NRF_LOG_STR_PUSH_BUFFER_SIZE 128 +#endif + +// NRF_LOG_USES_COLORS - If enabled then ANSI escape code for colors is prefixed to every string +//========================================================== +#ifndef NRF_LOG_USES_COLORS +#define NRF_LOG_USES_COLORS 0 +#endif +// NRF_LOG_COLOR_DEFAULT - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_COLOR_DEFAULT +#define NRF_LOG_COLOR_DEFAULT 0 +#endif + +// NRF_LOG_ERROR_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_ERROR_COLOR +#define NRF_LOG_ERROR_COLOR 2 +#endif + +// NRF_LOG_WARNING_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LOG_WARNING_COLOR +#define NRF_LOG_WARNING_COLOR 4 +#endif + +// + +// NRF_LOG_USES_TIMESTAMP - Enable timestamping + +// Function for getting the timestamp is provided by the user +//========================================================== +#ifndef NRF_LOG_USES_TIMESTAMP +#define NRF_LOG_USES_TIMESTAMP 0 +#endif +// NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY - Default frequency of the timestamp (in Hz) or 0 to use app_timer frequency. +#ifndef NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY +#define NRF_LOG_TIMESTAMP_DEFAULT_FREQUENCY 0 +#endif + +// + +// nrf_log module configuration + +//========================================================== +// nrf_log in nRF_Core + +//========================================================== +// NRF_MPU_LIB_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MPU_LIB_CONFIG_LOG_ENABLED +#define NRF_MPU_LIB_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MPU_LIB_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MPU_LIB_CONFIG_LOG_LEVEL +#define NRF_MPU_LIB_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MPU_LIB_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_INFO_COLOR +#define NRF_MPU_LIB_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MPU_LIB_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MPU_LIB_CONFIG_DEBUG_COLOR +#define NRF_MPU_LIB_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_STACK_GUARD_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_STACK_GUARD_CONFIG_LOG_ENABLED +#define NRF_STACK_GUARD_CONFIG_LOG_ENABLED 0 +#endif +// NRF_STACK_GUARD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_STACK_GUARD_CONFIG_LOG_LEVEL +#define NRF_STACK_GUARD_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_STACK_GUARD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_INFO_COLOR +#define NRF_STACK_GUARD_CONFIG_INFO_COLOR 0 +#endif + +// NRF_STACK_GUARD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_STACK_GUARD_CONFIG_DEBUG_COLOR +#define NRF_STACK_GUARD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TASK_MANAGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TASK_MANAGER_CONFIG_LOG_ENABLED +#define TASK_MANAGER_CONFIG_LOG_ENABLED 0 +#endif +// TASK_MANAGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TASK_MANAGER_CONFIG_LOG_LEVEL +#define TASK_MANAGER_CONFIG_LOG_LEVEL 3 +#endif + +// TASK_MANAGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_INFO_COLOR +#define TASK_MANAGER_CONFIG_INFO_COLOR 0 +#endif + +// TASK_MANAGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TASK_MANAGER_CONFIG_DEBUG_COLOR +#define TASK_MANAGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Drivers + +//========================================================== +// CLOCK_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef CLOCK_CONFIG_LOG_ENABLED +#define CLOCK_CONFIG_LOG_ENABLED 0 +#endif +// CLOCK_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef CLOCK_CONFIG_LOG_LEVEL +#define CLOCK_CONFIG_LOG_LEVEL 3 +#endif + +// CLOCK_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_INFO_COLOR +#define CLOCK_CONFIG_INFO_COLOR 0 +#endif + +// CLOCK_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef CLOCK_CONFIG_DEBUG_COLOR +#define CLOCK_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// COMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef COMP_CONFIG_LOG_ENABLED +#define COMP_CONFIG_LOG_ENABLED 0 +#endif +// COMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef COMP_CONFIG_LOG_LEVEL +#define COMP_CONFIG_LOG_LEVEL 3 +#endif + +// COMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_INFO_COLOR +#define COMP_CONFIG_INFO_COLOR 0 +#endif + +// COMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef COMP_CONFIG_DEBUG_COLOR +#define COMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// GPIOTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef GPIOTE_CONFIG_LOG_ENABLED +#define GPIOTE_CONFIG_LOG_ENABLED 0 +#endif +// GPIOTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef GPIOTE_CONFIG_LOG_LEVEL +#define GPIOTE_CONFIG_LOG_LEVEL 3 +#endif + +// GPIOTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_INFO_COLOR +#define GPIOTE_CONFIG_INFO_COLOR 0 +#endif + +// GPIOTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef GPIOTE_CONFIG_DEBUG_COLOR +#define GPIOTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// LPCOMP_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef LPCOMP_CONFIG_LOG_ENABLED +#define LPCOMP_CONFIG_LOG_ENABLED 0 +#endif +// LPCOMP_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef LPCOMP_CONFIG_LOG_LEVEL +#define LPCOMP_CONFIG_LOG_LEVEL 3 +#endif + +// LPCOMP_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_INFO_COLOR +#define LPCOMP_CONFIG_INFO_COLOR 0 +#endif + +// LPCOMP_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef LPCOMP_CONFIG_DEBUG_COLOR +#define LPCOMP_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// MAX3421E_HOST_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef MAX3421E_HOST_CONFIG_LOG_ENABLED +#define MAX3421E_HOST_CONFIG_LOG_ENABLED 0 +#endif +// MAX3421E_HOST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef MAX3421E_HOST_CONFIG_LOG_LEVEL +#define MAX3421E_HOST_CONFIG_LOG_LEVEL 3 +#endif + +// MAX3421E_HOST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_INFO_COLOR +#define MAX3421E_HOST_CONFIG_INFO_COLOR 0 +#endif + +// MAX3421E_HOST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef MAX3421E_HOST_CONFIG_DEBUG_COLOR +#define MAX3421E_HOST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRFX_USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef NRFX_USBD_CONFIG_LOG_ENABLED +#define NRFX_USBD_CONFIG_LOG_ENABLED 0 +#endif +// NRFX_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRFX_USBD_CONFIG_LOG_LEVEL +#define NRFX_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// NRFX_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_INFO_COLOR +#define NRFX_USBD_CONFIG_INFO_COLOR 0 +#endif + +// NRFX_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRFX_USBD_CONFIG_DEBUG_COLOR +#define NRFX_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PDM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PDM_CONFIG_LOG_ENABLED +#define PDM_CONFIG_LOG_ENABLED 0 +#endif +// PDM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PDM_CONFIG_LOG_LEVEL +#define PDM_CONFIG_LOG_LEVEL 3 +#endif + +// PDM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_INFO_COLOR +#define PDM_CONFIG_INFO_COLOR 0 +#endif + +// PDM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PDM_CONFIG_DEBUG_COLOR +#define PDM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PPI_CONFIG_LOG_ENABLED +#define PPI_CONFIG_LOG_ENABLED 0 +#endif +// PPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PPI_CONFIG_LOG_LEVEL +#define PPI_CONFIG_LOG_LEVEL 3 +#endif + +// PPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_INFO_COLOR +#define PPI_CONFIG_INFO_COLOR 0 +#endif + +// PPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PPI_CONFIG_DEBUG_COLOR +#define PPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PWM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef PWM_CONFIG_LOG_ENABLED +#define PWM_CONFIG_LOG_ENABLED 0 +#endif +// PWM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PWM_CONFIG_LOG_LEVEL +#define PWM_CONFIG_LOG_LEVEL 3 +#endif + +// PWM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_INFO_COLOR +#define PWM_CONFIG_INFO_COLOR 0 +#endif + +// PWM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PWM_CONFIG_DEBUG_COLOR +#define PWM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// QDEC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef QDEC_CONFIG_LOG_ENABLED +#define QDEC_CONFIG_LOG_ENABLED 0 +#endif +// QDEC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef QDEC_CONFIG_LOG_LEVEL +#define QDEC_CONFIG_LOG_LEVEL 3 +#endif + +// QDEC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_INFO_COLOR +#define QDEC_CONFIG_INFO_COLOR 0 +#endif + +// QDEC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef QDEC_CONFIG_DEBUG_COLOR +#define QDEC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// RNG_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RNG_CONFIG_LOG_ENABLED +#define RNG_CONFIG_LOG_ENABLED 0 +#endif +// RNG_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RNG_CONFIG_LOG_LEVEL +#define RNG_CONFIG_LOG_LEVEL 3 +#endif + +// RNG_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_INFO_COLOR +#define RNG_CONFIG_INFO_COLOR 0 +#endif + +// RNG_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RNG_CONFIG_DEBUG_COLOR +#define RNG_CONFIG_DEBUG_COLOR 0 +#endif + +// RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED - Enables logging of random numbers. + + +#ifndef RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED +#define RNG_CONFIG_RANDOM_NUMBER_LOG_ENABLED 0 +#endif + +// + +// RTC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef RTC_CONFIG_LOG_ENABLED +#define RTC_CONFIG_LOG_ENABLED 0 +#endif +// RTC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef RTC_CONFIG_LOG_LEVEL +#define RTC_CONFIG_LOG_LEVEL 3 +#endif + +// RTC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_INFO_COLOR +#define RTC_CONFIG_INFO_COLOR 0 +#endif + +// RTC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef RTC_CONFIG_DEBUG_COLOR +#define RTC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SAADC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SAADC_CONFIG_LOG_ENABLED +#define SAADC_CONFIG_LOG_ENABLED 0 +#endif +// SAADC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SAADC_CONFIG_LOG_LEVEL +#define SAADC_CONFIG_LOG_LEVEL 3 +#endif + +// SAADC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_INFO_COLOR +#define SAADC_CONFIG_INFO_COLOR 0 +#endif + +// SAADC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SAADC_CONFIG_DEBUG_COLOR +#define SAADC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPIS_CONFIG_LOG_ENABLED +#define SPIS_CONFIG_LOG_ENABLED 0 +#endif +// SPIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPIS_CONFIG_LOG_LEVEL +#define SPIS_CONFIG_LOG_LEVEL 3 +#endif + +// SPIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_INFO_COLOR +#define SPIS_CONFIG_INFO_COLOR 0 +#endif + +// SPIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPIS_CONFIG_DEBUG_COLOR +#define SPIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// SPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SPI_CONFIG_LOG_ENABLED +#define SPI_CONFIG_LOG_ENABLED 0 +#endif +// SPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SPI_CONFIG_LOG_LEVEL +#define SPI_CONFIG_LOG_LEVEL 3 +#endif + +// SPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_INFO_COLOR +#define SPI_CONFIG_INFO_COLOR 0 +#endif + +// SPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SPI_CONFIG_DEBUG_COLOR +#define SPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TIMER_CONFIG_LOG_ENABLED +#define TIMER_CONFIG_LOG_ENABLED 0 +#endif +// TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TIMER_CONFIG_LOG_LEVEL +#define TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_INFO_COLOR +#define TIMER_CONFIG_INFO_COLOR 0 +#endif + +// TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TIMER_CONFIG_DEBUG_COLOR +#define TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWIS_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWIS_CONFIG_LOG_ENABLED +#define TWIS_CONFIG_LOG_ENABLED 0 +#endif +// TWIS_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWIS_CONFIG_LOG_LEVEL +#define TWIS_CONFIG_LOG_LEVEL 3 +#endif + +// TWIS_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_INFO_COLOR +#define TWIS_CONFIG_INFO_COLOR 0 +#endif + +// TWIS_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWIS_CONFIG_DEBUG_COLOR +#define TWIS_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// TWI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef TWI_CONFIG_LOG_ENABLED +#define TWI_CONFIG_LOG_ENABLED 0 +#endif +// TWI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef TWI_CONFIG_LOG_LEVEL +#define TWI_CONFIG_LOG_LEVEL 3 +#endif + +// TWI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_INFO_COLOR +#define TWI_CONFIG_INFO_COLOR 0 +#endif + +// TWI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef TWI_CONFIG_DEBUG_COLOR +#define TWI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef UART_CONFIG_LOG_ENABLED +#define UART_CONFIG_LOG_ENABLED 0 +#endif +// UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef UART_CONFIG_LOG_LEVEL +#define UART_CONFIG_LOG_LEVEL 3 +#endif + +// UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_INFO_COLOR +#define UART_CONFIG_INFO_COLOR 0 +#endif + +// UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef UART_CONFIG_DEBUG_COLOR +#define UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// USBD_CONFIG_LOG_ENABLED - Enable logging in the module +//========================================================== +#ifndef USBD_CONFIG_LOG_ENABLED +#define USBD_CONFIG_LOG_ENABLED 0 +#endif +// USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef USBD_CONFIG_LOG_LEVEL +#define USBD_CONFIG_LOG_LEVEL 3 +#endif + +// USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_INFO_COLOR +#define USBD_CONFIG_INFO_COLOR 0 +#endif + +// USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef USBD_CONFIG_DEBUG_COLOR +#define USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// WDT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef WDT_CONFIG_LOG_ENABLED +#define WDT_CONFIG_LOG_ENABLED 0 +#endif +// WDT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef WDT_CONFIG_LOG_LEVEL +#define WDT_CONFIG_LOG_LEVEL 3 +#endif + +// WDT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_INFO_COLOR +#define WDT_CONFIG_INFO_COLOR 0 +#endif + +// WDT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef WDT_CONFIG_DEBUG_COLOR +#define WDT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Libraries + +//========================================================== +// APP_BUTTON_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_BUTTON_CONFIG_LOG_ENABLED +#define APP_BUTTON_CONFIG_LOG_ENABLED 0 +#endif +// APP_BUTTON_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_LOG_LEVEL +#define APP_BUTTON_CONFIG_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL +#define APP_BUTTON_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_BUTTON_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_INFO_COLOR +#define APP_BUTTON_CONFIG_INFO_COLOR 0 +#endif + +// APP_BUTTON_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_BUTTON_CONFIG_DEBUG_COLOR +#define APP_BUTTON_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_TIMER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_TIMER_CONFIG_LOG_ENABLED +#define APP_TIMER_CONFIG_LOG_ENABLED 0 +#endif +// APP_TIMER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_LOG_LEVEL +#define APP_TIMER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_TIMER_CONFIG_INITIAL_LOG_LEVEL +#define APP_TIMER_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// APP_TIMER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_INFO_COLOR +#define APP_TIMER_CONFIG_INFO_COLOR 0 +#endif + +// APP_TIMER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_TIMER_CONFIG_DEBUG_COLOR +#define APP_TIMER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED +#define APP_USBD_CDC_ACM_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL +#define APP_USBD_CDC_ACM_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CDC_ACM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_INFO_COLOR +#define APP_USBD_CDC_ACM_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR +#define APP_USBD_CDC_ACM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_CONFIG_LOG_ENABLED - Enable logging in the module. +//========================================================== +#ifndef APP_USBD_CONFIG_LOG_ENABLED +#define APP_USBD_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_CONFIG_LOG_LEVEL +#define APP_USBD_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_INFO_COLOR +#define APP_USBD_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_CONFIG_DEBUG_COLOR +#define APP_USBD_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_DUMMY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_DUMMY_CONFIG_LOG_ENABLED +#define APP_USBD_DUMMY_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_DUMMY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_DUMMY_CONFIG_LOG_LEVEL +#define APP_USBD_DUMMY_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_DUMMY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_INFO_COLOR +#define APP_USBD_DUMMY_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_DUMMY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_DUMMY_CONFIG_DEBUG_COLOR +#define APP_USBD_DUMMY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_MSC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_MSC_CONFIG_LOG_ENABLED +#define APP_USBD_MSC_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_MSC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_MSC_CONFIG_LOG_LEVEL +#define APP_USBD_MSC_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_MSC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_INFO_COLOR +#define APP_USBD_MSC_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_MSC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_MSC_CONFIG_DEBUG_COLOR +#define APP_USBD_MSC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_ENABLED 0 +#endif +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_LOG_LEVEL 3 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_INFO_COLOR 0 +#endif + +// APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR +#define APP_USBD_NRF_DFU_TRIGGER_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_ATFIFO_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_ATFIFO_CONFIG_LOG_ENABLED +#define NRF_ATFIFO_CONFIG_LOG_ENABLED 0 +#endif +// NRF_ATFIFO_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_ATFIFO_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_INFO_COLOR +#define NRF_ATFIFO_CONFIG_INFO_COLOR 0 +#endif + +// NRF_ATFIFO_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_ATFIFO_CONFIG_DEBUG_COLOR +#define NRF_ATFIFO_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BALLOC_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BALLOC_CONFIG_LOG_ENABLED +#define NRF_BALLOC_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BALLOC_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_LOG_LEVEL +#define NRF_BALLOC_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL - Initial severity level if dynamic filtering is enabled. + + +// If module generates a lot of logs, initial log level can +// be decreased to prevent flooding. Severity level can be +// increased on instance basis. +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL +#define NRF_BALLOC_CONFIG_INITIAL_LOG_LEVEL 3 +#endif + +// NRF_BALLOC_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_INFO_COLOR +#define NRF_BALLOC_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BALLOC_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BALLOC_CONFIG_DEBUG_COLOR +#define NRF_BALLOC_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_EMPTY_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_EMPTY_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_QSPI_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_QSPI_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_ENABLED 0 +#endif +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_BLOCK_DEV_RAM_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_INFO_COLOR 0 +#endif + +// NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR +#define NRF_BLOCK_DEV_RAM_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_BLE_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_BLE_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_BLE_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_INFO_COLOR +#define NRF_CLI_BLE_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_BLE_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_CLI_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_CLI_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_CLI_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_CLI_UART_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_CLI_UART_CONFIG_LOG_ENABLED +#define NRF_CLI_UART_CONFIG_LOG_ENABLED 0 +#endif +// NRF_CLI_UART_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_CLI_UART_CONFIG_LOG_LEVEL +#define NRF_CLI_UART_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_CLI_UART_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_INFO_COLOR +#define NRF_CLI_UART_CONFIG_INFO_COLOR 0 +#endif + +// NRF_CLI_UART_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_CLI_UART_CONFIG_DEBUG_COLOR +#define NRF_CLI_UART_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_LIBUARTE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_LIBUARTE_CONFIG_LOG_ENABLED +#define NRF_LIBUARTE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_LIBUARTE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_LIBUARTE_CONFIG_LOG_LEVEL +#define NRF_LIBUARTE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_LIBUARTE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_INFO_COLOR +#define NRF_LIBUARTE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_LIBUARTE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_LIBUARTE_CONFIG_DEBUG_COLOR +#define NRF_LIBUARTE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_MEMOBJ_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_MEMOBJ_CONFIG_LOG_ENABLED +#define NRF_MEMOBJ_CONFIG_LOG_ENABLED 0 +#endif +// NRF_MEMOBJ_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_MEMOBJ_CONFIG_LOG_LEVEL +#define NRF_MEMOBJ_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_MEMOBJ_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_INFO_COLOR +#define NRF_MEMOBJ_CONFIG_INFO_COLOR 0 +#endif + +// NRF_MEMOBJ_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_MEMOBJ_CONFIG_DEBUG_COLOR +#define NRF_MEMOBJ_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_PWR_MGMT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_PWR_MGMT_CONFIG_LOG_ENABLED +#define NRF_PWR_MGMT_CONFIG_LOG_ENABLED 0 +#endif +// NRF_PWR_MGMT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_PWR_MGMT_CONFIG_LOG_LEVEL +#define NRF_PWR_MGMT_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_PWR_MGMT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_INFO_COLOR +#define NRF_PWR_MGMT_CONFIG_INFO_COLOR 0 +#endif + +// NRF_PWR_MGMT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_PWR_MGMT_CONFIG_DEBUG_COLOR +#define NRF_PWR_MGMT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_QUEUE_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_QUEUE_CONFIG_LOG_ENABLED +#define NRF_QUEUE_CONFIG_LOG_ENABLED 0 +#endif +// NRF_QUEUE_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_LEVEL +#define NRF_QUEUE_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL - Initial severity level if dynamic filtering is enabled + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL +#define NRF_QUEUE_CONFIG_LOG_INIT_FILTER_LEVEL 3 +#endif + +// NRF_QUEUE_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_INFO_COLOR +#define NRF_QUEUE_CONFIG_INFO_COLOR 0 +#endif + +// NRF_QUEUE_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_QUEUE_CONFIG_DEBUG_COLOR +#define NRF_QUEUE_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_ANT_LOG_ENABLED - Enable logging in SoftDevice handler (ANT) module. +//========================================================== +#ifndef NRF_SDH_ANT_LOG_ENABLED +#define NRF_SDH_ANT_LOG_ENABLED 0 +#endif +// NRF_SDH_ANT_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_ANT_LOG_LEVEL +#define NRF_SDH_ANT_LOG_LEVEL 3 +#endif + +// NRF_SDH_ANT_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_INFO_COLOR +#define NRF_SDH_ANT_INFO_COLOR 0 +#endif + +// NRF_SDH_ANT_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_ANT_DEBUG_COLOR +#define NRF_SDH_ANT_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_BLE_LOG_ENABLED - Enable logging in SoftDevice handler (BLE) module. +//========================================================== +#ifndef NRF_SDH_BLE_LOG_ENABLED +#define NRF_SDH_BLE_LOG_ENABLED 1 +#endif +// NRF_SDH_BLE_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_BLE_LOG_LEVEL +#define NRF_SDH_BLE_LOG_LEVEL 3 +#endif + +// NRF_SDH_BLE_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_INFO_COLOR +#define NRF_SDH_BLE_INFO_COLOR 0 +#endif + +// NRF_SDH_BLE_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_BLE_DEBUG_COLOR +#define NRF_SDH_BLE_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_LOG_ENABLED - Enable logging in SoftDevice handler module. +//========================================================== +#ifndef NRF_SDH_LOG_ENABLED +#define NRF_SDH_LOG_ENABLED 1 +#endif +// NRF_SDH_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_LOG_LEVEL +#define NRF_SDH_LOG_LEVEL 3 +#endif + +// NRF_SDH_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_INFO_COLOR +#define NRF_SDH_INFO_COLOR 0 +#endif + +// NRF_SDH_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_DEBUG_COLOR +#define NRF_SDH_DEBUG_COLOR 0 +#endif + +// + +// NRF_SDH_SOC_LOG_ENABLED - Enable logging in SoftDevice handler (SoC) module. +//========================================================== +#ifndef NRF_SDH_SOC_LOG_ENABLED +#define NRF_SDH_SOC_LOG_ENABLED 1 +#endif +// NRF_SDH_SOC_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SDH_SOC_LOG_LEVEL +#define NRF_SDH_SOC_LOG_LEVEL 3 +#endif + +// NRF_SDH_SOC_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_INFO_COLOR +#define NRF_SDH_SOC_INFO_COLOR 0 +#endif + +// NRF_SDH_SOC_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SDH_SOC_DEBUG_COLOR +#define NRF_SDH_SOC_DEBUG_COLOR 0 +#endif + +// + +// NRF_SORTLIST_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_SORTLIST_CONFIG_LOG_ENABLED +#define NRF_SORTLIST_CONFIG_LOG_ENABLED 0 +#endif +// NRF_SORTLIST_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_SORTLIST_CONFIG_LOG_LEVEL +#define NRF_SORTLIST_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_SORTLIST_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_INFO_COLOR +#define NRF_SORTLIST_CONFIG_INFO_COLOR 0 +#endif + +// NRF_SORTLIST_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_SORTLIST_CONFIG_DEBUG_COLOR +#define NRF_SORTLIST_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// NRF_TWI_SENSOR_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_ENABLED +#define NRF_TWI_SENSOR_CONFIG_LOG_ENABLED 0 +#endif +// NRF_TWI_SENSOR_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NRF_TWI_SENSOR_CONFIG_LOG_LEVEL +#define NRF_TWI_SENSOR_CONFIG_LOG_LEVEL 3 +#endif + +// NRF_TWI_SENSOR_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_INFO_COLOR +#define NRF_TWI_SENSOR_CONFIG_INFO_COLOR 0 +#endif + +// NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR +#define NRF_TWI_SENSOR_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// PM_LOG_ENABLED - Enable logging in Peer Manager and its submodules. +//========================================================== +#ifndef PM_LOG_ENABLED +#define PM_LOG_ENABLED 1 +#endif +// PM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef PM_LOG_LEVEL +#define PM_LOG_LEVEL 3 +#endif + +// PM_LOG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_INFO_COLOR +#define PM_LOG_INFO_COLOR 0 +#endif + +// PM_LOG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef PM_LOG_DEBUG_COLOR +#define PM_LOG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// nrf_log in nRF_Serialization + +//========================================================== +// SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED +#define SER_HAL_TRANSPORT_CONFIG_LOG_ENABLED 0 +#endif +// SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL +#define SER_HAL_TRANSPORT_CONFIG_LOG_LEVEL 3 +#endif + +// SER_HAL_TRANSPORT_CONFIG_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_INFO_COLOR +#define SER_HAL_TRANSPORT_CONFIG_INFO_COLOR 0 +#endif + +// SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR +#define SER_HAL_TRANSPORT_CONFIG_DEBUG_COLOR 0 +#endif + +// + +// +//========================================================== + +// +//========================================================== + +// + +// NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED - nrf_log_str_formatter - Log string formatter + + +#ifndef NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED +#define NRF_LOG_STR_FORMATTER_TIMESTAMP_FORMAT_ENABLED 1 +#endif + +// +//========================================================== + +// nRF_NFC + +//========================================================== +// NFC_AC_REC_ENABLED - nfc_ac_rec - NFC NDEF Alternative Carrier record encoder + + +#ifndef NFC_AC_REC_ENABLED +#define NFC_AC_REC_ENABLED 0 +#endif + +// NFC_AC_REC_PARSER_ENABLED - nfc_ac_rec_parser - Alternative Carrier record parser + + +#ifndef NFC_AC_REC_PARSER_ENABLED +#define NFC_AC_REC_PARSER_ENABLED 0 +#endif + +// NFC_BLE_OOB_ADVDATA_ENABLED - nfc_ble_oob_advdata - AD data for OOB pairing encoder +//========================================================== +#ifndef NFC_BLE_OOB_ADVDATA_ENABLED +#define NFC_BLE_OOB_ADVDATA_ENABLED 0 +#endif +// ADVANCED_ADVDATA_SUPPORT - Non-mandatory AD types for BLE OOB pairing are encoded inside the NDEF message (e.g. service UUIDs) + +// <1=> Enabled +// <0=> Disabled + +#ifndef ADVANCED_ADVDATA_SUPPORT +#define ADVANCED_ADVDATA_SUPPORT 0 +#endif + +// + +// NFC_BLE_OOB_ADVDATA_PARSER_ENABLED - nfc_ble_oob_advdata_parser - BLE OOB pairing AD data parser + + +#ifndef NFC_BLE_OOB_ADVDATA_PARSER_ENABLED +#define NFC_BLE_OOB_ADVDATA_PARSER_ENABLED 0 +#endif + +// NFC_BLE_PAIR_LIB_ENABLED - nfc_ble_pair_lib - Library parameters +//========================================================== +#ifndef NFC_BLE_PAIR_LIB_ENABLED +#define NFC_BLE_PAIR_LIB_ENABLED 0 +#endif +// NFC_BLE_PAIR_LIB_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NFC_BLE_PAIR_LIB_LOG_ENABLED +#define NFC_BLE_PAIR_LIB_LOG_ENABLED 0 +#endif +// NFC_BLE_PAIR_LIB_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NFC_BLE_PAIR_LIB_LOG_LEVEL +#define NFC_BLE_PAIR_LIB_LOG_LEVEL 3 +#endif + +// NFC_BLE_PAIR_LIB_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NFC_BLE_PAIR_LIB_INFO_COLOR +#define NFC_BLE_PAIR_LIB_INFO_COLOR 0 +#endif + +// NFC_BLE_PAIR_LIB_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NFC_BLE_PAIR_LIB_DEBUG_COLOR +#define NFC_BLE_PAIR_LIB_DEBUG_COLOR 0 +#endif + +// + +// NFC_BLE_PAIR_LIB_SECURITY_PARAMETERS - Common Peer Manager security parameters. + +//========================================================== +// BLE_NFC_SEC_PARAM_BOND - Enables device bonding. + +// If bonding is enabled at least one of the BLE_NFC_SEC_PARAM_KDIST options must be enabled. +//========================================================== +#ifndef BLE_NFC_SEC_PARAM_BOND +#define BLE_NFC_SEC_PARAM_BOND 1 +#endif +// BLE_NFC_SEC_PARAM_KDIST_OWN_ENC - Enables Long Term Key and Master Identification distribution by device. + + +#ifndef BLE_NFC_SEC_PARAM_KDIST_OWN_ENC +#define BLE_NFC_SEC_PARAM_KDIST_OWN_ENC 1 +#endif + +// BLE_NFC_SEC_PARAM_KDIST_OWN_ID - Enables Identity Resolving Key and Identity Address Information distribution by device. + + +#ifndef BLE_NFC_SEC_PARAM_KDIST_OWN_ID +#define BLE_NFC_SEC_PARAM_KDIST_OWN_ID 1 +#endif + +// BLE_NFC_SEC_PARAM_KDIST_PEER_ENC - Enables Long Term Key and Master Identification distribution by peer. + + +#ifndef BLE_NFC_SEC_PARAM_KDIST_PEER_ENC +#define BLE_NFC_SEC_PARAM_KDIST_PEER_ENC 1 +#endif + +// BLE_NFC_SEC_PARAM_KDIST_PEER_ID - Enables Identity Resolving Key and Identity Address Information distribution by peer. + + +#ifndef BLE_NFC_SEC_PARAM_KDIST_PEER_ID +#define BLE_NFC_SEC_PARAM_KDIST_PEER_ID 1 +#endif + +// + +// BLE_NFC_SEC_PARAM_MIN_KEY_SIZE - Minimal size of a security key. + +// <7=> 7 +// <8=> 8 +// <9=> 9 +// <10=> 10 +// <11=> 11 +// <12=> 12 +// <13=> 13 +// <14=> 14 +// <15=> 15 +// <16=> 16 + +#ifndef BLE_NFC_SEC_PARAM_MIN_KEY_SIZE +#define BLE_NFC_SEC_PARAM_MIN_KEY_SIZE 7 +#endif + +// BLE_NFC_SEC_PARAM_MAX_KEY_SIZE - Maximal size of a security key. + +// <7=> 7 +// <8=> 8 +// <9=> 9 +// <10=> 10 +// <11=> 11 +// <12=> 12 +// <13=> 13 +// <14=> 14 +// <15=> 15 +// <16=> 16 + +#ifndef BLE_NFC_SEC_PARAM_MAX_KEY_SIZE +#define BLE_NFC_SEC_PARAM_MAX_KEY_SIZE 16 +#endif + +// +//========================================================== + +// + +// NFC_BLE_PAIR_MSG_ENABLED - nfc_ble_pair_msg - NDEF message for OOB pairing encoder + + +#ifndef NFC_BLE_PAIR_MSG_ENABLED +#define NFC_BLE_PAIR_MSG_ENABLED 0 +#endif + +// NFC_CH_COMMON_ENABLED - nfc_ble_pair_common - OOB pairing common data + + +#ifndef NFC_CH_COMMON_ENABLED +#define NFC_CH_COMMON_ENABLED 0 +#endif + +// NFC_EP_OOB_REC_ENABLED - nfc_ep_oob_rec - EP record for BLE pairing encoder + + +#ifndef NFC_EP_OOB_REC_ENABLED +#define NFC_EP_OOB_REC_ENABLED 0 +#endif + +// NFC_HS_REC_ENABLED - nfc_hs_rec - Handover Select NDEF record encoder + + +#ifndef NFC_HS_REC_ENABLED +#define NFC_HS_REC_ENABLED 0 +#endif + +// NFC_LE_OOB_REC_ENABLED - nfc_le_oob_rec - LE record for BLE pairing encoder + + +#ifndef NFC_LE_OOB_REC_ENABLED +#define NFC_LE_OOB_REC_ENABLED 0 +#endif + +// NFC_LE_OOB_REC_PARSER_ENABLED - nfc_le_oob_rec_parser - LE record parser + + +#ifndef NFC_LE_OOB_REC_PARSER_ENABLED +#define NFC_LE_OOB_REC_PARSER_ENABLED 0 +#endif + +// NFC_NDEF_LAUNCHAPP_MSG_ENABLED - nfc_launchapp_msg - Encoding data for NDEF Application Launching message for NFC Tag + + +#ifndef NFC_NDEF_LAUNCHAPP_MSG_ENABLED +#define NFC_NDEF_LAUNCHAPP_MSG_ENABLED 0 +#endif + +// NFC_NDEF_LAUNCHAPP_REC_ENABLED - nfc_launchapp_rec - Encoding data for NDEF Application Launching record for NFC Tag + + +#ifndef NFC_NDEF_LAUNCHAPP_REC_ENABLED +#define NFC_NDEF_LAUNCHAPP_REC_ENABLED 0 +#endif + +// NFC_NDEF_MSG_ENABLED - nfc_ndef_msg - NFC NDEF Message generator module +//========================================================== +#ifndef NFC_NDEF_MSG_ENABLED +#define NFC_NDEF_MSG_ENABLED 0 +#endif +// NFC_NDEF_MSG_TAG_TYPE - NFC Tag Type + +// <2=> Type 2 Tag +// <4=> Type 4 Tag + +#ifndef NFC_NDEF_MSG_TAG_TYPE +#define NFC_NDEF_MSG_TAG_TYPE 2 +#endif + +// + +// NFC_NDEF_MSG_PARSER_ENABLED - nfc_ndef_msg_parser - NFC NDEF message parser module +//========================================================== +#ifndef NFC_NDEF_MSG_PARSER_ENABLED +#define NFC_NDEF_MSG_PARSER_ENABLED 0 +#endif +// NFC_NDEF_MSG_PARSER_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NFC_NDEF_MSG_PARSER_LOG_ENABLED +#define NFC_NDEF_MSG_PARSER_LOG_ENABLED 0 +#endif +// NFC_NDEF_MSG_PARSER_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NFC_NDEF_MSG_PARSER_LOG_LEVEL +#define NFC_NDEF_MSG_PARSER_LOG_LEVEL 3 +#endif + +// NFC_NDEF_MSG_PARSER_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NFC_NDEF_MSG_PARSER_INFO_COLOR +#define NFC_NDEF_MSG_PARSER_INFO_COLOR 0 +#endif + +// + +// + +// NFC_NDEF_RECORD_ENABLED - nfc_ndef_record - NFC NDEF Record generator module + + +#ifndef NFC_NDEF_RECORD_ENABLED +#define NFC_NDEF_RECORD_ENABLED 0 +#endif + +// NFC_NDEF_RECORD_PARSER_ENABLED - nfc_ndef_record_parser - NFC NDEF Record parser module +//========================================================== +#ifndef NFC_NDEF_RECORD_PARSER_ENABLED +#define NFC_NDEF_RECORD_PARSER_ENABLED 0 +#endif +// NFC_NDEF_RECORD_PARSER_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NFC_NDEF_RECORD_PARSER_LOG_ENABLED +#define NFC_NDEF_RECORD_PARSER_LOG_ENABLED 0 +#endif +// NFC_NDEF_RECORD_PARSER_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NFC_NDEF_RECORD_PARSER_LOG_LEVEL +#define NFC_NDEF_RECORD_PARSER_LOG_LEVEL 3 +#endif + +// NFC_NDEF_RECORD_PARSER_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NFC_NDEF_RECORD_PARSER_INFO_COLOR +#define NFC_NDEF_RECORD_PARSER_INFO_COLOR 0 +#endif + +// + +// + +// NFC_NDEF_TEXT_RECORD_ENABLED - nfc_text_rec - Encoding data for a text record for NFC Tag + + +#ifndef NFC_NDEF_TEXT_RECORD_ENABLED +#define NFC_NDEF_TEXT_RECORD_ENABLED 0 +#endif + +// NFC_NDEF_URI_MSG_ENABLED - nfc_uri_msg - Encoding data for NDEF message with URI record for NFC Tag + + +#ifndef NFC_NDEF_URI_MSG_ENABLED +#define NFC_NDEF_URI_MSG_ENABLED 0 +#endif + +// NFC_NDEF_URI_REC_ENABLED - nfc_uri_rec - Encoding data for a URI record for NFC Tag + + +#ifndef NFC_NDEF_URI_REC_ENABLED +#define NFC_NDEF_URI_REC_ENABLED 0 +#endif + +// NFC_PLATFORM_ENABLED - nfc_platform - NFC platform module for Clock control. +//========================================================== +#ifndef NFC_PLATFORM_ENABLED +#define NFC_PLATFORM_ENABLED 0 +#endif +// NFC_PLATFORM_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NFC_PLATFORM_LOG_ENABLED +#define NFC_PLATFORM_LOG_ENABLED 0 +#endif +// NFC_PLATFORM_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NFC_PLATFORM_LOG_LEVEL +#define NFC_PLATFORM_LOG_LEVEL 3 +#endif + +// NFC_PLATFORM_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NFC_PLATFORM_INFO_COLOR +#define NFC_PLATFORM_INFO_COLOR 0 +#endif + +// NFC_PLATFORM_DEBUG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NFC_PLATFORM_DEBUG_COLOR +#define NFC_PLATFORM_DEBUG_COLOR 0 +#endif + +// + +// + +// NFC_T2T_PARSER_ENABLED - nfc_type_2_tag_parser - Parser for decoding Type 2 Tag data +//========================================================== +#ifndef NFC_T2T_PARSER_ENABLED +#define NFC_T2T_PARSER_ENABLED 0 +#endif +// NFC_T2T_PARSER_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NFC_T2T_PARSER_LOG_ENABLED +#define NFC_T2T_PARSER_LOG_ENABLED 0 +#endif +// NFC_T2T_PARSER_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NFC_T2T_PARSER_LOG_LEVEL +#define NFC_T2T_PARSER_LOG_LEVEL 3 +#endif + +// NFC_T2T_PARSER_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NFC_T2T_PARSER_INFO_COLOR +#define NFC_T2T_PARSER_INFO_COLOR 0 +#endif + +// + +// + +// NFC_T4T_APDU_ENABLED - nfc_t4t_apdu - APDU encoder/decoder for Type 4 Tag +//========================================================== +#ifndef NFC_T4T_APDU_ENABLED +#define NFC_T4T_APDU_ENABLED 0 +#endif +// NFC_T4T_APDU_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NFC_T4T_APDU_LOG_ENABLED +#define NFC_T4T_APDU_LOG_ENABLED 0 +#endif +// NFC_T4T_APDU_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NFC_T4T_APDU_LOG_LEVEL +#define NFC_T4T_APDU_LOG_LEVEL 3 +#endif + +// NFC_T4T_APDU_LOG_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NFC_T4T_APDU_LOG_COLOR +#define NFC_T4T_APDU_LOG_COLOR 0 +#endif + +// + +// + +// NFC_T4T_CC_FILE_PARSER_ENABLED - nfc_t4t_cc_file - Capability Container file for Type 4 Tag +//========================================================== +#ifndef NFC_T4T_CC_FILE_PARSER_ENABLED +#define NFC_T4T_CC_FILE_PARSER_ENABLED 0 +#endif +// NFC_T4T_CC_FILE_PARSER_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NFC_T4T_CC_FILE_PARSER_LOG_ENABLED +#define NFC_T4T_CC_FILE_PARSER_LOG_ENABLED 0 +#endif +// NFC_T4T_CC_FILE_PARSER_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NFC_T4T_CC_FILE_PARSER_LOG_LEVEL +#define NFC_T4T_CC_FILE_PARSER_LOG_LEVEL 3 +#endif + +// NFC_T4T_CC_FILE_PARSER_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NFC_T4T_CC_FILE_PARSER_INFO_COLOR +#define NFC_T4T_CC_FILE_PARSER_INFO_COLOR 0 +#endif + +// + +// + +// NFC_T4T_HL_DETECTION_PROCEDURES_ENABLED - nfc_t4t_hl_detection_procedures - NDEF Detection Procedure for Type 4 Tag +//========================================================== +#ifndef NFC_T4T_HL_DETECTION_PROCEDURES_ENABLED +#define NFC_T4T_HL_DETECTION_PROCEDURES_ENABLED 0 +#endif +// NFC_T4T_HL_DETECTION_PROCEDURES_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NFC_T4T_HL_DETECTION_PROCEDURES_LOG_ENABLED +#define NFC_T4T_HL_DETECTION_PROCEDURES_LOG_ENABLED 0 +#endif +// NFC_T4T_HL_DETECTION_PROCEDURES_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NFC_T4T_HL_DETECTION_PROCEDURES_LOG_LEVEL +#define NFC_T4T_HL_DETECTION_PROCEDURES_LOG_LEVEL 3 +#endif + +// NFC_T4T_HL_DETECTION_PROCEDURES_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NFC_T4T_HL_DETECTION_PROCEDURES_INFO_COLOR +#define NFC_T4T_HL_DETECTION_PROCEDURES_INFO_COLOR 0 +#endif + +// + +// APDU_BUFF_SIZE - Size (in bytes) of the buffer for APDU storage +#ifndef APDU_BUFF_SIZE +#define APDU_BUFF_SIZE 250 +#endif + +// CC_STORAGE_BUFF_SIZE - Size (in bytes) of the buffer for CC file storage +#ifndef CC_STORAGE_BUFF_SIZE +#define CC_STORAGE_BUFF_SIZE 64 +#endif + +// + +// NFC_T4T_TLV_BLOCK_PARSER_ENABLED - nfc_t4t_tlv_block - TLV block for Type 4 Tag +//========================================================== +#ifndef NFC_T4T_TLV_BLOCK_PARSER_ENABLED +#define NFC_T4T_TLV_BLOCK_PARSER_ENABLED 0 +#endif +// NFC_T4T_TLV_BLOCK_PARSER_LOG_ENABLED - Enables logging in the module. +//========================================================== +#ifndef NFC_T4T_TLV_BLOCK_PARSER_LOG_ENABLED +#define NFC_T4T_TLV_BLOCK_PARSER_LOG_ENABLED 0 +#endif +// NFC_T4T_TLV_BLOCK_PARSER_LOG_LEVEL - Default Severity level + +// <0=> Off +// <1=> Error +// <2=> Warning +// <3=> Info +// <4=> Debug + +#ifndef NFC_T4T_TLV_BLOCK_PARSER_LOG_LEVEL +#define NFC_T4T_TLV_BLOCK_PARSER_LOG_LEVEL 3 +#endif + +// NFC_T4T_TLV_BLOCK_PARSER_INFO_COLOR - ANSI escape code prefix. + +// <0=> Default +// <1=> Black +// <2=> Red +// <3=> Green +// <4=> Yellow +// <5=> Blue +// <6=> Magenta +// <7=> Cyan +// <8=> White + +#ifndef NFC_T4T_TLV_BLOCK_PARSER_INFO_COLOR +#define NFC_T4T_TLV_BLOCK_PARSER_INFO_COLOR 0 +#endif + +// + +// + +// +//========================================================== + +// nRF_SoftDevice + +//========================================================== +// NRF_SDH_BLE_ENABLED - nrf_sdh_ble - SoftDevice BLE event handler +//========================================================== +#ifndef NRF_SDH_BLE_ENABLED +#define NRF_SDH_BLE_ENABLED 0 +#endif +// BLE Stack configuration - Stack configuration parameters + +// The SoftDevice handler will configure the stack with these parameters when calling @ref nrf_sdh_ble_default_cfg_set. +// Other libraries might depend on these values; keep them up-to-date even if you are not explicitely calling @ref nrf_sdh_ble_default_cfg_set. +//========================================================== +// NRF_SDH_BLE_GAP_DATA_LENGTH <27-251> + + +// Requested BLE GAP data length to be negotiated. + +#ifndef NRF_SDH_BLE_GAP_DATA_LENGTH +#define NRF_SDH_BLE_GAP_DATA_LENGTH 27 +#endif + +// NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. +#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT +#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. +#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT +#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 0 +#endif + +// NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. +// Maximum number of total concurrent connections using the default configuration. + +#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT +#define NRF_SDH_BLE_TOTAL_LINK_COUNT 1 +#endif + +// NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. +// The time set aside for this connection on every connection interval in 1.25 ms units. + +#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH +#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6 +#endif + +// NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. +#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE +#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 23 +#endif + +// NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE - Attribute Table size in bytes. The size must be a multiple of 4. +#ifndef NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE +#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408 +#endif + +// NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs. +#ifndef NRF_SDH_BLE_VS_UUID_COUNT +#define NRF_SDH_BLE_VS_UUID_COUNT 0 +#endif + +// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table. + + +#ifndef NRF_SDH_BLE_SERVICE_CHANGED +#define NRF_SDH_BLE_SERVICE_CHANGED 0 +#endif + +// +//========================================================== + +// BLE Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_BLE_OBSERVER_PRIO_LEVELS - Total number of priority levels for BLE observers. +// This setting configures the number of priority levels available for BLE event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_BLE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_BLE_OBSERVER_PRIO_LEVELS 4 +#endif + +// BLE Observers priorities - Invididual priorities + +//========================================================== +// BLE_ADV_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Advertising module. + +#ifndef BLE_ADV_BLE_OBSERVER_PRIO +#define BLE_ADV_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_ANCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Apple Notification Service Client. + +#ifndef BLE_ANCS_C_BLE_OBSERVER_PRIO +#define BLE_ANCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_ANS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Alert Notification Service Client. + +#ifndef BLE_ANS_C_BLE_OBSERVER_PRIO +#define BLE_ANS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service. + +#ifndef BLE_BAS_BLE_OBSERVER_PRIO +#define BLE_BAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Battery Service Client. + +#ifndef BLE_BAS_C_BLE_OBSERVER_PRIO +#define BLE_BAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_BPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Blood Pressure Service. + +#ifndef BLE_BPS_BLE_OBSERVER_PRIO +#define BLE_BPS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection parameters module. + +#ifndef BLE_CONN_PARAMS_BLE_OBSERVER_PRIO +#define BLE_CONN_PARAMS_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_CONN_STATE_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Connection State module. + +#ifndef BLE_CONN_STATE_BLE_OBSERVER_PRIO +#define BLE_CONN_STATE_BLE_OBSERVER_PRIO 0 +#endif + +// BLE_CSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Cycling Speed and Cadence Service. + +#ifndef BLE_CSCS_BLE_OBSERVER_PRIO +#define BLE_CSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_CTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Current Time Service Client. + +#ifndef BLE_CTS_C_BLE_OBSERVER_PRIO +#define BLE_CTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DB_DISC_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Database Discovery module. + +#ifndef BLE_DB_DISC_BLE_OBSERVER_PRIO +#define BLE_DB_DISC_BLE_OBSERVER_PRIO 1 +#endif + +// BLE_DFU_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_BLE_OBSERVER_PRIO +#define BLE_DFU_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_DIS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Device Information Client. + +#ifndef BLE_DIS_C_BLE_OBSERVER_PRIO +#define BLE_DIS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_GLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Glucose Service. + +#ifndef BLE_GLS_BLE_OBSERVER_PRIO +#define BLE_GLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HIDS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Human Interface Device Service. + +#ifndef BLE_HIDS_BLE_OBSERVER_PRIO +#define BLE_HIDS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service. + +#ifndef BLE_HRS_BLE_OBSERVER_PRIO +#define BLE_HRS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HRS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Heart Rate Service Client. + +#ifndef BLE_HRS_C_BLE_OBSERVER_PRIO +#define BLE_HRS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_HTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Health Thermometer Service. + +#ifndef BLE_HTS_BLE_OBSERVER_PRIO +#define BLE_HTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service. + +#ifndef BLE_IAS_BLE_OBSERVER_PRIO +#define BLE_IAS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_IAS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Immediate Alert Service Client. + +#ifndef BLE_IAS_C_BLE_OBSERVER_PRIO +#define BLE_IAS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service. + +#ifndef BLE_LBS_BLE_OBSERVER_PRIO +#define BLE_LBS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LBS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the LED Button Service Client. + +#ifndef BLE_LBS_C_BLE_OBSERVER_PRIO +#define BLE_LBS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LLS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Link Loss Service. + +#ifndef BLE_LLS_BLE_OBSERVER_PRIO +#define BLE_LLS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_LNS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Location Navigation Service. + +#ifndef BLE_LNS_BLE_OBSERVER_PRIO +#define BLE_LNS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Service. + +#ifndef BLE_NUS_BLE_OBSERVER_PRIO +#define BLE_NUS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_NUS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the UART Central Service. + +#ifndef BLE_NUS_C_BLE_OBSERVER_PRIO +#define BLE_NUS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service. + +#ifndef BLE_OTS_BLE_OBSERVER_PRIO +#define BLE_OTS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_OTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Object transfer service client. + +#ifndef BLE_OTS_C_BLE_OBSERVER_PRIO +#define BLE_OTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Service. + +#ifndef BLE_RSCS_BLE_OBSERVER_PRIO +#define BLE_RSCS_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_RSCS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Running Speed and Cadence Client. + +#ifndef BLE_RSCS_C_BLE_OBSERVER_PRIO +#define BLE_RSCS_C_BLE_OBSERVER_PRIO 2 +#endif + +// BLE_TPS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the TX Power Service. + +#ifndef BLE_TPS_BLE_OBSERVER_PRIO +#define BLE_TPS_BLE_OBSERVER_PRIO 2 +#endif + +// BSP_BTN_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Button Control module. + +#ifndef BSP_BTN_BLE_OBSERVER_PRIO +#define BSP_BTN_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the NFC pairing library. + +#ifndef NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO +#define NFC_BLE_PAIR_LIB_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_BMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Bond Management Service. + +#ifndef NRF_BLE_BMS_BLE_OBSERVER_PRIO +#define NRF_BLE_BMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_CGMS_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Contiuon Glucose Monitoring Service. + +#ifndef NRF_BLE_CGMS_BLE_OBSERVER_PRIO +#define NRF_BLE_CGMS_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_ES_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Eddystone module. + +#ifndef NRF_BLE_ES_BLE_OBSERVER_PRIO +#define NRF_BLE_ES_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Service Client. + +#ifndef NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO +#define NRF_BLE_GATTS_C_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_GATT_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT module. + +#ifndef NRF_BLE_GATT_BLE_OBSERVER_PRIO +#define NRF_BLE_GATT_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_GQ_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the GATT Queue module. + +#ifndef NRF_BLE_GQ_BLE_OBSERVER_PRIO +#define NRF_BLE_GQ_BLE_OBSERVER_PRIO 1 +#endif + +// NRF_BLE_QWR_BLE_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the Queued writes module. + +#ifndef NRF_BLE_QWR_BLE_OBSERVER_PRIO +#define NRF_BLE_QWR_BLE_OBSERVER_PRIO 2 +#endif + +// NRF_BLE_SCAN_OBSERVER_PRIO +// Priority for dispatching the BLE events to the Scanning Module. + +#ifndef NRF_BLE_SCAN_OBSERVER_PRIO +#define NRF_BLE_SCAN_OBSERVER_PRIO 1 +#endif + +// PM_BLE_OBSERVER_PRIO - Priority with which BLE events are dispatched to the Peer Manager module. +#ifndef PM_BLE_OBSERVER_PRIO +#define PM_BLE_OBSERVER_PRIO 1 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_ENABLED - nrf_sdh - SoftDevice handler +//========================================================== +#ifndef NRF_SDH_ENABLED +#define NRF_SDH_ENABLED 0 +#endif +// Dispatch model + +// This setting configures how Stack events are dispatched to the application. +//========================================================== +// NRF_SDH_DISPATCH_MODEL + + +// NRF_SDH_DISPATCH_MODEL_INTERRUPT: SoftDevice events are passed to the application from the interrupt context. +// NRF_SDH_DISPATCH_MODEL_APPSH: SoftDevice events are scheduled using @ref app_scheduler. +// NRF_SDH_DISPATCH_MODEL_POLLING: SoftDevice events are to be fetched manually. +// <0=> NRF_SDH_DISPATCH_MODEL_INTERRUPT +// <1=> NRF_SDH_DISPATCH_MODEL_APPSH +// <2=> NRF_SDH_DISPATCH_MODEL_POLLING + +#ifndef NRF_SDH_DISPATCH_MODEL +#define NRF_SDH_DISPATCH_MODEL 0 +#endif + +// +//========================================================== + +// Clock - SoftDevice clock configuration + +//========================================================== +// NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. + +// <0=> NRF_CLOCK_LF_SRC_RC +// <1=> NRF_CLOCK_LF_SRC_XTAL +// <2=> NRF_CLOCK_LF_SRC_SYNTH + +#ifndef NRF_SDH_CLOCK_LF_SRC +#define NRF_SDH_CLOCK_LF_SRC 1 +#endif + +// NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. +#ifndef NRF_SDH_CLOCK_LF_RC_CTIV +#define NRF_SDH_CLOCK_LF_RC_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. +// How often (in number of calibration intervals) the RC oscillator shall be calibrated +// if the temperature has not changed. + +#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV +#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0 +#endif + +// NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. + +// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM +// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM +// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM +// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM +// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM +// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM +// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM +// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM +// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM +// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM +// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM +// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM + +#ifndef NRF_SDH_CLOCK_LF_ACCURACY +#define NRF_SDH_CLOCK_LF_ACCURACY 7 +#endif + +// +//========================================================== + +// SDH Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_REQ_OBSERVER_PRIO_LEVELS - Total number of priority levels for request observers. +// This setting configures the number of priority levels available for the SoftDevice request event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_REQ_OBSERVER_PRIO_LEVELS +#define NRF_SDH_REQ_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STATE_OBSERVER_PRIO_LEVELS - Total number of priority levels for state observers. +// This setting configures the number of priority levels available for the SoftDevice state event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STATE_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STATE_OBSERVER_PRIO_LEVELS 2 +#endif + +// NRF_SDH_STACK_OBSERVER_PRIO_LEVELS - Total number of priority levels for stack event observers. +// This setting configures the number of priority levels available for the SoftDevice stack event handlers (ANT, BLE, SoC). +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_STACK_OBSERVER_PRIO_LEVELS +#define NRF_SDH_STACK_OBSERVER_PRIO_LEVELS 2 +#endif + + +// State Observers priorities - Invididual priorities + +//========================================================== +// CLOCK_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_STATE_OBSERVER_PRIO +#define CLOCK_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_STATE_OBSERVER_PRIO +#define POWER_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// RNG_CONFIG_STATE_OBSERVER_PRIO +// Priority with which state events are dispatched to this module. + +#ifndef RNG_CONFIG_STATE_OBSERVER_PRIO +#define RNG_CONFIG_STATE_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// Stack Event Observers priorities - Invididual priorities + +//========================================================== +// NRF_SDH_ANT_STACK_OBSERVER_PRIO +// This setting configures the priority with which ANT events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have ANT events dispatched before or after other stack events, such as BLE or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_ANT_STACK_OBSERVER_PRIO +#define NRF_SDH_ANT_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_BLE_STACK_OBSERVER_PRIO +// This setting configures the priority with which BLE events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have BLE events dispatched before or after other stack events, such as ANT or SoC. +// Zero is the highest priority. + +#ifndef NRF_SDH_BLE_STACK_OBSERVER_PRIO +#define NRF_SDH_BLE_STACK_OBSERVER_PRIO 0 +#endif + +// NRF_SDH_SOC_STACK_OBSERVER_PRIO +// This setting configures the priority with which SoC events are processed with respect to other events coming from the stack. +// Modify this setting if you need to have SoC events dispatched before or after other stack events, such as ANT or BLE. +// Zero is the highest priority. + +#ifndef NRF_SDH_SOC_STACK_OBSERVER_PRIO +#define NRF_SDH_SOC_STACK_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + + +// + +// NRF_SDH_SOC_ENABLED - nrf_sdh_soc - SoftDevice SoC event handler +//========================================================== +#ifndef NRF_SDH_SOC_ENABLED +#define NRF_SDH_SOC_ENABLED 0 +#endif +// SoC Observers - Observers and priority levels + +//========================================================== +// NRF_SDH_SOC_OBSERVER_PRIO_LEVELS - Total number of priority levels for SoC observers. +// This setting configures the number of priority levels available for the SoC event handlers. +// The priority level of a handler determines the order in which it receives events, with respect to other handlers. + +#ifndef NRF_SDH_SOC_OBSERVER_PRIO_LEVELS +#define NRF_SDH_SOC_OBSERVER_PRIO_LEVELS 2 +#endif + +// SoC Observers priorities - Invididual priorities + +//========================================================== +// BLE_DFU_SOC_OBSERVER_PRIO +// Priority with which BLE events are dispatched to the DFU Service. + +#ifndef BLE_DFU_SOC_OBSERVER_PRIO +#define BLE_DFU_SOC_OBSERVER_PRIO 1 +#endif + +// CLOCK_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Clock driver. + +#ifndef CLOCK_CONFIG_SOC_OBSERVER_PRIO +#define CLOCK_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// POWER_CONFIG_SOC_OBSERVER_PRIO +// Priority with which SoC events are dispatched to the Power driver. + +#ifndef POWER_CONFIG_SOC_OBSERVER_PRIO +#define POWER_CONFIG_SOC_OBSERVER_PRIO 0 +#endif + +// +//========================================================== + +// +//========================================================== + +// NRFX_NVMC_ENABLED - nrfx_nvmc - NVMC peripheral driver +//========================================================== +#ifndef NRFX_NVMC_ENABLED +#define NRFX_NVMC_ENABLED 1 +#endif +// + +//========================================================== +#ifndef NRFX_SYSTICK_ENABLED +#define NRFX_SYSTICK_ENABLED 1 +#endif +// <<< end of configuration section >>> +#endif //SDK_CONFIG_H + diff --git a/bsp/nrf5x/nrf52832/project.uvoptx b/bsp/nrf5x/nrf52832/project.uvoptx index b672a88f0c..955f05ebf6 100644 --- a/bsp/nrf5x/nrf52832/project.uvoptx +++ b/bsp/nrf5x/nrf52832/project.uvoptx @@ -120,12 +120,12 @@ 0 JL2CM3 - -U59401765 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC4000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr.flm -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) + -U682327541 -O78 -S8 -ZTIFSpeedSel50000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC4000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr.flm -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) 0 UL2CM3 - UL2CM3(-S0 -C0 -P0 -FD20000000 -FC4000 -FN2 -FF0nrf52xxx -FS00 -FL0200000 -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm)) + UL2CM3(-S0 -C0 -P0 ) -FN2 -FC4000 -FD20000000 -FF0nrf52xxx -FF1nrf52xxx_uicr -FL0200000 -FL11000 -FS00 -FS110001000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) @@ -175,8 +175,8 @@ - Kernel - 0 + Applications + 1 0 0 0 @@ -187,582 +187,22 @@ 0 0 0 - ..\..\..\src\clock.c - clock.c - 0 - 0 - - - 1 - 2 - 1 - 0 - 0 - 0 - ..\..\..\src\components.c - components.c - 0 - 0 - - - 1 - 3 - 1 - 0 - 0 - 0 - ..\..\..\src\device.c - device.c - 0 - 0 - - - 1 - 4 - 1 - 0 - 0 - 0 - ..\..\..\src\idle.c - idle.c - 0 - 0 - - - 1 - 5 - 1 - 0 - 0 - 0 - ..\..\..\src\ipc.c - ipc.c - 0 - 0 - - - 1 - 6 - 1 - 0 - 0 - 0 - ..\..\..\src\irq.c - irq.c - 0 - 0 - - - 1 - 7 - 1 - 0 - 0 - 0 - ..\..\..\src\kservice.c - kservice.c - 0 - 0 - - - 1 - 8 - 1 - 0 - 0 - 0 - ..\..\..\src\mem.c - mem.c - 0 - 0 - - - 1 - 9 - 1 - 0 - 0 - 0 - ..\..\..\src\mempool.c - mempool.c - 0 - 0 - - - 1 - 10 - 1 - 0 - 0 - 0 - ..\..\..\src\object.c - object.c - 0 - 0 - - - 1 - 11 - 1 - 0 - 0 - 0 - ..\..\..\src\scheduler.c - scheduler.c - 0 - 0 - - - 1 - 12 - 1 - 0 - 0 - 0 - ..\..\..\src\signal.c - signal.c - 0 - 0 - - - 1 - 13 - 1 - 0 - 0 - 0 - ..\..\..\src\thread.c - thread.c - 0 - 0 - - - 1 - 14 - 1 - 0 - 0 - 0 - ..\..\..\src\timer.c - timer.c - 0 - 0 - - - - - Applications - 0 - 0 - 0 - 0 - - 2 - 15 - 1 - 0 - 0 - 0 applications\application.c application.c 0 0 - - 2 - 16 - 1 - 0 - 0 - 0 - applications\ble_nus_app.c - ble_nus_app.c - 0 - 0 - - - 2 - 17 - 1 - 0 - 0 - 0 - applications\startup.c - startup.c - 0 - 0 - - - - - Drivers - 1 - 0 - 0 - 0 - - 3 - 18 - 1 - 0 - 0 - 0 - board\board.c - board.c - 0 - 0 - - - 3 - 19 - 1 - 0 - 0 - 0 - ..\libraries\drivers\drv_uart.c - drv_uart.c - 0 - 0 - - - - - BLE_STACK - 1 - 0 - 0 - 0 - - 4 - 20 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\ble\common\ble_advdata.c - ble_advdata.c - 0 - 0 - - - 4 - 21 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\ble\common\ble_conn_params.c - ble_conn_params.c - 0 - 0 - - - 4 - 22 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\ble\common\ble_conn_state.c - ble_conn_state.c - 0 - 0 - - - 4 - 23 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\ble\common\ble_srv_common.c - ble_srv_common.c - 0 - 0 - - - 4 - 24 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\ble\nrf_ble_gatt\nrf_ble_gatt.c - nrf_ble_gatt.c - 0 - 0 - - - 4 - 25 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\ble\ble_services\ble_nus\ble_nus.c - ble_nus.c - 0 - 0 - - - 4 - 26 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\ble\ble_advertising\ble_advertising.c - ble_advertising.c - 0 - 0 - - - 4 - 27 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\softdevice\common\softdevice_handler\softdevice_handler.c - softdevice_handler.c - 0 - 0 - - - - - NRF_DRIVERS - 1 - 0 - 0 - 0 - - 5 - 28 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\drivers_nrf\hal\nrf_saadc.c - nrf_saadc.c - 0 - 0 - - - 5 - 29 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\drivers_nrf\common\nrf_drv_common.c - nrf_drv_common.c - 0 - 0 - - - 5 - 30 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\drivers_nrf\clock\nrf_drv_clock.c - nrf_drv_clock.c - 0 - 0 - - - 5 - 31 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\drivers_nrf\gpiote\nrf_drv_gpiote.c - nrf_drv_gpiote.c - 0 - 0 - - - 5 - 32 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\drivers_nrf\pwm\nrf_drv_pwm.c - nrf_drv_pwm.c - 0 - 0 - - - 5 - 33 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\drivers_nrf\saadc\nrf_drv_saadc.c - nrf_drv_saadc.c - 0 - 0 - - - 5 - 34 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\libraries\log\src\nrf_log_backend_serial.c - nrf_log_backend_serial.c - 0 - 0 - - - 5 - 35 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\libraries\log\src\nrf_log_frontend.c - nrf_log_frontend.c - 0 - 0 - - - 5 - 36 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\libraries\timer\app_timer_rtthread.c - app_timer_rtthread.c - 0 - 0 - - - 5 - 37 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\libraries\util\app_error.c - app_error.c - 0 - 0 - - - 5 - 38 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\libraries\util\app_error_weak.c - app_error_weak.c - 0 - 0 - - - 5 - 39 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\libraries\util\app_util_platform.c - app_util_platform.c - 0 - 0 - - - 5 - 40 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\libraries\util\nrf_assert.c - nrf_assert.c - 0 - 0 - - - 5 - 41 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\libraries\util\sdk_mapped_flags.c - sdk_mapped_flags.c - 0 - 0 - - - 5 - 42 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\libraries\fstorage\fstorage.c - fstorage.c - 0 - 0 - - - 5 - 43 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\libraries\strerror\nrf_strerror.c - nrf_strerror.c - 0 - 0 - - - 5 - 44 - 1 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\toolchain\system_nrf52.c - system_nrf52.c - 0 - 0 - - - 5 - 45 - 2 - 0 - 0 - 0 - packages\Nordic_sdk-latest\components\toolchain\arm\arm_startup_nrf52.s - arm_startup_nrf52.s - 0 - 0 - cpu - 1 + 0 0 0 0 - 6 - 46 + 2 + 2 1 0 0 @@ -773,8 +213,8 @@ 0 - 6 - 47 + 2 + 3 1 0 0 @@ -785,8 +225,8 @@ 0 - 6 - 48 + 2 + 4 1 0 0 @@ -797,8 +237,8 @@ 0 - 6 - 49 + 2 + 5 1 0 0 @@ -809,8 +249,8 @@ 0 - 6 - 50 + 2 + 6 2 0 0 @@ -824,13 +264,13 @@ DeviceDrivers - 1 + 0 0 0 0 - 7 - 51 + 3 + 7 1 0 0 @@ -841,8 +281,8 @@ 0 - 7 - 52 + 3 + 8 1 0 0 @@ -853,8 +293,8 @@ 0 - 7 - 53 + 3 + 9 1 0 0 @@ -865,8 +305,8 @@ 0 - 7 - 54 + 3 + 10 1 0 0 @@ -877,8 +317,8 @@ 0 - 7 - 55 + 3 + 11 1 0 0 @@ -889,8 +329,8 @@ 0 - 7 - 56 + 3 + 12 1 0 0 @@ -901,8 +341,8 @@ 0 - 7 - 57 + 3 + 13 1 0 0 @@ -913,8 +353,8 @@ 0 - 7 - 58 + 3 + 14 1 0 0 @@ -925,8 +365,8 @@ 0 - 7 - 59 + 3 + 15 1 0 0 @@ -938,6 +378,50 @@ + + Drivers + 1 + 0 + 0 + 0 + + 4 + 16 + 1 + 0 + 0 + 0 + board\board.c + board.c + 0 + 0 + + + 4 + 17 + 1 + 0 + 0 + 0 + ..\libraries\drivers\drv_uart.c + drv_uart.c + 0 + 0 + + + 4 + 18 + 1 + 0 + 0 + 0 + ..\libraries\drivers\drv_gpio.c + drv_gpio.c + 0 + 0 + + + finsh 1 @@ -945,8 +429,8 @@ 0 0 - 8 - 60 + 5 + 19 1 0 0 @@ -957,8 +441,8 @@ 0 - 8 - 61 + 5 + 20 1 0 0 @@ -969,8 +453,8 @@ 0 - 8 - 62 + 5 + 21 1 0 0 @@ -982,6 +466,182 @@ + + Kernel + 1 + 0 + 0 + 0 + + 6 + 22 + 1 + 0 + 0 + 0 + ..\..\..\src\clock.c + clock.c + 0 + 0 + + + 6 + 23 + 1 + 0 + 0 + 0 + ..\..\..\src\components.c + components.c + 0 + 0 + + + 6 + 24 + 1 + 0 + 0 + 0 + ..\..\..\src\device.c + device.c + 0 + 0 + + + 6 + 25 + 1 + 0 + 0 + 0 + ..\..\..\src\idle.c + idle.c + 0 + 0 + + + 6 + 26 + 1 + 0 + 0 + 0 + ..\..\..\src\ipc.c + ipc.c + 0 + 0 + + + 6 + 27 + 1 + 0 + 0 + 0 + ..\..\..\src\irq.c + irq.c + 0 + 0 + + + 6 + 28 + 1 + 0 + 0 + 0 + ..\..\..\src\kservice.c + kservice.c + 0 + 0 + + + 6 + 29 + 1 + 0 + 0 + 0 + ..\..\..\src\mem.c + mem.c + 0 + 0 + + + 6 + 30 + 1 + 0 + 0 + 0 + ..\..\..\src\mempool.c + mempool.c + 0 + 0 + + + 6 + 31 + 1 + 0 + 0 + 0 + ..\..\..\src\object.c + object.c + 0 + 0 + + + 6 + 32 + 1 + 0 + 0 + 0 + ..\..\..\src\scheduler.c + scheduler.c + 0 + 0 + + + 6 + 33 + 1 + 0 + 0 + 0 + ..\..\..\src\signal.c + signal.c + 0 + 0 + + + 6 + 34 + 1 + 0 + 0 + 0 + ..\..\..\src\thread.c + thread.c + 0 + 0 + + + 6 + 35 + 1 + 0 + 0 + 0 + ..\..\..\src\timer.c + timer.c + 0 + 0 + + + libc 1 @@ -989,8 +649,8 @@ 0 0 - 9 - 63 + 7 + 36 1 0 0 @@ -1001,8 +661,8 @@ 0 - 9 - 64 + 7 + 37 1 0 0 @@ -1013,8 +673,8 @@ 0 - 9 - 65 + 7 + 38 1 0 0 @@ -1025,8 +685,8 @@ 0 - 9 - 66 + 7 + 39 1 0 0 @@ -1038,4 +698,444 @@ + + nrfx + 1 + 0 + 0 + 0 + + 8 + 40 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_adc.c + nrfx_adc.c + 0 + 0 + + + 8 + 41 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_clock.c + nrfx_clock.c + 0 + 0 + + + 8 + 42 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_comp.c + nrfx_comp.c + 0 + 0 + + + 8 + 43 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_dppi.c + nrfx_dppi.c + 0 + 0 + + + 8 + 44 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_egu.c + nrfx_egu.c + 0 + 0 + + + 8 + 45 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_gpiote.c + nrfx_gpiote.c + 0 + 0 + + + 8 + 46 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_i2s.c + nrfx_i2s.c + 0 + 0 + + + 8 + 47 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_ipc.c + nrfx_ipc.c + 0 + 0 + + + 8 + 48 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_lpcomp.c + nrfx_lpcomp.c + 0 + 0 + + + 8 + 49 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_nfct.c + nrfx_nfct.c + 0 + 0 + + + 8 + 50 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_nvmc.c + nrfx_nvmc.c + 0 + 0 + + + 8 + 51 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_pdm.c + nrfx_pdm.c + 0 + 0 + + + 8 + 52 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_power.c + nrfx_power.c + 0 + 0 + + + 8 + 53 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_ppi.c + nrfx_ppi.c + 0 + 0 + + + 8 + 54 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_pwm.c + nrfx_pwm.c + 0 + 0 + + + 8 + 55 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_qdec.c + nrfx_qdec.c + 0 + 0 + + + 8 + 56 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_rng.c + nrfx_rng.c + 0 + 0 + + + 8 + 57 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_rtc.c + nrfx_rtc.c + 0 + 0 + + + 8 + 58 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_saadc.c + nrfx_saadc.c + 0 + 0 + + + 8 + 59 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_spi.c + nrfx_spi.c + 0 + 0 + + + 8 + 60 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_spim.c + nrfx_spim.c + 0 + 0 + + + 8 + 61 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_spis.c + nrfx_spis.c + 0 + 0 + + + 8 + 62 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_systick.c + nrfx_systick.c + 0 + 0 + + + 8 + 63 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_temp.c + nrfx_temp.c + 0 + 0 + + + 8 + 64 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_timer.c + nrfx_timer.c + 0 + 0 + + + 8 + 65 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_twi.c + nrfx_twi.c + 0 + 0 + + + 8 + 66 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_twi_twim.c + nrfx_twi_twim.c + 0 + 0 + + + 8 + 67 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_twim.c + nrfx_twim.c + 0 + 0 + + + 8 + 68 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_twis.c + nrfx_twis.c + 0 + 0 + + + 8 + 69 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_uart.c + nrfx_uart.c + 0 + 0 + + + 8 + 70 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_uarte.c + nrfx_uarte.c + 0 + 0 + + + 8 + 71 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_usbd.c + nrfx_usbd.c + 0 + 0 + + + 8 + 72 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_usbreg.c + nrfx_usbreg.c + 0 + 0 + + + 8 + 73 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\drivers\src\nrfx_wdt.c + nrfx_wdt.c + 0 + 0 + + + 8 + 74 + 1 + 0 + 0 + 0 + packages\nrfx-v2.1.0\mdk\system_nrf52.c + system_nrf52.c + 0 + 0 + + + 8 + 75 + 2 + 0 + 0 + 0 + packages\nrfx-v2.1.0\mdk\arm_startup_nrf52.s + arm_startup_nrf52.s + 0 + 0 + + + diff --git a/bsp/nrf5x/nrf52832/project.uvprojx b/bsp/nrf5x/nrf52832/project.uvprojx index 5e217cca28..b91c026743 100644 --- a/bsp/nrf5x/nrf52832/project.uvprojx +++ b/bsp/nrf5x/nrf52832/project.uvprojx @@ -18,7 +18,7 @@ Nordic Semiconductor NordicSemiconductor.nRF_DeviceFamilyPack.8.27.1 http://developer.nordicsemi.com/nRF5_SDK/pieces/nRF_DeviceFamilyPack/ - IRAM(0x20000000,0x10000) IROM(0x00000000,0x80000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE + IRAM(0x20000000,0x00010000) IROM(0x00000000,0x00080000) CPUTYPE("Cortex-M4") FPU2 DSP CLOCK(12000000) ELITTLE UL2CM3(-S0 -C0 -P0 -FD20000000 -FC4000 -FN2 -FF0nrf52xxx -FS00 -FL0200000 -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm)) @@ -274,8 +274,8 @@ 1 - 0x1f000 - 0x61000 + 0x0 + 0x80000 1 @@ -299,8 +299,8 @@ 0 - 0x200025f8 - 0xda08 + 0x20000000 + 0x10000 0 @@ -315,7 +315,7 @@ 1 0 0 - 1 + 0 0 0 0 @@ -336,9 +336,9 @@ 0 --reduce_paths - NRF52_PAN_55, NRF52_PAN_12, NRF52_PAN_15, NRF52_PAN_58, SWI_DISABLE0, SOFTDEVICE_PRESENT, NRF52_PAN_54, NRF52, BLE_STACK_SUPPORT_REQD, NRF52_PAN_51, NRF52_PAN_36, RTTHREAD, CONFIG_GPIO_AS_PINRESET, NRF52_PAN_64, NRF52_PAN_20, NRF52_PAN_74, NRF52832_XXAA, S132, NRF_SD_BLE_API_VERSION=4, NRF52_PAN_31, RT_USING_ARM_LIBC + USE_APP_CONFIG, NRF52832_XXAA, RT_USING_ARM_LIBC - .;..\..\..\include;applications;.;board;..\libraries\drivers;packages\Nordic_sdk-latest\components;packages\Nordic_sdk-latest\components\softdevice\common\softdevice_handler;packages\Nordic_sdk-latest\components\softdevice\s132\headers;packages\Nordic_sdk-latest\components\softdevice\s132\headers\nrf52;packages\Nordic_sdk-latest\components\ble\common;packages\Nordic_sdk-latest\components\ble\nrf_ble_gatt;packages\Nordic_sdk-latest\components\ble\ble_advertising;packages\Nordic_sdk-latest\components\ble\ble_services\ble_nus;packages\Nordic_sdk-latest\components;packages\Nordic_sdk-latest\components\device;packages\Nordic_sdk-latest\components\drivers_nrf\delay;packages\Nordic_sdk-latest\components\drivers_nrf\uart;packages\Nordic_sdk-latest\components\drivers_nrf\clock;packages\Nordic_sdk-latest\components\drivers_nrf\gpiote;packages\Nordic_sdk-latest\components\drivers_nrf\common;packages\Nordic_sdk-latest\components\drivers_nrf\hal;packages\Nordic_sdk-latest\components\drivers_nrf\pwm;packages\Nordic_sdk-latest\components\drivers_nrf\saadc;packages\Nordic_sdk-latest\components\libraries\util;packages\Nordic_sdk-latest\components\libraries\timer;packages\Nordic_sdk-latest\components\libraries\fstorage;packages\Nordic_sdk-latest\components\libraries\experimental_section_vars;packages\Nordic_sdk-latest\components\libraries\log;packages\Nordic_sdk-latest\components\libraries\log\src;packages\Nordic_sdk-latest\components\libraries\strerror;packages\Nordic_sdk-latest\components\toolchain\cmsis\include;packages\Nordic_sdk-latest\components\toolchain;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\components\libc\compilers\armlibc;..\..\..\components\libc\compilers\common + applications;.;..\libraries\cmsis\include;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;..\libraries\drivers;..\..\..\components\finsh;.;..\..\..\include;..\..\..\components\libc\compilers\armlibc;..\..\..\components\libc\compilers\common;packages\nrfx-v2.1.0;packages\nrfx-v2.1.0\drivers;packages\nrfx-v2.1.0\drivers\include;packages\nrfx-v2.1.0\mdk;packages\nrfx-v2.1.0\hal @@ -354,7 +354,7 @@ 0 --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DNRF_SD_BLE_API_VERSION=4,-DS132,-DSOFTDEVICE_PRESENT,-DSWI_DISABLE0,-DCONFIG_GPIO_AS_PINRESET,-DNRF52,-DNRF52832_XXAA,-DNRF52_PAN_12,-DNRF52_PAN_15,-DNRF52_PAN_20,-DNRF52_PAN_31,-DNRF52_PAN_36,-DNRF52_PAN_51,-DNRF52_PAN_54,-DNRF52_PAN_55,-DNRF52_PAN_58,-DNRF52_PAN_64,-DNRF52_PAN_74 - BLE_STACK_SUPPORT_REQD NRF_SD_BLE_API_VERSION=4 S132 SOFTDEVICE_PRESENT SWI_DISABLE0 CONFIG_GPIO_AS_PINRESET NRF52 NRF52832_XXAA NRF52_PAN_12 NRF52_PAN_15 NRF52_PAN_20 NRF52_PAN_31 NRF52_PAN_36 NRF52_PAN_51 NRF52_PAN_54 NRF52_PAN_55 NRF52_PAN_58 NRF52_PAN_64 NRF52_PAN_74 + @@ -379,81 +379,6 @@ - - Kernel - - - clock.c - 1 - ..\..\..\src\clock.c - - - components.c - 1 - ..\..\..\src\components.c - - - device.c - 1 - ..\..\..\src\device.c - - - idle.c - 1 - ..\..\..\src\idle.c - - - ipc.c - 1 - ..\..\..\src\ipc.c - - - irq.c - 1 - ..\..\..\src\irq.c - - - kservice.c - 1 - ..\..\..\src\kservice.c - - - mem.c - 1 - ..\..\..\src\mem.c - - - mempool.c - 1 - ..\..\..\src\mempool.c - - - object.c - 1 - ..\..\..\src\object.c - - - scheduler.c - 1 - ..\..\..\src\scheduler.c - - - signal.c - 1 - ..\..\..\src\signal.c - - - thread.c - 1 - ..\..\..\src\thread.c - - - timer.c - 1 - ..\..\..\src\timer.c - - - Applications @@ -462,171 +387,6 @@ 1 applications\application.c - - ble_nus_app.c - 1 - applications\ble_nus_app.c - - - startup.c - 1 - applications\startup.c - - - - - Drivers - - - board.c - 1 - board\board.c - - - drv_uart.c - 1 - ..\libraries\drivers\drv_uart.c - - - - - BLE_STACK - - - ble_advdata.c - 1 - packages\Nordic_sdk-latest\components\ble\common\ble_advdata.c - - - ble_conn_params.c - 1 - packages\Nordic_sdk-latest\components\ble\common\ble_conn_params.c - - - ble_conn_state.c - 1 - packages\Nordic_sdk-latest\components\ble\common\ble_conn_state.c - - - ble_srv_common.c - 1 - packages\Nordic_sdk-latest\components\ble\common\ble_srv_common.c - - - nrf_ble_gatt.c - 1 - packages\Nordic_sdk-latest\components\ble\nrf_ble_gatt\nrf_ble_gatt.c - - - ble_nus.c - 1 - packages\Nordic_sdk-latest\components\ble\ble_services\ble_nus\ble_nus.c - - - ble_advertising.c - 1 - packages\Nordic_sdk-latest\components\ble\ble_advertising\ble_advertising.c - - - softdevice_handler.c - 1 - packages\Nordic_sdk-latest\components\softdevice\common\softdevice_handler\softdevice_handler.c - - - - - NRF_DRIVERS - - - nrf_saadc.c - 1 - packages\Nordic_sdk-latest\components\drivers_nrf\hal\nrf_saadc.c - - - nrf_drv_common.c - 1 - packages\Nordic_sdk-latest\components\drivers_nrf\common\nrf_drv_common.c - - - nrf_drv_clock.c - 1 - packages\Nordic_sdk-latest\components\drivers_nrf\clock\nrf_drv_clock.c - - - nrf_drv_gpiote.c - 1 - packages\Nordic_sdk-latest\components\drivers_nrf\gpiote\nrf_drv_gpiote.c - - - nrf_drv_pwm.c - 1 - packages\Nordic_sdk-latest\components\drivers_nrf\pwm\nrf_drv_pwm.c - - - nrf_drv_saadc.c - 1 - packages\Nordic_sdk-latest\components\drivers_nrf\saadc\nrf_drv_saadc.c - - - nrf_log_backend_serial.c - 1 - packages\Nordic_sdk-latest\components\libraries\log\src\nrf_log_backend_serial.c - - - nrf_log_frontend.c - 1 - packages\Nordic_sdk-latest\components\libraries\log\src\nrf_log_frontend.c - - - app_timer_rtthread.c - 1 - packages\Nordic_sdk-latest\components\libraries\timer\app_timer_rtthread.c - - - app_error.c - 1 - packages\Nordic_sdk-latest\components\libraries\util\app_error.c - - - app_error_weak.c - 1 - packages\Nordic_sdk-latest\components\libraries\util\app_error_weak.c - - - app_util_platform.c - 1 - packages\Nordic_sdk-latest\components\libraries\util\app_util_platform.c - - - nrf_assert.c - 1 - packages\Nordic_sdk-latest\components\libraries\util\nrf_assert.c - - - sdk_mapped_flags.c - 1 - packages\Nordic_sdk-latest\components\libraries\util\sdk_mapped_flags.c - - - fstorage.c - 1 - packages\Nordic_sdk-latest\components\libraries\fstorage\fstorage.c - - - nrf_strerror.c - 1 - packages\Nordic_sdk-latest\components\libraries\strerror\nrf_strerror.c - - - system_nrf52.c - 1 - packages\Nordic_sdk-latest\components\toolchain\system_nrf52.c - - - arm_startup_nrf52.s - 2 - packages\Nordic_sdk-latest\components\toolchain\arm\arm_startup_nrf52.s - @@ -709,6 +469,26 @@ + + Drivers + + + board.c + 1 + board\board.c + + + drv_uart.c + 1 + ..\libraries\drivers\drv_uart.c + + + drv_gpio.c + 1 + ..\libraries\drivers\drv_gpio.c + + + finsh @@ -729,6 +509,81 @@ + + Kernel + + + clock.c + 1 + ..\..\..\src\clock.c + + + components.c + 1 + ..\..\..\src\components.c + + + device.c + 1 + ..\..\..\src\device.c + + + idle.c + 1 + ..\..\..\src\idle.c + + + ipc.c + 1 + ..\..\..\src\ipc.c + + + irq.c + 1 + ..\..\..\src\irq.c + + + kservice.c + 1 + ..\..\..\src\kservice.c + + + mem.c + 1 + ..\..\..\src\mem.c + + + mempool.c + 1 + ..\..\..\src\mempool.c + + + object.c + 1 + ..\..\..\src\object.c + + + scheduler.c + 1 + ..\..\..\src\scheduler.c + + + signal.c + 1 + ..\..\..\src\signal.c + + + thread.c + 1 + ..\..\..\src\thread.c + + + timer.c + 1 + ..\..\..\src\timer.c + + + libc @@ -754,6 +609,191 @@ + + nrfx + + + nrfx_adc.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_adc.c + + + nrfx_clock.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_clock.c + + + nrfx_comp.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_comp.c + + + nrfx_dppi.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_dppi.c + + + nrfx_egu.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_egu.c + + + nrfx_gpiote.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_gpiote.c + + + nrfx_i2s.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_i2s.c + + + nrfx_ipc.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_ipc.c + + + nrfx_lpcomp.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_lpcomp.c + + + nrfx_nfct.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_nfct.c + + + nrfx_nvmc.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_nvmc.c + + + nrfx_pdm.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_pdm.c + + + nrfx_power.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_power.c + + + nrfx_ppi.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_ppi.c + + + nrfx_pwm.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_pwm.c + + + nrfx_qdec.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_qdec.c + + + nrfx_rng.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_rng.c + + + nrfx_rtc.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_rtc.c + + + nrfx_saadc.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_saadc.c + + + nrfx_spi.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_spi.c + + + nrfx_spim.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_spim.c + + + nrfx_spis.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_spis.c + + + nrfx_systick.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_systick.c + + + nrfx_temp.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_temp.c + + + nrfx_timer.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_timer.c + + + nrfx_twi.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_twi.c + + + nrfx_twi_twim.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_twi_twim.c + + + nrfx_twim.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_twim.c + + + nrfx_twis.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_twis.c + + + nrfx_uart.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_uart.c + + + nrfx_uarte.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_uarte.c + + + nrfx_usbd.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_usbd.c + + + nrfx_usbreg.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_usbreg.c + + + nrfx_wdt.c + 1 + packages\nrfx-v2.1.0\drivers\src\nrfx_wdt.c + + + system_nrf52.c + 1 + packages\nrfx-v2.1.0\mdk\system_nrf52.c + + + arm_startup_nrf52.s + 2 + packages\nrfx-v2.1.0\mdk\arm_startup_nrf52.s + + + diff --git a/bsp/nrf5x/nrf52832/rtconfig.h b/bsp/nrf5x/nrf52832/rtconfig.h index cce968f75b..a42405872e 100644 --- a/bsp/nrf5x/nrf52832/rtconfig.h +++ b/bsp/nrf5x/nrf52832/rtconfig.h @@ -46,6 +46,9 @@ /* RT-Thread Components */ #define RT_USING_COMPONENTS_INIT +#define RT_USING_USER_MAIN +#define RT_MAIN_THREAD_STACK_SIZE 2048 +#define RT_MAIN_THREAD_PRIORITY 10 /* C++ features */ @@ -74,7 +77,6 @@ #define RT_USING_DEVICE_IPC #define RT_PIPE_BUFSZ 512 #define RT_USING_SERIAL -#define RT_SERIAL_USING_DMA #define RT_SERIAL_RB_BUFSZ 64 #define RT_USING_PIN @@ -138,6 +140,8 @@ /* peripheral libraries and drivers */ +#define PKG_USING_NRFX +#define PKG_USING_NRFX_V210 /* miscellaneous packages */ @@ -148,11 +152,25 @@ /* Hardware Drivers Config */ #define SOC_NRF52832 +#define SOC_NORDIC /* Onboard Peripheral Drivers */ + /* On-chip Peripheral Drivers */ +#define BSP_USING_GPIO #define BSP_USING_UART +#define BSP_USING_UART0 +#define BSP_UART0_RX_PIN 8 +#define BSP_UART0_TX_PIN 6 + +/* On-chip flash config */ + +#define MCU_FLASH_START_ADDRESS 0x00000000 +#define MCU_FLASH_SIZE_KB 1024 +#define MCU_SRAM_START_ADDRESS 0x20000000 +#define MCU_SRAM_SIZE_KB 256 +#define MCU_FLASH_PAGE_SIZE 0x1000 #endif diff --git a/bsp/nrf5x/nrf52832/template.uvoptx b/bsp/nrf5x/nrf52832/template.uvoptx index 7bd9338b2b..082de4487b 100644 --- a/bsp/nrf5x/nrf52832/template.uvoptx +++ b/bsp/nrf5x/nrf52832/template.uvoptx @@ -120,12 +120,12 @@ 0 JL2CM3 - -U59401765 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC4000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr.flm -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) + -U682327541 -O78 -S8 -ZTIFSpeedSel50000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC4000 -FN2 -FF0nrf52xxx.flm -FS00 -FL0200000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FF1nrf52xxx_uicr.flm -FS110001000 -FL11000 -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) 0 UL2CM3 - UL2CM3(-S0 -C0 -P0 -FD20000000 -FC4000 -FN2 -FF0nrf52xxx -FS00 -FL0200000 -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm)) + UL2CM3(-S0 -C0 -P0 ) -FN2 -FC4000 -FD20000000 -FF0nrf52xxx -FF1nrf52xxx_uicr -FL0200000 -FL11000 -FS00 -FS110001000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm) diff --git a/bsp/nrf5x/nrf52832/template.uvprojx b/bsp/nrf5x/nrf52832/template.uvprojx index 0bf64c89f2..887cfb552e 100644 --- a/bsp/nrf5x/nrf52832/template.uvprojx +++ b/bsp/nrf5x/nrf52832/template.uvprojx @@ -16,9 +16,9 @@ nRF52832_xxAA Nordic Semiconductor - NordicSemiconductor.nRF_DeviceFamilyPack.8.24.1 + NordicSemiconductor.nRF_DeviceFamilyPack.8.27.1 http://developer.nordicsemi.com/nRF5_SDK/pieces/nRF_DeviceFamilyPack/ - IRAM(0x20000000,0x10000) IROM(0x00000000,0x80000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE + IRAM(0x20000000,0x00010000) IROM(0x00000000,0x00080000) CPUTYPE("Cortex-M4") FPU2 DSP CLOCK(12000000) ELITTLE UL2CM3(-S0 -C0 -P0 -FD20000000 -FC4000 -FN2 -FF0nrf52xxx -FS00 -FL0200000 -FF1nrf52xxx_uicr -FS110001000 -FL11000 -FP0($$Device:nRF52832_xxAA$Flash\nrf52xxx.flm) -FP1($$Device:nRF52832_xxAA$Flash\nrf52xxx_uicr.flm)) @@ -274,8 +274,8 @@ 1 - 0x1f000 - 0x61000 + 0x0 + 0x80000 1 @@ -299,8 +299,8 @@ 0 - 0x200025f8 - 0xda08 + 0x20000000 + 0x10000 0 @@ -315,7 +315,7 @@ 1 0 0 - 1 + 0 0 0 0 @@ -336,7 +336,7 @@ 0 --reduce_paths - BLE_STACK_SUPPORT_REQD NRF_SD_BLE_API_VERSION=4 S132 SOFTDEVICE_PRESENT SWI_DISABLE0 CONFIG_GPIO_AS_PINRESET NRF52 NRF52832_XXAA NRF52_PAN_12 NRF52_PAN_15 NRF52_PAN_20 NRF52_PAN_31 NRF52_PAN_36 NRF52_PAN_51 NRF52_PAN_54 NRF52_PAN_55 NRF52_PAN_58 NRF52_PAN_64 NRF52_PAN_74 + @@ -354,7 +354,7 @@ 0 --cpreproc_opts=-DBLE_STACK_SUPPORT_REQD,-DNRF_SD_BLE_API_VERSION=4,-DS132,-DSOFTDEVICE_PRESENT,-DSWI_DISABLE0,-DCONFIG_GPIO_AS_PINRESET,-DNRF52,-DNRF52832_XXAA,-DNRF52_PAN_12,-DNRF52_PAN_15,-DNRF52_PAN_20,-DNRF52_PAN_31,-DNRF52_PAN_36,-DNRF52_PAN_51,-DNRF52_PAN_54,-DNRF52_PAN_55,-DNRF52_PAN_58,-DNRF52_PAN_64,-DNRF52_PAN_74 - BLE_STACK_SUPPORT_REQD NRF_SD_BLE_API_VERSION=4 S132 SOFTDEVICE_PRESENT SWI_DISABLE0 CONFIG_GPIO_AS_PINRESET NRF52 NRF52832_XXAA NRF52_PAN_12 NRF52_PAN_15 NRF52_PAN_20 NRF52_PAN_31 NRF52_PAN_36 NRF52_PAN_51 NRF52_PAN_54 NRF52_PAN_55 NRF52_PAN_58 NRF52_PAN_64 NRF52_PAN_74 + From ea01edb6ec79543292099d160ac7f484ef17bb1c Mon Sep 17 00:00:00 2001 From: Bernard Xiong Date: Sat, 8 Aug 2020 16:12:25 +0800 Subject: [PATCH 28/34] [BSP] Add SDRAM, LCD port files --- bsp/stm32/stm32f429-st-disco/.config | 125 +++++++++- bsp/stm32/stm32f429-st-disco/.cproject | 227 ++++++++++++++++++ bsp/stm32/stm32f429-st-disco/.project | 30 +++ .../stm32f429-st-disco/.settings/.rtmenus | Bin 0 -> 813344 bytes .../.settings/language.settings.xml | 14 ++ .../.settings/org.eclipse.core.runtime.prefs | 3 + .../stm32f429-st-disco/.settings/projcfg.ini | 9 + .../stm32f429.DAPLink.Debug.rttlaunch | 57 +++++ .../.settings/stm32f429.JLink.Debug.rttlaunch | 83 +++++++ .../.settings/stm32f429.Qemu.Debug.rttlaunch | 60 +++++ .../stm32f429.STLink.Debug.rttlaunch | 54 +++++ bsp/stm32/stm32f429-st-disco/board/Kconfig | 35 ++- bsp/stm32/stm32f429-st-disco/board/SConscript | 9 +- bsp/stm32/stm32f429-st-disco/board/board.h | 4 +- .../stm32f429-st-disco/board/ports/lcd_port.h | 32 +++ .../board/ports/sdram_port.h | 65 +++++ bsp/stm32/stm32f429-st-disco/rtconfig.h | 21 +- 17 files changed, 802 insertions(+), 26 deletions(-) create mode 100644 bsp/stm32/stm32f429-st-disco/.cproject create mode 100644 bsp/stm32/stm32f429-st-disco/.project create mode 100644 bsp/stm32/stm32f429-st-disco/.settings/.rtmenus create mode 100644 bsp/stm32/stm32f429-st-disco/.settings/language.settings.xml create mode 100644 bsp/stm32/stm32f429-st-disco/.settings/org.eclipse.core.runtime.prefs create mode 100644 bsp/stm32/stm32f429-st-disco/.settings/projcfg.ini create mode 100644 bsp/stm32/stm32f429-st-disco/.settings/stm32f429.DAPLink.Debug.rttlaunch create mode 100644 bsp/stm32/stm32f429-st-disco/.settings/stm32f429.JLink.Debug.rttlaunch create mode 100644 bsp/stm32/stm32f429-st-disco/.settings/stm32f429.Qemu.Debug.rttlaunch create mode 100644 bsp/stm32/stm32f429-st-disco/.settings/stm32f429.STLink.Debug.rttlaunch create mode 100644 bsp/stm32/stm32f429-st-disco/board/ports/lcd_port.h create mode 100644 bsp/stm32/stm32f429-st-disco/board/ports/sdram_port.h diff --git a/bsp/stm32/stm32f429-st-disco/.config b/bsp/stm32/stm32f429-st-disco/.config index aa1da65887..3bf793c118 100644 --- a/bsp/stm32/stm32f429-st-disco/.config +++ b/bsp/stm32/stm32f429-st-disco/.config @@ -42,7 +42,7 @@ CONFIG_RT_USING_MUTEX=y CONFIG_RT_USING_EVENT=y CONFIG_RT_USING_MAILBOX=y CONFIG_RT_USING_MESSAGEQUEUE=y -# CONFIG_RT_USING_SIGNALS is not set +CONFIG_RT_USING_SIGNALS=y # # Memory Management @@ -50,10 +50,9 @@ CONFIG_RT_USING_MESSAGEQUEUE=y CONFIG_RT_USING_MEMPOOL=y CONFIG_RT_USING_MEMHEAP=y # CONFIG_RT_USING_NOHEAP is not set -CONFIG_RT_USING_SMALL_MEM=y +# CONFIG_RT_USING_SMALL_MEM is not set # CONFIG_RT_USING_SLAB is not set -# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set -# CONFIG_RT_USING_MEMTRACE is not set +CONFIG_RT_USING_MEMHEAP_AS_HEAP=y CONFIG_RT_USING_HEAP=y # @@ -65,7 +64,7 @@ CONFIG_RT_USING_DEVICE=y CONFIG_RT_USING_CONSOLE=y CONFIG_RT_CONSOLEBUF_SIZE=128 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1" -CONFIG_RT_VER_NUM=0x40002 +CONFIG_RT_VER_NUM=0x40003 CONFIG_ARCH_ARM=y CONFIG_RT_USING_CPU_FFS=y CONFIG_ARCH_ARM_CORTEX_M=y @@ -101,7 +100,7 @@ CONFIG_FINSH_CMD_SIZE=80 # CONFIG_FINSH_USING_AUTH is not set CONFIG_FINSH_USING_MSH=y CONFIG_FINSH_USING_MSH_DEFAULT=y -# CONFIG_FINSH_USING_MSH_ONLY is not set +CONFIG_FINSH_USING_MSH_ONLY=y CONFIG_FINSH_ARG_MAX=10 # @@ -133,9 +132,12 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64 # CONFIG_RT_USING_HWTIMER is not set # CONFIG_RT_USING_CPUTIME is not set CONFIG_RT_USING_I2C=y +# CONFIG_RT_I2C_DEBUG is not set CONFIG_RT_USING_I2C_BITOPS=y +# CONFIG_RT_I2C_BITOPS_DEBUG is not set CONFIG_RT_USING_PIN=y # CONFIG_RT_USING_ADC is not set +# CONFIG_RT_USING_DAC is not set # CONFIG_RT_USING_PWM is not set # CONFIG_RT_USING_MTD_NOR is not set # CONFIG_RT_USING_MTD_NAND is not set @@ -162,7 +164,8 @@ CONFIG_RT_USING_PIN=y # POSIX layer and C standard library # CONFIG_RT_USING_LIBC=y -# CONFIG_RT_USING_PTHREADS is not set +CONFIG_RT_USING_PTHREADS=y +CONFIG_PTHREAD_NUM_MAX=8 CONFIG_RT_USING_POSIX=y # CONFIG_RT_USING_POSIX_MMAP is not set # CONFIG_RT_USING_POSIX_TERMIOS is not set @@ -213,10 +216,15 @@ CONFIG_RT_USING_POSIX=y # # IoT - internet of things # +# CONFIG_PKG_USING_LORAWAN_DRIVER is not set # CONFIG_PKG_USING_PAHOMQTT is not set +# CONFIG_PKG_USING_UMQTT is not set # CONFIG_PKG_USING_WEBCLIENT is not set # CONFIG_PKG_USING_WEBNET is not set # CONFIG_PKG_USING_MONGOOSE is not set +# CONFIG_PKG_USING_MYMQTT is not set +# CONFIG_PKG_USING_KAWAII_MQTT is not set +# CONFIG_PKG_USING_BC28_MQTT is not set # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_CJSON is not set # CONFIG_PKG_USING_JSMN is not set @@ -243,6 +251,7 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_COAP is not set # CONFIG_PKG_USING_NOPOLL is not set # CONFIG_PKG_USING_NETUTILS is not set +# CONFIG_PKG_USING_CMUX is not set # CONFIG_PKG_USING_PPP_DEVICE is not set # CONFIG_PKG_USING_AT_DEVICE is not set # CONFIG_PKG_USING_ATSRV_SOCKET is not set @@ -255,8 +264,10 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_GAGENT_CLOUD is not set # CONFIG_PKG_USING_ALI_IOTKIT is not set # CONFIG_PKG_USING_AZURE is not set -# CONFIG_PKG_USING_TENCENT_IOTHUB is not set +# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set # CONFIG_PKG_USING_JIOT-C-SDK is not set +# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set +# CONFIG_PKG_USING_JOYLINK is not set # CONFIG_PKG_USING_NIMBLE is not set # CONFIG_PKG_USING_OTA_DOWNLOADER is not set # CONFIG_PKG_USING_IPMSG is not set @@ -268,6 +279,14 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_ONNX_PARSER is not set # CONFIG_PKG_USING_ONNX_BACKEND is not set # CONFIG_PKG_USING_DLT645 is not set +# CONFIG_PKG_USING_QXWZ is not set +# CONFIG_PKG_USING_SMTP_CLIENT is not set +# CONFIG_PKG_USING_ABUP_FOTA is not set +# CONFIG_PKG_USING_LIBCURL2RTT is not set +# CONFIG_PKG_USING_CAPNP is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_AGILE_TELNET is not set +# CONFIG_PKG_USING_NMEALIB is not set # # security packages @@ -275,6 +294,8 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_MBEDTLS is not set # CONFIG_PKG_USING_libsodium is not set # CONFIG_PKG_USING_TINYCRYPT is not set +# CONFIG_PKG_USING_TFM is not set +# CONFIG_PKG_USING_YD_CRYPTO is not set # # language packages @@ -303,6 +324,14 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_QRCODE is not set # CONFIG_PKG_USING_ULOG_EASYFLASH is not set # CONFIG_PKG_USING_ADBD is not set +# CONFIG_PKG_USING_COREMARK is not set +# CONFIG_PKG_USING_DHRYSTONE is not set +# CONFIG_PKG_USING_NR_MICRO_SHELL is not set +# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set +# CONFIG_PKG_USING_LUNAR_CALENDAR is not set +# CONFIG_PKG_USING_BS8116A is not set +# CONFIG_PKG_USING_GPS_RMC is not set +# CONFIG_PKG_USING_URLENCODE is not set # # system packages @@ -314,6 +343,7 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_LWEXT4 is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_FAL is not set +# CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set # CONFIG_PKG_USING_LITTLEVGL2RTT is not set @@ -322,6 +352,13 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_LITTLEFS is not set # CONFIG_PKG_USING_THREAD_POOL is not set # CONFIG_PKG_USING_ROBOTS is not set +# CONFIG_PKG_USING_EV is not set +# CONFIG_PKG_USING_SYSWATCH is not set +# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set +# CONFIG_PKG_USING_PLCCORE is not set +# CONFIG_PKG_USING_RAMDISK is not set +# CONFIG_PKG_USING_MININI is not set +# CONFIG_PKG_USING_QBOOT is not set # # peripheral libraries and drivers @@ -329,6 +366,7 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_SENSORS_DRIVERS is not set # CONFIG_PKG_USING_REALTEK_AMEBA is not set # CONFIG_PKG_USING_SHT2X is not set +# CONFIG_PKG_USING_SHT3X is not set # CONFIG_PKG_USING_STM32_SDIO is not set # CONFIG_PKG_USING_ICM20608 is not set # CONFIG_PKG_USING_U8G2 is not set @@ -337,10 +375,16 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_SX12XX is not set # CONFIG_PKG_USING_SIGNAL_LED is not set # CONFIG_PKG_USING_LEDBLINK is not set +# CONFIG_PKG_USING_LITTLED is not set +# CONFIG_PKG_USING_LKDGUI is not set +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set # CONFIG_PKG_USING_WM_LIBRARIES is not set # CONFIG_PKG_USING_KENDRYTE_SDK is not set # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_ROSSERIAL is not set +# CONFIG_PKG_USING_AGILE_BUTTON is not set +# CONFIG_PKG_USING_AGILE_LED is not set # CONFIG_PKG_USING_AT24CXX is not set # CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set # CONFIG_PKG_USING_AD7746 is not set @@ -348,9 +392,23 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_I2C_TOOLS is not set # CONFIG_PKG_USING_NRF24L01 is not set # CONFIG_PKG_USING_TOUCH_DRIVERS is not set -# CONFIG_PKG_USING_LCD_DRIVERS is not set # CONFIG_PKG_USING_MAX17048 is not set # CONFIG_PKG_USING_RPLIDAR is not set +# CONFIG_PKG_USING_AS608 is not set +# CONFIG_PKG_USING_RC522 is not set +# CONFIG_PKG_USING_WS2812B is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set +# CONFIG_PKG_USING_MULTI_RTIMER is not set +# CONFIG_PKG_USING_MAX7219 is not set +# CONFIG_PKG_USING_BEEP is not set +# CONFIG_PKG_USING_EASYBLINK is not set +# CONFIG_PKG_USING_PMS_SERIES is not set +# CONFIG_PKG_USING_CAN_YMODEM is not set +# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set +# CONFIG_PKG_USING_QLED is not set +# CONFIG_PKG_USING_PAJ7620 is not set +# CONFIG_PKG_USING_AGILE_CONSOLE is not set # # miscellaneous packages @@ -385,6 +443,42 @@ CONFIG_RT_USING_POSIX=y # CONFIG_PKG_USING_ELAPACK is not set # CONFIG_PKG_USING_ARMv7M_DWT is not set # CONFIG_PKG_USING_VT100 is not set +# CONFIG_PKG_USING_ULAPACK is not set +# CONFIG_PKG_USING_UKAL is not set +# CONFIG_PKG_USING_CRCLIB is not set + +# +# Privated Packages of RealThread +# +# CONFIG_PKG_USING_CODEC is not set +# CONFIG_PKG_USING_PLAYER is not set +# CONFIG_PKG_USING_MPLAYER is not set +# CONFIG_PKG_USING_PERSIMMON_SRC is not set +# CONFIG_PKG_USING_JS_PERSIMMON is not set +# CONFIG_PKG_USING_JERRYSCRIPT_WIN32 is not set + +# +# Network Utilities +# +# CONFIG_PKG_USING_WICED is not set +# CONFIG_PKG_USING_CLOUDSDK is not set +# CONFIG_PKG_USING_POWER_MANAGER is not set +# CONFIG_PKG_USING_RT_OTA is not set +# CONFIG_PKG_USING_RDBD_SRC is not set +# CONFIG_PKG_USING_RTINSIGHT is not set +# CONFIG_PKG_USING_SMARTCONFIG is not set +# CONFIG_PKG_USING_RTX is not set +# CONFIG_RT_USING_TESTCASE is not set +# CONFIG_PKG_USING_NGHTTP2 is not set +# CONFIG_PKG_USING_AVS is not set +# CONFIG_PKG_USING_ALI_LINKKIT is not set +# CONFIG_PKG_USING_STS is not set +# CONFIG_PKG_USING_DLMS is not set +# CONFIG_PKG_USING_AUDIO_FRAMEWORK is not set +# CONFIG_PKG_USING_ZBAR is not set +# CONFIG_PKG_USING_MCF is not set +# CONFIG_PKG_USING_URPC is not set +# CONFIG_PKG_USING_BSAL is not set CONFIG_SOC_FAMILY_STM32=y CONFIG_SOC_SERIES_STM32F4=y @@ -393,6 +487,11 @@ CONFIG_SOC_SERIES_STM32F4=y # CONFIG_SOC_STM32F429ZI=y +# +# Onboard Peripheral Drivers +# +CONFIG_BSP_USING_SDRAM=y + # # On-chip Peripheral Drivers # @@ -400,12 +499,14 @@ CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_UART=y CONFIG_BSP_USING_UART1=y # CONFIG_BSP_UART1_RX_USING_DMA is not set +# CONFIG_BSP_USING_UART2 is not set # CONFIG_BSP_USING_I2C1 is not set # CONFIG_BSP_USING_SPI is not set # CONFIG_BSP_USING_QSPI is not set -# CONFIG_BSP_USING_FMC is not set -# CONFIG_BSP_USING_USBD_FS is not set -# CONFIG_BSP_USING_LTDC is not set +CONFIG_BSP_USING_FMC=y +# CONFIG_BSP_USING_USBD is not set +CONFIG_BSP_USING_LCD=y +CONFIG_BSP_USING_LTDC=y # CONFIG_BSP_USING_RNG is not set # CONFIG_BSP_USING_UDID is not set diff --git a/bsp/stm32/stm32f429-st-disco/.cproject b/bsp/stm32/stm32f429-st-disco/.cproject new file mode 100644 index 0000000000..f753c0fb4c --- /dev/null +++ b/bsp/stm32/stm32f429-st-disco/.cproject @@ -0,0 +1,227 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bsp/stm32/stm32f429-st-disco/.project b/bsp/stm32/stm32f429-st-disco/.project new file mode 100644 index 0000000000..f8150396f5 --- /dev/null +++ b/bsp/stm32/stm32f429-st-disco/.project @@ -0,0 +1,30 @@ + + + stm32f429 + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.rt-thread.studio.rttnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + diff --git a/bsp/stm32/stm32f429-st-disco/.settings/.rtmenus b/bsp/stm32/stm32f429-st-disco/.settings/.rtmenus new file mode 100644 index 0000000000000000000000000000000000000000..da3a12f5e7568f633bd4529d437671559b4f061b GIT binary patch literal 813344 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

+T0}`2?H=LE5#Mat*e9y|-;<1^>m@j>| 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™ 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
go% zz_&daK>sC=<@e_K@wb*20kxi;j~hYzx3=(YW8yh02`h?Upk~W{M2xx?*A=`fe&kbE zC!C)MBn|nDzqi6A#mpZh_v+mi@R&3Vaq<@kK@21VIk9q8lL`1hqv}O9runL2@FNU3 zGi5z*M zz9k>g+In~div`L%X&W4>yKs)_W}v!1RT*uM?~`r4^SO>9K4^z|kfo};$NYE0!@PRK z^u9!Mtd=)Esv=X8Y1obD$C3$e-*u-H(6GefNZ>VlR*&?2MxJ!)LLh)YWREeLv`XrS z*u4nCY~i>zp84fiXgP{RUl=x{R|-}f*b8UWi@ex|Jo#taNCKDc+*;z``5pNj_t%+N z_*^YMO`bpnwlYc0lE3H(h(V=ZQ3h*o)pP70GUQDN@B4&7ZTpm%DYnPsBRl{z{NbJ1 zwh(-lOOnX7cn8TrfcBYst7})r4MeM9vZn%sZUF7&Qc^&}O5_sZ5SySA-)v(Qo~iM) z#G3unlShWI(9BY$$I3qb)fMv2mYZ6l5Y9hwgNG8%$XoO#s1f^KZ;pfQ`P2G^MfZRjUX;$c;NQeF)=S?x9E2@VRkfmxV*TW zghhW!xLV!~S7-@H!^bj+GBLmTsZZ_vxp-w(ry}qy)|h?Nh!3t;AUz8{!b;j_op) zWhQP6I8J%eA8LD6)ZXNFUM!Nzw)i{RoNMUW%Y2RxT?ogiJ`>xToEux`rZeNZ{TwJ~ zWA`YPny)ZmV`OLY0M?@2M_t*=or0ARE`*agK%plG&?^d#SiQ+a+Qv4@-3`4BN8my{ zKJrGSn)aM!H$3-%f8-0IE2l2L?<84S@15tuy`9|8PYPc%1GPMgC7KKMV)Be|-Kvh$ zI{R@fY(CHht1v{$O5475a107s=!>d&=+dRtIgVe>%4gt4TyE-la|XyhmkK1Bos0j{ zki3r`^sB{tZ^BC>QX8YQHfK8LhU1coQ{H;U^wez#-f~-Jk8tUkugY5C+;VFfA**5Q zZ6t?wQl1kg@Hkour8>G9Z)C}M-I=k2d(m(4Sx#opV3kah8EuA2J0#)QPR{g6=)z}$ zMXcaLA2N+rU^Z-}yC2sIjjM*QS$C6aP&6sSu#y7x<26D%L8)ux79yy0ip{lZx4a?l z2b{gCY7MMsfwTBW)cp6yY%1)fgS|Z=!H;qbxfeoy@z^qtizqu6?k?$Z!NEaqf?dn_ z4OIE@k`#5w_4=T`Y44_#9j_xjMNBTZ%4@9x%raPI$?igjI4MPpUIt=tKY|yJ8w;)K^^Yw`8vVC+}KqO3o}kr=s5sj!MUD{)l6 zQ$#7<$(FeO`iwJDmelwu{#p~^_PCT}50qMZ?n(j?-NIstk;V7gO=R9?g_T9kR4Z`Y z0JMp*)WRoFbCNx>_I}Cxwutun2<>0&!(dfzAf{`oaShBvXmJH(#w{m3}yEF;FI&3bk(vii%Jt z+L0?Ke%RURVqiAtPwN2vz8_Iy!Om>)0=U)Z3Jv#MnoEh#us6d17@Fq=cFx5RPuQ7^ zHwFvQaI#XK8wGjvzFw<^&^C)q=L1p#gx9kM*q%mP12%Q5idG0VG5$Nb}}ih#RQtl5c9Wq9_lbmdUE_@KHnk$SOA zZ*6v&)jd`p>*ZGPGFOQP4jRO!Cmpc$(6>lv(qwOg2tj+hkyj}A3~Mb8u`v;OvQY0nQ5yp^njoo$(`@f{^Mf)pV%3jO(aR|L&Ht_LN6^hi3?;3kDXu7avGf$Z<6>`opEKI27X-lRd!_8Q zm5UhD{du5rEt8B(7_tXA)V8%G&g3ldm4V}l@^9lS$SH%sPFgs$!HnkHYYwIWOWH$( zZ1_3PUq}%Zwi5p!Eo3}ZuvVe#@q&$(eS@H#)t0arur?^2UJjB*m zu$kevodrVWEiG6oytM6aokZQG#o|6-Zvp-~znQA~@Tuw~OIU<&fb5~=!W1L>W^QwD z#!$SG_+Ig;Q=ZLk;zw~X#^$w6jUh&HfIuTHJ157iA337JpvRWRFx->Gqt1Xwi{2q< zerd2Ty3laq@4r_bb7dg<-+Q-NZA%;n@$s=%R8@z3up59dJ^7AhjON5+&Z*CcTQ%S#LC4Eez{E5nKMU z#CU6_=8{Om^ta&c4hnk^+<~BNJW8TCZn1cHTcw>psHcb*_CpfIz1x?N^MI%+&ZUvP zCb`Bk|AxhuyO(!k+Ts4f1|-y_&l4S%n=v**k>)MR8-IOuwx8xNzQZ0z*d<_enFe-0 zeu}czsRlDwMr)zqbFi&3k#___RZ$ZD-zfonG(&|w>P^^ilw*(++=No6SQ<>};~j_O zIuI}eK!6+y@v0AqcSEzW5NtOZC9SZhjOTJh zYHuLny65iZn6Hq+S|Yc-#0i~s9nmOc>fk}9NDTU0plfgdap?gCy|)W5YhYWld9Wmt z=@Y#|DczVN&S_0td@A{C8AOC!&80Q#37)%Hk4boYTSTTOlPAm1@(kkJ+X#x{eR%7a z7=w{HfLRKC9(CN^u6&q8;mCAlryTuXQ#syVa_{zBg7`pv(`&PsCGu2RWZK}0a!2dOuI5(+g zxdYWuToyTSLhg|J-{ndvmz^Bgu@oa;@qGt67>L(6UU(-M4r^Ae(_>m&uKVNJXWm9Gxu^tlCTD$Gz- zPZ@E^%RqoZjHta7Z73lh-|xd?&*LW$fVW%8^6)mW7xa2%px%Q=JztZBW^iIO&MnfqTckM>J+OdGdc3 zo`w^Ur$mWu7YQ>8%v5n_!v+&n6Ak~Gu6lmmthtO%hr4Vs^5^T5VW$G)0Gk zvT6*^?-7G~SCx(0hW`XaHbiNV=)fnHlNbiTBs|1E75v-4I!l2u`KCzGft}@wkBhZ4 zNC&3w?qzqF4INa2QzFNSKu!tBc*5qBDba-QDr+8gplt$ZOgEurs9W9<&NLGKG zC+Ib%9MWm<>GyA=Q=#}mVDpHR)DpPy(K$d^b{qZV(+a1NIclcNUJ0=|HWN00~-IAk05ws_?` zX3jNgkNaXmv??LHQBZwBS+f&-^&0SQIQ_h#5HWG$-oI&O?z=DRRmh8S$=D`6+R%r+7uF&=3nWI3@h-lG7 z(qAF_Y%hJXLCVJs@HrMqeDoj-Log1u8t`M}?u+8du|*qM59OGF3xCfhcgswKXJ|x8 zH*rW78>pwr_feOq5UUnr8ehLC{5RA_mQ=;wZDM$Kd(AR6U9I2?CQ7@f<>qJJ+$|~d zboFgM&jm8}H_Ggf@bG`OKyFQ7!15sIs(#>0zn<<3eCGyMWLZP_8(?{jjA##+Vg5O< z@_E5NxbfCYnpq6Jh}|0Q?5Uek!p%B??fTEl4u%DRYqB1uaUu)$BUUZ9%(^(iCHi!XVPtKX5J z$JbjU&yM{O?eW#?!kLHg(HXBIE6jCel=b}|mhkw?fa-kpHEkT^5H2LDsx6BMr7~#S zG|+HkC}~j`U}LyF0KP(dkAN!2oC&RSZb%X+MH|z@3kq_OHR)W*5~$2T<57x^Q=ol$ zjl|X?(VnD38wHFs#KpqEy-{by(AkFh~6j^VL7fFqrO=isvYBiNIStQ%f z=0YabEdQ=5X~VMEXe(p`{=xMoTUG07l8pO(jZtVbK}|`w#*SP3oL)E9jum3jgl`GO zPE#oAd%BG^(J+WH&)HnPHfcj8d#&2RkygS;|44l!D-Qr{QtQ^G78_nZ=W6#vPkyT1 zjz*xAcjKnF;!aB z0Pnoar{JeU(F0)d*?iib}FgkG5( zgEIa3<01vZqwWT%aD}Xsa@p@bc#T|_&?Q;{m)c>J&TKw{?HutK?Ed%*boYjXesIa+Tlb>T`eF& zY$mb-b+mzZN0UfAT4V$jAvE7dazA@#Q)4bZ9?`l?TDsb>AUUI$UehIbQ}X54z02P$MiLJ%u2jrCr1qY@-QeLmkZjFTI5j;Nw-NtAhABV z455{w=ZTfuX9U}V;N`9U&JN*VpOk6pSjI-Zj6}3xqb<0zFsr6dqLs-CGY(sWwZyRQ zg)=$u+WCOMV9NAP;KOFF@)<7P^Wlq$)#Sq&($4iH_#to1p92W&`OPtyC=ydah$8c^ zY*2O;*~ZlTj7tWIH^-==basR$qoGW2sP-9a)rVXJQz|$BDyj0I zTNKEr)R}sToGiWa0iw|UvvC~*X<}*Vf%QOFDiQD9c1|K9*gU@JuI`d!u8fQ{T% zudm`Pk?p8c+cCi{c_t$0Q$DkD9@ZrEharezsz!GIV zX$|=n!-pLOcLUR+;d}-Tz_#aUYpg0JmksRnqiY?S9hu|0EFa0OemVWr#dDKl5qhEWcLGM@0$kAg#-4 zYI;J|SnK}a_|V;Y2Z!d(t4oL%gKBoUev=a+e4_#0T|fSWdr_FB#n5aMCvn~tiCT90 zG~(p1!g_xY>#YqAzP0LLjM87joBD&h$?2RLxA)i@fZ*ym%&%d5wO(ER6??*(u8s_I z!r~4=3a6Yz(;JO;v+eP){7Y_`rVq2Kl&FFJy@_S&2pO#KW?d!J3TexY>cpug^MCAV zs^%Nx@e;cC9)ux?ZKo(3x&@OqO3*QbqNC1!3CM2JlA9Rc5sw=EX~q@KQ$ zMeJ;rZQ+*2%PC4r4`a>jTT7%FJ!w`IH4uVvG@I&_x$kY1Pb+ZvUDw19x&1Mj0zpON zmXYgRzffqc7i{xv@PMsE>AgfG&1IjS#*<5K3EK7o zm(RSvpG=Fu;4Tsmy8p2ZQ+2lvtp?aQyp>59giX8t0Rx;TG_x>2G~yya8lAm1RkUNcM2v!8ZPv#-(HK&`K`|kU zuDF=iYd61La@1J6-hUO&+_5Xrve;QT^TNB%>sWn^laqhTwGKwjd699GcIK5)3%RTz z7}-;1n?Njn4qa6N%TmtCxcSBC&vlTt`+C}HlHC8XGWoq(&Dv8uOeC;!?F{m@a z#Ep>EI^=Wa4*UAX2WH|rz9ZcufY~2zR*b?miETXfzdbGi3w(sK#eR%c&uD6{Fhw-i zAYibF1l3q~-I!d5Z?$<<OZ*RHoR_82lNZ{O~;HbVVpasKa4s;M;$pihJcoE z`XEP?3j=+Uk5^pNwIf>_8YwZkN7D133t}@Zh#mH&)lf87Y(gnsla*MsnnZT@VjuIO zK2&{3vPFZqOK|%w@h%BddJ*u*oih+Z*?|E>*dh3ep-Oc4R5;-@J~ z-X^y8^dqc2&YI#@G!U7Z;llRT)tz29{(M3moWNNEFR}RZ+*%xl)>zlbnKTd(A}it4{Sf2J9VOwGiChaYXCgO?i4aslGh093;7nJp<8h1I zr$*}u8Ynl?kFDB!78Lj$ZuGC(qbic?C(`%kse9kBF!@I3zTdnp=m6~%FvH%5b)t-} zq0U%9XKgf_#W&Wc?44UyQ0}1?id%&$sKvllXqo*1h*|GL-Ow)XPb_}S7c8DgPs}2b zfNE!(D!54+*TmhaBkvS#b|6euq{fY{Cy85tm)|n4G4M6u*`j#BD(g|iB*=g%gj$rx z()1MpKI^|hG)Dl*LUS6HLV#^)EM7ZbA=UFZlNY>+FM`qI7MSulF z(@nUEyGRnjao2ua^#BJ-sHilPYyK`Cr$1di5J2xa12_m#*d_3Gx0nL$h}US^G5JXK z3kt)VnED6~2-Zf$yyABero*?K0~v?`L9Gjc&NR0i>0a4ECk_ikf9MX$>V<^uHXx`G zIdAg@ico!OQiAzD*y^_CM^}020BdGB6@?|%(z$ikeVUK6Q>rKg#2~~Ca1J*1Clvb| zr^Am7Q;0xLNOlYA%xW`5y;eP>>K|*`=46aG^yS#IKLW|5KyH@~r~d#PxLlt|Fp?Iw zEDh0h^Z@1HeS=kP1AVw(jEIPMTvSR2w=)_|AKU6FkW%wauj}DtT8akGJeO4;^*U%A zC;{Sm)08EV4W?CpMR?dG;XX8?2+dIR!~QZC?38m`V$Re>TQ7C)Byv;I=PuSOF5{s8 zRy^nr#rnrg<9#7>o#v%8jZ`abF~M?5oW5;d9P^}?t$U@UCQ9m|-0LeAg;(5}w+W%C zQNl}BMr8_A_r~QfCST*RmTv~DSZrTw)*Gxwj+j?NAf}y={^kyKM;!<%xtqfiWvIpQ zR!;p?J#6%upAnuAQ_2=d{nc01u*>V6!aEihoHT6bZ6`rzt^MgTpK5F#VozKqMN=Yg zOX+HJGtZrX0UiGk+`PA#GgeJRLda6SP){V>xZP9o1aWAOi-o`@g{-1CKYrgf1n#_y zV^=OHaN33Se_`^KA2vpkC^Wq_gbbr%R6aZAJv`80!?hRnlt#>{bjJr?Va*OE|~ z!x>X=i_0d#7=ke>Uz=Fb9Ot=dwKLwVen^DZs`d6;fb9X zgsh<>b$OGrIb!Oe+9#9xIf5Id8wMj-k>1;=`Pg0_OdUY|aLS?!3kH|C+%1R4->vl_ zgiO6~=`jo_T%ta^aP(!Rq@=-bsqg5rIfsryIw)+{6zL|gT zdIFTKqaOqr9IS-h*1G7g4adjOB7=lm&U;+QajA9Sp46NNvM`M*|m@ofQe8{h5=Gq;3u2Sm-TrtBuAd+D-b&Y&Ob2Fj?{B1d{1Z(nU8N<5G_sSZX>tAjJ zX;M#wpG~*Liy<0SIy@3OTLtIP2SH|)2u^;{y|{Z$Qu#R(Fw8_<@A*kM${aL^`pH8T zmg7s<2N3YmA2$mBqd}CL7$-d=1?&D-narvo?f(#M|4_2R-6Y@x+?lK^hz78M$JZm}Dqzz&%yA0Fu9KxV0fIiJcYj9#z>{j*dR&gI8${Zp--STHSb z6O0e%u?-=f3!B{Stgvh;GLnUDh)Ob!dNdcby~hHmcmlw4faWy*Q5)kE4k>VmY^8Kq z{cb^CIY)kp=2Ds~*xvY=12;^G3~+q1<~tm6rfw{Tsl>)!jYs&So_8vn$Fdm;-A0BS zs9jFUJ{C6S{(U{MJX#J3Dt6ACDCeG=VxdU~RCsf#RO*tL6~2K2C3cRv%re3Z)C1NE^qpxxJSw8##fx}ban_*FCuJDRCZ#;+tTR{?^^7>TgGSC+j=zYjhz!b>)ut| zTqWxjiix4OL}2x9WQWbAqGE4|DDSBSidUaSw-h9NXGAH25-9fmZ}{uAC~6=8`sN$7 z+6vCB@9XWp+{D5_K@l#LJ-CznE1_SpcF;^YA}Krj*QlaK=GqUq>?$_1n;WmpwobUA zz=iKNR0Z?#fpDR=X>3}sVmaxIT6K$1w4f#`j3++rR)gLz({ zLot7a4Yvs>(MUqXbdIt%R4oqA>F#I8meQT*4Mzjipr%J)t1SBm8# z#UZU+QZplFCr!=TawRD zoInv^f^{(PHV*}iEr^E&Q}EYF9hXI@@9gsTbssw){1agH;n~O)QiDmx0||Cbtzu;x zPur#awU~QVm$TvD-`WP6AqCqaeXX^E%-5{gRdCU5c8u_$k7H>&h5qFbzBOaqMcD0M zh&qlY8N!eP?2SKHlRfs=a{Qy=%@_*tKKyXYpg1R5xsaMkprGKcZ{-x4Adch?#%S87;&eoxRH*5=j?L@WGy5kvC+B1%eP|R6ZOU)|Q1(35|+!u89&UB93`T+-7`n_CnRiYZ3sH zbz=i>miud0)G$hz4Az%TeKpaDK{7x+rs?W4RXpZ&4#@w;{d=B=_X7tTd8C4tmCk67 z+eyUj;9XkbJV`8$9O5q*m00N?06$^^uil_(sw+=Dt0qGsDC=P)7N`Uam&PkgO0Ecx z^IU3Wxf!PycVBUP+}2z9Tjc$tG6g`xES_KTBK|qeMxDrlU4u$dQXZ-?5N||AuT)^W zPG4wHJaLD-@mou8w?jJgQsuRV0c{m}G}a|OY&zt=V4SoHVB{q*?Fk{^J4RUbIcXca zQraN=hK)zNCh_Q%9qe%VauS*-t{&G_`yyWyBflk$aG|=>1u*S4$Dcz3+uq!<{eDj} zl*i3F-nKw;AyyJ>W-4}RV(^hqRZ|1Bm*p}g9d;u}4lc2iuA*%WThbq+rhse)n}E_j zPR}ZzVZn_h2UGXZcH%$^X4K%o4|NIC>z>kHBaA+^?Z{$&`}3GOH)$;=l{rr?Gk51m*YNLjBGt1~-7gmA7J*w;~2fNfgp+ zte{M{llxN*2&YGx7AGRoJaIC^4ybcQRPgQp0*#xF1e^;Zf&(1BKgF_VM~Mb1PRylI zKRxVMAG}+C*}SmnEo#kjX4>kRLORvQj7dvj&Fcj(c)ShgSZ_wIrsJO=d}Cw!l{;9$ zAKiRQRSZ&J?Y_&}?EfeS5f&ypnMn;lL>r5ey}m;ryMUR8hg5$uPJ8txG{+R^Rg6gA zB~6RY0O}1kwI)^c*y+|hFHt2F-R+=zV_{ks8&H_nJh3MLN7%2nKAb(upHc}D@vZ`7QiLDEgz@R@+u zW;36w;dCRyb)K}?^a{5pQ$kF>0!N<%7_6E&;1h4 zkt|N&{H2rgtZHj~tpuSZpzjGlj9G;5jPNaIwFG*Yr&s^$XbcFt*0Ac4AFTt)6;v`V z>E7d($C)7@Z5&cND0hsI-0_4rs^y1IyT(!zk%z*dus>f54veuwZjR?KdRk&=1{uLOF}!i5E)P}umhL?CTU zF$L^wGNGXDo=EX!CF^Gbk|k8eVoXHO(p68fBzEQYCZP!p4p)=Q$MdU@&SVN)Yx0Cn zSX+@&0*Q_e7-pS&BPwuZy_IDt61m0iMn`00a?AiW{+LgfGDnD7&x2#Ts9#hfdN0|~ z?EoEy!t!U55f;Q4AxfSqLre6+P00!TEm(+WyibQ|DFo>RIWr#?K4Ri8O#DhjRk~B^JTaCA*W_ErY5QCg- z_jbmu#0OLMInYEvy(e-Gix~Fh5I@g)r`|l@>qSt$weqm$z;?Qlh znMxdkEJOujhY zN-j`uwe|*fs6H-ePJaa>qsZ=s3MoMtpA?03Z^WHD#-po<{5X0^c@j}}hm8go!%eeg zM|&i&9+@^FFnE0gQfkYvmE{uhS9j5=#x%uHp?lh_`<+f?&1?fnbzEi^`w?D=zRZMc zLqBjWx(gOn9>ji4*$}~tKDKw{bW_q$m>*F$h}ZUSu8|ms)H^wKh5H}bh@RGPT612h zv7=DJ$+e3FpK@xBDm8Bz_x93T>j_wz&I6h=_klVOCf+Q;s)cCkV=~{>4y81HTUzbP z@q&D$vu`z;?458H=QKCCC` zq6fF7drLK;n6oYl`2$>2XaGCY_bb-bz)~!R;IzfxC?Oh=!pY)5?D$Vy%Gvhb<7HK` zZ~%|Sdnt*De@B4cU%Jr@XfWzGNcqKKD4piek8k;iV-*MC0H|wGbJ3o<&Gz+o3Hgy- zx~nk*G8~S%^y~(Z=v5Sfb}ZCQEd#Q~`PYBeZ-t`teBi2opCXD{{9@y97R1}O3PJ}+ z0)(foY~IP2l$pmRen|vYi9SLN(g@IVl}{hLWg#oA(H(6sTmb8DnFl}sh<^*6w0k5c=12s=qj^8SNGaf{aZ>1LP;I+uo-vlt(h2|p6@x^WN~2T?1AxcN zixy6hGq-6$zQ4BT+<$3U4i!9TVSAiIZ?0qSTsqje=148HEV+ao>ZoX>_fHgL5Md`b zzz#g#Ce{_hazI_OFyLQ35I?&U%>N-Du-7v(zQ%0f*2Z-{H1RG4q^B6t65(xg-MK9S zWS%hKO(@;RWUW#n$07r zkC6a)h--<}rV5m-{%~MumPd(4?1eez6VXSB)b7H1>@QohZ|tlRXM&xCW|?j=CC6h1 z&p+a|kEQC6fb{_@p`wAb3!UY2c}=a6Npn>^B6JnVDV&fjUanenLgv;mmNaIhE9Qz~~{X) zXxclHQb^<7%olj z;FEO;gICJb9IKGi%QlxtibSlTX3mb-V%#ekO^`)^`>{OgE4i4`bvjTQ)h z6>}WtUIPZH3>Q5o%fT&^;2{Q3)SjY}1V{>jqUc3NP?}9i-I+gD@o$Nn*xR^8Q{#Ec zond#{9n7@Tsfhq*lv4B=?`$|3>Z?sUGdZLxk@TGyn{La*P~V0N9+og zlf3JO)rV10qP(&I6%Z;Q;!g1-K$Qap`{xe883nk5SJL^ax$B43tc|r}IT*9Z0%6gN zQh{y_3E98_KLw&i<&U-XSUdfAi^yU@39fOjUob&EKWn~vY3h?An*W84|B~09Z*}FQ zw`h1ZapZV+Zb(RSN@zq}(Q`;xxz>l0mPj2Vr1k(RD_H1r2Zs2cGKD?sIRR_wRmZOGkwTT{-%HILR>hCKY3rHH^HRR-k+R=9G-4-Ol zDCWEl$3z6T)vR$!irj3vaM!Z5W>880WB7!CX+IFfM*-LQ$I2VdWrIxd;-so?onmRR zCD52b*SFpNj>!^0l1`Q}ar}gu591HNX`OTt-GnUqkKYuQ?&BLL`5+m8cTPFk2<4!4 z&Lct)P#AE(9?$6Jq^<3sN|U^6YSb5tXd@QP1li0@BiZv4vAc!+bnM?LAp9>Nl{>{9 zmd-}^au6G&aXv2%PopdZd z)xh9RpBqBDA~Pdm(6U*2>ryS_EGS5#0Q;)K#Rt$F0J^tV<(E8W-WQ&a2c|q15Ykxk zDAq<@141|53Sne)rt$TSVX{jxlPrWT{z9&`@yGh0jb;D>5n-!-<`n)U9+i@~V&`IG za-`EmKw)-27A+Vb*Xyr)C!2kh$u{K7S(j^4eG&ERsde@ltbuNY}%c@Q9w{bm}5ny z&x8+jvtCK>oD&(CFkz;p$=j;uO9iR;=HagvxpqIGx@REji7UY*T_tBX45DJ}9=yh? z>b+NGA-4aG4T$AqAeBV(7a@c+lDUGs9chh#SHNLI7rIo2>+=+3+-L&zdGb+nSHGi^ z8ZRhawZ>-lc5SIBcpVYUluCcDUC?&H->5ZjU)~z6;rEw_Z*CVhrm%iyQ37KtxDE(E zqQ$c40|3S9u6NZ2L~c!_tgo~X{pOmtera`N>mQu=a!Ql}%({l}e4|&*)m$PWUQUTZ z+6PTJ4B=Gp{et+&khjgYg0A`&x%(ReDwAQR7eAaZB2;Oz0(SCWA(m`v&1rSkIj;Q+ zs|yp)6tExU@lwjeeB3SO3A;>pZ=bC;?4<*Fno?$0^Ls-IYuGzA21fZYQyr5VmL$$Z#c3)wP$LVt(sl{5=f!u(kr3)c zmDV^nX^*N%skK)UK@<=F)feB5yjT%`vLr_OR>^Vuv(o^|Iavyhyb--2Os-+P6zy;( zb7B9vH}W@Quz+9z69IGP1EN_>1_Te&Bq_k@FuDlPy)a~>GZ|fn$D-?;_u#xCs~^H{ z7s$H;IUUyM{cK2OjshK^u~#}YE4%`MQzA|d2x|a|5PZ|Ez@mH=pIf;jmMi$U3T*e; zGhx!*{se!{H$WL5Pntg(9~_w7+$CPHkYO)w+D*)jd^IM1cSp{t-J_jtbOhFS9984O z5?Jl)-mIv_=3@EQ+Ts-PHp$*l9fI5l(x8-3hj`Ea*=p?$`BlFQ!qLUh6@+dHKk zIv1m~iK(H!JbBLj7dWxLc9TN9r-p}SahXrS2&MszPN+X{G<;n5fJKyk%Ff5xEWxDc zR0fr+MpjL)UQ=4;OPd>ATHH~h#syuW$VYU_MOUwSHY=#-sytW#Rva6FPX+zx$B^7gKa4lL~;Qsp;&-b+Y;TH$#&+L)P)hD5d6{ zOJmykej)4~e2MR7=z}xi@b8X@yyfNHmuUh?mD*26dk zmP2VebNjRM{^GK3jl)|M#zlj~h80=vjuMXJnz9V&vPpuoP#fv$Hc@(^7kdP`p1?6HD3IY!W+HR7x8Wsy=@n#H%7New zNL*SPv}~v1a;=yM_grf!IVp;Z1GUN05S0P5nP=@tTPk-jdX%~dMfFj&_wer!6 z9=8^^g>`hTkg!0qxT=3qt%P%$qN%)*N>dnzJeld)PtM|*`?hRmBW0w!4@#os(u?Cp zv{tp!Fx*4Pr=XeTQ(EGs(U}yVhxTMefBLVXsM!i9(+&rxGGCj5nF;U#1}AN`LPr!$ zcV{Eg1H~tNQP$E$&JM45XW7f;6kfw-`p)Lv{N@}V;J}bI-GI5h&=5AdB(VK$E>OUT zD=Y|ZHb)LRrkfo3@_(heTI;$7ekMf;D8HVwy26IB7#~`x5KSQm^6(wqG^+^v3OH!b zzRPk1_rfrFy{6_qjUjapxNE=Bp=*;Yo~wwf=^Tr+E(`SBtrC?ATWc?l&Vkl3kdxq& z9^Yz^*O=!$t4@Wqda!QBYj}gIS6n8IdWS<&|R&zC9pi2njB3=cgB-!OIp2%YbLf1AY?u`6IkL|gi{5g zkP0WO)##cYtu#RZ&lZ#jm_m9HypLky^HiQ+3-B}ZY)JJQ;sB59Yt^<-#?SA%q=hI* z)clR~Y$ZECgWVjs6)A|n;Mj+plCYbRsN7cEJ07pVf-g^OqWYCGcJD6u=-c6ZlPyL{ z)Rg>avfyR@El;hBVaF?beTQ%Z9K}3*IEy}vuX4t4`|%u(O&aNOb>@Xr%_4H9mEP=k zG97Ffg4CUG8^YCAuzKJ$N6@U4(kx+699wm*zw2uPlF`!y>bVM6Uja?E>|jShr40en z;4kBeBMohI72U{2@012tiVe!0p^##wYG^;5I>Yl-!tV79Hh`t6QkQAR*1`le>cCN^ zNaJ-|LAqIKFs#D%5@l|FxcEBxx(Y*>pueS0&?G{c$jl2^2#c{mH7SrCDE%@S0 zRs|-pY=w>P8L75bgL$Upb7MvZJMe{HkxD{6moM*wdV71rN&`0$ZUEsOII(c!2V#;U zR?pQ@fZ_GNUMK+6Sa57nQpF3j$cG_sBho0L{dHT5?K4=D2s+G+5M((A#mjQKMZNPf zlReV*DMOZyQw=Ss*N6zW;%&Ta7pBNFgB^Q#qXJQBYa5R!+J)8=T&s=?j4zeY+S3~{ zQUm6v=-Z9|=EpZN&_?ig1l->9gyYPS=bj)J?Ou*f{^-_jmct;HY3ck^$;5B3!et~x zhKO=KMNoSU??E!Jem_O<_z3`x5}jp_MyYp-W~blsZU}G4c>72zdu#5C-Rg3ud*9Io zmz$aS++bO!&CYIjYB!)U;vun_4naXVQR`k8UahXTlo%y?lb$?nn5DS!eJO>*h(>XR z&#NiNZzg6McSyy?Wkq8*V4gV1uEtjnT9zV<^RNewRROK$H``D|Z{w}JYcg-Y6Pyh@ z@U#>j0DSmm;!j3V>P3Dt66WBO_m#QQ%2(d?%W;Z>+s~(>?Bp6$U$d&i+nt?e_iVzq zZXOszI;T6fSSo5XA``Hw(!r-2-1zuBxt9eS;&4?5`7aIzDv)`gDcbn^fT8!c1nUo` zW+D4xmqh?pQ#Zc7=UNR~x{ve=Uwt7F6D9l-opC!Mu_{LS>zJIekLyi@czs8#(eDpq zFc~Hvw~U-S290MPEXxagmd!(AbFu(U+$0^g=X*@}6lg-Bx=13rWWdq9PXyePwss_t z1ho#TKy7ksteG0#oK~79bcZ$WuD{_KTCYtW8}XQOxlGQT2^{$*if>-(!>e|*7y8e| z6_dPBIuUWz1Z)_%1iaUuoqJ4TVR)Aej2kTAr@k%d`#_ePF1!|dgKJe=VuFCAY|h|H`1R=V6}c-EM@al64`7Vg{MlJ=K>6)~5&gUF|Fuzt_o>6E*# zPmPF}cQN(X4{SZ_DNkF#02mF{x%dRR|@zc2EOI8A@ zM*Cj?_#qSB4&})NoKa36I*9Xp00$=?&kgCm5m?j~OtEFG$QGukE-K_G&egog6Fa_E zFcil%Mde9bK%gRf7x+HLugvWv8}v;|Y<&eZ*y+pE1uQt4#1n;1V`usVW=f zAjrND{*1MY<>9-U1<&Embsd(6wG}p%@5ZETe;4J5P&-;!ZUMzuND;6ny36Vv`8~p& z(KK3M(30r-b=DUe4K3LnR;$IgUQwux$m@VG7;6mtk1K#ush6qu;bC#lItTCMPCf>l zZyqmdSS9Fi()qr(3&xLm&A26NOHOfno+b%3~4!YL_s}6;FWZ zKSLwV32^~R|NmJ()9u*tnR*-!L>=l44tG!s(E}IP#37UTe_O zf_jcB7j*(c05&TJJsb`C^p41!w{B&J<{*W2YBrS)z3&WfZYf+kF118-HSckh>F5PrR3% z&6X$$D^y`GU#)b#lB~{z9Osb_``3yJj#L`>M_-#PK})>6x672#($@cNpD2CuaFXjK zABC^|ubpy!H^3s~7N2M*S`e;G@ByjQYc*`IvhNB}w*!wcF|1n?&>`O> z*QiABRN3zdVE9x~RK_@R5#o8&6&{2fdO>JDN}imwPW#R0fA;`%xyXFlP>yjSNJc6G z;OxT*W6saG(R=dsQZjeE*tZ4N#)lB1;qy}*zNk9-wDC$BrtUTn zQLkh3-#rMV>&4Y`<=kpB{_$DxP2Ug2w?x|cNo%{F3g&reoRU^}rhIgCP=PKYcnFG%>@x~b!KpEQFW zbSnJghu{TnvRMc7A>a}Z{Pc-cPDP&#NvSY*L35V{$U3`jO3JBCF zoOhHK_;K|HiuOB`xs)uA>7KjAGtGPBe8m7xMKjLsb#O`|q*Eq0xpI8%+7bo>!+C1P z)3zt5lxQhYc?QLE0TFZd&Is*RW7DUcFW?C1%JrLv^VNBn)a3an@~F`DrI0pNH1za(&Bn7@@%$ z(V08cEm1{(P2x$_HsOTlB}<{>%5gu#{9wui5k&%}t|AWTxaEFBKPtx6#+N`S&!z~Y7-pG>Tm8HV?P zi1YmPhDMP{f6&+CsDjGfAQ+WkMv%CeAFmA4Y&=1xzCcA4oqJN)DCY`9wFb@0a4(Jv zr$Qw0D#$Lc4txr4easu!i~ZD@1LK|vJJ#8y4T+aAY04Un5_+Xm09PwB~dJ9Mi@58p|GFH8L=4zK-X)< zy~eR(o=f^eq(hmcvh0FtKOn0$C|2b!7W)MYv3veb?wQ#-bZP;Mecu_m9j5zv>-u{d zaF=wFykWb;V(5dk?`i9Tq=ycI(?qh{5K4A6#qI(XN8E1n9pBs8I_fZ=%%D>WP6xOG zB{UH6^O{e_6jPy~+**#w`kg$SdP{@(a{7ZeZ9QM$^;(puj-DqLiC{WY{$k9J>uDr5 zI-osfNdq3OFvAoa z&fl$xXe|Fz%IU1^>H0c1FlQ4%G;&=7dEwhMF7+{%r<*3SG7doqdtxX7wmfIUbIXlO zz7|FBSk}+9q+hihm{JlU9jU-7TKzGFz92&zilf*jnR|(YvM>Y|3zh1gEXkcgC#9p= zB`UQV{G!Wq?{SA4gw#_qXH(aEuRX4FOPV^LKYc58h-j?-Ozauj6+^*88dRn1b#_oI z{h$TgvQkhDCpDsmK-hn-fM`vcRsR#ko714kK`u*I&Hwt#s>bN}N4wPRfQlWL4rOtWrFxJ1)$O31`}En4PNDb^ZN(NYHFDz%wMK9mS$v`DL1 z&z3gXK?W!IZ(Je`J+)uQ8_(ps&sp-i zXqUXcX3NF%kEAlV=l@Th(_$!8wBWmk$p;IETMoW=akOB=o{V`LH2JpRlKx^N5_SLH zalo5j(^FiFwFtNGy$ub!ICcmxl3C3Ez3;#&C4?y3J4vXJ^!g&dYN3s&4T0lMuFm8+ zX|MQW->XU#fEaYVvMYgYEQ{D$ekgNjtlnyLr<_XCJKfM7FDKqutFU}8bH<27;x__- z7oFe`9Hc)T%(kKkMk~H)D_PK*VYLB+q7F{r*v@(_|q5;r@j~Fo zh;vS}Rl@r9wF>q`mM5^4%rq5W)*0~)S>jUoo)g=^L$v9z8{3(c1tis<;fjsEUjR?FY)Jq!Iw^R?#_3(M-A)l~E-soqD_Cuj&KX zJV_2?d!+1*8ufB8(BpaiDA?RZv-a1M_**MxYRQBhtTwe$Z+IBAiq5q+CJRCw)5*F96sS-;zZxt# zucDnPRpzsNAgk20s3EzIfM>mZ%k>yMjWCBKmL=Ly8Jp_B-Un&qcU8F zoNJw$H>7D6^FnMBB-+VXYXoVeVR{^pfMiQa$4e6RvE4-GV)t8@i7Ihf;x_OIiH#sh z3yectwpP5$oSd7smVZZVD|tMd8Lmc!BIc0+a0T3Hf83enu?na+aBToO&Ec)$H=*vE z=jkwfc*dKO>4Y}})pl#sDt5hWIw0lO zLI5onGf?(AFvb+&Tjq_tt-G-Vp;xW*Y4EWGti$VQpNQl{Qk@P9;sX4hl@@pB_0?J>BBQ=yWrx*`1TQGo3SZnuq_c7%8 zA^EP-$zaX87U97b)25=?gj%(eEhl3~%$)vQeJP$1#$IMypO^z+Dj2>(PWXy{FPc%*>Yh=NX)=wg&;!}EnaS|(b(JYj& zxHZmrz3XfFF%qO`qp1l5WSTLw+ak#+Z${rPDSp4nMZh$vF9;QUtVQYmLIQFu_#)!; z(^iLCduSTi6>T#JTvB?1o#I)@X;%BcV`fcMW#l{o>Xfg7sx9TOqsrWv47EgXsdzSt zCW~UkiD%kPl;d;cSe0y>SSak%5u_C@Yj>OAj1T^e^2`vI`5$*@n1O}PkQv8+3lM z9^eZ@LRCUJt8avl5~;25=s7lnhu?^rbY7`GKy^J*27AWdBhF`Ija5?L1v{> zEq+e{&AbB-NKR6}K+;udiM^r25 zX;4p4UFh0$|JW0xRvyFb+lgf;JL)Bg0kL1!Svm@ZC{KOSQv~Ef|CH&0Unbp)B-S2j|~;4 zgjKH0)+$UrxBtW=aqf&7kH4)>tyqM!JqtiK1C=2e+^}tmK_;eGUpp!=f97a$hev|q z`BzUbJM?ecaNTV@kmA)c7cyb|a3n%U>F4G5BX_S#LAwUtx3G|#+;=Fd>2Dc6O*mRM zK=nRrE%84BYkXyLiYd}{KXJ&<;vqTP;Hioh%^dQF9aeQw`(0nl$SFz`+yK1NL+1sh zUrT-!cD1%Jg9Jhu9R2*PUT;w~>m(jIxtf$`*TvfQr1!1>*w7Lwx|gU!p#RET&%0xK zs`+=rb^90dq>I3AF^#mwx*87`(Dy1up9AV#MSCB=@aVeT>lYowX|ghqL)iuJt((^` zu9|FSeFQ4w#+uilq_uyR7ef6DgTSN@es%->Oj8?sxfHKxH5F;d+M*o7e%UB@%5w#4 zRe~7(_lfe>_4gN<*2|*gjW8Mp4DuKm3xGWh;E>RkV$4VDj6A2%dhg4Z}x&(TQn09_BV#$K*Ot{b$!%PKtCxw0c5$>$#0p*xvymO1wdZo7w zryI*f!qLnP9xyWR=vqsFn{rxmW+p^^=;2m+e>QoxnoRhvgI%05$-PAAd-cJ`89)tu zcrG0fVnF}w^c`kJWCr`!;(+&1+gf>@4= zliRxi2ZA1*YId%PV?RDBYI@=HHr`W*!Tq7U|17dJc{jXUjHC&4u`K16?rqQLlBR&H z$0QjlSsJ^^v-7x!% zR&#$O4BQj#-cxMoKHRxWN#ezh)7+L=MkwpRb>3={Gb}k+-fJp7h{vizBU4QV#}D>01-583kD!Hosatmjuc7?dtgmHGCWqOv~k6o&rrLA zws6Gb02&3HE;psHnMTO?wsS<|Z00!_Y~jUsELvzdjw3BhfH+ZsZ$cV~Rzunm5rXRt}?OgPvBxnLf)g<5| zE)9D$4jjzbhvt5rVtwX{63-t&LBcr5M(I$fcP~0+l-ndL~PhiLXYp6lMt46Oql_X&ioV^3OG*?#9d9R>xizOiyeiu$jg^8n4;GYC4Q zFL)6iQw50aA_|jWo2o6swiv4Y-=4?=)(4v$w`n*oP=&hDs4dJ8jTC-;bAzx~J5v|N zqkL%3Id{!(DTJ@vsQ#Skhxhd&DXs*qgfVR5R;L}kkvLCEf;42}%YMl8P_fK`6llsf?`{Lbi*~!z!w*KFjsT+TGInpi@ zR~nRRYs5mn>11lTB$6B948g_pZ zFBMqcc_nhM;CKd!^sLgXzjLNsMEj&9YlFLTSplJ^sS*D6L`|j%N!6!3K**pft%~_L zup1UBNJ4U-s+=K8pj}1G8u^LIm>&l6DckCR+YA~(!nu68bQ@S~J0PX*X__T-$pH|I zuaA?jD08IflcqyHgh`}uxYXQkY!0Cbmg+uU^~;HbwKB9FG6XyV(1hq%1vVb>`RHOA z^5&Ozc)_e7hIOZDOaWlgq0EPP$U)?Fd)5$JU3Du68(!>T6Oiv`eL3zjDAWhlPd*oy za|k~(`XJ4Vq=Ix2@PD7p5n9UzHmN*iqeLdj5XD*rmzLD%eVA<{>~W(D4P>bdw0g21 z!h$&1d$q)-Mu-WDDWu1W4}VZX452t+c7D zDr2R=3xx&!Mp!3I!6>kZVfA*E1Lg1@lcu*Qe<&9h)#8GJhJuS<~~~U7epey;K;8$g2rHg2DI+sxfOQL7ux%EG9pF zF>B1uduzY6&EmiuV(CDYj2M4@Ee(2HWnRy@h38jQ-UOmi`tYv!1Mt-9LEL^iaghCb zKc54W*)x@RLzGQad!|~;pPmp!cd~{Rc_)TvP#COPlV>R;s$@~31}3Fqf(b0=6^{0t zcB1ebEl{|PW3{sle6sANDZL1GoX;L->!@5Hwsg!jt>v0g`_|lD7Ra9B+R-lly;^f@ zmxF;D4bZ{{^{MscL#$AaEdi1H2jb^gOAlj?dlI;pnjShgqVO_v)(!!})`CFGf>MEl zLqY@O67w~Cd|XT!ugCzTJX}zd-4_B&bAUd~QSc}iE`QJh_GLd}^DoC+yi+qH*VG`Y zTnFuE1g<@2`2szu)8>bP=1*;mAfxyT2`KQ{lEHVTk@}@X0z`>$vlRPuBh|e9#pxDv zJ!XbnK{GVyD{Kuiepl#+>|$7;>=bez4b1S*z#I+u&`yEpWJOXY8bphAAC-t`v{p5h z^|-_Sfo1)#OKCWc#pIxQw&N?9@fn6TxnHjp+ft>75BrA0{LD^47e(}At#)|o zTTR~#A^h$HsP~qETm_z6j}2Rs6(+)R#b+$AT40mNY-Y5H0K4yrv>dxY;HwiljuNcIF|7 z6}{a<3wuIR01bk$;H2!#UO^ag1=S0e$j`=HR_0+TZ>8+a3T;RwIqBgS1i@}Ki&=c< z;uul>bk|UZiQbg#?j8Bqp&bFC@c0Qr#-T=mCW~b%Iagc3WIM8RnVs9jk);dgy-n2U zwYH0?Jbe75C=S4p4(?6p{9iko_&yZ=O;Tg1atca@5=ndSNZ{-$rZaSSSw!IRg;c!( z_)e@iST?)7{DA*tLhLubygttW9Q!i^Ga3>CcTun?HT`=U*pBWj?O<;H5a2nygS*K> z@LI88$|O?vO5pZaYdHts1*kmR&{t3tbG-@M!zP=)Uy(DKL8t>aAo;O z1Xl?8Cs`8(-(Cl6P#}+)5&Pl^u@;f!_O4+9a7>u?HmrGZQo7PyA*gk=v=gqa1a8IP zYooD8^|~urrWA!UC83dKOIz)OmY$K)pWk!soV=Wq6coPNTK8kKf!e7{DobaQ+{&`&L5pNCh5wa z7cKD~xs5~6^Kdt^GS6!KC|sBYVNqb5wK)b2kguD@3JK0g<* z82H#pX&DtsL#1ma5s=^hs^J4m#HXgCTmK&rF-e(p&p1R0l9382|J@A>>p0Mt8JTljbHAxTs zMoh)tY9U{>%pvu?xqmQ1dt+Dy-C?d9;tmXcwh+jnX2mv3iT4rhb75(?xSiT@H#WbcBP z(9G;=@XR-N%TX5C>i7yMaaZ1*hlItvvqxH$Thpz5u2>fEkrrN$H3`=WG_q)Gu2gvBq&fHYV!rDdf3-+(l^#`xEMj3dj2kD#EOcdF{SLHzD=Wvyki} zoAM?BLY-pL!KA}*2JRXM^jyy~B_Sq*Ai~eSy4FCI8sHz0wJzXDb^(1?59w3FatRzl zL)!k2v!1fveqgbUQgwC+D0a1nMt|vRt5OJ)dYrpg+-!6+K>uw1i($Uv)bn(H3aC+4 zy>~V=)_gumLKQTpaM&cUj4wYtLy4Zvt*Ew8o!M6nMXv4h$kPuIAt&Yf9}hDt!*nj> zX7RbZhL@jqk6z!aSAKLWQ%_v+h!rk@EZg~?0!S}m0thwC^H|n1in`V-MU1(wYUn7# zUSlMUzoJ(_)_Q@8V3l*?q$NL#gddi^UKWE`V_MhYy8&yQ(l z|3a76~AhgB8Kh;4q1AF~mNZN||CftK3!M0Co8d`kaUs0rCmt zu6fe`x4Pl1Z=G9KA_cs2Rxbe6!2>U^i@`R>>0PiE=wXM;7ayp5!keLJ_UsiWzcteR z!~o$Y0bS|41!`~e^GEZiLXTN+od=UeU3mqnX#Zqo5J1jJ&yP>6wt=V&xVu=Pk_Yp1 zD%)v$%eko7FekPoGcxr>7x%O4M5qeKVI`66IBy=v{R5;&oNOY$fyYe{K^oP7fPL4T zvHU{1iq88Pvh)1XLCNoEUn-(NqU4PtE&s*du*NF-s%hXI>bfy9iHp?Q%gGO4q^vGa zCjJeQQcbsK&tKn#3M6!r#%Xa8e2sZ^uVfIT_riqX?uqMcWKGmtjo$+@cCR>qhPSN` zkuFqQEDj9&6VWXcXByoCRw5+W(gGK61=M+FN~{JKiX7n2bp2|EJye`eD%oYc=Y@dJ z=^a6&>L#xQNnE&J;*9^P35gw(9vdTWEz)9g*zwb6&IMH6Kv;c^)Wn|?v|*kNi}h20 z+G*keiz+d|P0*>pdFK03!xNK^PC91U#1d~C2a2b62%(rLB00)!nfdb!k0S@X_-*QrjB6-0aO?ewWQ-maC<9Fa zbm_|(vYzVYK)HxCz55lUy=$wy(*Xv$iz?=+rHC2bJW#igw%E@fdhNBqrksG*ipNdD z=rWRlssT=V<|LW;KByKB{PrSdXr@;EGjnO!9fb^gI{9kK@h39wx@}EY{k>f$OY2d5 zl>;Ab(DH!1K%WyB_`t_i*&alAfb8@`7uA#MJH$E!TP(s~i^Uvg}U3(%@V6Cx7K z-mj~vQTF4uvkvJrNVYTed+r-wr=ifryOtTfU@;ng<$#`c0krFaVRq$E#Hq8SkHxKt zwmaR&ZheCvKVuF`k-M0GW)sKr)QVj#aV2J@IY(w|kwVLp!cLaIiqPxT#YB29e8p%^ z&C2`~hpv|zzyy84{kE{r*eUPVak{58Yc9~HJ&#edqM>>d7riK*8Ja({y`J!lqLCU*HS{yb3iWY!W@#voXbT~2* za|3r=i24Ui__MrD8)NJA(}Un3U#A`+9)mTMY6>q*Nm_g4)4p#CF&6dWJP41>KspOW z_u`?&ZI~Q-p)&kzjtAOmKyI>XEh;cUtxQ`o?ly143k;E5@1knFgvQQyCi(-W5}6t` zB{f_k*K=4fN-;%6NOI&oE4GSR&owA~*7#s1k@)F)GTo{wEFpM~jW3bMsE}}8(tK-@ zgI|OJj0$Alnr76x>Zm0fs|5J`W4X!`$Q-G?5l*>4;mm?wrWTLmi}*6hmjNOp4qL6>@pty(2d7XwMUaoe^Z?P^0{^?I7d%iQ)mEB9Q*;JI52Tcso|3I2 zX}V}JJj%H6CY?@G+4vG3*F7k?+rp43i;f^w0w&q$HTtn(#UP5Wi)keKvS~GM(Bta_ zelWT?Uk1&BZz>#ER2O+d)+>&~UBn(j1;j;$emrY$E1U|KPvC@j+QceY5~p^LKNUXa zY>O$By^V2r8q*B~6Mz(lE>w160S?94S{)qx+WZX(z>V+=m>oF{N#?2J&KaDD%(>+r zRSdj0+*T$p*IxE0GPE;%^c=-2#b$^`7Ue0ux2qO~_K)^oF_X&!8} znDR;Bm4~2rg|A3$(>HSk5>+h4Ist z0!E0$Ic-wQC`kXn?RIZ{7INdFPl@q{rB=ry5QD|L6g2GO{O({NHKQb@=YBA?8icLp z(WL^KhXqe$X}s+6L!Izc1`j z;FXA7yMCuotP@THGmsr4pSX~MjJ)?FZR4lvyi$cPS&nz0RpIqz?n64ymq`z}0x7*U zB#s&eo)}k4T>p!^7BI3>*(I-yn}ZDUFK=g4FAtlT-ij5(E5#eKc2_K!W#JVEFd&4d zKo7n}Y1`1f>W;uBNSI@e^a@{hB{#6-*V;BlZ0_HVJHPNkH2ChHRDhuCxrp#}sj#h^ zbW~K>d)XFs8bGte&b&o+u756_J%+UB_6%Vc(8B^@kf>t4`9Z^WAU)0*ytDX|`GVDO zo*D{)>&Bc-0Ox$CReb5EmD3VYJMg66nzXL zxRr61L_Od+Vwh)`z&AtDJs=tgsX1a}WHGP1H(c^>!x}iQHtJ|HwHJqu~%6MOrL=u}ne zzfI;LC(!>iw&}bR2|H&OeMx_OwwTWP-WfF9#B8}Int1HuhTbN-T5yGq`tY{pexb;= zEgH;}I2XGpqA8I|6MA%;{fFhF;17lh!(k4ed(;`ed_B-Y?l>KcX1G{t5kY6Q`ZLYm z4RARWr5txn{{J*rKx_2(0hZwW7o6%Odvx>uHitQS^0)Sjm8y>Z&Zo^iWNWWu(Gm3f zRibPcBh+=CW9CCKVH&iaQ6|EDgsM~BEiLHkgvy{3!}5a( zK@XaoX0`XdL^OHWuF`O|S>Zp-X#t*v9=#p@bRK4~k%t6I_M1`5I8MJP0hk{ArgTSO zkci?M@FYR0sM5T))CmS^T6GMr|!^s{FccO-d9Kc!u zKaS(LbYGSX3p}b|m+u{*FWdPmvjB69FA(I~uc6@#5twL9g zVD)W~`g_;ggMYyH>c$%_gW5WW_r}_B8i2*Q95t>R>9<%Z7?<7yZKA0*lL5iCJM~KP z4oYUKYw|o9KRVtqD((9IQpqu!mG~!&m`%S!?EX&)Rx7)|cBkfsOSR&ug-kHgmuaFe zEDX#4#EtEMD>T zzRsy)3sedveY!3!^q<`ny{4fYm#ntxuup<;x?38l8~WO4hpY>l;bIjNK@HGITrQk@ z(^T`1EfiWOC8N*k%QvsTaGeA$hqWHFWNQeak24~ild?1ak9Kz9qk@o2JiP z$=*gYdAqb!gU?X5T|OpD3xY2KTl;&?ByxME`a_+TdN zQc>vYCD0bSQa7mK)phlEvV_bAvZ?cE6Mc-@fkb<+xu-_lk+jg`a=Pq6lJ~ z0mzndqC7v^U>EHJ@Ysq15Pn!#4+ps<9#&K=Idvc8GsFXr zJO~{+yp+jsScs~e;r2|SO*phEoP_Ne7GBZ|1N`Wb=pzE+Lr)3!IQi`yKT;`6@QXqP1f8`lo61iCqdjo?7ke2PcS`f|CRE zJ1jjSSh~8TVPF|&TXHVb#;5}`FFX=&KIL7VrdtOlZabJfZo1s&{4i~5sKo)ZAwWkX zWG{dU`xYIml|i$8xp4H=EnoE35r(?;>eoP(RIKLmi;^U28r^u@^DXfJ^;SGzLe{A- z*&vc>NY`ov7aA_gJuRAIr!EZ5Nv#wIomJ5)oOYC4%M}VAY^JI&b?A4(MNP|>sWA|X^y$8$)}-_hpQZCWL@cUdY{-IDC9+1*?mKaMZ^?2md&vWQMnU3Ch%0B8?Fp{(~HYu5|z`#zgzB zN%S*jqI1pF-XfCu&w!U3l2H~I%VbLbjRmftZ}%1T_&(cD3jtr0KlRvrtP%*rZ<@Pf z@~NFa^P5$e*!si8(kL3>i4fb)NQskzkn47TwW@=1`d;)U6@fPJL|BTRmzEr!rw$G) z#~!9pl^oRbi>s|=TOa8Gql;39nBh?6gQgkCMtz&@kQnLvC0bb z-Ssv~(Az`Wn5nKH#5HN3lDacrqn;Z+O*9nmxf9U>Nww~5+dsgiYShv)K+?VCq+xd& zf67zW)`@)x-I^aAu3AOYo@|kHT^x&X{^Lp4$9x4x1n>{%ONv8D@gj=a6g4(HS4kN{ zy>D>Ll<7}y68m=%jWB@mZ7hX=NDwuyky_BGIQ9o{vY(OnQw$Ry&)nQ~1n##G=enUz zVo%(jJ9`qOBmN2FXx;sc)L1C-hRaMeK$n4IkY-}ocR2ZM9R8`|#xEx-_XNJ`|I|9* zuff9XpGqA;-?4!~OjRDh?uH)lC265qzmKWu0K$|x3^^V@It)2oAco1DhY`&_<4*^x zgf0-=o0&S9Q?GA&!L_!+&5sw!>IQ*<8}04|!O!xbTwc>rE9!0rjIf+G2WU*M(;6tm z=uIxZG;52XbA}Nbq`BIb-2aiudS%~AJ6hp!kReM$otikSKWhHNh($X+jr&7D=XINn z2TkCD=Y`XSDwaS_HCEl_z@AI3PMo-zhDrWJ`cHHWUGe*gmUZ_D^!sj=5rKMv9TWs8;%CR=Os5T|A|!p z9zBGqwZiufJ0QXtRJPH0W(lBM2wt9mxX24h|y;syQk+KVea`Tai+zih@}aKWjvX=nl9Ps#-Yqww{P* zKj&90!q_Q2mL*Am>Y0T2y9p?RVTyZwQHWl&!I{m+3QHgT2nRRawodd=3b)Ra!cyy^ zUY+R%5&}{zhI}x^NwHMruv!>9=M`fkA-mZJYBX~LVFHL!LME1FVLFTH^bblFamcUz zxa(-$6DI2Tvq3S@N8+npzc5qz0%Bt)unVNiF%a<_P(=}E_IrmqmOm(?KjOL|Wa^x~ zEu!#)1{tkKCL*I^r3g;A%dP-elG={E66uX8aUREiwBYAN_tSTj=up%H#GvAhsK`j0 z=N7z!xT+*wmIv!J%vxAkyf2+%oTbFi8s_Km5k8 z^y&A?yPbZ}QPKKINC{z|ApOtN%ziy}(79Dw2pgm8o5wvFEPqT-9`w4^YF(?vVxstL z__Z5YYdfwLPlKBm#mUIE(Xs49>SJJ~jB8ZE7`W#aLbA&{eE;^lq5qj|#vWH$ljy;E z^Y>kJ$##eYUb@rb9NKb6`rbqpzEkzc$y(jL4Zm|=%vE({g>clkkSU8gcnV<^_TlE6 zkFu5rZ6t*s7!jyv-S1_P2G_Xi4IfOsdQrA4HG3J9Af$=_MLw|h>0WOtr@F!{D1l-Z zFrTb6HS7JGk-N~TMW$Iyb3<5*|KDzfU2FU}AFSz118q2^;6WG>f~YT70n1$vrH+TO z3r2CiiyajEuJ9b&dz=O+dt!G!5I$Sn;1i={j5rGUt*iR10alfznjL2}nByyz1WC(j zz$(z!BLXh`#Ue6{VgO<(iKK^er5>%W@Y)ZQ1W+w*P-=6XB%ALpexM5WNIPEx0QTH_ z1hQhLlLhe%65T)57T~^Cpi8eq-C$}=+;F8%&a(k0kkOeqnE&J zPyrS2d8r8ed>d$N4qTIu7w*>P>N`8hyu#;6je4j%7or36(eCgUJrwqwNH5sb>d7o` z_W73@6yzrRt+_4_MbpS?){TEoQMb&}08J&GmhRnka@)>{KA-mcNf1aba_L?Db5+GS z(E{US>Ox0lr%%!K-{zcE%zlgud-F+D`kU8nKZnGqGG{e? zGT+~Z2fCU+4lceF$8h9;y5F|-dUMqSzEM2X za5qcz#%IU(Dmlkd`y$bcFvrMoxD@u}WtK^aoOW`Fh$bt(H>Po?&ZtNu;Ggi3=x!;D zO@+J-sh4}`4iiAzUFr5J?jN^vzBD{+Nm^)`bw*WU>ndw;NuPb@t~?tBF~a5WDV&k` zo-bK(w-VORyH&wdxF4UwbjNZrl%RrcO;TpBINpI`$yxw)WJN5{2Gc%tG1A6S*o)gQ zH6M{Fph;b2oK+H}4uv|H4MV!?tbXuNFMrr;u@06Kca-z~E`V$tHi1EV^6yvxBc#tB z#vw%E*$|5|4zjekrm|gZ717c8bdk0@BjtsHy)A}oT;Yxl1fg1FxQcN+9bDt6jO<{y zQBD|F`P2{#w)R-#*Xnyj0hn*Rs~vZ^qemOwi9={CFW{*;rCtbg*dZ09Sbq~T7gNQX zL|YUG(!cf?o!6$(&z}D)H@f&HL|P~#YmC6NkJg+D2Pj7|@GJbP$$RZ5$?nJw4f+h{{;6JLjk&$yUpr_dcz1#{pcW~)qdj)> z7A)@5DtsZ-)_bO=%EF>qnrbE9LIOwxl7MyqK1LSO2!OrAS8xP*_{A@V3jW71lQ15Pwn_~ zRf~gFA?NXsJqV@kN!>hCZoM%tR38F|#VtNvAX>K5Z>z6VF#6SdtgWNba8NYofO85` zZmn#I`5$=}Hf5$Pa5}uBJl0zSOa|+=#h1~xb4m6hu&(VX`Rp7F0X1X%{y^%#dqNx@ zKSuZ9uaI2)NYfMpNX{0`NGkx`6VqQR<_KD@LZIqFuV)cXzrp#>e5 zdqR*o9j2Z6x0e9RAoUeZ>um>wzLK~sqKlR4kA{(ASILLaF6!1{|chs%GT^O zOvS|jQ#yJxwNq8lRt`_VTcF+TOPeSZREtvtdYE2A0tlc4;n~o7fML{b8q2yZ!Nd`S};2Y%&N$HgD`@MXeO5E zY5~~NR7QOcMkdwoX9YXnXZ_3@RgjUQT|K50kBf?*kM9UL)~(+V)Ct5g;|mx77gKWJ zP{|v^Qq#Jh`cVB5Zi3P2|FtY{`Arp%j=0{!$ju$Np*>air&R%r zsZ2#cPkYuE=u`bzU7o1F-X;4@ZgpQ5 zE(DHb)#(;2x5?1xwFpj+PDf!;QRw&lC%q3ksaOjAVY$Y6Hg*DsyDWC=!q@#x(5snq zhdMuq#GOo$^A0XiMs~eJH!P9MN>QjbG^{@PZk#NGL&Ir5<#F524@+U1W4V$)d}KhO zJpg)#6X1FPrQz9VO7UWUjB40UUs}E-3_N8V=`gIR|AZ!sR-_M@gLM z|CiWR?9!UVszvODr?+oA-Udpct0FIGI1pz4o|wsH#%j4ZoO|A$oE)VJ@Y##aE8I z$)t=LOm+SAjn!N2B5d-!!Q69!nkCIZ$Bx0B)ap(6v$H3jHN`9UP-w`N`&MoaZlgB( z>H1sc+0ZtCw2KK-I->`g0vCozDLoXW>~OEyLoBezX6^6>I2W}duH~3_)G0z)FQbfp zbq`PGx>b{QXRsul_DB#Ve3_CXZc&_BGPDVKXGf$0@P^OMh6nbe*1d==Cs{~ z&gFK7|LDs*FSVJ-P6^H>IY;HxT`>f7_ACgDQgH_>IQZ7+Freov`tSNBFFn z)j0HXtbbBoRjD;>&fkU_=PLvuoVpzzDM6_YjMstn*h{UX@3ZULHSniz!;wAJTK1kV zpsKnX_k<_Gnn!NqMB4^}-ZdU;9+C&D(Y7qNQ;n2^2*O1PXv&1Y(m+A;0$DJ`jhB?U z?YtxyUd;Ek+OvwWK{hmjqdXSr@$kgWPwD|Oa;*_d>17FU^+w}TBK1nM9{zluY){fl z(yr~7g>#G&+>Nrc%}r1U&$k&5gA5j;5N1oW0&>%#JC_IRk~wWEei}1!6!8O@2$UOj z*LMU094!G;?@Q3nH3U&)*(qL2nm?on>|OO4s6O2-bhBAWt<9eQR(@7+E%A5tW#W`v z5$h-3J?5G*d?r~}kwOz_I#`PIo1OQ?icVd1p;zM&awx27DQat-7y4MWF)7SNcHtn2 zsjGQHDy~AyUkHG6?y1;J;?Vzx8$2DIL-E4%Hif)L24Qygz1^rLQLYE>BKNKwNIUs) z4*Cp)5!gd|xiw1QPe&JHi5k@@4bL9x@fWG*tX0lC9tvM0%rr&TW`QdS*@u4P>I5{r z)0%{tHg0o>+Vf;2;F7lxdHJuxJL>K#=j=1W!<+eN{O9Iv zm<6k)1NjD>G5|P0$G=YMb~-gQR)24g%>p)m?cg;vKNC!i+fp!bt|ZcKBUu}@cjprJ z@{#3C?;1VCEz_%^s&47e(RKGzul7>??DA-R0O zL<>dM1pA4E;Qv~u)+H(9&;9HU8SbW5bAQ73^;(KzYOUR3IbWk`vY6aw1^iHLTHB(h z;R=S@ykr-HE z7XgMq-nz_lM@qx%uQzg1&M+BU4gw=Y^41&E(-~27WF(}_9&wn#c7%&G;liJo{_zc_{zf0{q-iCaOXQ;8I zd#A8JnOgut2B3E=xNeqItk@&M!G*+{A3v`Gpqi_eM(`>fNA1Yds?)YP^+BeIX4s1j zm4;=auT1OsQ8+R23oBgy~Sa-j?S>mZj-*9zBjP*Z` zeIkT6B~vSZ#gv%sQ}8TDIhfs4xC-5toiT^n6DLTrRd(SK+BYAnD64e|pg=*CFr`M^ za@0X>o41u$(Dwik?$!uknUxE7#vrN<$!fFTp~WQw?(RiiS{>&@PF#KMNi!8LQr^z# z7O`nXhP>W?d!Js_?d2JVBN$fXzUzEd|3meqnHQehci{}B>%m-3gcBw8CmGeEUFD22)Uh?x zR;bAdbJmow0V~`w5#;sq_3GI|K|2%6%My}j3c+H6J_);APX*k}?Kh%~?(n8LHFCxO z-h3`t=St%zh0$41e-`V}D|%eL@|anau+}SgyBmVT)iWnI+sKf(~k9fd#*;kw?ZJX1Hinul>wa69l z^@;=zz9@7zgf(t}YMIBoUpi1C`x}#sr=nj6j0<9t zFpPB%N-8}MItmKVgys<8^SWZ0$Yu04vEu>E+~QAjeJe{>uS82dP&E5;Ad0IdjF|{|uEmH7GDNj9kV6Y2aef zyLRt{j=7q(flF61c{{!#M);O!p-+g`C?xLQ6-bl63TJyDZc1W1y+tX?$~L;vPAoP& z6Vj$)YrVg>D?;QdjXh|q*ritD4F#!65KekWTJ(~+oL}(ezOD(!%RUulZJ8QNZ&Icg z3QjIIpl61^PHv|md-qx!ZSK#>fo)qEL_5*UtO8^KwzayP`$oU2ER`zc?&xJF?dOP2 zM;e+CjRoZvmkiwjuSvsy=m82qAnyZS5U7jx{CH@=An}M0?Sg4}clGVw&^!zmu(O!1 zpic~S%kxWaIvrup_t)~r6{045KST30iz}fmjedTv{T_mmOrSdpOIMb8IL+x>9h)v~ z)?1R)IHiur9DTnC(#MZ^c=HYI%YUR#+zGz~uO}n#mk`P)vG0r^P!T*^f%J5J8=yMv z)$uj4;yi*aixen0c-izWvefRsHvhY{4VJzhEH0eIi*JkX*?kLods~s?@6)gBM$yFh zCREyB=(3d~JTNG}jFm56IyEYJ?GF$1&Fk(q_NYX8NrEJ16ZK&kRP1qPxboH1FS(^3 zfpy&0fFOFI&NeeNbYZb^qicj{u`zP*g*rN5;LOYohY>4_kS9~TYHD9q zEM{r|jU&(wL+);lN!3-TKanU)PtV1Rj#Kf|)1HwDhgVqBA1kW`q5}$|Q;Uq?Q-PB( zyJ7h1czO{_YXOLId!uh?13ZZUxVlRF9fx6+-NS(L;Fm^_u*q_z8w{S|R{%Nhb>beO zK;Gt+ThhAQbrjZ<UJ{lDB+#8KDQe`O@T0YrgCDzVaa%o{<2n+T!b0K z;=2E^4xKG-;L<9_xt+s#cCIfZXysUYr*Kj!z(#S=pSGI#cbfxXc_D7A%GP!#4ATEE zuXhda+Gc764M8<;ybRBvn|+od_?dsRp~Wm@61M1Y$e0ssY*vQK20JiMVL>ihR3P@& zOCmQ;+Q+%-4_!-0t%t?z#uoG19(GIT1gXxDMC!63`Y<~Rv}M>kJ4B<; zV6_v|wh-88*JkXrJ8KCq?8g-UJk14cU)AlG&E`W^sDpHFo@%vV_=wi3JfhUfHkcUe zej1B4Xlp)ecU9$~gG{(n2VbJuZ~9B_Z#3o5jdz|^iZ5%50j)4{YyaHP?uTrnpo57| zDPra}Pb46%g-1m$6=)047`)YtnR*Xg_q0QA!~Iar6Ym|9L@wthAmB%~yG1vjkvRp5 zv1JgX31X#|fv0B%M#SZCl>s>E{=q3!?@^bfsmAg>i5>GtT2N5(v+5Bpik9E4rINR< z<-Xe+nP%^|h!EEXQsJbytFckvN5xMufF_*g4v5j&N?Mn$YgF;Ka5mKRD%>nMe4)LLZmGBpKy-ny z>kbNc_XW+P7Ex@5Gz7CB%b(aBYH(9)X0opOu~0Gba8Wg^Ep6~Sc67`LzB`Qli#C;Y zxnE8w9j}w^-*xH^r(@R{@NI1H7e=ZB#)kg%uv;=g)7X7qMwd~nba`EApzzI27E0G7 z?HfOw?Imzkk7tH;bW%038S-c zM5}(F9gqJ9Dk59S%uK9-nRkyon;P`5cl9s5eDP}Ur1U)nian*SY|dq2%15jqk5n>9U)=lOTQH&XNTo_Y-cP(QZjCF6ir=T0>8vK*oF9X}Rrqn7##zU(-_zTKDN^G^)J z`$U)b0WYp^HQFl%co%@1o>@Ou=4T`O>Q){bIiWGZdK`&AVC>9GsSNObQa1mDqdNPo+4bv z|Kuw3PP+h5uVjx(xOp!IGmuFTM(D{4kDVI!X1ZiAb_OoFVW$~OR{1^9#b?Ry@OWjM z#^Uiw?0&AjDNVf$0J}=HMzOKbO|$Y6U(^=GTrRt%n_M~KM4^Zt2^j>W#KiTtt8dy7 z)q_(aFnfT@nPFJkq|8>FNwag}GA!d6R@s0PE`&rdy1dtnF3w+!16_X3ySE%y(zWcC zR3i8CB{;Mm$^L^VRwJ>rx12mxYW~(Qt2hr%pDkw?ooY^4srQ)<%OSSRtGatbuhN|Q z-d_1lknCSzlF-Pd#lYvvNn1qapH!o0bJsOLXDJn0#HlB5YF>FS>FsVJ+Ugpa6)bCG zpLv)U`x%fVdv=;$v-!BpAL4BOo+tZrxVD)sbMfa+ta>3>DZ4m4Voj`-WgJkc%DE_U z&5hMG<1_}NYiJ^YZ0|QAAC#>op*TMFKIowa_m0(&?!M!F08NHzU-FvJ?KB5)=0^DG z@??|ph&yARAz%#7lQCk!f2av6&HVdsTj`@7?-dYf+*i!(v{M@_xeXuYDkYaZS?Ami zf}+xRzb*E&?;qg2(|8KDh}XKm|3F6Nd4Zu1f+!YP)DJjcxe3AM8yUXOgH}^a2hvh; zA+Q7TnzA^!R?wbW&&4-) z+v42;^I7{MN=8=8E#+CS2dG9>U|k7`%Ce<*R7K5GI$*gNvqq^SaGHQ*?8~~d;EE(* zLemYdBgeTSUre;r{^2QeQrTFYEY`ZUlFo3q9bFZ`p<6wOMiKV~>r(wC#2^<<&h3q3 z0<_qkuFqAQ%&?{m6Xh;XQTaw|YB6CRrqE6?!*|SelYYIzZ~a5Mw6|s1V2}DwE=8ln z!I1Dj?}qT|7~TkmJWGadrGaIDVSW<%vvW011!;X3rb4h`2-l_p4ywu_!`P8JdlvBV_EJEv9FZz3C}G zE38E8x&{a5r|rGt{*t&psHBfgywzgnjM*k>?_fy8-H}!oE|T*%^@OD^QvJmuD?bPl zI3nuBD;kyo=LxOXGaVKR1%m$rv`_*o$L@yLm!k#(v5lY|-6r84tQReB)&YhG+wM4Y z7Vo~a@$e^%`g?)i-4vHPMEx@zm9WOKscDfd;5Fa_H8ITG!*a%(?q2L)?ZHta+FDm@ z6~cn|Gy7cENGy17F#8->F(U{3GL)X5utMby+l`+^z@cmZLrk*y0@c4NFMabSQ%W$F zjmCM}U*FV-5Vy2f&JcEdIb!XFR1_R`6F;$A-wNit8||iT;oV}@e5+|B9LHYME!3dQ zK#J>!^7<4`Ej|9FYc*oNjt%FD)WPhF|#aw-O%hu^2kAtXa%2R7;sD>;Ie7O>bWwXC&;m*zY1G zyKk)xrX-XtCFg6IDPsAZ`y5H73RF%Ys3zQ=1p>?PNEQ|n=A&$(7=dp@TBTe5P70(q z@70(%j^tGLk2<7Gxt)x#gN?5kD-sWYxgph!2=q8ssN6GPvLqMC+%4gaEAo5Fd69A* zINr#c1Z%srv#P?yzE=ZffQc5ScDQsN4#le{yxPU4kU5RnG4pU(G_aNn#nh%eZ)I=! zJ;7N{_)mfPK>~QzJ<9qX4EbesI0kw6o6&#Wnko4a#HTlz8KoxxS@MmZBg7WWDYf^Y zdI(a-NJ)Ezd{qdHTtaUS-f2EBuD7!ox?nV>8l@NNOUM%Y(Ul|YLUm!fei1BT(gc}W z#52g7?5Gy`sZvTe;-M0*1M>!EU%4Qo>2_^Ll7-bpKSwY=e-;ceP-s7gUvlu^=@}Ed ziVd1gKDZpPhY^YRbv<_JuM!NTj#ip%W;jYkc0hoPixdv6r2f#wQdQ2CU@P;f=4SuA zHw_}{ND_al+!1OM19qnH1XDMF@>=dsRuAGx5%mQUVHlL2B#=!KtD2<%OveTPZfR~1 zWRRjllkexuR&jjkmU>14%_@r2Gf6r-@aEi+KheJ|6%O(9R6tdEONIGmIvd-m0v|wN z-%XsJt2#>ChLq)&^~vMWL8r}f#Zj!DHO&X)&M%@L#=C* zY!(^QlNmVV+vDj7F{rx^R!b?%0eXFXu%s9uK(R$Y$ z9k}i!<18_fqetS3=K#zBihSM z;<#tc?U2RL7&OBsd2l$Z!XZbI=MfuYZu!>dzjv}s=O^$e`De*@4I>;g2g=z8F?T#t z`xyeN%|ae%0=OTDsIO{1(Hx`w7npg6ox_{+NS&t@NrGK}GL=&S0LqfF8Fh8PnY23B7 zpfuNOma6hxCcV?|!SpWYGzd?)EQ^K_@vo(z9-}47zcrZ?1diCgxwa7fbX@P6#4m#6 zNJ62r!vK>-BW+919}Ab`0;}550z4}8b&$OgFhc#RAx`i6E0gE@o}Vj5H=<*Sh%_

7xD}9rhNf?;yAN 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 + + + + + + + + + + + + + diff --git a/bsp/stm32/stm32f429-st-disco/.settings/org.eclipse.core.runtime.prefs b/bsp/stm32/stm32f429-st-disco/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 0000000000..b36aae6fb2 --- /dev/null +++ b/bsp/stm32/stm32f429-st-disco/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,3 @@ +content-types/enabled=true +content-types/org.eclipse.cdt.core.asmSource/file-extensions=s +eclipse.preferences.version=1 diff --git a/bsp/stm32/stm32f429-st-disco/.settings/projcfg.ini b/bsp/stm32/stm32f429-st-disco/.settings/projcfg.ini new file mode 100644 index 0000000000..9ae064cb86 --- /dev/null +++ b/bsp/stm32/stm32f429-st-disco/.settings/projcfg.ini @@ -0,0 +1,9 @@ +#RT-Thread Studio Project Configuration +#Thu Aug 06 07:31:27 CST 2020 +qemu_supported_board=stm32f429-st-disco +mcu_name=STM32F429ZI +hardware_adapter=QEMU +selected_rtt_version=latest +mcu_base_nano_proj=true +project_base_bsp=true +cfg_version=v2.0 diff --git a/bsp/stm32/stm32f429-st-disco/.settings/stm32f429.DAPLink.Debug.rttlaunch b/bsp/stm32/stm32f429-st-disco/.settings/stm32f429.DAPLink.Debug.rttlaunch new file mode 100644 index 0000000000..28087044b2 --- /dev/null +++ b/bsp/stm32/stm32f429-st-disco/.settings/stm32f429.DAPLink.Debug.rttlaunch @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bsp/stm32/stm32f429-st-disco/.settings/stm32f429.JLink.Debug.rttlaunch b/bsp/stm32/stm32f429-st-disco/.settings/stm32f429.JLink.Debug.rttlaunch new file mode 100644 index 0000000000..5630a7d174 --- /dev/null +++ b/bsp/stm32/stm32f429-st-disco/.settings/stm32f429.JLink.Debug.rttlaunch @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bsp/stm32/stm32f429-st-disco/.settings/stm32f429.Qemu.Debug.rttlaunch b/bsp/stm32/stm32f429-st-disco/.settings/stm32f429.Qemu.Debug.rttlaunch new file mode 100644 index 0000000000..484ce87d65 --- /dev/null +++ b/bsp/stm32/stm32f429-st-disco/.settings/stm32f429.Qemu.Debug.rttlaunch @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bsp/stm32/stm32f429-st-disco/.settings/stm32f429.STLink.Debug.rttlaunch b/bsp/stm32/stm32f429-st-disco/.settings/stm32f429.STLink.Debug.rttlaunch new file mode 100644 index 0000000000..1cea70c74d --- /dev/null +++ b/bsp/stm32/stm32f429-st-disco/.settings/stm32f429.STLink.Debug.rttlaunch @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bsp/stm32/stm32f429-st-disco/board/Kconfig b/bsp/stm32/stm32f429-st-disco/board/Kconfig index 20b1a98ab3..a8b5bf80d6 100644 --- a/bsp/stm32/stm32f429-st-disco/board/Kconfig +++ b/bsp/stm32/stm32f429-st-disco/board/Kconfig @@ -7,7 +7,17 @@ config SOC_STM32F429ZI select RT_USING_USER_MAIN default y +menu "Onboard Peripheral Drivers" + + config BSP_USING_SDRAM + bool "Enable SDRAM" + select BSP_USING_FMC + default n + +endmenu + menu "On-chip Peripheral Drivers" + config BSP_USING_GPIO bool "Enable GPIO" select RT_USING_PIN @@ -15,8 +25,8 @@ menu "On-chip Peripheral Drivers" menuconfig BSP_USING_UART bool "Enable UART" - select RT_USING_SERIAL default y + select RT_USING_SERIAL if BSP_USING_UART config BSP_USING_UART1 bool "Enable UART1" @@ -26,15 +36,25 @@ menu "On-chip Peripheral Drivers" bool "Enable UART1 RX DMA" depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA default n + + config BSP_USING_UART2 + bool "Enable UART2" + default n + + config BSP_UART2_RX_USING_DMA + bool "Enable UART2 RX DMA" + depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA + default n + endif menuconfig BSP_USING_I2C1 bool "Enable I2C1 BUS (software simulation)" + default n select RT_USING_I2C select RT_USING_I2C_BITOPS select RT_USING_PIN - default n - if BSP_USING_I2C1 + if BSP_USING_I2C1 config BSP_I2C1_SCL_PIN int "I2C1 scl pin number" range 1 176 @@ -81,11 +101,18 @@ menu "On-chip Peripheral Drivers" select RT_USING_USB_DEVICE default n + config BSP_USING_LCD + bool "Enable LCD" + default n + config BSP_USING_LTDC bool "Enable LTDC" + select BSP_USING_SDRAM + select BSP_USING_LCD default n + source "../libraries/HAL_Drivers/Kconfig" - + endmenu menu "Board extended module Drivers" diff --git a/bsp/stm32/stm32f429-st-disco/board/SConscript b/bsp/stm32/stm32f429-st-disco/board/SConscript index ebaa566f5c..5034629509 100644 --- a/bsp/stm32/stm32f429-st-disco/board/SConscript +++ b/bsp/stm32/stm32f429-st-disco/board/SConscript @@ -17,16 +17,13 @@ if GetDepend(['BSP_USING_QSPI_FLASH']): if GetDepend(['PKG_USING_FAL']): src += ['ports/qspi_mnt.c'] - -if GetDepend(['BSP_USING_LCD_OTM8009A']): - src += ['ports/drv_otm8009a.c'] - + if GetDepend(['BSP_USING_TOUCH']): src += Glob('ports/touch/*.c') - + if GetDepend(['BSP_USING_SDCARD']): src += ['ports/drv_sdcard.c'] - + if GetDepend(['BSP_USING_QSPI']): src += ['ports/drv_qspi_flash.c'] diff --git a/bsp/stm32/stm32f429-st-disco/board/board.h b/bsp/stm32/stm32f429-st-disco/board/board.h index 47e439a260..69e3eb1fac 100644 --- a/bsp/stm32/stm32f429-st-disco/board/board.h +++ b/bsp/stm32/stm32f429-st-disco/board/board.h @@ -25,8 +25,8 @@ extern "C" { #define STM32_FLASH_SIZE (2048 * 1024) #define STM32_FLASH_END_ADDRESS ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE)) -#define STM32_SRAM_SIZE (256 - 64) -#define STM32_SRAM_END (0x20000000 + STM32_SRAM_SIZE * 1024) +#define STM32_SRAM_SIZE (256 - 64) +#define STM32_SRAM_END (0x20000000 + STM32_SRAM_SIZE * 1024) #if defined(__CC_ARM) || defined(__CLANG_ARM) extern int Image$$RW_IRAM1$$ZI$$Limit; diff --git a/bsp/stm32/stm32f429-st-disco/board/ports/lcd_port.h b/bsp/stm32/stm32f429-st-disco/board/ports/lcd_port.h new file mode 100644 index 0000000000..d8605bf613 --- /dev/null +++ b/bsp/stm32/stm32f429-st-disco/board/ports/lcd_port.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-08-08 bernard The first version for STM32F429 DISCO + */ + +#ifndef __LCD_PORT_H__ +#define __LCD_PORT_H__ + +/* 240 * 320 */ +#define LCD_WIDTH 240 +#define LCD_HEIGHT 320 +#define LCD_BITS_PER_PIXEL 16 +#define LCD_BUF_SIZE (LCD_WIDTH * LCD_HEIGHT * LCD_BITS_PER_PIXEL / 8) +#define LCD_PIXEL_FORMAT RTGRAPHIC_PIXEL_FORMAT_RGB565 + +#define LCD_HSYNC_WIDTH 2 +#define LCD_VSYNC_HEIGHT 2 +#define LCD_HBP 46 +#define LCD_VBP 23 +#define LCD_HFP 22 +#define LCD_VFP 22 + +#define LCD_BACKLIGHT_USING_GPIO +#define LCD_BL_GPIO_NUM GET_PIN(D, 7) +#define LCD_DISP_GPIO_NUM GET_PIN(D, 4) + +#endif /* __LCD_PORT_H__ */ diff --git a/bsp/stm32/stm32f429-st-disco/board/ports/sdram_port.h b/bsp/stm32/stm32f429-st-disco/board/ports/sdram_port.h new file mode 100644 index 0000000000..77c80f58ff --- /dev/null +++ b/bsp/stm32/stm32f429-st-disco/board/ports/sdram_port.h @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-08-08 bernard The first version for STM32F429 DISCO + */ + +#ifndef __SDRAM_PORT_H__ +#define __SDRAM_PORT_H__ + +/* parameters for sdram peripheral */ +/* Bank1 or Bank2 */ +#define SDRAM_TARGET_BANK 2 +/* stm32f4 Bank1:0XC0000000 Bank2:0XD0000000 */ +#define SDRAM_BANK_ADDR ((uint32_t)0XD0000000) +/* data width: 8, 16, 32 */ +#define SDRAM_DATA_WIDTH 16 +/* column bit numbers: 8, 9, 10, 11 */ +#define SDRAM_COLUMN_BITS 8 +/* row bit numbers: 11, 12, 13 */ +#define SDRAM_ROW_BITS 12 +/* cas latency clock number: 1, 2, 3 */ +#define SDRAM_CAS_LATENCY 3 +/* read pipe delay: 0, 1, 2 */ +#define SDRAM_RPIPE_DELAY 1 +/* clock divid: 2, 3 */ +#define SDCLOCK_PERIOD 2 +/* refresh rate counter */ +#define SDRAM_REFRESH_COUNT ((uint32_t)0x056A) +#define SDRAM_SIZE ((uint32_t)0x800000) + +/* Timing configuration for IS42S16400J */ +/* 90 MHz of SD clock frequency (180MHz/2) */ +/* TMRD: 2 Clock cycles */ +#define LOADTOACTIVEDELAY 2 +/* TXSR: 7x11.90ns */ +#define EXITSELFREFRESHDELAY 7 +/* TRAS: 4x11.90ns */ +#define SELFREFRESHTIME 4 +/* TRC: 7x11.90ns */ +#define ROWCYCLEDELAY 7 +/* TWR: 2 Clock cycles */ +#define WRITERECOVERYTIME 2 +/* TRP: 2x11.90ns */ +#define RPDELAY 2 +/* TRCD: 2x11.90ns */ +#define RCDDELAY 2 + +/* memory mode register */ +#define SDRAM_MODEREG_BURST_LENGTH_1 ((uint16_t)0x0000) +#define SDRAM_MODEREG_BURST_LENGTH_2 ((uint16_t)0x0001) +#define SDRAM_MODEREG_BURST_LENGTH_4 ((uint16_t)0x0002) +#define SDRAM_MODEREG_BURST_LENGTH_8 ((uint16_t)0x0004) +#define SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL ((uint16_t)0x0000) +#define SDRAM_MODEREG_BURST_TYPE_INTERLEAVED ((uint16_t)0x0008) +#define SDRAM_MODEREG_CAS_LATENCY_2 ((uint16_t)0x0020) +#define SDRAM_MODEREG_CAS_LATENCY_3 ((uint16_t)0x0030) +#define SDRAM_MODEREG_OPERATING_MODE_STANDARD ((uint16_t)0x0000) +#define SDRAM_MODEREG_WRITEBURST_MODE_PROGRAMMED ((uint16_t)0x0000) +#define SDRAM_MODEREG_WRITEBURST_MODE_SINGLE ((uint16_t)0x0200) + +#endif diff --git a/bsp/stm32/stm32f429-st-disco/rtconfig.h b/bsp/stm32/stm32f429-st-disco/rtconfig.h index 2837c2f767..b4710ef924 100644 --- a/bsp/stm32/stm32f429-st-disco/rtconfig.h +++ b/bsp/stm32/stm32f429-st-disco/rtconfig.h @@ -26,12 +26,13 @@ #define RT_USING_EVENT #define RT_USING_MAILBOX #define RT_USING_MESSAGEQUEUE +#define RT_USING_SIGNALS /* Memory Management */ #define RT_USING_MEMPOOL #define RT_USING_MEMHEAP -#define RT_USING_SMALL_MEM +#define RT_USING_MEMHEAP_AS_HEAP #define RT_USING_HEAP /* Kernel Device Object */ @@ -40,7 +41,7 @@ #define RT_USING_CONSOLE #define RT_CONSOLEBUF_SIZE 128 #define RT_CONSOLE_DEVICE_NAME "uart1" -#define RT_VER_NUM 0x40002 +#define RT_VER_NUM 0x40003 #define ARCH_ARM #define RT_USING_CPU_FFS #define ARCH_ARM_CORTEX_M @@ -69,6 +70,7 @@ #define FINSH_CMD_SIZE 80 #define FINSH_USING_MSH #define FINSH_USING_MSH_DEFAULT +#define FINSH_USING_MSH_ONLY #define FINSH_ARG_MAX 10 /* Device virtual file system */ @@ -97,6 +99,8 @@ /* POSIX layer and C standard library */ #define RT_USING_LIBC +#define RT_USING_PTHREADS +#define PTHREAD_NUM_MAX 8 #define RT_USING_POSIX /* Network */ @@ -158,6 +162,12 @@ /* samples: kernel and components samples */ + +/* Privated Packages of RealThread */ + + +/* Network Utilities */ + #define SOC_FAMILY_STM32 #define SOC_SERIES_STM32F4 @@ -165,11 +175,18 @@ #define SOC_STM32F429ZI +/* Onboard Peripheral Drivers */ + +#define BSP_USING_SDRAM + /* On-chip Peripheral Drivers */ #define BSP_USING_GPIO #define BSP_USING_UART #define BSP_USING_UART1 +#define BSP_USING_FMC +#define BSP_USING_LCD +#define BSP_USING_LTDC /* Board extended module Drivers */ From 5e92521e0d0e6f73cafe5fe8b5c2e7e0d852863e Mon Sep 17 00:00:00 2001 From: Meco <920369182@qq.com> Date: Mon, 10 Aug 2020 04:35:08 +0800 Subject: [PATCH 29/34] =?UTF-8?q?struct=20rt=5Fdevice=5Fops=20=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E4=BD=93=E5=A2=9E=E5=8A=A0=E5=AE=8F=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/rtdef.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/rtdef.h b/include/rtdef.h index 747643bb82..5543b80ab7 100644 --- a/include/rtdef.h +++ b/include/rtdef.h @@ -32,6 +32,7 @@ * 2019-01-27 Bernard change version number to v4.0.1 * 2019-05-17 Bernard change version number to v4.0.2 * 2019-12-20 Bernard change version number to v4.0.3 + * 2020-08-10 Meco Man add macro for struct rt_device_ops */ #ifndef __RT_DEF_H__ @@ -920,6 +921,8 @@ enum rt_device_class_type #define RT_DEVICE_CTRL_RTC_SET_ALARM 0x13 /**< set alarm */ typedef struct rt_device *rt_device_t; + +#ifdef RT_USING_DEVICE_OPS /** * operations set for device object */ @@ -933,6 +936,7 @@ struct rt_device_ops rt_size_t (*write) (rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size); rt_err_t (*control)(rt_device_t dev, int cmd, void *args); }; +#endif /** * WaitQueue structure From e548b77da07d7eb184de1464b1e259cd3b5a023f Mon Sep 17 00:00:00 2001 From: nongxiaoming Date: Tue, 11 Aug 2020 13:21:27 +0800 Subject: [PATCH 30/34] [bsp] stm32:fix the lcd driver for stm32f429 discovery board. --- bsp/stm32/stm32f429-st-disco/board/SConscript | 3 + bsp/stm32/stm32f429-st-disco/board/board.c | 17 +- .../stm32f429-st-disco/board/ports/ili9341.c | 313 ++++++++++++++++++ .../stm32f429-st-disco/board/ports/ili9341.h | 145 ++++++++ .../stm32f429-st-disco/board/ports/lcd_port.h | 10 +- 5 files changed, 476 insertions(+), 12 deletions(-) create mode 100644 bsp/stm32/stm32f429-st-disco/board/ports/ili9341.c create mode 100644 bsp/stm32/stm32f429-st-disco/board/ports/ili9341.h diff --git a/bsp/stm32/stm32f429-st-disco/board/SConscript b/bsp/stm32/stm32f429-st-disco/board/SConscript index 5034629509..55924547ec 100644 --- a/bsp/stm32/stm32f429-st-disco/board/SConscript +++ b/bsp/stm32/stm32f429-st-disco/board/SConscript @@ -27,6 +27,9 @@ if GetDepend(['BSP_USING_SDCARD']): if GetDepend(['BSP_USING_QSPI']): src += ['ports/drv_qspi_flash.c'] +if GetDepend(['BSP_USING_LCD']): + src += ['ports/ili9341.c'] + path = [cwd] path += [cwd + '/CubeMX_Config/Inc'] path += [cwd + '/ports'] diff --git a/bsp/stm32/stm32f429-st-disco/board/board.c b/bsp/stm32/stm32f429-st-disco/board/board.c index ca12c3724e..0abc70267a 100644 --- a/bsp/stm32/stm32f429-st-disco/board/board.c +++ b/bsp/stm32/stm32f429-st-disco/board/board.c @@ -48,12 +48,15 @@ void SystemClock_Config(void) { Error_Handler(); } + /*##-2- LTDC Clock Configuration ###########################################*/ + /* LCD clock configuration */ + /* PLLSAI_VCO Input = HSE_VALUE/PLL_M = 1 MHz */ + /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAIN = 192 MHz */ + /* PLLLCDCLK = PLLSAI_VCO Output/PLLSAIR = 192/4 = 48 MHz */ + /* LTDC clock frequency = PLLLCDCLK / RCC_PLLSAIDIVR_8 = 48/8 = 6 MHz */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC; - PeriphClkInitStruct.PLLSAI.PLLSAIN = 50; - PeriphClkInitStruct.PLLSAI.PLLSAIR = 2; - PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_2; - if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) - { - Error_Handler(); - } + PeriphClkInitStruct.PLLSAI.PLLSAIN = 192; + PeriphClkInitStruct.PLLSAI.PLLSAIR = 4; + PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_8; + HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct); } diff --git a/bsp/stm32/stm32f429-st-disco/board/ports/ili9341.c b/bsp/stm32/stm32f429-st-disco/board/ports/ili9341.c new file mode 100644 index 0000000000..3829193b5c --- /dev/null +++ b/bsp/stm32/stm32f429-st-disco/board/ports/ili9341.c @@ -0,0 +1,313 @@ +/* + * File : ili9341.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2020, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + * 2020-08-11 RT-Thread the first version + */ +#include "rtthread.h" +#include "stm32f4xx_hal.h" +#include "ili9341.h" + +/** + * @brief LCD Control pin + */ +#define LCD_NCS_PIN GPIO_PIN_2 +#define LCD_NCS_GPIO_PORT GPIOC +#define LCD_NCS_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() +#define LCD_NCS_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() + +/** + * @brief LCD Command/data pin + */ +#define LCD_WRX_PIN GPIO_PIN_13 +#define LCD_WRX_GPIO_PORT GPIOD +#define LCD_WRX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE() +#define LCD_WRX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE() + +#define LCD_RDX_PIN GPIO_PIN_12 +#define LCD_RDX_GPIO_PORT GPIOD +#define LCD_RDX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE() +#define LCD_RDX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOD_CLK_DISABLE() + +/* Maximum Timeout values for flags waiting loops */ +#define SPIx_TIMEOUT_MAX ((uint32_t)0x1000) + +/* Chip Select macro definition */ +#define LCD_CS_LOW() HAL_GPIO_WritePin(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, GPIO_PIN_RESET) +#define LCD_CS_HIGH() HAL_GPIO_WritePin(LCD_NCS_GPIO_PORT, LCD_NCS_PIN, GPIO_PIN_SET) + +/* Set WRX High to send data */ +#define LCD_WRX_LOW() HAL_GPIO_WritePin(LCD_WRX_GPIO_PORT, LCD_WRX_PIN, GPIO_PIN_RESET) +#define LCD_WRX_HIGH() HAL_GPIO_WritePin(LCD_WRX_GPIO_PORT, LCD_WRX_PIN, GPIO_PIN_SET) + +/* Set WRX High to send data */ +#define LCD_RDX_LOW() HAL_GPIO_WritePin(LCD_RDX_GPIO_PORT, LCD_RDX_PIN, GPIO_PIN_RESET) +#define LCD_RDX_HIGH() HAL_GPIO_WritePin(LCD_RDX_GPIO_PORT, LCD_RDX_PIN, GPIO_PIN_SET) + +static uint8_t Is_LCD_IO_Initialized = 0; +static SPI_HandleTypeDef SpiHandle; + +/** + * @brief SPIx Bus initialization + */ +static void SPIx_Init(void) +{ + if(HAL_SPI_GetState(&SpiHandle) == HAL_SPI_STATE_RESET) + { + /* SPI configuration -----------------------------------------------------*/ + SpiHandle.Instance = SPI5; + /* SPI baudrate is set to 5.6 MHz (PCLK2/SPI_BaudRatePrescaler = 90/16 = 5.625 MHz) + */ + SpiHandle.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; + + /* On STM32F429I-Discovery, LCD ID cannot be read then keep a common configuration */ + /* for LCD and GYRO (SPI_DIRECTION_2LINES) */ + /* Note: To read a register a LCD, SPI_DIRECTION_1LINE should be set */ + SpiHandle.Init.Direction = SPI_DIRECTION_2LINES; + SpiHandle.Init.CLKPhase = SPI_PHASE_1EDGE; + SpiHandle.Init.CLKPolarity = SPI_POLARITY_LOW; + SpiHandle.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLED; + SpiHandle.Init.CRCPolynomial = 7; + SpiHandle.Init.DataSize = SPI_DATASIZE_8BIT; + SpiHandle.Init.FirstBit = SPI_FIRSTBIT_MSB; + SpiHandle.Init.NSS = SPI_NSS_SOFT; + SpiHandle.Init.TIMode = SPI_TIMODE_DISABLED; + SpiHandle.Init.Mode = SPI_MODE_MASTER; + + HAL_SPI_Init(&SpiHandle); + } +} + +/** + * @brief Configures the LCD_SPI interface. + */ +static void LCD_GPIO_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStructure; + + if(Is_LCD_IO_Initialized == 0) + { + Is_LCD_IO_Initialized = 1; + + /* Configure NCS in Output Push-Pull mode */ + LCD_WRX_GPIO_CLK_ENABLE(); + GPIO_InitStructure.Pin = LCD_WRX_PIN; + GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStructure.Pull = GPIO_NOPULL; + GPIO_InitStructure.Speed = GPIO_SPEED_FAST; + HAL_GPIO_Init(LCD_WRX_GPIO_PORT, &GPIO_InitStructure); + + LCD_RDX_GPIO_CLK_ENABLE(); + GPIO_InitStructure.Pin = LCD_RDX_PIN; + GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStructure.Pull = GPIO_NOPULL; + GPIO_InitStructure.Speed = GPIO_SPEED_FAST; + HAL_GPIO_Init(LCD_RDX_GPIO_PORT, &GPIO_InitStructure); + + /* Configure the LCD Control pins ----------------------------------------*/ + LCD_NCS_GPIO_CLK_ENABLE(); + + /* Configure NCS in Output Push-Pull mode */ + GPIO_InitStructure.Pin = LCD_NCS_PIN; + GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStructure.Pull = GPIO_NOPULL; + GPIO_InitStructure.Speed = GPIO_SPEED_FAST; + HAL_GPIO_Init(LCD_NCS_GPIO_PORT, &GPIO_InitStructure); + + /* Set or Reset the control line */ + LCD_CS_LOW(); + LCD_CS_HIGH(); + + SPIx_Init(); + } +} + +/** + * @brief Writes data to the selected LCD register. + * @param data: data to lcd. + * @retval None + */ +static void ili9341_write_data(uint16_t data) +{ + /* Set WRX to send data */ + LCD_WRX_HIGH(); + + /* Reset LCD control line(/CS) and Send data */ + LCD_CS_LOW(); + + HAL_SPI_Transmit(&SpiHandle, (uint8_t*) &data, 1, SPIx_TIMEOUT_MAX); + + /* Deselect: Chip Select high */ + LCD_CS_HIGH(); +} + +/** + * @brief Writes to the selected LCD register. + * @param reg: address of the selected register. + * @retval None + */ +static void ili9341_write_register(uint8_t reg) +{ + /* Reset WRX to send command */ + LCD_WRX_LOW(); + + /* Reset LCD control line(/CS) and Send command */ + LCD_CS_LOW(); + + HAL_SPI_Transmit(&SpiHandle, (uint8_t*) ®, 1, SPIx_TIMEOUT_MAX); + + /* Deselect: Chip Select high */ + LCD_CS_HIGH(); +} + +/** + * @brief Power on the LCD. + * @param None + * @retval int + */ +int ili9341_hw_init(void) +{ + /* Initialize ILI9341 low level bus layer ----------------------------------*/ + LCD_GPIO_Init(); + + /* Configure LCD */ + ili9341_write_register(0xCA); + ili9341_write_data(0xC3); + ili9341_write_data(0x08); + ili9341_write_data(0x50); + ili9341_write_register(LCD_POWERB); + ili9341_write_data(0x00); + ili9341_write_data(0xC1); + ili9341_write_data(0x30); + ili9341_write_register(LCD_POWER_SEQ); + ili9341_write_data(0x64); + ili9341_write_data(0x03); + ili9341_write_data(0x12); + ili9341_write_data(0x81); + ili9341_write_register(LCD_DTCA); + ili9341_write_data(0x85); + ili9341_write_data(0x00); + ili9341_write_data(0x78); + ili9341_write_register(LCD_POWERA); + ili9341_write_data(0x39); + ili9341_write_data(0x2C); + ili9341_write_data(0x00); + ili9341_write_data(0x34); + ili9341_write_data(0x02); + ili9341_write_register(LCD_PRC); + ili9341_write_data(0x20); + ili9341_write_register(LCD_DTCB); + ili9341_write_data(0x00); + ili9341_write_data(0x00); + ili9341_write_register(LCD_FRMCTR1); + ili9341_write_data(0x00); + ili9341_write_data(0x1B); + ili9341_write_register(LCD_DFC); + ili9341_write_data(0x0A); + ili9341_write_data(0xA2); + ili9341_write_register(LCD_POWER1); + ili9341_write_data(0x10); + ili9341_write_register(LCD_POWER2); + ili9341_write_data(0x10); + ili9341_write_register(LCD_VCOM1); + ili9341_write_data(0x45); + ili9341_write_data(0x15); + ili9341_write_register(LCD_VCOM2); + ili9341_write_data(0x90); + ili9341_write_register(LCD_MAC); + ili9341_write_data(0xC8); + ili9341_write_register(LCD_3GAMMA_EN); + ili9341_write_data(0x00); + ili9341_write_register(LCD_RGB_INTERFACE); + ili9341_write_data(0xC2); + ili9341_write_register(LCD_DFC); + ili9341_write_data(0x0A); + ili9341_write_data(0xA7); + ili9341_write_data(0x27); + ili9341_write_data(0x04); + + /* Colomn address set */ + ili9341_write_register(LCD_COLUMN_ADDR); + ili9341_write_data(0x00); + ili9341_write_data(0x00); + ili9341_write_data(0x00); + ili9341_write_data(0xEF); + /* Page address set */ + ili9341_write_register(LCD_PAGE_ADDR); + ili9341_write_data(0x00); + ili9341_write_data(0x00); + ili9341_write_data(0x01); + ili9341_write_data(0x3F); + ili9341_write_register(LCD_INTERFACE); + ili9341_write_data(0x01); + ili9341_write_data(0x00); + ili9341_write_data(0x06); + + ili9341_write_register(LCD_GRAM); + rt_thread_mdelay(20); + + ili9341_write_register(LCD_GAMMA); + ili9341_write_data(0x01); + + ili9341_write_register(LCD_PGAMMA); + ili9341_write_data(0x0F); + ili9341_write_data(0x29); + ili9341_write_data(0x24); + ili9341_write_data(0x0C); + ili9341_write_data(0x0E); + ili9341_write_data(0x09); + ili9341_write_data(0x4E); + ili9341_write_data(0x78); + ili9341_write_data(0x3C); + ili9341_write_data(0x09); + ili9341_write_data(0x13); + ili9341_write_data(0x05); + ili9341_write_data(0x17); + ili9341_write_data(0x11); + ili9341_write_data(0x00); + ili9341_write_register(LCD_NGAMMA); + ili9341_write_data(0x00); + ili9341_write_data(0x16); + ili9341_write_data(0x1B); + ili9341_write_data(0x04); + ili9341_write_data(0x11); + ili9341_write_data(0x07); + ili9341_write_data(0x31); + ili9341_write_data(0x33); + ili9341_write_data(0x42); + ili9341_write_data(0x05); + ili9341_write_data(0x0C); + ili9341_write_data(0x0A); + ili9341_write_data(0x28); + ili9341_write_data(0x2F); + ili9341_write_data(0x0F); + + ili9341_write_register(LCD_SLEEP_OUT); + rt_thread_mdelay(20); + ili9341_write_register(LCD_DISPLAY_ON); + /* GRAM start writing */ + ili9341_write_register(LCD_GRAM); + + return 0; +} +INIT_DEVICE_EXPORT(ili9341_hw_init); + + + diff --git a/bsp/stm32/stm32f429-st-disco/board/ports/ili9341.h b/bsp/stm32/stm32f429-st-disco/board/ports/ili9341.h new file mode 100644 index 0000000000..b4c59e6ffa --- /dev/null +++ b/bsp/stm32/stm32f429-st-disco/board/ports/ili9341.h @@ -0,0 +1,145 @@ +/* + * File : ili9341.h + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2020, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + * 2020-08-11 RT-Thread the first version + */ +#ifndef __ILI9341_H +#define __ILI9341_H + +#ifdef __cplusplus + extern "C" { +#endif + + +/** + * @brief ILI9341 chip IDs + */ +#define ILI9341_ID 0x9341 + +/** + * @brief ILI9341 Registers + */ + +/* Level 1 Commands */ +#define LCD_SWRESET 0x01 /* Software Reset */ +#define LCD_READ_DISPLAY_ID 0x04 /* Read display identification information */ +#define LCD_RDDST 0x09 /* Read Display Status */ +#define LCD_RDDPM 0x0A /* Read Display Power Mode */ +#define LCD_RDDMADCTL 0x0B /* Read Display MADCTL */ +#define LCD_RDDCOLMOD 0x0C /* Read Display Pixel Format */ +#define LCD_RDDIM 0x0D /* Read Display Image Format */ +#define LCD_RDDSM 0x0E /* Read Display Signal Mode */ +#define LCD_RDDSDR 0x0F /* Read Display Self-Diagnostic Result */ +#define LCD_SPLIN 0x10 /* Enter Sleep Mode */ +#define LCD_SLEEP_OUT 0x11 /* Sleep out register */ +#define LCD_PTLON 0x12 /* Partial Mode ON */ +#define LCD_NORMAL_MODE_ON 0x13 /* Normal Display Mode ON */ +#define LCD_DINVOFF 0x20 /* Display Inversion OFF */ +#define LCD_DINVON 0x21 /* Display Inversion ON */ +#define LCD_GAMMA 0x26 /* Gamma register */ +#define LCD_DISPLAY_OFF 0x28 /* Display off register */ +#define LCD_DISPLAY_ON 0x29 /* Display on register */ +#define LCD_COLUMN_ADDR 0x2A /* Colomn address register */ +#define LCD_PAGE_ADDR 0x2B /* Page address register */ +#define LCD_GRAM 0x2C /* GRAM register */ +#define LCD_RGBSET 0x2D /* Color SET */ +#define LCD_RAMRD 0x2E /* Memory Read */ +#define LCD_PLTAR 0x30 /* Partial Area */ +#define LCD_VSCRDEF 0x33 /* Vertical Scrolling Definition */ +#define LCD_TEOFF 0x34 /* Tearing Effect Line OFF */ +#define LCD_TEON 0x35 /* Tearing Effect Line ON */ +#define LCD_MAC 0x36 /* Memory Access Control register*/ +#define LCD_VSCRSADD 0x37 /* Vertical Scrolling Start Address */ +#define LCD_IDMOFF 0x38 /* Idle Mode OFF */ +#define LCD_IDMON 0x39 /* Idle Mode ON */ +#define LCD_PIXEL_FORMAT 0x3A /* Pixel Format register */ +#define LCD_WRITE_MEM_CONTINUE 0x3C /* Write Memory Continue */ +#define LCD_READ_MEM_CONTINUE 0x3E /* Read Memory Continue */ +#define LCD_SET_TEAR_SCANLINE 0x44 /* Set Tear Scanline */ +#define LCD_GET_SCANLINE 0x45 /* Get Scanline */ +#define LCD_WDB 0x51 /* Write Brightness Display register */ +#define LCD_RDDISBV 0x52 /* Read Display Brightness */ +#define LCD_WCD 0x53 /* Write Control Display register*/ +#define LCD_RDCTRLD 0x54 /* Read CTRL Display */ +#define LCD_WRCABC 0x55 /* Write Content Adaptive Brightness Control */ +#define LCD_RDCABC 0x56 /* Read Content Adaptive Brightness Control */ +#define LCD_WRITE_CABC 0x5E /* Write CABC Minimum Brightness */ +#define LCD_READ_CABC 0x5F /* Read CABC Minimum Brightness */ +#define LCD_READ_ID1 0xDA /* Read ID1 */ +#define LCD_READ_ID2 0xDB /* Read ID2 */ +#define LCD_READ_ID3 0xDC /* Read ID3 */ + +/* Level 2 Commands */ +#define LCD_RGB_INTERFACE 0xB0 /* RGB Interface Signal Control */ +#define LCD_FRMCTR1 0xB1 /* Frame Rate Control (In Normal Mode) */ +#define LCD_FRMCTR2 0xB2 /* Frame Rate Control (In Idle Mode) */ +#define LCD_FRMCTR3 0xB3 /* Frame Rate Control (In Partial Mode) */ +#define LCD_INVTR 0xB4 /* Display Inversion Control */ +#define LCD_BPC 0xB5 /* Blanking Porch Control register */ +#define LCD_DFC 0xB6 /* Display Function Control register */ +#define LCD_ETMOD 0xB7 /* Entry Mode Set */ +#define LCD_BACKLIGHT1 0xB8 /* Backlight Control 1 */ +#define LCD_BACKLIGHT2 0xB9 /* Backlight Control 2 */ +#define LCD_BACKLIGHT3 0xBA /* Backlight Control 3 */ +#define LCD_BACKLIGHT4 0xBB /* Backlight Control 4 */ +#define LCD_BACKLIGHT5 0xBC /* Backlight Control 5 */ +#define LCD_BACKLIGHT7 0xBE /* Backlight Control 7 */ +#define LCD_BACKLIGHT8 0xBF /* Backlight Control 8 */ +#define LCD_POWER1 0xC0 /* Power Control 1 register */ +#define LCD_POWER2 0xC1 /* Power Control 2 register */ +#define LCD_VCOM1 0xC5 /* VCOM Control 1 register */ +#define LCD_VCOM2 0xC7 /* VCOM Control 2 register */ +#define LCD_NVMWR 0xD0 /* NV Memory Write */ +#define LCD_NVMPKEY 0xD1 /* NV Memory Protection Key */ +#define LCD_RDNVM 0xD2 /* NV Memory Status Read */ +#define LCD_READ_ID4 0xD3 /* Read ID4 */ +#define LCD_PGAMMA 0xE0 /* Positive Gamma Correction register */ +#define LCD_NGAMMA 0xE1 /* Negative Gamma Correction register */ +#define LCD_DGAMCTRL1 0xE2 /* Digital Gamma Control 1 */ +#define LCD_DGAMCTRL2 0xE3 /* Digital Gamma Control 2 */ +#define LCD_INTERFACE 0xF6 /* Interface control register */ + +/* Extend register commands */ +#define LCD_POWERA 0xCB /* Power control A register */ +#define LCD_POWERB 0xCF /* Power control B register */ +#define LCD_DTCA 0xE8 /* Driver timing control A */ +#define LCD_DTCB 0xEA /* Driver timing control B */ +#define LCD_POWER_SEQ 0xED /* Power on sequence register */ +#define LCD_3GAMMA_EN 0xF2 /* 3 Gamma enable register */ +#define LCD_PRC 0xF7 /* Pump ratio control register */ + +/* Size of read registers */ +#define LCD_READ_ID4_SIZE 3 /* Size of Read ID4 */ + + +/** @defgroup ILI9341_Exported_Functions + * @{ + */ +int ili9341_hw_init(void); + + +#ifdef __cplusplus +} +#endif + +#endif /* __ILI9341_H */ + + diff --git a/bsp/stm32/stm32f429-st-disco/board/ports/lcd_port.h b/bsp/stm32/stm32f429-st-disco/board/ports/lcd_port.h index d8605bf613..6f8112cc1b 100644 --- a/bsp/stm32/stm32f429-st-disco/board/ports/lcd_port.h +++ b/bsp/stm32/stm32f429-st-disco/board/ports/lcd_port.h @@ -18,12 +18,12 @@ #define LCD_BUF_SIZE (LCD_WIDTH * LCD_HEIGHT * LCD_BITS_PER_PIXEL / 8) #define LCD_PIXEL_FORMAT RTGRAPHIC_PIXEL_FORMAT_RGB565 -#define LCD_HSYNC_WIDTH 2 +#define LCD_HSYNC_WIDTH 10 #define LCD_VSYNC_HEIGHT 2 -#define LCD_HBP 46 -#define LCD_VBP 23 -#define LCD_HFP 22 -#define LCD_VFP 22 +#define LCD_HBP 20 +#define LCD_VBP 2 +#define LCD_HFP 10 +#define LCD_VFP 5 #define LCD_BACKLIGHT_USING_GPIO #define LCD_BL_GPIO_NUM GET_PIN(D, 7) From 25cafc9d42e606c22b445b0692a6809a6a55d25a Mon Sep 17 00:00:00 2001 From: luhuadong Date: Wed, 12 Aug 2020 02:09:52 +0800 Subject: [PATCH 31/34] [stm32] perform an automatic ADC calibration to improve the conversion accuracy using function HAL_ADCEx_Calibration_Start(). --- bsp/stm32/libraries/HAL_Drivers/drv_adc.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_adc.c b/bsp/stm32/libraries/HAL_Drivers/drv_adc.c index 030002dbe2..82e4250a52 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_adc.c +++ b/bsp/stm32/libraries/HAL_Drivers/drv_adc.c @@ -209,10 +209,12 @@ static rt_err_t stm32_get_adc_value(struct rt_adc_device *device, rt_uint32_t ch #elif defined(SOC_SERIES_STM32MP1) ADC_ChanConf.SamplingTime = ADC_SAMPLETIME_810CYCLES_5; #endif + #if defined(SOC_SERIES_STM32F2) || defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7) || defined(SOC_SERIES_STM32L4) ADC_ChanConf.Offset = 0; #endif -#ifdef SOC_SERIES_STM32L4 + +#if defined(SOC_SERIES_STM32L4) ADC_ChanConf.OffsetNumber = ADC_OFFSET_NONE; ADC_ChanConf.SingleDiff = LL_ADC_SINGLE_ENDED; #elif defined(SOC_SERIES_STM32MP1) @@ -221,9 +223,17 @@ static rt_err_t stm32_get_adc_value(struct rt_adc_device *device, rt_uint32_t ch ADC_ChanConf.SingleDiff = ADC_SINGLE_ENDED; /* ADC channel differential mode */ #endif HAL_ADC_ConfigChannel(stm32_adc_handler, &ADC_ChanConf); -#ifdef SOC_SERIES_STM32MP1 - /* Run the ADC linear calibration in single-ended mode */ - if (HAL_ADCEx_Calibration_Start(stm32_adc_handler, ADC_CALIB_OFFSET_LINEARITY, ADC_SINGLE_ENDED) != HAL_OK) + + /* perform an automatic ADC calibration to improve the conversion accuracy */ +#if defined(SOC_SERIES_STM32L4) + if (HAL_ADCEx_Calibration_Start(stm32_adc_handler, ADC_ChanConf.SingleDiff) != HAL_OK) + { + LOG_E("ADC calibration error!\n"); + return -RT_ERROR; + } +#elif defined(SOC_SERIES_STM32MP1) + /* Run the ADC linear calibration in single-ended mode */ + if (HAL_ADCEx_Calibration_Start(stm32_adc_handler, ADC_CALIB_OFFSET_LINEARITY, ADC_ChanConf.SingleDiff) != HAL_OK) { LOG_E("ADC open linear calibration error!\n"); /* Calibration Error */ From 1af61b3bc7db43da7e96cfb0f1605c55f7d9fbc3 Mon Sep 17 00:00:00 2001 From: nongxiaoming Date: Wed, 12 Aug 2020 16:02:51 +0800 Subject: [PATCH 32/34] [bsp] stm32f429-st-disco:modify to use RT_USING_SPI default. --- bsp/stm32/stm32f429-st-disco/.config | 2 +- bsp/stm32/stm32f429-st-disco/board/Kconfig | 2 +- bsp/stm32/stm32f429-st-disco/rtconfig.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bsp/stm32/stm32f429-st-disco/.config b/bsp/stm32/stm32f429-st-disco/.config index 3bf793c118..d2e8ecd259 100644 --- a/bsp/stm32/stm32f429-st-disco/.config +++ b/bsp/stm32/stm32f429-st-disco/.config @@ -144,7 +144,7 @@ CONFIG_RT_USING_PIN=y # CONFIG_RT_USING_PM is not set # CONFIG_RT_USING_RTC is not set # CONFIG_RT_USING_SDIO is not set -# CONFIG_RT_USING_SPI is not set +CONFIG_RT_USING_SPI=y # CONFIG_RT_USING_WDT is not set # CONFIG_RT_USING_AUDIO is not set # CONFIG_RT_USING_SENSOR is not set diff --git a/bsp/stm32/stm32f429-st-disco/board/Kconfig b/bsp/stm32/stm32f429-st-disco/board/Kconfig index a8b5bf80d6..2461f52bd4 100644 --- a/bsp/stm32/stm32f429-st-disco/board/Kconfig +++ b/bsp/stm32/stm32f429-st-disco/board/Kconfig @@ -68,7 +68,7 @@ menu "On-chip Peripheral Drivers" menuconfig BSP_USING_SPI bool "Enable SPI BUS" select RT_USING_SPI - default n + default y if BSP_USING_SPI config BSP_USING_SPI3 bool "Enable SPI3 BUS" diff --git a/bsp/stm32/stm32f429-st-disco/rtconfig.h b/bsp/stm32/stm32f429-st-disco/rtconfig.h index b4710ef924..9f5b2c77c4 100644 --- a/bsp/stm32/stm32f429-st-disco/rtconfig.h +++ b/bsp/stm32/stm32f429-st-disco/rtconfig.h @@ -92,7 +92,7 @@ #define RT_USING_I2C #define RT_USING_I2C_BITOPS #define RT_USING_PIN - +#define RT_USING_SPI /* Using USB */ From b4c4d554c9dea9f64461024f5ab3cf9bb60ae50a Mon Sep 17 00:00:00 2001 From: thread-liu Date: Thu, 13 Aug 2020 12:00:14 +0800 Subject: [PATCH 33/34] [update] add stm32mp157a-st-ev1 bsp --- .../Templates/arm/startup_stm32mp15xx.s | 6 +- bsp/stm32/stm32mp157a-st-ev1/.config | 450 +++ bsp/stm32/stm32mp157a-st-ev1/.gitignore | 42 + bsp/stm32/stm32mp157a-st-ev1/.project | 11 + .../stm32mp157a-st-ev1/EventRecorderStub.scvd | 9 + bsp/stm32/stm32mp157a-st-ev1/Kconfig | 22 + bsp/stm32/stm32mp157a-st-ev1/README.md | 168 + bsp/stm32/stm32mp157a-st-ev1/README_zh.md | 187 ++ bsp/stm32/stm32mp157a-st-ev1/SConscript | 15 + bsp/stm32/stm32mp157a-st-ev1/SConstruct | 60 + .../applications/SConscript | 11 + .../stm32mp157a-st-ev1/applications/main.c | 33 + .../board/CubeMX_Config/.mxproject | 14 + .../board/CubeMX_Config/CM4/Inc/main.h | 77 + .../CM4/Inc/stm32mp1xx_hal_conf.h | 396 +++ .../CubeMX_Config/CM4/Inc/stm32mp1xx_it.h | 77 + .../board/CubeMX_Config/CM4/Src/main.c | 929 ++++++ .../CM4/Src/stm32mp1xx_hal_msp.c | 987 ++++++ .../CubeMX_Config/CM4/Src/stm32mp1xx_it.c | 321 ++ .../Common/System/system_stm32mp1xx.c | 290 ++ .../board/CubeMX_Config/STM32MP157-DK1.ioc | 857 +++++ bsp/stm32/stm32mp157a-st-ev1/board/Kconfig | 177 + bsp/stm32/stm32mp157a-st-ev1/board/SConscript | 47 + bsp/stm32/stm32mp157a-st-ev1/board/board.c | 189 ++ bsp/stm32/stm32mp157a-st-ev1/board/board.h | 54 + .../board/linker_scripts/link.icf | 36 + .../board/linker_scripts/link.lds | 157 + .../board/linker_scripts/link.sct | 27 + .../board/ports/drv_hard_i2c.c | 124 + .../board/ports/drv_hard_i2c.h | 48 + .../board/ports/drv_lptim.c | 128 + .../stm32mp157a-st-ev1/board/ports/drv_wwdg.c | 103 + .../stm32mp157a-st-ev1/board/ports/stpmic.c | 1225 +++++++ .../stm32mp157a-st-ev1/board/ports/stpmic.h | 315 ++ .../stm32mp157a-st-ev1/figures/board.png | Bin 0 -> 157606 bytes bsp/stm32/stm32mp157a-st-ev1/figures/boot.png | Bin 0 -> 328289 bytes bsp/stm32/stm32mp157a-st-ev1/project.ewd | 2966 +++++++++++++++++ bsp/stm32/stm32mp157a-st-ev1/project.ewp | 2563 ++++++++++++++ bsp/stm32/stm32mp157a-st-ev1/project.ewt | 2765 +++++++++++++++ bsp/stm32/stm32mp157a-st-ev1/project.eww | 10 + bsp/stm32/stm32mp157a-st-ev1/project.uvopt | 167 + bsp/stm32/stm32mp157a-st-ev1/project.uvoptx | 1172 +++++++ bsp/stm32/stm32mp157a-st-ev1/project.uvprojx | 833 +++++ bsp/stm32/stm32mp157a-st-ev1/rtconfig.h | 175 + bsp/stm32/stm32mp157a-st-ev1/rtconfig.py | 150 + bsp/stm32/stm32mp157a-st-ev1/template.ewp | 2106 ++++++++++++ bsp/stm32/stm32mp157a-st-ev1/template.eww | 10 + bsp/stm32/stm32mp157a-st-ev1/template.uvopt | 167 + bsp/stm32/stm32mp157a-st-ev1/template.uvoptx | 192 ++ bsp/stm32/stm32mp157a-st-ev1/template.uvprojx | 411 +++ 50 files changed, 21276 insertions(+), 3 deletions(-) create mode 100644 bsp/stm32/stm32mp157a-st-ev1/.config create mode 100644 bsp/stm32/stm32mp157a-st-ev1/.gitignore create mode 100644 bsp/stm32/stm32mp157a-st-ev1/.project create mode 100644 bsp/stm32/stm32mp157a-st-ev1/EventRecorderStub.scvd create mode 100644 bsp/stm32/stm32mp157a-st-ev1/Kconfig create mode 100644 bsp/stm32/stm32mp157a-st-ev1/README.md create mode 100644 bsp/stm32/stm32mp157a-st-ev1/README_zh.md create mode 100644 bsp/stm32/stm32mp157a-st-ev1/SConscript create mode 100644 bsp/stm32/stm32mp157a-st-ev1/SConstruct create mode 100644 bsp/stm32/stm32mp157a-st-ev1/applications/SConscript create mode 100644 bsp/stm32/stm32mp157a-st-ev1/applications/main.c create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/.mxproject create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Inc/main.h create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Inc/stm32mp1xx_hal_conf.h create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Inc/stm32mp1xx_it.h create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/main.c create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/stm32mp1xx_hal_msp.c create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/stm32mp1xx_it.c create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/Common/System/system_stm32mp1xx.c create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/STM32MP157-DK1.ioc create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/Kconfig create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/SConscript create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/board.c create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/board.h create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.icf create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.lds create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.sct create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_hard_i2c.c create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_hard_i2c.h create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_lptim.c create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_wwdg.c create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/ports/stpmic.c create mode 100644 bsp/stm32/stm32mp157a-st-ev1/board/ports/stpmic.h create mode 100644 bsp/stm32/stm32mp157a-st-ev1/figures/board.png create mode 100644 bsp/stm32/stm32mp157a-st-ev1/figures/boot.png create mode 100644 bsp/stm32/stm32mp157a-st-ev1/project.ewd create mode 100644 bsp/stm32/stm32mp157a-st-ev1/project.ewp create mode 100644 bsp/stm32/stm32mp157a-st-ev1/project.ewt create mode 100644 bsp/stm32/stm32mp157a-st-ev1/project.eww create mode 100644 bsp/stm32/stm32mp157a-st-ev1/project.uvopt create mode 100644 bsp/stm32/stm32mp157a-st-ev1/project.uvoptx create mode 100644 bsp/stm32/stm32mp157a-st-ev1/project.uvprojx create mode 100644 bsp/stm32/stm32mp157a-st-ev1/rtconfig.h create mode 100644 bsp/stm32/stm32mp157a-st-ev1/rtconfig.py create mode 100644 bsp/stm32/stm32mp157a-st-ev1/template.ewp create mode 100644 bsp/stm32/stm32mp157a-st-ev1/template.eww create mode 100644 bsp/stm32/stm32mp157a-st-ev1/template.uvopt create mode 100644 bsp/stm32/stm32mp157a-st-ev1/template.uvoptx create mode 100644 bsp/stm32/stm32mp157a-st-ev1/template.uvprojx diff --git a/bsp/stm32/libraries/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/arm/startup_stm32mp15xx.s b/bsp/stm32/libraries/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/arm/startup_stm32mp15xx.s index d38ddd3fa4..4deacdd1e5 100644 --- a/bsp/stm32/libraries/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/arm/startup_stm32mp15xx.s +++ b/bsp/stm32/libraries/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/arm/startup_stm32mp15xx.s @@ -14,8 +14,8 @@ ;****************************************************************************** ;* @attention ;* -;*

© Copyright (c) 2019 STMicroelectronics. -;* All rights reserved.

+;* © Copyright (c) 2019 STMicroelectronics. +;* All rights reserved. ;* ;* This software component is licensed by ST under BSD 3-Clause license, ;* the "License"; You may not use this file except in compliance with the @@ -30,7 +30,7 @@ ; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> ; -Stack_Size EQU 0x00000400 +Stack_Size EQU 0x00000800 AREA STACK, NOINIT, READWRITE, ALIGN=3 __stack_limit diff --git a/bsp/stm32/stm32mp157a-st-ev1/.config b/bsp/stm32/stm32mp157a-st-ev1/.config new file mode 100644 index 0000000000..4f6a2ab164 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/.config @@ -0,0 +1,450 @@ +# +# Automatically generated file; DO NOT EDIT. +# RT-Thread Configuration +# + +# +# RT-Thread Kernel +# +CONFIG_RT_NAME_MAX=8 +# CONFIG_RT_USING_ARCH_DATA_TYPE is not set +# CONFIG_RT_USING_SMP is not set +CONFIG_RT_ALIGN_SIZE=4 +# CONFIG_RT_THREAD_PRIORITY_8 is not set +CONFIG_RT_THREAD_PRIORITY_32=y +# CONFIG_RT_THREAD_PRIORITY_256 is not set +CONFIG_RT_THREAD_PRIORITY_MAX=32 +CONFIG_RT_TICK_PER_SECOND=100 +CONFIG_RT_USING_OVERFLOW_CHECK=y +CONFIG_RT_USING_HOOK=y +CONFIG_RT_USING_IDLE_HOOK=y +CONFIG_RT_IDLE_HOOK_LIST_SIZE=4 +CONFIG_IDLE_THREAD_STACK_SIZE=256 +CONFIG_RT_USING_TIMER_SOFT=y +CONFIG_RT_TIMER_THREAD_PRIO=4 +CONFIG_RT_TIMER_THREAD_STACK_SIZE=512 +CONFIG_RT_DEBUG=y +CONFIG_RT_DEBUG_COLOR=y +# CONFIG_RT_DEBUG_INIT_CONFIG is not set +# CONFIG_RT_DEBUG_THREAD_CONFIG is not set +# CONFIG_RT_DEBUG_SCHEDULER_CONFIG is not set +# CONFIG_RT_DEBUG_IPC_CONFIG is not set +# CONFIG_RT_DEBUG_TIMER_CONFIG is not set +# CONFIG_RT_DEBUG_IRQ_CONFIG is not set +# CONFIG_RT_DEBUG_MEM_CONFIG is not set +# CONFIG_RT_DEBUG_SLAB_CONFIG is not set +# CONFIG_RT_DEBUG_MEMHEAP_CONFIG is not set +# CONFIG_RT_DEBUG_MODULE_CONFIG is not set + +# +# Inter-Thread communication +# +CONFIG_RT_USING_SEMAPHORE=y +CONFIG_RT_USING_MUTEX=y +CONFIG_RT_USING_EVENT=y +CONFIG_RT_USING_MAILBOX=y +CONFIG_RT_USING_MESSAGEQUEUE=y +# CONFIG_RT_USING_SIGNALS is not set + +# +# Memory Management +# +CONFIG_RT_USING_MEMPOOL=y +CONFIG_RT_USING_MEMHEAP=y +# CONFIG_RT_USING_NOHEAP is not set +# CONFIG_RT_USING_SMALL_MEM is not set +# CONFIG_RT_USING_SLAB is not set +CONFIG_RT_USING_MEMHEAP_AS_HEAP=y +CONFIG_RT_USING_HEAP=y + +# +# Kernel Device Object +# +CONFIG_RT_USING_DEVICE=y +# CONFIG_RT_USING_DEVICE_OPS is not set +# CONFIG_RT_USING_INTERRUPT_INFO is not set +CONFIG_RT_USING_CONSOLE=y +CONFIG_RT_CONSOLEBUF_SIZE=128 +CONFIG_RT_CONSOLE_DEVICE_NAME="uart4" +CONFIG_RT_VER_NUM=0x40003 +CONFIG_ARCH_ARM=y +CONFIG_RT_USING_CPU_FFS=y +CONFIG_ARCH_ARM_CORTEX_M=y +CONFIG_ARCH_ARM_CORTEX_M4=y +# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set + +# +# RT-Thread Components +# +CONFIG_RT_USING_COMPONENTS_INIT=y +CONFIG_RT_USING_USER_MAIN=y +CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 +CONFIG_RT_MAIN_THREAD_PRIORITY=10 + +# +# C++ features +# +# CONFIG_RT_USING_CPLUSPLUS is not set + +# +# Command shell +# +CONFIG_RT_USING_FINSH=y +CONFIG_FINSH_THREAD_NAME="tshell" +CONFIG_FINSH_USING_HISTORY=y +CONFIG_FINSH_HISTORY_LINES=5 +CONFIG_FINSH_USING_SYMTAB=y +CONFIG_FINSH_USING_DESCRIPTION=y +# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set +CONFIG_FINSH_THREAD_PRIORITY=20 +CONFIG_FINSH_THREAD_STACK_SIZE=4096 +CONFIG_FINSH_CMD_SIZE=80 +# CONFIG_FINSH_USING_AUTH is not set +CONFIG_FINSH_USING_MSH=y +CONFIG_FINSH_USING_MSH_DEFAULT=y +# CONFIG_FINSH_USING_MSH_ONLY is not set +CONFIG_FINSH_ARG_MAX=10 + +# +# Device virtual file system +# +# CONFIG_RT_USING_DFS is not set + +# +# Device Drivers +# +CONFIG_RT_USING_DEVICE_IPC=y +CONFIG_RT_PIPE_BUFSZ=512 +# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set +CONFIG_RT_USING_SERIAL=y +CONFIG_RT_SERIAL_USING_DMA=y +CONFIG_RT_SERIAL_RB_BUFSZ=64 +# CONFIG_RT_USING_CAN is not set +# CONFIG_RT_USING_HWTIMER is not set +# CONFIG_RT_USING_CPUTIME is not set +# CONFIG_RT_USING_I2C is not set +CONFIG_RT_USING_PIN=y +# CONFIG_RT_USING_ADC is not set +# CONFIG_RT_USING_DAC is not set +# CONFIG_RT_USING_PWM is not set +# CONFIG_RT_USING_MTD_NOR is not set +# CONFIG_RT_USING_MTD_NAND is not set +# CONFIG_RT_USING_PM is not set +# CONFIG_RT_USING_RTC is not set +# CONFIG_RT_USING_SDIO is not set +# CONFIG_RT_USING_SPI is not set +# CONFIG_RT_USING_WDT is not set +# CONFIG_RT_USING_AUDIO is not set +# CONFIG_RT_USING_SENSOR is not set +# CONFIG_RT_USING_TOUCH is not set +# CONFIG_RT_USING_HWCRYPTO is not set +# CONFIG_RT_USING_PULSE_ENCODER is not set +# CONFIG_RT_USING_INPUT_CAPTURE is not set +# CONFIG_RT_USING_WIFI is not set + +# +# Using USB +# +# CONFIG_RT_USING_USB_HOST is not set +# CONFIG_RT_USING_USB_DEVICE is not set + +# +# POSIX layer and C standard library +# +CONFIG_RT_USING_LIBC=y +# CONFIG_RT_USING_PTHREADS is not set +# CONFIG_RT_USING_MODULE is not set + +# +# Network +# + +# +# Socket abstraction layer +# +# CONFIG_RT_USING_SAL is not set + +# +# Network interface device +# +# CONFIG_RT_USING_NETDEV is not set + +# +# light weight TCP/IP stack +# +# CONFIG_RT_USING_LWIP is not set + +# +# AT commands +# +# CONFIG_RT_USING_AT is not set + +# +# VBUS(Virtual Software BUS) +# +# CONFIG_RT_USING_VBUS is not set + +# +# Utilities +# +# CONFIG_RT_USING_RYM is not set +# CONFIG_RT_USING_ULOG is not set +# CONFIG_RT_USING_UTEST is not set +# CONFIG_RT_USING_LWP is not set + +# +# RT-Thread online packages +# + +# +# IoT - internet of things +# +# CONFIG_PKG_USING_PAHOMQTT is not set +# CONFIG_PKG_USING_WEBCLIENT is not set +# CONFIG_PKG_USING_WEBNET is not set +# CONFIG_PKG_USING_MONGOOSE is not set +# CONFIG_PKG_USING_MYMQTT is not set +# CONFIG_PKG_USING_KAWAII_MQTT is not set +# CONFIG_PKG_USING_WEBTERMINAL is not set +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_LIBMODBUS is not set +# CONFIG_PKG_USING_FREEMODBUS is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_EZXML is not set +# CONFIG_PKG_USING_NANOPB is not set + +# +# Wi-Fi +# + +# +# Marvell WiFi +# +# CONFIG_PKG_USING_WLANMARVELL is not set + +# +# Wiced WiFi +# +# CONFIG_PKG_USING_WLAN_WICED is not set +# CONFIG_PKG_USING_RW007 is not set +# CONFIG_PKG_USING_COAP is not set +# CONFIG_PKG_USING_NOPOLL is not set +# CONFIG_PKG_USING_NETUTILS is not set +# CONFIG_PKG_USING_PPP_DEVICE is not set +# CONFIG_PKG_USING_AT_DEVICE is not set +# CONFIG_PKG_USING_ATSRV_SOCKET is not set +# CONFIG_PKG_USING_WIZNET is not set + +# +# IoT Cloud +# +# CONFIG_PKG_USING_ONENET is not set +# CONFIG_PKG_USING_GAGENT_CLOUD is not set +# CONFIG_PKG_USING_ALI_IOTKIT is not set +# CONFIG_PKG_USING_AZURE is not set +# CONFIG_PKG_USING_TENCENT_IOTHUB is not set +# CONFIG_PKG_USING_JIOT-C-SDK is not set +# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set +# CONFIG_PKG_USING_JOYLINK is not set +# CONFIG_PKG_USING_NIMBLE is not set +# CONFIG_PKG_USING_OTA_DOWNLOADER is not set +# CONFIG_PKG_USING_IPMSG is not set +# CONFIG_PKG_USING_LSSDP is not set +# CONFIG_PKG_USING_AIRKISS_OPEN is not set +# CONFIG_PKG_USING_LIBRWS is not set +# CONFIG_PKG_USING_TCPSERVER is not set +# CONFIG_PKG_USING_PROTOBUF_C is not set +# CONFIG_PKG_USING_ONNX_PARSER is not set +# CONFIG_PKG_USING_ONNX_BACKEND is not set +# CONFIG_PKG_USING_DLT645 is not set +# CONFIG_PKG_USING_QXWZ is not set +# CONFIG_PKG_USING_SMTP_CLIENT is not set +# CONFIG_PKG_USING_ABUP_FOTA is not set +# CONFIG_PKG_USING_LIBCURL2RTT is not set +# CONFIG_PKG_USING_CAPNP is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_AGILE_TELNET is not set + +# +# security packages +# +# CONFIG_PKG_USING_MBEDTLS is not set +# CONFIG_PKG_USING_libsodium is not set +# CONFIG_PKG_USING_TINYCRYPT is not set +# CONFIG_PKG_USING_TFM is not set + +# +# language packages +# +# CONFIG_PKG_USING_LUA is not set +# CONFIG_PKG_USING_JERRYSCRIPT is not set +# CONFIG_PKG_USING_MICROPYTHON is not set + +# +# multimedia packages +# +# CONFIG_PKG_USING_OPENMV is not set +# CONFIG_PKG_USING_MUPDF is not set +# CONFIG_PKG_USING_STEMWIN is not set +# CONFIG_PKG_USING_WAVPLAYER is not set +# CONFIG_PKG_USING_TJPGD is not set + +# +# tools packages +# +# CONFIG_PKG_USING_CMBACKTRACE is not set +# CONFIG_PKG_USING_EASYFLASH is not set +# CONFIG_PKG_USING_EASYLOGGER is not set +# CONFIG_PKG_USING_SYSTEMVIEW is not set +# CONFIG_PKG_USING_RDB is not set +# CONFIG_PKG_USING_QRCODE is not set +# CONFIG_PKG_USING_ULOG_EASYFLASH is not set +# CONFIG_PKG_USING_ADBD is not set +# CONFIG_PKG_USING_COREMARK is not set +# CONFIG_PKG_USING_DHRYSTONE is not set +# CONFIG_PKG_USING_NR_MICRO_SHELL is not set +# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set +# CONFIG_PKG_USING_LUNAR_CALENDAR is not set +# CONFIG_PKG_USING_BS8116A is not set + +# +# system packages +# +# CONFIG_PKG_USING_GUIENGINE is not set +# CONFIG_PKG_USING_PERSIMMON is not set +# CONFIG_PKG_USING_CAIRO is not set +# CONFIG_PKG_USING_PIXMAN is not set +# CONFIG_PKG_USING_LWEXT4 is not set +# CONFIG_PKG_USING_PARTITION is not set +# CONFIG_PKG_USING_FAL is not set +# CONFIG_PKG_USING_SQLITE is not set +# CONFIG_PKG_USING_RTI is not set +# CONFIG_PKG_USING_LITTLEVGL2RTT is not set +# CONFIG_PKG_USING_CMSIS is not set +# CONFIG_PKG_USING_DFS_YAFFS is not set +# CONFIG_PKG_USING_LITTLEFS is not set +# CONFIG_PKG_USING_THREAD_POOL is not set +# CONFIG_PKG_USING_ROBOTS is not set +# CONFIG_PKG_USING_EV is not set +# CONFIG_PKG_USING_SYSWATCH is not set +# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set +# CONFIG_PKG_USING_PLCCORE is not set + +# +# peripheral libraries and drivers +# +# CONFIG_PKG_USING_SENSORS_DRIVERS is not set +# CONFIG_PKG_USING_REALTEK_AMEBA is not set +# CONFIG_PKG_USING_SHT2X is not set +# CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# CONFIG_PKG_USING_ICM20608 is not set +# CONFIG_PKG_USING_U8G2 is not set +# CONFIG_PKG_USING_BUTTON is not set +# CONFIG_PKG_USING_PCF8574 is not set +# CONFIG_PKG_USING_SX12XX is not set +# CONFIG_PKG_USING_SIGNAL_LED is not set +# CONFIG_PKG_USING_LEDBLINK is not set +# CONFIG_PKG_USING_LITTLED is not set +# CONFIG_PKG_USING_LKDGUI is not set +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_WM_LIBRARIES is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_ROSSERIAL is not set +# CONFIG_PKG_USING_AGILE_BUTTON is not set +# CONFIG_PKG_USING_AGILE_LED is not set +# CONFIG_PKG_USING_AT24CXX is not set +# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set +# CONFIG_PKG_USING_AD7746 is not set +# CONFIG_PKG_USING_PCA9685 is not set +# CONFIG_PKG_USING_I2C_TOOLS is not set +# CONFIG_PKG_USING_NRF24L01 is not set +# CONFIG_PKG_USING_TOUCH_DRIVERS is not set +# CONFIG_PKG_USING_MAX17048 is not set +# CONFIG_PKG_USING_RPLIDAR is not set +# CONFIG_PKG_USING_AS608 is not set +# CONFIG_PKG_USING_RC522 is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set +# CONFIG_PKG_USING_MULTI_RTIMER is not set +# CONFIG_PKG_USING_MAX7219 is not set +# CONFIG_PKG_USING_BEEP is not set +# CONFIG_PKG_USING_EASYBLINK is not set +# CONFIG_PKG_USING_PMS_SERIES is not set + +# +# miscellaneous packages +# +# CONFIG_PKG_USING_LIBCSV is not set +# CONFIG_PKG_USING_OPTPARSE is not set +# CONFIG_PKG_USING_FASTLZ is not set +# CONFIG_PKG_USING_MINILZO is not set +# CONFIG_PKG_USING_QUICKLZ is not set +# CONFIG_PKG_USING_MULTIBUTTON is not set +# CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set +# CONFIG_PKG_USING_CANFESTIVAL is not set +# CONFIG_PKG_USING_ZLIB is not set +# CONFIG_PKG_USING_DSTR is not set +# CONFIG_PKG_USING_TINYFRAME is not set +# CONFIG_PKG_USING_KENDRYTE_DEMO is not set +# CONFIG_PKG_USING_DIGITALCTRL is not set +# CONFIG_PKG_USING_UPACKER is not set +# CONFIG_PKG_USING_UPARAM is not set + +# +# samples: kernel and components samples +# +# CONFIG_PKG_USING_KERNEL_SAMPLES is not set +# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set +# CONFIG_PKG_USING_NETWORK_SAMPLES is not set +# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set +# CONFIG_PKG_USING_HELLO is not set +# CONFIG_PKG_USING_VI is not set +# CONFIG_PKG_USING_NNOM is not set +# CONFIG_PKG_USING_LIBANN is not set +# CONFIG_PKG_USING_ELAPACK is not set +# CONFIG_PKG_USING_ARMv7M_DWT is not set +# CONFIG_PKG_USING_VT100 is not set +# CONFIG_PKG_USING_ULAPACK is not set +# CONFIG_PKG_USING_UKAL is not set +CONFIG_SOC_FAMILY_STM32=y +CONFIG_SOC_SERIES_STM32MP1=y + +# +# Hardware Drivers Config +# +CONFIG_SOC_STM32MP157A=y + +# +# Onboard Peripheral Drivers +# +CONFIG_BSP_USING_STLINK_TO_USART=y + +# +# On-chip Peripheral Drivers +# +CONFIG_BSP_USING_GPIO=y +# CONFIG_BSP_USING_WWDG is not set +CONFIG_BSP_USING_UART=y +# CONFIG_BSP_USING_UART3 is not set +# CONFIG_BSP_UART3_RX_USING_DMA is not set +CONFIG_BSP_USING_UART4=y +# CONFIG_BSP_UART4_RX_USING_DMA is not set +# CONFIG_BSP_UART4_TX_USING_DMA is not set +# CONFIG_BSP_USING_TIM is not set +# CONFIG_BSP_USING_LPTIM is not set +# CONFIG_BSP_USING_PWM is not set +# CONFIG_BSP_USING_ADC is not set +# CONFIG_BSP_USING_DAC is not set +# CONFIG_BSP_USING_I2C1 is not set +# CONFIG_BSP_USING_SPI is not set +# CONFIG_BSP_USING_CRC is not set +# CONFIG_BSP_USING_RNG is not set +# CONFIG_BSP_USING_UDID is not set + +# +# Board extended module Drivers +# diff --git a/bsp/stm32/stm32mp157a-st-ev1/.gitignore b/bsp/stm32/stm32mp157a-st-ev1/.gitignore new file mode 100644 index 0000000000..7221bde019 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/.gitignore @@ -0,0 +1,42 @@ +*.pyc +*.map +*.dblite +*.elf +*.bin +*.hex +*.axf +*.exe +*.pdb +*.idb +*.ilk +*.old +build +Debug +documentation/html +packages/ +*~ +*.o +*.obj +*.out +*.bak +*.dep +*.lib +*.i +*.d +.DS_Stor* +.config 3 +.config 4 +.config 5 +Midea-X1 +*.uimg +GPATH +GRTAGS +GTAGS +.vscode +JLinkLog.txt +JLinkSettings.ini +DebugConfig/ +RTE/ +settings/ +*.uvguix* +cconfig.h diff --git a/bsp/stm32/stm32mp157a-st-ev1/.project b/bsp/stm32/stm32mp157a-st-ev1/.project new file mode 100644 index 0000000000..29d7c74de5 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/.project @@ -0,0 +1,11 @@ + + + STM32MP157 + + + + + + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/EventRecorderStub.scvd b/bsp/stm32/stm32mp157a-st-ev1/EventRecorderStub.scvd new file mode 100644 index 0000000000..2956b29683 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/EventRecorderStub.scvd @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/Kconfig b/bsp/stm32/stm32mp157a-st-ev1/Kconfig new file mode 100644 index 0000000000..7a400db91f --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/Kconfig @@ -0,0 +1,22 @@ +mainmenu "RT-Thread Configuration" + +config BSP_DIR + string + option env="BSP_ROOT" + default "." + +config RTT_DIR + string + option env="RTT_ROOT" + default "../../.." + +config PKGS_DIR + string + option env="PKGS_ROOT" + default "packages" + +source "$RTT_DIR/Kconfig" +source "$PKGS_DIR/Kconfig" +source "../libraries/Kconfig" +source "board/Kconfig" + diff --git a/bsp/stm32/stm32mp157a-st-ev1/README.md b/bsp/stm32/stm32mp157a-st-ev1/README.md new file mode 100644 index 0000000000..a4798872c4 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/README.md @@ -0,0 +1,168 @@ +# STM32MP157A-EV1 BSP (Board Support Package) Execution Instruction + +[中文页](README_zh.md) | + +# Introduction + +This document records the execution instruction of the BSP (board support package) provided by the RT-Thread development team for the STM32MP157A-EV1 development board. + +The document is covered in three parts: + +- STM32MP157A-EV1 Board Resources Introduction + +- Quickly Get Started + +- Advanced Features + +By reading the Quickly Get Started section developers can quickly get their hands on this BSP and run RT-Thread on the board. More advanced features will be introduced in the Advanced Features section to help developers take advantage of RT-Thread to drive more on-board resources. + +## STM32MP157A-EV1 Board Resources Introduction + +The STM32MP157A-EV1 is a development board based on a dual Cortex-A7 and Cortex-M4 core. The Cortex-A7 core operates at 650 MHZ and the Cortex-M4 operates at 209MHZ. There is no Flash inside the STM32MP157A. + +​ ![board](figures/board.png) + +The mainly-used **on-board resources** are shown as follows: + +* MCU : STM32MP157AAAx +* Common peripherals: + - 4 LEDs: LD4(PD8), LD5(PD9), LD2(PA13), LD3(PA14) + - 4 Buttons: WAKE_UP, RESET (NRST), USER1(PA13), USER2 (PA14) +* Common-used interface: USB, SD card, Ethernet, MIPI, USB HOST, Audio, HDMI, Arduino. +* Debug interface: Standard JTAG/SWD. + +For more details about this board, please refer to the ST official documentation: + +[STM32MP157A-EV1 Development board introduction](https://www.st.com/content/st_com/zh/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-eval-boards/stm32mp157a-ev1.html) + +## Peripheral Condition + +Each peripheral supporting condition for this BSP is as follows: + +| On-board Peripheral | **Support** | **Remark** | +| :----------------------------- | :---------: | :--------------: | +| USB TO UART | YES | | +| PMIC | NO | | +| CAMERA | NO | OV5640 | +| MFX | NO | | +| FMC | NO | MT25F8G08A8ACAH4 | +| QSPI FLASH | NO | MX25L51245G | +| OpenAMP | NO | | +| POWER | NO | | +| SD Card (SDMMC1) | NO | | +| EMMC(SDMMC2) | NO | | +| ETH | NO | | +| AUDIO | NO | WM8994 | +| **On-chip Peripheral Drivers** | **Support** | **Remark** | +| GPIO | YES | | +| UART | YES | UART4 (ST-Link) | +| EXTI | YES | | +| SPI | YES | | +| TIM | YES | | +| LPTIM | YES | | +| I2C | YES | Software | +| ADC | YES | | +| DAC | YES | | +| WWDG | YES | | +| MDMA | NO | | +| SPDIFRX | NO | | +| DFSDM | NO | | +| PWM | NO | | +| FDCAN | NO | | +| CRC | NO | | +| RNG | NO | | +| HASH | NO | | +| CRYP | NO | | + +## Execution Instruction + +### Quickly Get Started + +This BSP provides IAR projects for developers. Here's an example of the IAR development environment, to introduce how to run the system. + +#### Hardware Connection + +Use a USB cable to connect the development board to the PC and turn on the power switch. + +#### Compile And Download + +Double-click the project.eww file, to open the IAR project, compile and download the program to the board. + +> By default, the project uses ST_LINK simulator to download the program, when the ST_LINK connects the board, clicking the download button can download the program to the board. + +#### Running Results + +After the program is successfully downloaded, the system runs automatically. Observe the running results of the LED on the development board, the orange LD4 will flash periodically. + +Connect the serial port of the board to PC, communicate with it via a serial terminal tool (115200-8-1-N). Restart the board and the startup information of RT-Thread will be observed: + +```bash + \ | / +- RT - Thread Operating System + / | \ 3.1.1 build Nov 19 2018 + 2006 - 2018 Copyright by rt-thread team +msh > +``` + +#### Drivers + +##### 1. DAC + +* Open the [Env](https://www.rt-thread.io/download.html?download=Env) tool under this BSP; +* Enter the `menuconfig` command, enter the Hardware Drivers config and open DAC, save and exit; + +* Enter the `scons --target=iar` command to regenerate project. + +###### Finsh + +Before you use a device, you need to find out if the device exists, and you can use the name of the DAC device that is enrolled with the command `dac probe` . As shown as follows. + +``` +msh />dac probe dac1 +probe dac1 success +``` + +Enable the channel of the device can use the command `dac enable` followed by the channel number. + + ```shell +msh />dac probe dac1 +probe dac1 success + ``` + +Set up the data of the channel for a DAC device can use the command `dac write` followed by the channel number. + +``` +msh />dac write 1 1000 +dac1 channel 1 write value is 1000 +``` + +Disable the channel of the device can use the command `dac disable` followed by the channel number. + +```c +msh />dac disable 1 +dac1 channel 1 disable success +``` + +### Advanced Features + +This BSP only enables GPIO and serial port 4 by default. If need more advanced features, you need to configure the BSP with RT-Thread Env tools, as follows: + +* Open the [Env](https://www.rt-thread.io/download.html?download=Env) tool under this BSP; +* Enter the `menuconfig` command to configure the project, then save and exit; +* Enter the `pkgs --update` command to update the packages; +* Enter the `scons --target=iar `command to regenerate the project. + +## Notes + +* Before downloading the program, set the board to the mode of "Engineering Mode". The BOOT switch sets to BOOT0=0,BOOT1 = 0 and BOOT2=1, as shown below: + + ​ boot_switch + +* If need to reburn the program, please reset the development board. + + +## Contact Information + +accendant: + +- [liukang](https://github.com/thread-liu) diff --git a/bsp/stm32/stm32mp157a-st-ev1/README_zh.md b/bsp/stm32/stm32mp157a-st-ev1/README_zh.md new file mode 100644 index 0000000000..8b5e3a2ada --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/README_zh.md @@ -0,0 +1,187 @@ +# STM32MP157A-DK1 开发板 BSP 说明 + +## 简介 + +本文档为 RT-Thread 开发团队为 STM32MP157A-DK1 开发板提供的 BSP (板级支持包) 说明。 + +主要内容如下: + +- 开发板资源介绍 +- BSP 快速上手 +- 进阶使用方法 + +通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。 + +## 开发板介绍 + +STM32MP157A-DK1 是 ST 推出的一款基于双 Cortex-A7 + Cortex-M4 内核的开发板。Cortex-A7 核工作频率为 800 MHZ,Cortex-M4 工作频率为 209MHZ。STM32MP157A 内部没有 Flash。 + +开发板外观如下图所示: + +​ ![board](figures/board.png) + +该开发板常用 **板载资源** 如下: + +- MCU:STM32MP157AACx +- 常用外设 + - LED:4个 ,LD4 (PA14), LD6 (PA13),LD7 (PH7),LD8 (PD11) + - 按键,4个,WAKE_UP,RESET (NRST),USER1(PA14),USER2 (PA13) +- 常用接口:USB 转串口、SD 卡接口、以太网接口、MIPI接口、USB HOST、Audio、HDMI、Arduino +- 调试接口,标准 JTAG/SWD + +开发板更多详细信息请参考 ST 官方文档 [STM32MP157A-DK1 开发板介绍](https://www.st.com/content/st_com/zh/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-discovery-kits/stm32mp157a-dk1.html)。 + +## 外设支持 + +本 BSP 目前对外设的支持情况如下: + +| **板载外设** | **支持情况** | **备注** | +| :----------- | :----------: | :--------------: | +| USB 转串口 | 支持 | | +| SD卡 | 暂不支持 | | +| 以太网 | 暂不支持 | | +| 音频接口 | 暂不支持 | | +| **片上外设** | **支持情况** | **备注** | +| GPIO | 支持 | | +| UART | 支持 | UART4 (ST-Link) | +| EXTI | 支持 | | +| SPI | 支持 | | +| TIM | 支持 | | +| LPTIM | 支持 | | +| I2C | 支持 | 软件、硬件都支持 | +| ADC | 支持 | | +| DAC | 支持 | | +| WWDG | 支持 | | +| USB Device | 暂不支持 | | +| USB Host | 暂不支持 | | + + +## 使用说明 + +使用说明分为如下两个章节: + +- 快速上手 + + 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。 + +- 进阶使用 + + 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。 + + +### 快速上手 + +本 BSP 为开发者提供 IAR 工程。下面以 IAR 开发环境为例,介绍如何将系统运行起来。 + +#### 硬件连接 + +使用数据线连接开发板到 PC,打开电源开关。 + +#### 编译下载 + +双击 project.eww 文件,打开 IAR 工程,编译并下载程序到开发板。 + +> 工程默认配置使用 ST-LINK 下载程序,在通过 ST-LINK连接开发板的基础上,点击下载按钮即可下载程序到开发板 + +#### 运行结果 + +下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,蓝色 LD8 会周期性闪烁,终端会周期性输出 ”Hello RT-Thread!“ + +连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),可以看到 RT-Thread 的输出信息: + +> 注:正点原子开发板 在使用终端工具如:PuTTy、XShell 时,会出现系统不能启动的问题,推荐使用串口调试助手如:sscom + +```bash + \ | / +- RT - Thread Operating System + / | \ 3.1.1 build Nov 19 2018 + 2006 - 2018 Copyright by rt-thread team +msh > +Hello RT-Thread! +``` +#### 驱动使用 +##### 1. WWDG + +1. 在 bsp 下打开 env 工具; +2. 输入 `menuconfig` 命令, 进入 Hardware Drivers config 打开 wwdg,保存并退出; +3. 输入 `scons --target=iar` 命令重新生成工程; +4. wwdg 设备会在喂狗前触发中断,LD5 会在中断中不停的闪烁; +5. 在终端输入 `wwdg_sample` ,获取 wwdg 设备 Finsh 命令; +6. `wwdg_sample run` 开启 wwdg 设备; +7. `wwdg_sample set` 设置 wwdg 设备分频率; +8. 通过调整 wwdg 设备分频率,开发板上 LD5 会有不同的闪烁频率。 + +##### 2. DAC + +1. 在 bsp 下打开 env 工具; +2. 输入`menuconfig`命令, 进入 Hardware Drivers config 打开 dac,保存并退出; +3. 输入 `scons --target=iar` 命令重新生成工程; + +###### Finsh + +在使用设备前,需要先查找设备是否存在,可以使用命令 `dac probe` 后面跟注册的 DAC 设备的名称。如下所示: + +```c +msh />dac probe dac1 +probe dac1 success +``` + +使能设备的某个通道可以使用命令 `dac enable` 后面跟通道号。 + +```c +msh />dac enable 1 +dac1 channel 1 enables success +``` + +设置 DAC 设备某个通道的数据可以使用命令 `dac write` 后面跟通道号。 + +```c +msh />dac write 1 1000 +dac1 channel 1 write value is 1000 +``` + +关闭设备的某个通道可以使用命令 `dac disable` 后面跟通道号。 + +```c +msh />dac disable 1 +dac1 channel 1 disable success +``` +#### 3. LPTIM + +1. 在 bsp 下打开 env 工具; +2. 输入 `menuconfig` 命令, 进入 Hardware Drivers config 打开 lptim,保存并退出; +3. 输入 `scons --target=iar` 命令重新生成工程; +4. lptim 设备计时溢出时会触发中断,中断会打印字符串 `"hello rt-thread!"`; +5. 在终端输入 `lptim_sample` ,获取 lptim 设备 Finsh 命令; +6. `lptim_sample run` 开启 lptim 设备; +7. `lptim_sample set` 设置 lptim 设备分频率。 + + +### 进阶使用 + +此 BSP 默认只开启了 GPIO 和 串口4 的功能,如果需更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下: + +1. 在 bsp 下打开 env 工具。 + +2. 输入`menuconfig`命令配置工程,配置好之后保存退出。 + +3. 输入`pkgs --update`命令更新软件包。 + +4. 输入`scons --target=iar` 命令重新生成工程。 + +本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。 + +## 注意事项 + +1. 下载程序前,将开发板设置为 "Engineering Mode" 模式。 在 DK1 开发板上,将底下的BOOT开关设成 BOOT0=0,BOOT2=1状态,就进入"Engineering Mode",如下图所示: + + ​ boot_switch + +2. 再次烧写程序时,需要复位开发板。 + +## 联系人信息 + +维护人: + +- [liukang](https://github.com/thread-liu) + diff --git a/bsp/stm32/stm32mp157a-st-ev1/SConscript b/bsp/stm32/stm32mp157a-st-ev1/SConscript new file mode 100644 index 0000000000..20f7689c53 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/SConscript @@ -0,0 +1,15 @@ +# for module compiling +import os +Import('RTT_ROOT') +from building import * + +cwd = GetCurrentDir() +objs = [] +list = os.listdir(cwd) + +for d in list: + path = os.path.join(cwd, d) + if os.path.isfile(os.path.join(path, 'SConscript')): + objs = objs + SConscript(os.path.join(d, 'SConscript')) + +Return('objs') diff --git a/bsp/stm32/stm32mp157a-st-ev1/SConstruct b/bsp/stm32/stm32mp157a-st-ev1/SConstruct new file mode 100644 index 0000000000..e1481a896b --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/SConstruct @@ -0,0 +1,60 @@ +import os +import sys +import rtconfig + +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') +else: + RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..') + +sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] +try: + from building import * +except: + print('Cannot found RT-Thread root directory, please check RTT_ROOT') + print(RTT_ROOT) + exit(-1) + +TARGET = 'rt-thread.' + rtconfig.TARGET_EXT + +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS, + AR = rtconfig.AR, ARFLAGS = '-rc', + CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS, + LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) +env.PrependENVPath('PATH', rtconfig.EXEC_PATH) + +if rtconfig.PLATFORM == 'iar': + env.Replace(CCCOM = ['$CC $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES']) + env.Replace(ARFLAGS = ['']) + env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map') + +Export('RTT_ROOT') +Export('rtconfig') + +SDK_ROOT = os.path.abspath('./') + +if os.path.exists(SDK_ROOT + '/libraries'): + libraries_path_prefix = SDK_ROOT + '/libraries' +else: + libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries' + +SDK_LIB = libraries_path_prefix +Export('SDK_LIB') + +# prepare building environment +objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) + +stm32_library = 'STM32MPxx_HAL' +rtconfig.BSP_LIBRARY_TYPE = stm32_library + +# include libraries +objs.extend(SConscript(os.path.join(libraries_path_prefix, stm32_library, 'SConscript'))) + +# include drivers +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript'))) + +# make a building +DoBuilding(TARGET, objs) diff --git a/bsp/stm32/stm32mp157a-st-ev1/applications/SConscript b/bsp/stm32/stm32mp157a-st-ev1/applications/SConscript new file mode 100644 index 0000000000..04f04dd543 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/applications/SConscript @@ -0,0 +1,11 @@ +Import('RTT_ROOT') +Import('rtconfig') +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') +CPPPATH = [cwd, str(Dir('#'))] + +group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH) + +Return('group') diff --git a/bsp/stm32/stm32mp157a-st-ev1/applications/main.c b/bsp/stm32/stm32mp157a-st-ev1/applications/main.c new file mode 100644 index 0000000000..b38732f066 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/applications/main.c @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-06-05 thread-liu first version + */ + +#include +#include +#include + +/* defined the LD4 pin: PD8 */ +#define LED4_PIN GET_PIN(D, 8) + +int main(void) +{ + int count = 1; + /* set LD8 pin mode to output */ + rt_pin_mode(LED4_PIN, PIN_MODE_OUTPUT); + + while (count++) + { + rt_pin_write(LED4_PIN, PIN_HIGH); + rt_thread_mdelay(500); + rt_pin_write(LED4_PIN, PIN_LOW); + rt_thread_mdelay(500); + } + + return RT_EOK; +} diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/.mxproject b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/.mxproject new file mode 100644 index 0000000000..d2274cfbc1 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/.mxproject @@ -0,0 +1,14 @@ +[PreviousGenFiles] +HeaderPath=D:/3_work/GitRepositories/rt-thread/bsp/stm32/stm32mp157a-st-discovery/board/CubeMX_Config/CM4/Inc +HeaderFiles=stm32mp1xx_it.h;stm32mp1xx_hal_conf.h;main.h; +SourcePath=D:/3_work/GitRepositories/rt-thread/bsp/stm32/stm32mp157a-st-discovery/board/CubeMX_Config/CM4/Src +SourceFiles=stm32mp1xx_it.c;stm32mp1xx_hal_msp.c;main.c; + +[PreviousLibFiles] +LibFiles=Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_adc.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_adc_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_ll_adc.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_rcc.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_rcc_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_gpio.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_gpio_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_hsem.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_dma.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_dma_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_mdma.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_pwr.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_pwr_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_cortex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_def.h;Drivers/STM32MP1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_exti.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_dac.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_dac_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_ipcc.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_lptim.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_spi.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_spi_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_tim.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_tim_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_uart.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_uart_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_wwdg.h;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_ll_adc.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_adc.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_adc_ex.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_rcc.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_rcc_ex.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_gpio.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_hsem.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dma.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dma_ex.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_mdma.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_pwr.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_pwr_ex.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_cortex.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_exti.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dac.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dac_ex.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_ipcc.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_lptim.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_spi.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_spi_ex.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_tim.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_tim_ex.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_uart.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_uart_ex.c;Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_wwdg.c;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_adc.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_adc_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_ll_adc.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_rcc.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_rcc_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_gpio.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_gpio_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_hsem.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_dma.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_dma_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_mdma.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_pwr.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_pwr_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_cortex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_def.h;Drivers/STM32MP1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_exti.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_dac.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_dac_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_ipcc.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_lptim.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_spi.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_spi_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_tim.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_tim_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_uart.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_uart_ex.h;Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_wwdg.h;Drivers/CMSIS/Device/ST/STM32MP1xx/Include/stm32mp157axx_cm4.h;Drivers/CMSIS/Device/ST/STM32MP1xx/Include/stm32mp1xx.h;Drivers/CMSIS/Device/ST/STM32MP1xx/Include/system_stm32mp1xx.h;Drivers/CMSIS/Device/ST/STM32MP1xx/Source/Templates/system_stm32mp1xx.c;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h; + +[PreviousUsedIarFiles] +SourceFiles=..\CM4\Src\main.c;..\CM4\Src\stm32mp1xx_it.c;..\CM4\Src\stm32mp1xx_hal_msp.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_ll_adc.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_adc.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_adc_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_rcc.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_rcc_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_gpio.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_hsem.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dma.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dma_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_mdma.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_pwr.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_pwr_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_cortex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_exti.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dac.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dac_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_ipcc.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_lptim.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_spi.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_spi_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_tim.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_tim_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_uart.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_uart_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_wwdg.c;..\Common/System/system_stm32mp1xx.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_ll_adc.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_adc.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_adc_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_rcc.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_rcc_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_gpio.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_hsem.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dma.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dma_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_mdma.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_pwr.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_pwr_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_cortex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_exti.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dac.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_dac_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_ipcc.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_lptim.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_spi.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_spi_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_tim.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_tim_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_uart.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_uart_ex.c;..\Drivers/STM32MP1xx_HAL_Driver/Src/stm32mp1xx_hal_wwdg.c;..\Common/System/system_stm32mp1xx.c;..\Drivers/CMSIS/Device/ST/STM32MP1xx/Source/Templates/system_stm32mp1xx.c;; +HeaderPath=..\Drivers\STM32MP1xx_HAL_Driver\Inc;..\Drivers\STM32MP1xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32MP1xx\Include;..\Drivers\CMSIS\Include;..\CM4\Inc; +CDefines=CORE_CM4;CORE_CM4;CORE_CM4;USE_HAL_DRIVER;STM32MP157Axx;USE_HAL_DRIVER;USE_HAL_DRIVER; + diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Inc/main.h b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Inc/main.h new file mode 100644 index 0000000000..9880e4f884 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Inc/main.h @@ -0,0 +1,77 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.h + * @brief : Header for main.c file. + * This file contains the common defines of the application. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2020 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __MAIN_H +#define __MAIN_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32mp1xx_hal.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* Exported types ------------------------------------------------------------*/ +/* USER CODE BEGIN ET */ + +/* USER CODE END ET */ + +/* Exported constants --------------------------------------------------------*/ +/* USER CODE BEGIN EC */ + +/* USER CODE END EC */ + +/* Exported macro ------------------------------------------------------------*/ +/* USER CODE BEGIN EM */ + +/* USER CODE END EM */ + +void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); + +/* Exported functions prototypes ---------------------------------------------*/ +void Error_Handler(void); + +/* USER CODE BEGIN EFP */ + +/* USER CODE END EFP */ + +/* Private defines -----------------------------------------------------------*/ +#define STLINK_RX_Pin GPIO_PIN_11 +#define STLINK_RX_GPIO_Port GPIOG +#define STLINK_TX_Pin GPIO_PIN_2 +#define STLINK_TX_GPIO_Port GPIOB +/* USER CODE BEGIN Private defines */ + +/* USER CODE END Private defines */ + +#ifdef __cplusplus +} +#endif + +#endif /* __MAIN_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Inc/stm32mp1xx_hal_conf.h b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Inc/stm32mp1xx_hal_conf.h new file mode 100644 index 0000000000..424bdc02a2 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Inc/stm32mp1xx_hal_conf.h @@ -0,0 +1,396 @@ +/** + ****************************************************************************** + * @file stm32mp1xx_hal_conf.h + * @brief HAL configuration file. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2020 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef STM32MP1xx_HAL_CONF_H +#define STM32MP1xx_HAL_CONF_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* ########################## Module Selection ############################## */ +/** + * @brief This is the list of modules to be used in the HAL driver + */ +#define HAL_MODULE_ENABLED +#define HAL_ADC_MODULE_ENABLED +/*#define HAL_CEC_MODULE_ENABLED */ +/*#define HAL_CRC_MODULE_ENABLED */ +/*#define HAL_CRYP_MODULE_ENABLED */ +#define HAL_DAC_MODULE_ENABLED +/*#define HAL_DCMI_MODULE_ENABLED */ +/*#define HAL_DSI_MODULE_ENABLED */ +/*#define HAL_DFSDM_MODULE_ENABLED */ +/*#define HAL_DTS_MODULE_ENABLED */ +/*#define HAL_ETH_MODULE_ENABLED */ +/*#define HAL_FDCAN_MODULE_ENABLED */ +/*#define HAL_HASH_MODULE_ENABLED */ +/*#define HAL_HCD_MODULE_ENABLED */ +#define HAL_HSEM_MODULE_ENABLED +#define HAL_I2C_MODULE_ENABLED +/*#define HAL_I2S_MODULE_ENABLED */ +#define HAL_IPCC_MODULE_ENABLED +/*#define HAL_IWDG_MODULE_ENABLED */ +#define HAL_LPTIM_MODULE_ENABLED +/*#define HAL_LTDC_MODULE_ENABLED */ +/*#define HAL_NAND_MODULE_ENABLED */ +/*#define HAL_NOR_MODULE_ENABLED */ +/*#define HAL_PCD_MODULE_ENABLED */ +/*#define HAL_QSPI_MODULE_ENABLED */ +/*#define HAL_RNG_MODULE_ENABLED */ +/*#define HAL_SAI_MODULE_ENABLED */ +/*#define HAL_SD_MODULE_ENABLED */ +/*#define HAL_MMC_MODULE_ENABLED */ +/*#define HAL_RTC_MODULE_ENABLED */ +/*#define HAL_SMBUS_MODULE_ENABLED */ +/*#define HAL_SPDIFRX_MODULE_ENABLED */ +#define HAL_SPI_MODULE_ENABLED +/*#define HAL_SRAM_MODULE_ENABLED */ +/*#define HAL_TAMP_MODULE_ENABLED */ +#define HAL_TIM_MODULE_ENABLED +#define HAL_UART_MODULE_ENABLED +/*#define HAL_USART_MODULE_ENABLED */ +/*#define HAL_SMARTCARD_MODULE_ENABLED */ +#define HAL_WWDG_MODULE_ENABLED +#define HAL_GPIO_MODULE_ENABLED +#define HAL_EXTI_MODULE_ENABLED +#define HAL_DMA_MODULE_ENABLED +#define HAL_MDMA_MODULE_ENABLED +#define HAL_RCC_MODULE_ENABLED +#define HAL_PWR_MODULE_ENABLED +#define HAL_CORTEX_MODULE_ENABLED + +/* ########################## Register Callbacks selection ############################## */ +/** + * @brief This is the list of modules where register callback can be used + */ +#define USE_HAL_ADC_REGISTER_CALLBACKS 0u +#define USE_HAL_CEC_REGISTER_CALLBACKS 0u +#define USE_HAL_DAC_REGISTER_CALLBACKS 0u +#define USE_HAL_I2C_REGISTER_CALLBACKS 0u +#define USE_HAL_RNG_REGISTER_CALLBACKS 0u +#define USE_HAL_SPI_REGISTER_CALLBACKS 0u +#define USE_HAL_UART_REGISTER_CALLBACKS 0u +#define USE_HAL_USART_REGISTER_CALLBACKS 0u +#define USE_HAL_WWDG_REGISTER_CALLBACKS 0u + +/* ########################## Oscillator Values adaptation ####################*/ +/** + * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSE is used as system clock source, directly or through the PLL). + */ +#if !defined (HSE_VALUE) +#define HSE_VALUE (24000000U) /*!< Value of the External oscillator in Hz : FPGA case fixed to 60MHZ */ +#endif /* HSE_VALUE */ + +#if !defined (HSE_STARTUP_TIMEOUT) + #define HSE_STARTUP_TIMEOUT (100U) /*!< Time out for HSE start up, in ms */ +#endif /* HSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal High Speed oscillator (HSI) value. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSI is used as system clock source, directly or through the PLL). + */ +#if !defined (HSI_VALUE) + #define HSI_VALUE (64000000U) /*!< Value of the Internal oscillator in Hz*/ +#endif /* HSI_VALUE */ + +/** + * @brief In the following line adjust the Internal High Speed oscillator (HSI) Startup + * Timeout value + */ +#if !defined (HSI_STARTUP_TIMEOUT) + #define HSI_STARTUP_TIMEOUT 5000U /*!< Time out for HSI start up */ +#endif /* HSI_STARTUP_TIMEOUT */ + +/** + * @brief Internal Low Speed oscillator (LSI) value. + */ +#if !defined (LSI_VALUE) + #define LSI_VALUE 32000U +#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz + The real value may vary depending on the variations + in voltage and temperature. */ + +/** + * @brief External Low Speed oscillator (LSE) value. + * This value is used by the UART, RTC HAL module to compute the system frequency + */ +#if !defined (LSE_VALUE) + #define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External oscillator in Hz*/ +#endif /* LSE_VALUE */ + +#if !defined (LSE_STARTUP_TIMEOUT) + #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */ +#endif /* LSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal oscillator (CSI) default value. + * This value is the default CSI value after Reset. + */ +#if !defined (CSI_VALUE) + #define CSI_VALUE 4000000U /*!< Value of the Internal oscillator in Hz*/ +#endif /* CSI_VALUE */ + +/** + * @brief External clock source for I2S peripheral + * This value is used by the I2S HAL module to compute the I2S clock source + * frequency, this source is inserted directly through I2S_CKIN pad. + */ +#if !defined (EXTERNAL_CLOCK_VALUE) + #define EXTERNAL_CLOCK_VALUE 12288000U /*!< Value of the External clock in Hz*/ +#endif /* EXTERNAL_CLOCK_VALUE */ + +/* Tip: To avoid modifying this file each time you need to use different HSE, + === you can define the HSE value in your toolchain compiler preprocessor. */ + +/* ########################### System Configuration ######################### */ +/** + * @brief This is the HAL system configuration section + */ +#define VDD_VALUE 3300U /*!< Value of VDD in mv */ +#define TICK_INT_PRIORITY 0U /*!< tick interrupt priority (lowest by default) */ + /* Warning: Must be set to higher priority for HAL_Delay() */ + /* and HAL_GetTick() usage under interrupt context */ +#define USE_RTOS 0U +#define PREFETCH_ENABLE 0U +#define INSTRUCTION_CACHE_ENABLE 0U +#define DATA_CACHE_ENABLE 0U + +/* ########################## Assert Selection ############################## */ +/** + * @brief Uncomment the line below to expanse the "assert_param" macro in the + * HAL drivers code + */ +/* #define USE_FULL_ASSERT 1U */ + +/* Includes ------------------------------------------------------------------*/ +/** + * @brief Include module's header file + */ + +#ifdef HAL_RCC_MODULE_ENABLED + #include "stm32mp1xx_hal_rcc.h" +#endif /* HAL_RCC_MODULE_ENABLED */ + +#ifdef HAL_EXTI_MODULE_ENABLED + #include "stm32mp1xx_hal_exti.h" +#endif /* HAL_EXTI_MODULE_ENABLED */ + +#ifdef HAL_GPIO_MODULE_ENABLED + #include "stm32mp1xx_hal_gpio.h" +#endif /* HAL_GPIO_MODULE_ENABLED */ + +#ifdef HAL_HSEM_MODULE_ENABLED + #include "stm32mp1xx_hal_hsem.h" +#endif /* HAL_HSEM_MODULE_ENABLED */ + +#ifdef HAL_DMA_MODULE_ENABLED + #include "stm32mp1xx_hal_dma.h" +#endif /* HAL_DMA_MODULE_ENABLED */ + +#ifdef HAL_MDMA_MODULE_ENABLED + #include "stm32mp1xx_hal_mdma.h" +#endif /* HAL_MDMA_MODULE_ENABLED */ + +#ifdef HAL_CORTEX_MODULE_ENABLED + #include "stm32mp1xx_hal_cortex.h" +#endif /* HAL_CORTEX_MODULE_ENABLED */ + +#ifdef HAL_ADC_MODULE_ENABLED + #include "stm32mp1xx_hal_adc.h" +#endif /* HAL_ADC_MODULE_ENABLED */ + +#ifdef HAL_CEC_MODULE_ENABLED + #include "stm32mp1xx_hal_cec.h" +#endif /* HAL_CEC_MODULE_ENABLED */ + +#ifdef HAL_CRC_MODULE_ENABLED + #include "stm32mp1xx_hal_crc.h" +#endif /* HAL_CRC_MODULE_ENABLED */ + +#ifdef HAL_CRYP_MODULE_ENABLED + #include "stm32mp1xx_hal_cryp.h" +#endif /* HAL_CRYP_MODULE_ENABLED */ + +#ifdef HAL_DAC_MODULE_ENABLED + #include "stm32mp1xx_hal_dac.h" +#endif /* HAL_DAC_MODULE_ENABLED */ + +#ifdef HAL_DCMI_MODULE_ENABLED + #include "stm32mp1xx_hal_dcmi.h" +#endif /* HAL_DCMI_MODULE_ENABLED */ + +#ifdef HAL_DFSDM_MODULE_ENABLED + #include "stm32mp1xx_hal_dfsdm.h" +#endif /* HAL_DFSDM_MODULE_ENABLED */ + +#ifdef HAL_DSI_MODULE_ENABLED + #include "stm32mp1xx_hal_dsi.h" +#endif /* HAL_DSI_MODULE_ENABLED */ + +#ifdef HAL_ETH_MODULE_ENABLED + #include "stm32mp1xx_hal_eth.h" +#endif /* HAL_ETH_MODULE_ENABLED */ + +#ifdef HAL_FDCAN_MODULE_ENABLED + #include "stm32mp1xx_hal_fdcan.h" +#endif /* HAL_FDCAN_MODULE_ENABLED */ + +#ifdef HAL_HASH_MODULE_ENABLED + #include "stm32mp1xx_hal_hash.h" +#endif /* HAL_HASH_MODULE_ENABLED */ + +#ifdef HAL_HCD_MODULE_ENABLED + #include "stm32mp1xx_hal_hcd.h" +#endif /* HAL_HASH_MODULE_ENABLED */ + +#ifdef HAL_I2C_MODULE_ENABLED + #include "stm32mp1xx_hal_i2c.h" +#endif /* HAL_I2C_MODULE_ENABLED */ + +#ifdef HAL_I2S_MODULE_ENABLED + #include "stm32mp1xx_hal_i2s.h" +#endif /* HAL_I2S_MODULE_ENABLED */ + +#ifdef HAL_IPCC_MODULE_ENABLED + #include "stm32mp1xx_hal_ipcc.h" +#endif /* HAL_IPCC_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED + #include "stm32mp1xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED + #include "stm32mp1xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_LPTIM_MODULE_ENABLED + #include "stm32mp1xx_hal_lptim.h" +#endif /* HAL_LPTIM_MODULE_ENABLED */ + +#ifdef HAL_LTDC_MODULE_ENABLED + #include "stm32mp1xx_hal_ltdc.h" +#endif /* HAL_LTDC_MODULE_ENABLED */ + +#ifdef HAL_NAND_MODULE_ENABLED + #include "stm32mp1xx_hal_nand.h" +#endif /* HAL_NAND_MODULE_ENABLED */ + +#ifdef HAL_NOR_MODULE_ENABLED + #include "stm32mp1xx_hal_nor.h" +#endif /* HAL_NOR_MODULE_ENABLED */ + +#ifdef HAL_PCD_MODULE_ENABLED + #include "stm32mp1xx_hal_pcd.h" +#endif /* HAL_PCD_MODULE_ENABLED */ + +#ifdef HAL_PWR_MODULE_ENABLED + #include "stm32mp1xx_hal_pwr.h" +#endif /* HAL_PWR_MODULE_ENABLED */ + +#ifdef HAL_QSPI_MODULE_ENABLED + #include "stm32mp1xx_hal_qspi.h" +#endif /* HAL_QSPI_MODULE_ENABLED */ + +#ifdef HAL_RNG_MODULE_ENABLED + #include "stm32mp1xx_hal_rng.h" +#endif /* HAL_RNG_MODULE_ENABLED */ + +#ifdef HAL_SAI_MODULE_ENABLED + #include "stm32mp1xx_hal_sai.h" +#endif /* HAL_SAI_MODULE_ENABLED */ + +#ifdef HAL_SD_MODULE_ENABLED + #include "stm32mp1xx_hal_sd.h" +#endif /* HAL_SD_MODULE_ENABLED */ + +#ifdef HAL_SMARTCARD_MODULE_ENABLED + #include "stm32mp1xx_hal_smartcard.h" +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ + +#ifdef HAL_SMBUS_MODULE_ENABLED + #include "stm32mp1xx_hal_smbus.h" +#endif /* HAL_SMBUS_MODULE_ENABLED */ + +#ifdef HAL_SPDIFRX_MODULE_ENABLED + #include "stm32mp1xx_hal_spdifrx.h" +#endif /* HAL_SPDIFRX_MODULE_ENABLED */ + +#ifdef HAL_SPI_MODULE_ENABLED + #include "stm32mp1xx_hal_spi.h" +#endif /* HAL_SPI_MODULE_ENABLED */ + +#ifdef HAL_SRAM_MODULE_ENABLED + #include "stm32mp1xx_hal_sram.h" +#endif /* HAL_SRAM_MODULE_ENABLED */ + +#ifdef HAL_RTC_MODULE_ENABLED + #include "stm32mp1xx_hal_rtc.h" +#endif /* HAL_RTC_MODULE_ENABLED */ + +#ifdef HAL_TAMP_MODULE_ENABLED + #include "stm32mp1xx_hal_tamp.h" +#endif /* HAL_TAMP_MODULE_ENABLED */ + +#ifdef HAL_TIM_MODULE_ENABLED + #include "stm32mp1xx_hal_tim.h" +#endif /* HAL_TIM_MODULE_ENABLED */ + +#ifdef HAL_UART_MODULE_ENABLED + #include "stm32mp1xx_hal_uart.h" +#endif /* HAL_UART_MODULE_ENABLED */ + +#ifdef HAL_USART_MODULE_ENABLED + #include "stm32mp1xx_hal_usart.h" +#endif /* HAL_USART_MODULE_ENABLED */ + +#ifdef HAL_WWDG_MODULE_ENABLED + #include "stm32mp1xx_hal_wwdg.h" +#endif /* HAL_WWDG_MODULE_ENABLED */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0U) +#endif /* USE_FULL_ASSERT */ + +#ifdef __cplusplus +} +#endif + +#endif /* STM32MP1xx_HAL_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Inc/stm32mp1xx_it.h b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Inc/stm32mp1xx_it.h new file mode 100644 index 0000000000..50c502088f --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Inc/stm32mp1xx_it.h @@ -0,0 +1,77 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32mp1xx_it.h + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2020 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32MP1xx_IT_H +#define __STM32MP1xx_IT_H + +#ifdef __cplusplus + extern "C" { +#endif + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* Exported types ------------------------------------------------------------*/ +/* USER CODE BEGIN ET */ + +/* USER CODE END ET */ + +/* Exported constants --------------------------------------------------------*/ +/* USER CODE BEGIN EC */ + +/* USER CODE END EC */ + +/* Exported macro ------------------------------------------------------------*/ +/* USER CODE BEGIN EM */ + +/* USER CODE END EM */ + +/* Exported functions prototypes ---------------------------------------------*/ +void NMI_Handler(void); +void HardFault_Handler(void); +void MemManage_Handler(void); +void BusFault_Handler(void); +void UsageFault_Handler(void); +void SVC_Handler(void); +void DebugMon_Handler(void); +void PendSV_Handler(void); +void SysTick_Handler(void); +void WWDG1_IRQHandler(void); +void LPTIM1_IRQHandler(void); +void IPCC_RX1_IRQHandler(void); +void IPCC_TX1_IRQHandler(void); +void LPTIM2_IRQHandler(void); +void LPTIM3_IRQHandler(void); +void LPTIM4_IRQHandler(void); +void LPTIM5_IRQHandler(void); +/* USER CODE BEGIN EFP */ + +/* USER CODE END EFP */ + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32MP1xx_IT_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/main.c b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/main.c new file mode 100644 index 0000000000..32ea4f86c1 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/main.c @@ -0,0 +1,929 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file : main.c + * @brief : Main program body + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2020 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +ADC_HandleTypeDef hadc2; + +DAC_HandleTypeDef hdac1; + +IPCC_HandleTypeDef hipcc; + +LPTIM_HandleTypeDef hlptim1; +LPTIM_HandleTypeDef hlptim2; +LPTIM_HandleTypeDef hlptim3; +LPTIM_HandleTypeDef hlptim4; +LPTIM_HandleTypeDef hlptim5; + +SPI_HandleTypeDef hspi5; + +TIM_HandleTypeDef htim4; +TIM_HandleTypeDef htim14; +TIM_HandleTypeDef htim16; +TIM_HandleTypeDef htim17; + +UART_HandleTypeDef huart4; +UART_HandleTypeDef huart3; + +WWDG_HandleTypeDef hwwdg1; + +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +void SystemClock_Config(void); +void PeriphCommonClock_Config(void); +static void MX_GPIO_Init(void); +static void MX_IPCC_Init(void); +static void MX_SPI5_Init(void); +static void MX_TIM4_Init(void); +static void MX_TIM14_Init(void); +static void MX_TIM16_Init(void); +static void MX_TIM17_Init(void); +static void MX_UART4_Init(void); +static void MX_ADC2_Init(void); +static void MX_DAC1_Init(void); +static void MX_LPTIM1_Init(void); +static void MX_LPTIM2_Init(void); +static void MX_LPTIM3_Init(void); +static void MX_LPTIM4_Init(void); +static void MX_LPTIM5_Init(void); +static void MX_USART3_UART_Init(void); +static void MX_WWDG1_Init(void); +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +/** + * @brief The application entry point. + * @retval int + */ +int main(void) +{ + /* USER CODE BEGIN 1 */ + + /* USER CODE END 1 */ + + /* MCU Configuration--------------------------------------------------------*/ + + /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ + HAL_Init(); + + /* USER CODE BEGIN Init */ + + /* USER CODE END Init */ + + if(IS_ENGINEERING_BOOT_MODE()) + { + /* Configure the system clock */ + SystemClock_Config(); + } + + if(IS_ENGINEERING_BOOT_MODE()) + { + /* Configure the peripherals common clocks */ + PeriphCommonClock_Config(); + } + + /* IPCC initialisation */ + MX_IPCC_Init(); + + /* USER CODE BEGIN SysInit */ + + /* USER CODE END SysInit */ + + /* Initialize all configured peripherals */ + MX_GPIO_Init(); + MX_SPI5_Init(); + MX_TIM4_Init(); + MX_TIM14_Init(); + MX_TIM16_Init(); + MX_TIM17_Init(); + MX_UART4_Init(); + MX_ADC2_Init(); + MX_DAC1_Init(); + MX_LPTIM1_Init(); + MX_LPTIM2_Init(); + MX_LPTIM3_Init(); + MX_LPTIM4_Init(); + MX_LPTIM5_Init(); + MX_USART3_UART_Init(); + MX_WWDG1_Init(); + /* USER CODE BEGIN 2 */ + + /* USER CODE END 2 */ + + /* Infinite loop */ + /* USER CODE BEGIN WHILE */ + while (1) + { + /* USER CODE END WHILE */ + + /* USER CODE BEGIN 3 */ + } + /* USER CODE END 3 */ +} + +/** + * @brief System Clock Configuration + * @retval None + */ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /** Configure LSE Drive Capability + */ + HAL_PWR_EnableBkUpAccess(); + __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_MEDIUMHIGH); + /** Initializes the CPU, AHB and APB busses clocks + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE + |RCC_OSCILLATORTYPE_LSE; + RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS_DIG; + RCC_OscInitStruct.LSEState = RCC_LSE_ON; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = 16; + RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; + RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL2.PLLSource = RCC_PLL12SOURCE_HSE; + RCC_OscInitStruct.PLL2.PLLM = 3; + RCC_OscInitStruct.PLL2.PLLN = 66; + RCC_OscInitStruct.PLL2.PLLP = 2; + RCC_OscInitStruct.PLL2.PLLQ = 1; + RCC_OscInitStruct.PLL2.PLLR = 1; + RCC_OscInitStruct.PLL2.PLLFRACV = 0x1400; + RCC_OscInitStruct.PLL2.PLLMODE = RCC_PLL_FRACTIONAL; + RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL3.PLLSource = RCC_PLL3SOURCE_HSE; + RCC_OscInitStruct.PLL3.PLLM = 2; + RCC_OscInitStruct.PLL3.PLLN = 34; + RCC_OscInitStruct.PLL3.PLLP = 2; + RCC_OscInitStruct.PLL3.PLLQ = 17; + RCC_OscInitStruct.PLL3.PLLR = 37; + RCC_OscInitStruct.PLL3.PLLRGE = RCC_PLL3IFRANGE_1; + RCC_OscInitStruct.PLL3.PLLFRACV = 6660; + RCC_OscInitStruct.PLL3.PLLMODE = RCC_PLL_FRACTIONAL; + RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_NONE; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + /** RCC Clock Config + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2 + |RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4 + |RCC_CLOCKTYPE_PCLK5; + RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_PLL2; + RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1; + RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_PLL3; + RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1; + RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV2; + RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV4; + RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV2; + RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV2; + RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK) + { + Error_Handler(); + } + /** Set the HSE division factor for RTC clock + */ + __HAL_RCC_RTC_HSEDIV(24); +} + +/** + * @brief Peripherals Common Clock Configuration + * @retval None + */ +void PeriphCommonClock_Config(void) +{ + RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; + + /** Initializes the common periph clock + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_CKPER; + PeriphClkInit.CkperClockSelection = RCC_CKPERCLKSOURCE_HSE; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } +} + +/** + * @brief ADC2 Initialization Function + * @param None + * @retval None + */ +static void MX_ADC2_Init(void) +{ + + /* USER CODE BEGIN ADC2_Init 0 */ + + /* USER CODE END ADC2_Init 0 */ + + ADC_ChannelConfTypeDef sConfig = {0}; + + /* USER CODE BEGIN ADC2_Init 1 */ + + /* USER CODE END ADC2_Init 1 */ + /** Common config + */ + hadc2.Instance = ADC2; + hadc2.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV2; + hadc2.Init.Resolution = ADC_RESOLUTION_16B; + hadc2.Init.ScanConvMode = ADC_SCAN_DISABLE; + hadc2.Init.EOCSelection = ADC_EOC_SINGLE_CONV; + hadc2.Init.LowPowerAutoWait = DISABLE; + hadc2.Init.ContinuousConvMode = DISABLE; + hadc2.Init.NbrOfConversion = 1; + hadc2.Init.DiscontinuousConvMode = DISABLE; + hadc2.Init.ExternalTrigConv = ADC_SOFTWARE_START; + hadc2.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; + hadc2.Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR; + hadc2.Init.Overrun = ADC_OVR_DATA_PRESERVED; + hadc2.Init.LeftBitShift = ADC_LEFTBITSHIFT_NONE; + hadc2.Init.OversamplingMode = DISABLE; + if (HAL_ADC_Init(&hadc2) != HAL_OK) + { + Error_Handler(); + } + /** Configure Regular Channel + */ + sConfig.Channel = ADC_CHANNEL_6; + sConfig.Rank = ADC_REGULAR_RANK_1; + sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5; + sConfig.SingleDiff = ADC_SINGLE_ENDED; + sConfig.OffsetNumber = ADC_OFFSET_NONE; + sConfig.Offset = 0; + if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN ADC2_Init 2 */ + + /* USER CODE END ADC2_Init 2 */ + +} + +/** + * @brief DAC1 Initialization Function + * @param None + * @retval None + */ +static void MX_DAC1_Init(void) +{ + + /* USER CODE BEGIN DAC1_Init 0 */ + + /* USER CODE END DAC1_Init 0 */ + + DAC_ChannelConfTypeDef sConfig = {0}; + + /* USER CODE BEGIN DAC1_Init 1 */ + + /* USER CODE END DAC1_Init 1 */ + /** DAC Initialization + */ + hdac1.Instance = DAC1; + if (HAL_DAC_Init(&hdac1) != HAL_OK) + { + Error_Handler(); + } + /** DAC channel OUT1 config + */ + sConfig.DAC_HighFrequency = DAC_HIGH_FREQUENCY_INTERFACE_MODE_DISABLE; + sConfig.DAC_SampleAndHold = DAC_SAMPLEANDHOLD_DISABLE; + sConfig.DAC_Trigger = DAC_TRIGGER_NONE; + sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE; + sConfig.DAC_ConnectOnChipPeripheral = DAC_CHIPCONNECT_DISABLE; + sConfig.DAC_UserTrimming = DAC_TRIMMING_FACTORY; + if (HAL_DAC_ConfigChannel(&hdac1, &sConfig, DAC_CHANNEL_1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN DAC1_Init 2 */ + + /* USER CODE END DAC1_Init 2 */ + +} + +/** + * @brief IPCC Initialization Function + * @param None + * @retval None + */ +static void MX_IPCC_Init(void) +{ + + /* USER CODE BEGIN IPCC_Init 0 */ + + /* USER CODE END IPCC_Init 0 */ + + /* USER CODE BEGIN IPCC_Init 1 */ + + /* USER CODE END IPCC_Init 1 */ + hipcc.Instance = IPCC; + if (HAL_IPCC_Init(&hipcc) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN IPCC_Init 2 */ + + /* USER CODE END IPCC_Init 2 */ + +} + +/** + * @brief LPTIM1 Initialization Function + * @param None + * @retval None + */ +static void MX_LPTIM1_Init(void) +{ + + /* USER CODE BEGIN LPTIM1_Init 0 */ + + /* USER CODE END LPTIM1_Init 0 */ + + /* USER CODE BEGIN LPTIM1_Init 1 */ + + /* USER CODE END LPTIM1_Init 1 */ + hlptim1.Instance = LPTIM1; + hlptim1.Init.Clock.Source = LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC; + hlptim1.Init.Clock.Prescaler = LPTIM_PRESCALER_DIV1; + hlptim1.Init.Trigger.Source = LPTIM_TRIGSOURCE_SOFTWARE; + hlptim1.Init.OutputPolarity = LPTIM_OUTPUTPOLARITY_HIGH; + hlptim1.Init.UpdateMode = LPTIM_UPDATE_IMMEDIATE; + hlptim1.Init.CounterSource = LPTIM_COUNTERSOURCE_INTERNAL; + hlptim1.Init.Input1Source = LPTIM_INPUT1SOURCE_GPIO; + hlptim1.Init.Input2Source = LPTIM_INPUT2SOURCE_GPIO; + if (HAL_LPTIM_Init(&hlptim1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN LPTIM1_Init 2 */ + + /* USER CODE END LPTIM1_Init 2 */ + +} + +/** + * @brief LPTIM2 Initialization Function + * @param None + * @retval None + */ +static void MX_LPTIM2_Init(void) +{ + + /* USER CODE BEGIN LPTIM2_Init 0 */ + + /* USER CODE END LPTIM2_Init 0 */ + + /* USER CODE BEGIN LPTIM2_Init 1 */ + + /* USER CODE END LPTIM2_Init 1 */ + hlptim2.Instance = LPTIM2; + hlptim2.Init.Clock.Source = LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC; + hlptim2.Init.Clock.Prescaler = LPTIM_PRESCALER_DIV1; + hlptim2.Init.Trigger.Source = LPTIM_TRIGSOURCE_SOFTWARE; + hlptim2.Init.OutputPolarity = LPTIM_OUTPUTPOLARITY_HIGH; + hlptim2.Init.UpdateMode = LPTIM_UPDATE_IMMEDIATE; + hlptim2.Init.CounterSource = LPTIM_COUNTERSOURCE_INTERNAL; + hlptim2.Init.Input1Source = LPTIM_INPUT1SOURCE_GPIO; + hlptim2.Init.Input2Source = LPTIM_INPUT2SOURCE_GPIO; + if (HAL_LPTIM_Init(&hlptim2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN LPTIM2_Init 2 */ + + /* USER CODE END LPTIM2_Init 2 */ + +} + +/** + * @brief LPTIM3 Initialization Function + * @param None + * @retval None + */ +static void MX_LPTIM3_Init(void) +{ + + /* USER CODE BEGIN LPTIM3_Init 0 */ + + /* USER CODE END LPTIM3_Init 0 */ + + /* USER CODE BEGIN LPTIM3_Init 1 */ + + /* USER CODE END LPTIM3_Init 1 */ + hlptim3.Instance = LPTIM3; + hlptim3.Init.Clock.Source = LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC; + hlptim3.Init.Clock.Prescaler = LPTIM_PRESCALER_DIV1; + hlptim3.Init.Trigger.Source = LPTIM_TRIGSOURCE_SOFTWARE; + hlptim3.Init.OutputPolarity = LPTIM_OUTPUTPOLARITY_HIGH; + hlptim3.Init.UpdateMode = LPTIM_UPDATE_IMMEDIATE; + hlptim3.Init.CounterSource = LPTIM_COUNTERSOURCE_INTERNAL; + if (HAL_LPTIM_Init(&hlptim3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN LPTIM3_Init 2 */ + + /* USER CODE END LPTIM3_Init 2 */ + +} + +/** + * @brief LPTIM4 Initialization Function + * @param None + * @retval None + */ +static void MX_LPTIM4_Init(void) +{ + + /* USER CODE BEGIN LPTIM4_Init 0 */ + + /* USER CODE END LPTIM4_Init 0 */ + + /* USER CODE BEGIN LPTIM4_Init 1 */ + + /* USER CODE END LPTIM4_Init 1 */ + hlptim4.Instance = LPTIM4; + hlptim4.Init.Clock.Source = LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC; + hlptim4.Init.Clock.Prescaler = LPTIM_PRESCALER_DIV1; + hlptim4.Init.Trigger.Source = LPTIM_TRIGSOURCE_SOFTWARE; + hlptim4.Init.OutputPolarity = LPTIM_OUTPUTPOLARITY_HIGH; + hlptim4.Init.UpdateMode = LPTIM_UPDATE_IMMEDIATE; + hlptim4.Init.CounterSource = LPTIM_COUNTERSOURCE_INTERNAL; + if (HAL_LPTIM_Init(&hlptim4) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN LPTIM4_Init 2 */ + + /* USER CODE END LPTIM4_Init 2 */ + +} + +/** + * @brief LPTIM5 Initialization Function + * @param None + * @retval None + */ +static void MX_LPTIM5_Init(void) +{ + + /* USER CODE BEGIN LPTIM5_Init 0 */ + + /* USER CODE END LPTIM5_Init 0 */ + + /* USER CODE BEGIN LPTIM5_Init 1 */ + + /* USER CODE END LPTIM5_Init 1 */ + hlptim5.Instance = LPTIM5; + hlptim5.Init.Clock.Source = LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC; + hlptim5.Init.Clock.Prescaler = LPTIM_PRESCALER_DIV1; + hlptim5.Init.Trigger.Source = LPTIM_TRIGSOURCE_SOFTWARE; + hlptim5.Init.OutputPolarity = LPTIM_OUTPUTPOLARITY_HIGH; + hlptim5.Init.UpdateMode = LPTIM_UPDATE_IMMEDIATE; + hlptim5.Init.CounterSource = LPTIM_COUNTERSOURCE_INTERNAL; + if (HAL_LPTIM_Init(&hlptim5) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN LPTIM5_Init 2 */ + + /* USER CODE END LPTIM5_Init 2 */ + +} + +/** + * @brief SPI5 Initialization Function + * @param None + * @retval None + */ +static void MX_SPI5_Init(void) +{ + + /* USER CODE BEGIN SPI5_Init 0 */ + + /* USER CODE END SPI5_Init 0 */ + + /* USER CODE BEGIN SPI5_Init 1 */ + + /* USER CODE END SPI5_Init 1 */ + /* SPI5 parameter configuration*/ + hspi5.Instance = SPI5; + hspi5.Init.Mode = SPI_MODE_MASTER; + hspi5.Init.Direction = SPI_DIRECTION_2LINES_TXONLY; + hspi5.Init.DataSize = SPI_DATASIZE_4BIT; + hspi5.Init.CLKPolarity = SPI_POLARITY_LOW; + hspi5.Init.CLKPhase = SPI_PHASE_1EDGE; + hspi5.Init.NSS = SPI_NSS_SOFT; + hspi5.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4; + hspi5.Init.FirstBit = SPI_FIRSTBIT_MSB; + hspi5.Init.TIMode = SPI_TIMODE_DISABLE; + hspi5.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; + hspi5.Init.CRCPolynomial = 0x0; + hspi5.Init.NSSPMode = SPI_NSS_PULSE_ENABLE; + hspi5.Init.NSSPolarity = SPI_NSS_POLARITY_LOW; + hspi5.Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA; + hspi5.Init.TxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN; + hspi5.Init.RxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN; + hspi5.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_00CYCLE; + hspi5.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_00CYCLE; + hspi5.Init.MasterReceiverAutoSusp = SPI_MASTER_RX_AUTOSUSP_DISABLE; + hspi5.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_DISABLE; + hspi5.Init.IOSwap = SPI_IO_SWAP_DISABLE; + if (HAL_SPI_Init(&hspi5) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN SPI5_Init 2 */ + + /* USER CODE END SPI5_Init 2 */ + +} + +/** + * @brief TIM4 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM4_Init(void) +{ + + /* USER CODE BEGIN TIM4_Init 0 */ + + /* USER CODE END TIM4_Init 0 */ + + TIM_ClockConfigTypeDef sClockSourceConfig = {0}; + TIM_MasterConfigTypeDef sMasterConfig = {0}; + TIM_OC_InitTypeDef sConfigOC = {0}; + + /* USER CODE BEGIN TIM4_Init 1 */ + + /* USER CODE END TIM4_Init 1 */ + htim4.Instance = TIM4; + htim4.Init.Prescaler = 0; + htim4.Init.CounterMode = TIM_COUNTERMODE_UP; + htim4.Init.Period = 0; + htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim4) != HAL_OK) + { + Error_Handler(); + } + sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; + if (HAL_TIM_ConfigClockSource(&htim4, &sClockSourceConfig) != HAL_OK) + { + Error_Handler(); + } + if (HAL_TIM_PWM_Init(&htim4) != HAL_OK) + { + Error_Handler(); + } + sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; + sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; + if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) + { + Error_Handler(); + } + sConfigOC.OCMode = TIM_OCMODE_PWM1; + sConfigOC.Pulse = 0; + sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; + sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; + if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_2) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM4_Init 2 */ + + /* USER CODE END TIM4_Init 2 */ + HAL_TIM_MspPostInit(&htim4); + +} + +/** + * @brief TIM14 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM14_Init(void) +{ + + /* USER CODE BEGIN TIM14_Init 0 */ + + /* USER CODE END TIM14_Init 0 */ + + /* USER CODE BEGIN TIM14_Init 1 */ + + /* USER CODE END TIM14_Init 1 */ + htim14.Instance = TIM14; + htim14.Init.Prescaler = 0; + htim14.Init.CounterMode = TIM_COUNTERMODE_UP; + htim14.Init.Period = 0; + htim14.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim14.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim14) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM14_Init 2 */ + + /* USER CODE END TIM14_Init 2 */ + +} + +/** + * @brief TIM16 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM16_Init(void) +{ + + /* USER CODE BEGIN TIM16_Init 0 */ + + /* USER CODE END TIM16_Init 0 */ + + /* USER CODE BEGIN TIM16_Init 1 */ + + /* USER CODE END TIM16_Init 1 */ + htim16.Instance = TIM16; + htim16.Init.Prescaler = 0; + htim16.Init.CounterMode = TIM_COUNTERMODE_UP; + htim16.Init.Period = 0; + htim16.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim16.Init.RepetitionCounter = 0; + htim16.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim16) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM16_Init 2 */ + + /* USER CODE END TIM16_Init 2 */ + +} + +/** + * @brief TIM17 Initialization Function + * @param None + * @retval None + */ +static void MX_TIM17_Init(void) +{ + + /* USER CODE BEGIN TIM17_Init 0 */ + + /* USER CODE END TIM17_Init 0 */ + + /* USER CODE BEGIN TIM17_Init 1 */ + + /* USER CODE END TIM17_Init 1 */ + htim17.Instance = TIM17; + htim17.Init.Prescaler = 0; + htim17.Init.CounterMode = TIM_COUNTERMODE_UP; + htim17.Init.Period = 0; + htim17.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; + htim17.Init.RepetitionCounter = 0; + htim17.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; + if (HAL_TIM_Base_Init(&htim17) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN TIM17_Init 2 */ + + /* USER CODE END TIM17_Init 2 */ + +} + +/** + * @brief UART4 Initialization Function + * @param None + * @retval None + */ +static void MX_UART4_Init(void) +{ + + /* USER CODE BEGIN UART4_Init 0 */ + + /* USER CODE END UART4_Init 0 */ + + /* USER CODE BEGIN UART4_Init 1 */ + + /* USER CODE END UART4_Init 1 */ + huart4.Instance = UART4; + huart4.Init.BaudRate = 115200; + huart4.Init.WordLength = UART_WORDLENGTH_8B; + huart4.Init.StopBits = UART_STOPBITS_1; + huart4.Init.Parity = UART_PARITY_NONE; + huart4.Init.Mode = UART_MODE_TX_RX; + huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart4.Init.OverSampling = UART_OVERSAMPLING_16; + huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; + huart4.Init.ClockPrescaler = UART_PRESCALER_DIV1; + huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; + if (HAL_UART_Init(&huart4) != HAL_OK) + { + Error_Handler(); + } + if (HAL_UARTEx_SetTxFifoThreshold(&huart4, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK) + { + Error_Handler(); + } + if (HAL_UARTEx_SetRxFifoThreshold(&huart4, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK) + { + Error_Handler(); + } + if (HAL_UARTEx_DisableFifoMode(&huart4) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN UART4_Init 2 */ + + /* USER CODE END UART4_Init 2 */ + +} + +/** + * @brief USART3 Initialization Function + * @param None + * @retval None + */ +static void MX_USART3_UART_Init(void) +{ + + /* USER CODE BEGIN USART3_Init 0 */ + + /* USER CODE END USART3_Init 0 */ + + /* USER CODE BEGIN USART3_Init 1 */ + + /* USER CODE END USART3_Init 1 */ + huart3.Instance = USART3; + huart3.Init.BaudRate = 115200; + huart3.Init.WordLength = UART_WORDLENGTH_8B; + huart3.Init.StopBits = UART_STOPBITS_1; + huart3.Init.Parity = UART_PARITY_NONE; + huart3.Init.Mode = UART_MODE_TX_RX; + huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; + huart3.Init.OverSampling = UART_OVERSAMPLING_16; + huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; + huart3.Init.ClockPrescaler = UART_PRESCALER_DIV1; + huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; + if (HAL_UART_Init(&huart3) != HAL_OK) + { + Error_Handler(); + } + if (HAL_UARTEx_SetTxFifoThreshold(&huart3, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK) + { + Error_Handler(); + } + if (HAL_UARTEx_SetRxFifoThreshold(&huart3, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK) + { + Error_Handler(); + } + if (HAL_UARTEx_DisableFifoMode(&huart3) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN USART3_Init 2 */ + + /* USER CODE END USART3_Init 2 */ + +} + +/** + * @brief WWDG1 Initialization Function + * @param None + * @retval None + */ +static void MX_WWDG1_Init(void) +{ + + /* USER CODE BEGIN WWDG1_Init 0 */ + + /* USER CODE END WWDG1_Init 0 */ + + /* USER CODE BEGIN WWDG1_Init 1 */ + + /* USER CODE END WWDG1_Init 1 */ + hwwdg1.Instance = WWDG1; + hwwdg1.Init.Prescaler = WWDG_PRESCALER_8; + hwwdg1.Init.Window = 64; + hwwdg1.Init.Counter = 64; + hwwdg1.Init.EWIMode = WWDG_EWI_DISABLE; + if (HAL_WWDG_Init(&hwwdg1) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN WWDG1_Init 2 */ + + /* USER CODE END WWDG1_Init 2 */ + +} + +/** + * @brief GPIO Initialization Function + * @param None + * @retval None + */ +static void MX_GPIO_Init(void) +{ + + /* GPIO Ports Clock Enable */ + __HAL_RCC_GPIOC_CLK_ENABLE(); + __HAL_RCC_GPIOH_CLK_ENABLE(); + __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + __HAL_RCC_GPIOG_CLK_ENABLE(); + __HAL_RCC_GPIOF_CLK_ENABLE(); + __HAL_RCC_GPIOD_CLK_ENABLE(); + +} + +/* USER CODE BEGIN 4 */ + +/* USER CODE END 4 */ + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + + /* USER CODE END Error_Handler_Debug */ +} + +#ifdef USE_FULL_ASSERT +/** + * @brief Reports the name of the source file and the source line number + * where the assert_param error has occurred. + * @param file: pointer to the source file name + * @param line: assert_param error line source number + * @retval None + */ +void assert_failed(uint8_t *file, uint32_t line) +{ + /* USER CODE BEGIN 6 */ + /* User can add his own implementation to report the file name and line number, + tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + /* USER CODE END 6 */ +} +#endif /* USE_FULL_ASSERT */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/stm32mp1xx_hal_msp.c b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/stm32mp1xx_hal_msp.c new file mode 100644 index 0000000000..efb81996fa --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/stm32mp1xx_hal_msp.c @@ -0,0 +1,987 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * File Name : stm32mp1xx_hal_msp.c + * Description : This file provides code for the MSP Initialization + * and de-Initialization codes. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2020 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +/* USER CODE BEGIN Includes */ +#include "stpmic.h" +#include "rtconfig.h" +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN TD */ + +/* USER CODE END TD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN Define */ + +/* USER CODE END Define */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN Macro */ + +/* USER CODE END Macro */ + +/* Private variables ---------------------------------------------------------*/ +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* External functions --------------------------------------------------------*/ +/* USER CODE BEGIN ExternalFunctions */ + +/* USER CODE END ExternalFunctions */ + +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); + /** + * Initializes the Global MSP. + */ +void HAL_MspInit(void) +{ + /* USER CODE BEGIN MspInit 0 */ + + /* USER CODE END MspInit 0 */ + + __HAL_RCC_HSEM_CLK_ENABLE(); + + /* System interrupt init*/ + + /* USER CODE BEGIN MspInit 1 */ + if(IS_ENGINEERING_BOOT_MODE()) + { +#if defined(BSP_USING_ADC) || defined(BSP_USING_DAC) + /* Configure PMIC */ + BSP_PMIC_Init(); + BSP_PMIC_InitRegulators(); + + __HAL_RCC_VREF_CLK_ENABLE(); + HAL_SYSCFG_VREFBUF_HighImpedanceConfig(SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE); + HAL_SYSCFG_EnableVREFBUF(); +#endif + } + /* USER CODE END MspInit 1 */ +} + +/** +* @brief ADC MSP Initialization +* This function configures the hardware resources used in this example +* @param hadc: ADC handle pointer +* @retval None +*/ +void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; + if(hadc->Instance==ADC2) + { + /* USER CODE BEGIN ADC2_MspInit 0 */ + + /* USER CODE END ADC2_MspInit 0 */ + if(IS_ENGINEERING_BOOT_MODE()) + { + /** Initializes the peripherals clock + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC; + PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_PER; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } + + } + + /* Peripheral clock enable */ + __HAL_RCC_ADC12_CLK_ENABLE(); + + __HAL_RCC_GPIOF_CLK_ENABLE(); + /**ADC2 GPIO Configuration + PF14 ------> ADC2_INP6 + */ + GPIO_InitStruct.Pin = GPIO_PIN_14; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); + + /* USER CODE BEGIN ADC2_MspInit 1 */ + /* USER CODE END ADC2_MspInit 1 */ + } + +} + +/** +* @brief ADC MSP De-Initialization +* This function freeze the hardware resources used in this example +* @param hadc: ADC handle pointer +* @retval None +*/ +void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) +{ + if(hadc->Instance==ADC2) + { + /* USER CODE BEGIN ADC2_MspDeInit 0 */ + + /* USER CODE END ADC2_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_ADC12_CLK_DISABLE(); + + /**ADC2 GPIO Configuration + PF14 ------> ADC2_INP6 + */ + HAL_GPIO_DeInit(GPIOF, GPIO_PIN_14); + + /* USER CODE BEGIN ADC2_MspDeInit 1 */ + + /* USER CODE END ADC2_MspDeInit 1 */ + } + +} + +/** +* @brief DAC MSP Initialization +* This function configures the hardware resources used in this example +* @param hdac: DAC handle pointer +* @retval None +*/ +void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + if(hdac->Instance==DAC1) + { + /* USER CODE BEGIN DAC1_MspInit 0 */ + + /* USER CODE END DAC1_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_DAC12_CLK_ENABLE(); + + __HAL_RCC_GPIOA_CLK_ENABLE(); + /**DAC1 GPIO Configuration + PA4 ------> DAC1_OUT1 + */ + GPIO_InitStruct.Pin = GPIO_PIN_4; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /* USER CODE BEGIN DAC1_MspInit 1 */ + + /* USER CODE END DAC1_MspInit 1 */ + } + +} + +/** +* @brief DAC MSP De-Initialization +* This function freeze the hardware resources used in this example +* @param hdac: DAC handle pointer +* @retval None +*/ +void HAL_DAC_MspDeInit(DAC_HandleTypeDef* hdac) +{ + if(hdac->Instance==DAC1) + { + /* USER CODE BEGIN DAC1_MspDeInit 0 */ + + /* USER CODE END DAC1_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_DAC12_CLK_DISABLE(); + + /**DAC1 GPIO Configuration + PA4 ------> DAC1_OUT1 + */ + HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4); + + /* USER CODE BEGIN DAC1_MspDeInit 1 */ + + /* USER CODE END DAC1_MspDeInit 1 */ + } + +} + +/** +* @brief IPCC MSP Initialization +* This function configures the hardware resources used in this example +* @param hipcc: IPCC handle pointer +* @retval None +*/ +void HAL_IPCC_MspInit(IPCC_HandleTypeDef* hipcc) +{ + if(hipcc->Instance==IPCC) + { + /* USER CODE BEGIN IPCC_MspInit 0 */ + + /* USER CODE END IPCC_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_IPCC_CLK_ENABLE(); + /* IPCC interrupt Init */ + HAL_NVIC_SetPriority(IPCC_RX1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(IPCC_RX1_IRQn); + HAL_NVIC_SetPriority(IPCC_TX1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(IPCC_TX1_IRQn); + /* USER CODE BEGIN IPCC_MspInit 1 */ + + /* USER CODE END IPCC_MspInit 1 */ + } + +} + +/** +* @brief IPCC MSP De-Initialization +* This function freeze the hardware resources used in this example +* @param hipcc: IPCC handle pointer +* @retval None +*/ +void HAL_IPCC_MspDeInit(IPCC_HandleTypeDef* hipcc) +{ + if(hipcc->Instance==IPCC) + { + /* USER CODE BEGIN IPCC_MspDeInit 0 */ + + /* USER CODE END IPCC_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_IPCC_CLK_DISABLE(); + + /* IPCC interrupt DeInit */ + HAL_NVIC_DisableIRQ(IPCC_RX1_IRQn); + HAL_NVIC_DisableIRQ(IPCC_TX1_IRQn); + /* USER CODE BEGIN IPCC_MspDeInit 1 */ + + /* USER CODE END IPCC_MspDeInit 1 */ + } + +} + +/** +* @brief LPTIM MSP Initialization +* This function configures the hardware resources used in this example +* @param hlptim: LPTIM handle pointer +* @retval None +*/ +void HAL_LPTIM_MspInit(LPTIM_HandleTypeDef* hlptim) +{ + RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; + if(hlptim->Instance==LPTIM1) + { + /* USER CODE BEGIN LPTIM1_MspInit 0 */ + + /* USER CODE END LPTIM1_MspInit 0 */ + if(IS_ENGINEERING_BOOT_MODE()) + { + /** Initializes the peripherals clock + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_LPTIM1; + PeriphClkInit.Lptim1ClockSelection = RCC_LPTIM1CLKSOURCE_PCLK1; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } + + } + + /* Peripheral clock enable */ + __HAL_RCC_LPTIM1_CLK_ENABLE(); + /* LPTIM1 interrupt Init */ + HAL_NVIC_SetPriority(LPTIM1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(LPTIM1_IRQn); + /* USER CODE BEGIN LPTIM1_MspInit 1 */ + + /* USER CODE END LPTIM1_MspInit 1 */ + } + else if(hlptim->Instance==LPTIM2) + { + /* USER CODE BEGIN LPTIM2_MspInit 0 */ + + /* USER CODE END LPTIM2_MspInit 0 */ + + if(IS_ENGINEERING_BOOT_MODE()) + { + /** Initializes the peripherals clock + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_LPTIM23; + PeriphClkInit.Lptim23ClockSelection = RCC_LPTIM23CLKSOURCE_PCLK3; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } + + } + + /* Peripheral clock enable */ + __HAL_RCC_LPTIM2_CLK_ENABLE(); + /* LPTIM2 interrupt Init */ + HAL_NVIC_SetPriority(LPTIM2_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(LPTIM2_IRQn); + /* USER CODE BEGIN LPTIM2_MspInit 1 */ + + /* USER CODE END LPTIM2_MspInit 1 */ + } + else if(hlptim->Instance==LPTIM3) + { + /* USER CODE BEGIN LPTIM3_MspInit 0 */ + + /* USER CODE END LPTIM3_MspInit 0 */ + + if(IS_ENGINEERING_BOOT_MODE()) + { + /** Initializes the peripherals clock + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_LPTIM23; + PeriphClkInit.Lptim23ClockSelection = RCC_LPTIM23CLKSOURCE_PCLK3; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } + + } + + /* Peripheral clock enable */ + __HAL_RCC_LPTIM3_CLK_ENABLE(); + /* LPTIM3 interrupt Init */ + HAL_NVIC_SetPriority(LPTIM3_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(LPTIM3_IRQn); + /* USER CODE BEGIN LPTIM3_MspInit 1 */ + + /* USER CODE END LPTIM3_MspInit 1 */ + } + else if(hlptim->Instance==LPTIM4) + { + /* USER CODE BEGIN LPTIM4_MspInit 0 */ + + /* USER CODE END LPTIM4_MspInit 0 */ + + if(IS_ENGINEERING_BOOT_MODE()) + { + /** Initializes the peripherals clock + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_LPTIM45; + PeriphClkInit.Lptim45ClockSelection = RCC_LPTIM45CLKSOURCE_PCLK3; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } + + } + + /* Peripheral clock enable */ + __HAL_RCC_LPTIM4_CLK_ENABLE(); + /* LPTIM4 interrupt Init */ + HAL_NVIC_SetPriority(LPTIM4_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(LPTIM4_IRQn); + /* USER CODE BEGIN LPTIM4_MspInit 1 */ + + /* USER CODE END LPTIM4_MspInit 1 */ + } + else if(hlptim->Instance==LPTIM5) + { + /* USER CODE BEGIN LPTIM5_MspInit 0 */ + + /* USER CODE END LPTIM5_MspInit 0 */ + + if(IS_ENGINEERING_BOOT_MODE()) + { + /** Initializes the peripherals clock + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_LPTIM45; + PeriphClkInit.Lptim45ClockSelection = RCC_LPTIM45CLKSOURCE_PCLK3; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } + + } + + /* Peripheral clock enable */ + __HAL_RCC_LPTIM5_CLK_ENABLE(); + /* LPTIM5 interrupt Init */ + HAL_NVIC_SetPriority(LPTIM5_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(LPTIM5_IRQn); + /* USER CODE BEGIN LPTIM5_MspInit 1 */ + + /* USER CODE END LPTIM5_MspInit 1 */ + } + +} + +/** +* @brief LPTIM MSP De-Initialization +* This function freeze the hardware resources used in this example +* @param hlptim: LPTIM handle pointer +* @retval None +*/ +void HAL_LPTIM_MspDeInit(LPTIM_HandleTypeDef* hlptim) +{ + if(hlptim->Instance==LPTIM1) + { + /* USER CODE BEGIN LPTIM1_MspDeInit 0 */ + + /* USER CODE END LPTIM1_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_LPTIM1_CLK_DISABLE(); + + /* LPTIM1 interrupt DeInit */ + HAL_NVIC_DisableIRQ(LPTIM1_IRQn); + /* USER CODE BEGIN LPTIM1_MspDeInit 1 */ + + /* USER CODE END LPTIM1_MspDeInit 1 */ + } + else if(hlptim->Instance==LPTIM2) + { + /* USER CODE BEGIN LPTIM2_MspDeInit 0 */ + + /* USER CODE END LPTIM2_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_LPTIM2_CLK_DISABLE(); + + /* LPTIM2 interrupt DeInit */ + HAL_NVIC_DisableIRQ(LPTIM2_IRQn); + /* USER CODE BEGIN LPTIM2_MspDeInit 1 */ + + /* USER CODE END LPTIM2_MspDeInit 1 */ + } + else if(hlptim->Instance==LPTIM3) + { + /* USER CODE BEGIN LPTIM3_MspDeInit 0 */ + + /* USER CODE END LPTIM3_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_LPTIM3_CLK_DISABLE(); + + /* LPTIM3 interrupt DeInit */ + HAL_NVIC_DisableIRQ(LPTIM3_IRQn); + /* USER CODE BEGIN LPTIM3_MspDeInit 1 */ + + /* USER CODE END LPTIM3_MspDeInit 1 */ + } + else if(hlptim->Instance==LPTIM4) + { + /* USER CODE BEGIN LPTIM4_MspDeInit 0 */ + + /* USER CODE END LPTIM4_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_LPTIM4_CLK_DISABLE(); + + /* LPTIM4 interrupt DeInit */ + HAL_NVIC_DisableIRQ(LPTIM4_IRQn); + /* USER CODE BEGIN LPTIM4_MspDeInit 1 */ + + /* USER CODE END LPTIM4_MspDeInit 1 */ + } + else if(hlptim->Instance==LPTIM5) + { + /* USER CODE BEGIN LPTIM5_MspDeInit 0 */ + + /* USER CODE END LPTIM5_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_LPTIM5_CLK_DISABLE(); + + /* LPTIM5 interrupt DeInit */ + HAL_NVIC_DisableIRQ(LPTIM5_IRQn); + /* USER CODE BEGIN LPTIM5_MspDeInit 1 */ + + /* USER CODE END LPTIM5_MspDeInit 1 */ + } + +} + +/** +* @brief SPI MSP Initialization +* This function configures the hardware resources used in this example +* @param hspi: SPI handle pointer +* @retval None +*/ +void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; + if(hspi->Instance==SPI5) + { + /* USER CODE BEGIN SPI5_MspInit 0 */ + + /* USER CODE END SPI5_MspInit 0 */ + if(IS_ENGINEERING_BOOT_MODE()) + { + /** Initializes the peripherals clock + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_SPI45; + PeriphClkInit.Spi45ClockSelection = RCC_SPI45CLKSOURCE_PCLK2; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } + + } + + /* Peripheral clock enable */ + __HAL_RCC_SPI5_CLK_ENABLE(); + + __HAL_RCC_GPIOF_CLK_ENABLE(); + /**SPI5 GPIO Configuration + PF9 ------> SPI5_MOSI + PF7 ------> SPI5_SCK + */ + GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM; + GPIO_InitStruct.Alternate = GPIO_AF5_SPI5; + HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); + + /* USER CODE BEGIN SPI5_MspInit 1 */ + + /* USER CODE END SPI5_MspInit 1 */ + } + +} + +/** +* @brief SPI MSP De-Initialization +* This function freeze the hardware resources used in this example +* @param hspi: SPI handle pointer +* @retval None +*/ +void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi) +{ + if(hspi->Instance==SPI5) + { + /* USER CODE BEGIN SPI5_MspDeInit 0 */ + + /* USER CODE END SPI5_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_SPI5_CLK_DISABLE(); + + /**SPI5 GPIO Configuration + PF9 ------> SPI5_MOSI + PF7 ------> SPI5_SCK + */ + HAL_GPIO_DeInit(GPIOF, GPIO_PIN_9|GPIO_PIN_7); + + /* USER CODE BEGIN SPI5_MspDeInit 1 */ + + /* USER CODE END SPI5_MspDeInit 1 */ + } + +} + +/** +* @brief TIM_Base MSP Initialization +* This function configures the hardware resources used in this example +* @param htim_base: TIM_Base handle pointer +* @retval None +*/ +void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base) +{ + if(htim_base->Instance==TIM4) + { + /* USER CODE BEGIN TIM4_MspInit 0 */ + + /* USER CODE END TIM4_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_TIM4_CLK_ENABLE(); + /* USER CODE BEGIN TIM4_MspInit 1 */ + + /* USER CODE END TIM4_MspInit 1 */ + } + else if(htim_base->Instance==TIM14) + { + /* USER CODE BEGIN TIM14_MspInit 0 */ + + /* USER CODE END TIM14_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_TIM14_CLK_ENABLE(); + /* USER CODE BEGIN TIM14_MspInit 1 */ + + /* USER CODE END TIM14_MspInit 1 */ + } + else if(htim_base->Instance==TIM16) + { + /* USER CODE BEGIN TIM16_MspInit 0 */ + + /* USER CODE END TIM16_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_TIM16_CLK_ENABLE(); + /* USER CODE BEGIN TIM16_MspInit 1 */ + + /* USER CODE END TIM16_MspInit 1 */ + } + else if(htim_base->Instance==TIM17) + { + /* USER CODE BEGIN TIM17_MspInit 0 */ + + /* USER CODE END TIM17_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_TIM17_CLK_ENABLE(); + /* USER CODE BEGIN TIM17_MspInit 1 */ + + /* USER CODE END TIM17_MspInit 1 */ + } + +} + +void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + if(htim->Instance==TIM4) + { + /* USER CODE BEGIN TIM4_MspPostInit 0 */ + + /* USER CODE END TIM4_MspPostInit 0 */ + + __HAL_RCC_GPIOD_CLK_ENABLE(); + /**TIM4 GPIO Configuration + PD13 ------> TIM4_CH2 + */ + GPIO_InitStruct.Pin = GPIO_PIN_13; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF2_TIM4; + HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); + + /* USER CODE BEGIN TIM4_MspPostInit 1 */ + + /* USER CODE END TIM4_MspPostInit 1 */ + } + +} +/** +* @brief TIM_Base MSP De-Initialization +* This function freeze the hardware resources used in this example +* @param htim_base: TIM_Base handle pointer +* @retval None +*/ +void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base) +{ + if(htim_base->Instance==TIM4) + { + /* USER CODE BEGIN TIM4_MspDeInit 0 */ + + /* USER CODE END TIM4_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_TIM4_CLK_DISABLE(); + /* USER CODE BEGIN TIM4_MspDeInit 1 */ + + /* USER CODE END TIM4_MspDeInit 1 */ + } + else if(htim_base->Instance==TIM14) + { + /* USER CODE BEGIN TIM14_MspDeInit 0 */ + + /* USER CODE END TIM14_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_TIM14_CLK_DISABLE(); + /* USER CODE BEGIN TIM14_MspDeInit 1 */ + + /* USER CODE END TIM14_MspDeInit 1 */ + } + else if(htim_base->Instance==TIM16) + { + /* USER CODE BEGIN TIM16_MspDeInit 0 */ + + /* USER CODE END TIM16_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_TIM16_CLK_DISABLE(); + /* USER CODE BEGIN TIM16_MspDeInit 1 */ + + /* USER CODE END TIM16_MspDeInit 1 */ + } + else if(htim_base->Instance==TIM17) + { + /* USER CODE BEGIN TIM17_MspDeInit 0 */ + + /* USER CODE END TIM17_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_TIM17_CLK_DISABLE(); + /* USER CODE BEGIN TIM17_MspDeInit 1 */ + + /* USER CODE END TIM17_MspDeInit 1 */ + } + +} + +/** +* @brief UART MSP Initialization +* This function configures the hardware resources used in this example +* @param huart: UART handle pointer +* @retval None +*/ +void HAL_UART_MspInit(UART_HandleTypeDef* huart) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; + if(huart->Instance==UART4) + { + /* USER CODE BEGIN UART4_MspInit 0 */ + + /* USER CODE END UART4_MspInit 0 */ + if(IS_ENGINEERING_BOOT_MODE()) + { + /** Initializes the peripherals clock + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_UART24; + PeriphClkInit.Uart24ClockSelection = RCC_UART24CLKSOURCE_HSI; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } + + } + + /* Peripheral clock enable */ + __HAL_RCC_UART4_CLK_ENABLE(); + + __HAL_RCC_GPIOG_CLK_ENABLE(); + __HAL_RCC_GPIOB_CLK_ENABLE(); + /**UART4 GPIO Configuration + PG11 ------> UART4_TX + PB2 ------> UART4_RX + */ + GPIO_InitStruct.Pin = STLINK_RX_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF6_UART4; + HAL_GPIO_Init(STLINK_RX_GPIO_Port, &GPIO_InitStruct); + + GPIO_InitStruct.Pin = STLINK_TX_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_AF; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Alternate = GPIO_AF8_UART4; + HAL_GPIO_Init(STLINK_TX_GPIO_Port, &GPIO_InitStruct); + + /* USER CODE BEGIN UART4_MspInit 1 */ + + /* USER CODE END UART4_MspInit 1 */ + } + else if(huart->Instance==USART3) + { + /* USER CODE BEGIN USART3_MspInit 0 */ + + /* USER CODE END USART3_MspInit 0 */ + + if(IS_ENGINEERING_BOOT_MODE()) + { + /** Initializes the peripherals clock + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_UART35; + PeriphClkInit.Uart35ClockSelection = RCC_UART35CLKSOURCE_PCLK1; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } + + } + + /* Peripheral clock enable */ + __HAL_RCC_USART3_CLK_ENABLE(); + + __HAL_RCC_GPIOB_CLK_ENABLE(); + /**USART3 GPIO Configuration + PB10 ------> USART3_TX + PB12 ------> USART3_RX + */ + GPIO_InitStruct.Pin = GPIO_PIN_10; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + GPIO_InitStruct.Alternate = GPIO_AF7_USART3; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + GPIO_InitStruct.Pin = GPIO_PIN_12; + GPIO_InitStruct.Mode = GPIO_MODE_AF; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Alternate = GPIO_AF8_USART3; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + /* USER CODE BEGIN USART3_MspInit 1 */ + + /* USER CODE END USART3_MspInit 1 */ + } + +} + +/** +* @brief UART MSP De-Initialization +* This function freeze the hardware resources used in this example +* @param huart: UART handle pointer +* @retval None +*/ +void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) +{ + if(huart->Instance==UART4) + { + /* USER CODE BEGIN UART4_MspDeInit 0 */ + + /* USER CODE END UART4_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_UART4_CLK_DISABLE(); + + /**UART4 GPIO Configuration + PG11 ------> UART4_TX + PB2 ------> UART4_RX + */ + HAL_GPIO_DeInit(STLINK_RX_GPIO_Port, STLINK_RX_Pin); + + HAL_GPIO_DeInit(STLINK_TX_GPIO_Port, STLINK_TX_Pin); + + /* USER CODE BEGIN UART4_MspDeInit 1 */ + + /* USER CODE END UART4_MspDeInit 1 */ + } + else if(huart->Instance==USART3) + { + /* USER CODE BEGIN USART3_MspDeInit 0 */ + + /* USER CODE END USART3_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_USART3_CLK_DISABLE(); + + /**USART3 GPIO Configuration + PB10 ------> USART3_TX + PB12 ------> USART3_RX + */ + HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_12); + + /* USER CODE BEGIN USART3_MspDeInit 1 */ + + /* USER CODE END USART3_MspDeInit 1 */ + } + +} + +/** +* @brief WWDG MSP Initialization +* This function configures the hardware resources used in this example +* @param hwwdg: WWDG handle pointer +* @retval None +*/ +void HAL_WWDG_MspInit(WWDG_HandleTypeDef* hwwdg) +{ + if(hwwdg->Instance==WWDG1) + { + /* USER CODE BEGIN WWDG1_MspInit 0 */ + + /* USER CODE END WWDG1_MspInit 0 */ + /* Peripheral clock enable */ + __HAL_RCC_WWDG1_CLK_ENABLE(); + /* WWDG1 interrupt Init */ + HAL_NVIC_SetPriority(WWDG1_IRQn, 0, 0); + HAL_NVIC_EnableIRQ(WWDG1_IRQn); + /* USER CODE BEGIN WWDG1_MspInit 1 */ + + /* USER CODE END WWDG1_MspInit 1 */ + } + +} + +/* USER CODE BEGIN 1 */ +/** + * @brief Initializes I2C MSP. + * @param hI2c : I2C handler + * @retval None + */ +void HAL_I2C_MspInit(I2C_HandleTypeDef *hI2c) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; + + if(hI2c->Instance == I2C4) + { + if(IS_ENGINEERING_BOOT_MODE()) + { + /*** Configure the I2C peripheral clock ***/ + PeriphClkInit.I2c46ClockSelection = RCC_I2C46CLKSOURCE_HSI; + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C46; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) + { + Error_Handler(); + } + } + + /* Enable GPIO clock */ + __HAL_RCC_GPIOZ_CLK_ENABLE(); + + /* Configure I2C Tx/RX as alternate function */ + GPIO_InitStruct.Pin = GPIO_PIN_4 | GPIO_PIN_5; + GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF6_I2C4; + HAL_GPIO_Init(GPIOZ, &GPIO_InitStruct); + + /* Enable I2C clock */ + __HAL_RCC_I2C4_CLK_ENABLE(); + /* Force the I2C peripheral clock reset */ + __HAL_RCC_I2C4_FORCE_RESET(); + /* Release the I2C peripheral clock reset */ + __HAL_RCC_I2C4_RELEASE_RESET(); + + HAL_NVIC_SetPriority(I2C4_ER_IRQn, 0, 1); + HAL_NVIC_EnableIRQ(I2C4_ER_IRQn); + HAL_NVIC_SetPriority(I2C4_EV_IRQn, 0, 2); + HAL_NVIC_EnableIRQ(I2C4_EV_IRQn); + } +} + +/** + * @brief DeInitializes I2C MSP. + * @param hI2c : I2C handler + * @retval None + */ +void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hI2c) +{ + GPIO_InitTypeDef GPIO_InitStruct = {0}; + + if(hI2c->Instance == I2C4) + { + /* Configure I2C Tx, Rx as alternate function */ + GPIO_InitStruct.Pin = GPIO_PIN_4 | GPIO_PIN_5; + HAL_GPIO_DeInit(GPIOZ, GPIO_InitStruct.Pin); + + /* Disable I2C clock */ + __HAL_RCC_I2C4_CLK_DISABLE(); + + /* Disable NVIC for I2C */ + HAL_NVIC_DisableIRQ(I2C4_ER_IRQn); + HAL_NVIC_DisableIRQ(I2C4_EV_IRQn); + } +} + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +void Error_Handler(void) +{ + /* USER CODE BEGIN Error_Handler_Debug */ + /* User can add his own implementation to report the HAL error return state */ + + /* USER CODE END Error_Handler_Debug */ +} +/* USER CODE END 1 */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/stm32mp1xx_it.c b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/stm32mp1xx_it.c new file mode 100644 index 0000000000..18c094f48d --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/CM4/Src/stm32mp1xx_it.c @@ -0,0 +1,321 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32mp1xx_it.c + * @brief Interrupt Service Routines. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2020 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "stm32mp1xx_it.h" +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN TD */ + +/* USER CODE END TD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +/* External variables --------------------------------------------------------*/ +extern IPCC_HandleTypeDef hipcc; +extern LPTIM_HandleTypeDef hlptim1; +extern LPTIM_HandleTypeDef hlptim2; +extern LPTIM_HandleTypeDef hlptim3; +extern LPTIM_HandleTypeDef hlptim4; +extern LPTIM_HandleTypeDef hlptim5; +extern WWDG_HandleTypeDef hwwdg1; +/* USER CODE BEGIN EV */ + +/* USER CODE END EV */ + +/******************************************************************************/ +/* Cortex-M4 Processor Interruption and Exception Handlers */ +/******************************************************************************/ +/** + * @brief This function handles Non maskable interrupt. + */ +void NMI_Handler(void) +{ + /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ + + /* USER CODE END NonMaskableInt_IRQn 0 */ + /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ + + /* USER CODE END NonMaskableInt_IRQn 1 */ +} + +/** + * @brief This function handles Hard fault interrupt. + */ +void HardFault_Handler(void) +{ + /* USER CODE BEGIN HardFault_IRQn 0 */ + + /* USER CODE END HardFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_HardFault_IRQn 0 */ + /* USER CODE END W1_HardFault_IRQn 0 */ + } +} + +/** + * @brief This function handles Memory management fault. + */ +void MemManage_Handler(void) +{ + /* USER CODE BEGIN MemoryManagement_IRQn 0 */ + + /* USER CODE END MemoryManagement_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */ + /* USER CODE END W1_MemoryManagement_IRQn 0 */ + } +} + +/** + * @brief This function handles Pre-fetch fault, memory access fault. + */ +void BusFault_Handler(void) +{ + /* USER CODE BEGIN BusFault_IRQn 0 */ + + /* USER CODE END BusFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_BusFault_IRQn 0 */ + /* USER CODE END W1_BusFault_IRQn 0 */ + } +} + +/** + * @brief This function handles Undefined instruction or illegal state. + */ +void UsageFault_Handler(void) +{ + /* USER CODE BEGIN UsageFault_IRQn 0 */ + + /* USER CODE END UsageFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_UsageFault_IRQn 0 */ + /* USER CODE END W1_UsageFault_IRQn 0 */ + } +} + +/** + * @brief This function handles System service call via SWI instruction. + */ +void SVC_Handler(void) +{ + /* USER CODE BEGIN SVCall_IRQn 0 */ + + /* USER CODE END SVCall_IRQn 0 */ + /* USER CODE BEGIN SVCall_IRQn 1 */ + + /* USER CODE END SVCall_IRQn 1 */ +} + +/** + * @brief This function handles Debug monitor. + */ +void DebugMon_Handler(void) +{ + /* USER CODE BEGIN DebugMonitor_IRQn 0 */ + + /* USER CODE END DebugMonitor_IRQn 0 */ + /* USER CODE BEGIN DebugMonitor_IRQn 1 */ + + /* USER CODE END DebugMonitor_IRQn 1 */ +} + +/** + * @brief This function handles Pendable request for system service. + */ +void PendSV_Handler(void) +{ + /* USER CODE BEGIN PendSV_IRQn 0 */ + + /* USER CODE END PendSV_IRQn 0 */ + /* USER CODE BEGIN PendSV_IRQn 1 */ + + /* USER CODE END PendSV_IRQn 1 */ +} + +/** + * @brief This function handles System tick timer. + */ +void SysTick_Handler(void) +{ + /* USER CODE BEGIN SysTick_IRQn 0 */ + + /* USER CODE END SysTick_IRQn 0 */ + HAL_IncTick(); + /* USER CODE BEGIN SysTick_IRQn 1 */ + + /* USER CODE END SysTick_IRQn 1 */ +} + +/******************************************************************************/ +/* STM32MP1xx Peripheral Interrupt Handlers */ +/* Add here the Interrupt Handlers for the used peripherals. */ +/* For the available peripheral interrupt handler names, */ +/* please refer to the startup file (startup_stm32mp1xx.s). */ +/******************************************************************************/ + +/** + * @brief This function handles Window watchdog interrupt. + */ +void WWDG1_IRQHandler(void) +{ + /* USER CODE BEGIN WWDG1_IRQn 0 */ + + /* USER CODE END WWDG1_IRQn 0 */ + HAL_WWDG_IRQHandler(&hwwdg1); + /* USER CODE BEGIN WWDG1_IRQn 1 */ + + /* USER CODE END WWDG1_IRQn 1 */ +} + +/** + * @brief This function handles LPTIM1 global interrupt. + */ +void LPTIM1_IRQHandler(void) +{ + /* USER CODE BEGIN LPTIM1_IRQn 0 */ + + /* USER CODE END LPTIM1_IRQn 0 */ + HAL_LPTIM_IRQHandler(&hlptim1); + /* USER CODE BEGIN LPTIM1_IRQn 1 */ + + /* USER CODE END LPTIM1_IRQn 1 */ +} + +/** + * @brief This function handles IPCC RX1 occupied interrupt. + */ +void IPCC_RX1_IRQHandler(void) +{ + /* USER CODE BEGIN IPCC_RX1_IRQn 0 */ + + /* USER CODE END IPCC_RX1_IRQn 0 */ + HAL_IPCC_RX_IRQHandler(&hipcc); + /* USER CODE BEGIN IPCC_RX1_IRQn 1 */ + + /* USER CODE END IPCC_RX1_IRQn 1 */ +} + +/** + * @brief This function handles IPCC TX1 free interrupt. + */ +void IPCC_TX1_IRQHandler(void) +{ + /* USER CODE BEGIN IPCC_TX1_IRQn 0 */ + + /* USER CODE END IPCC_TX1_IRQn 0 */ + HAL_IPCC_TX_IRQHandler(&hipcc); + /* USER CODE BEGIN IPCC_TX1_IRQn 1 */ + + /* USER CODE END IPCC_TX1_IRQn 1 */ +} + +/** + * @brief This function handles LPTIM2 global interrupt. + */ +void LPTIM2_IRQHandler(void) +{ + /* USER CODE BEGIN LPTIM2_IRQn 0 */ + + /* USER CODE END LPTIM2_IRQn 0 */ + HAL_LPTIM_IRQHandler(&hlptim2); + /* USER CODE BEGIN LPTIM2_IRQn 1 */ + + /* USER CODE END LPTIM2_IRQn 1 */ +} + +/** + * @brief This function handles LPTIM3 global interrupt. + */ +void LPTIM3_IRQHandler(void) +{ + /* USER CODE BEGIN LPTIM3_IRQn 0 */ + + /* USER CODE END LPTIM3_IRQn 0 */ + HAL_LPTIM_IRQHandler(&hlptim3); + /* USER CODE BEGIN LPTIM3_IRQn 1 */ + + /* USER CODE END LPTIM3_IRQn 1 */ +} + +/** + * @brief This function handles LPTIM4 global interrupt. + */ +void LPTIM4_IRQHandler(void) +{ + /* USER CODE BEGIN LPTIM4_IRQn 0 */ + + /* USER CODE END LPTIM4_IRQn 0 */ + HAL_LPTIM_IRQHandler(&hlptim4); + /* USER CODE BEGIN LPTIM4_IRQn 1 */ + + /* USER CODE END LPTIM4_IRQn 1 */ +} + +/** + * @brief This function handles LPTIM5 global interrupt. + */ +void LPTIM5_IRQHandler(void) +{ + /* USER CODE BEGIN LPTIM5_IRQn 0 */ + + /* USER CODE END LPTIM5_IRQn 0 */ + HAL_LPTIM_IRQHandler(&hlptim5); + /* USER CODE BEGIN LPTIM5_IRQn 1 */ + + /* USER CODE END LPTIM5_IRQn 1 */ +} + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/Common/System/system_stm32mp1xx.c b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/Common/System/system_stm32mp1xx.c new file mode 100644 index 0000000000..6e606791bf --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/Common/System/system_stm32mp1xx.c @@ -0,0 +1,290 @@ +/** + ****************************************************************************** + * @file system_stm32mp1xx.c + * @author MCD Application Team + * @brief CMSIS Cortex Device Peripheral Access Layer System Source File. + * + * This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32mp1xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock frequency, it can + * be used by the user application to setup + * the SysTick timer or configure other + * parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * + ****************************************************************************** + * + * @attention + * + *

© Copyright (c) 2019 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32mp1xx_system + * @{ + */ + +/** @addtogroup STM32MP1xx_System_Private_Includes + * @{ + */ + +#include "stm32mp1xx_hal.h" + +/** + * @} + */ + +/** @addtogroup STM32MP1xx_System_Private_TypesDefinitions + * @{ + */ + + +/** + * @} + */ + +/** @addtogroup STM32MP1xx_System_Private_Defines + * @{ + */ + + +/************************* Miscellaneous Configuration ************************/ +/*!< Uncomment the following line if you need to use external SRAM mounted + on EVAL board as data memory */ +/* #define DATA_IN_ExtSRAM */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. + This value must be a multiple of 0x400. */ +/******************************************************************************/ + +/** + * @} + */ + +/** @addtogroup STM32MP1xx_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32MP1xx_System_Private_Variables + * @{ + */ + /* This variable is updated in three ways: + 1) by calling CMSIS function SystemCoreClockUpdate() + 2) each time HAL_RCC_ClockConfig() is called to configure the system clock + frequency + Note: If you use this function to configure the system clock; + then there is no need to call the first functions listed above, + since SystemCoreClock variable is updated automatically. + */ + uint32_t SystemCoreClock = HSI_VALUE; +/** + * @} + */ + +/** @addtogroup STM32MP1xx_System_Private_FunctionPrototypes + * @{ + */ + +#if defined (DATA_IN_ExtSRAM) + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32MP1xx_System_Private_Functions + * @{ + */ + + /** + * @brief Setup the microcontroller system + * Initialize the FPU setting, vector table location and External memory + * configuration. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* FPU settings ------------------------------------------------------------*/ +#if defined (CORE_CM4) + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + + /* Configure the Vector Table location add offset address ------------------*/ +#if defined (VECT_TAB_SRAM) + SCB->VTOR = MCU_AHB_SRAM | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ +#endif + /* Disable all interrupts and events */ + CLEAR_REG(EXTI_C2->IMR1); + CLEAR_REG(EXTI_C2->IMR2); + CLEAR_REG(EXTI_C2->IMR3); + CLEAR_REG(EXTI_C2->EMR1); + CLEAR_REG(EXTI_C2->EMR2); + CLEAR_REG(EXTI_C2->EMR3); +#else +#error Please #define CORE_CM4 +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock frequency (Hz), + * it can be used by the user application to setup the SysTick timer or + * configure other parameters. + * + * @note Each time the core clock changes, this function must be called to + * update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the + * HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the + * HSE_VALUE(**) + * + * - If SYSCLK source is CSI, SystemCoreClock will contain the + * CSI_VALUE(***) + * + * - If SYSCLK source is PLL3_P, SystemCoreClock will contain the + * HSI_VALUE(*) or the HSE_VALUE(*) or the CSI_VALUE(***) + * multiplied/divided by the PLL3 factors. + * + * (*) HSI_VALUE is a constant defined in stm32mp1xx_hal_conf.h file + * (default value 64 MHz) but the real value may vary depending + * on the variations in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32mp1xx_hal_conf.h file + * (default value 24 MHz), user has to ensure that HSE_VALUE is + * same as the real frequency of the crystal used. Otherwise, this + * function may have wrong result. + * + * (***) CSI_VALUE is a constant defined in stm32mp1xx_hal_conf.h file + * (default value 4 MHz)but the real value may vary depending + * on the variations in voltage and temperature. + * + * - The result of this function could be not correct when using + * fractional value for HSE crystal. + * + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t pllsource, pll3m, pll3fracen; + float fracn1, pll3vco; + + switch (RCC->MSSCKSELR & RCC_MSSCKSELR_MCUSSRC) + { + case 0x00: /* HSI used as system clock source */ + SystemCoreClock = (HSI_VALUE >> (RCC->HSICFGR & RCC_HSICFGR_HSIDIV)); + break; + + case 0x01: /* HSE used as system clock source */ + SystemCoreClock = HSE_VALUE; + break; + + case 0x02: /* CSI used as system clock source */ + SystemCoreClock = CSI_VALUE; + break; + + case 0x03: /* PLL3_P used as system clock source */ + pllsource = (RCC->RCK3SELR & RCC_RCK3SELR_PLL3SRC); + pll3m = ((RCC->PLL3CFGR1 & RCC_PLL3CFGR1_DIVM3) >> RCC_PLL3CFGR1_DIVM3_Pos) + 1U; + pll3fracen = (RCC->PLL3FRACR & RCC_PLL3FRACR_FRACLE) >> 16U; + fracn1 = (float)(pll3fracen * ((RCC->PLL3FRACR & RCC_PLL3FRACR_FRACV) >> 3U)); + pll3vco = (float)((float)((RCC->PLL3CFGR1 & RCC_PLL3CFGR1_DIVN) + 1U) + (fracn1 / (float) 0x1FFF)); + + if (pll3m != 0U) + { + switch (pllsource) + { + case 0x00: /* HSI used as PLL clock source */ + pll3vco *= (float)((HSI_VALUE >> (RCC->HSICFGR & RCC_HSICFGR_HSIDIV)) / pll3m); + break; + + case 0x01: /* HSE used as PLL clock source */ + pll3vco *= (float)(HSE_VALUE / pll3m); + break; + + case 0x02: /* CSI used as PLL clock source */ + pll3vco *= (float)(CSI_VALUE / pll3m); + break; + + case 0x03: /* No clock source for PLL */ + pll3vco = 0; + break; + } + SystemCoreClock = (uint32_t)(pll3vco/ ((float)((RCC->PLL3CFGR2 & RCC_PLL3CFGR2_DIVP) + 1U))); + } + else + { + SystemCoreClock = 0U; + } + break; + } + + /* Compute mcu_ck */ + SystemCoreClock = SystemCoreClock >> (RCC->MCUDIVR & RCC_MCUDIVR_MCUDIV); +} + + +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in startup_stm32mp15xx.s before jump to main. + * This function configures the external SRAM mounted on Eval boards + * This SRAM will be used as program data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ + +} +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/STM32MP157-DK1.ioc b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/STM32MP157-DK1.ioc new file mode 100644 index 0000000000..2a094a9c12 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/CubeMX_Config/STM32MP157-DK1.ioc @@ -0,0 +1,857 @@ +#MicroXplorer Configuration settings - do not modify +ADC2.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_6 +ADC2.ClockPrescaler=ADC_CLOCK_ASYNC_DIV2 +ADC2.IPParameters=Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,OffsetNumber-2\#ChannelRegularConversion,NbrOfConversionFlag,Resolution,ClockPrescaler +ADC2.NbrOfConversionFlag=1 +ADC2.OffsetNumber-2\#ChannelRegularConversion=ADC_OFFSET_NONE +ADC2.Rank-2\#ChannelRegularConversion=1 +ADC2.Resolution=ADC_RESOLUTION_16B +ADC2.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 +BootLoader.IPs=RCC,DDR +BootROM.IPs=RCC +CortexA7NS.IPs=DDR\:I,RCC\:I,RTC\:I,BSEC,ETZPC,GIC,TAMP\:I,DMA\:I,PWR,SPI2\:I,I2S2\:I,IPCC\:I,TIM3\:I,VREFBUF\:I,SAI4\:I,HSEM\:I,RNG1,DMA1\:I,MDMA_A7NS\:I +CortexA7S.IPs=BSEC\:I,ETZPC\:I,GIC\:I,RCC,PWR\:I,RNG1\:I,RTC,DDR,HSEM,TAMP,MDMA_A7S\:I +CortexM4.IPs=IPCC,HSEM,RCC,NVIC\:I,ETZPC,FREERTOS\:I,DMA,PWR,SYS\:I,TIM4\:I,TIM14\:I,TIM16\:I,TIM17\:I,SPI5\:I,UART4\:I,UART5\:I,USART2\:I,ADC1\:I,ADC2\:I,USART3\:I,DAC1\:I,WWDG1\:I,LPTIM1\:I,LPTIM2\:I,LPTIM3\:I,LPTIM4\:I,LPTIM5\:I,DMA2\:I +DDR.ADDRMAP1=0x00070707 +DDR.ADDRMAP3=0x1F000000 +DDR.ADDRMAP5=0x06060606 +DDR.ADDRMAP6=0x0F060606 +DDR.DDR_Frequency=533.0 +DDR.DFITMG0=0x02060105 +DDR.IPParameters=DDR_Frequency,RL,addrmap_col_b9,addrmap_col_b10,addrmap_col_b11,addrmap_bank_b0,addrmap_bank_b1,addrmap_bank_b2,addrmap_row_b0,addrmap_row_b1,addrmap_row_b2_10,addrmap_row_b11,addrmap_row_b12,addrmap_row_b13,addrmap_row_b14,addrmap_row_b15,MSTR,DFITMG0,SCHED,ADDRMAP1,ADDRMAP3,ADDRMAP5,ADDRMAP6 +DDR.MSTR=0x00041401 +DDR.RL=8 +DDR.SCHED=0x00000C01 +DDR.addrmap_bank_b0=7 +DDR.addrmap_bank_b1=7 +DDR.addrmap_bank_b2=7 +DDR.addrmap_col_b10=31 +DDR.addrmap_col_b11=31 +DDR.addrmap_col_b9=31 +DDR.addrmap_row_b0=6 +DDR.addrmap_row_b1=6 +DDR.addrmap_row_b11=6 +DDR.addrmap_row_b12=6 +DDR.addrmap_row_b13=6 +DDR.addrmap_row_b14=6 +DDR.addrmap_row_b15=15 +DDR.addrmap_row_b2_10=6 +DDR_A0.GPIOParameters=GPIO_Label +DDR_A0.GPIO_Label=DDR_A0 [MT41K256M16TW_A0] +DDR_A0.Locked=true +DDR_A0.Mode=DDR3 +DDR_A0.Signal=DDR_A0 +DDR_A1.GPIOParameters=GPIO_Label +DDR_A1.GPIO_Label=DDR_A1 [MT41K256M16TW_A1] +DDR_A1.Locked=true +DDR_A1.Mode=DDR3 +DDR_A1.Signal=DDR_A1 +DDR_A10.GPIOParameters=GPIO_Label +DDR_A10.GPIO_Label=DDR_A10 [MT41K256M16TW_A10] +DDR_A10.Locked=true +DDR_A10.Mode=DDR3 +DDR_A10.Signal=DDR_A10 +DDR_A11.GPIOParameters=GPIO_Label +DDR_A11.GPIO_Label=DDR_A11 [MT41K256M16TW_A11] +DDR_A11.Locked=true +DDR_A11.Mode=DDR3 +DDR_A11.Signal=DDR_A11 +DDR_A12.GPIOParameters=GPIO_Label +DDR_A12.GPIO_Label=DDR_A12 [MT41K256M16TW_A12] +DDR_A12.Locked=true +DDR_A12.Mode=4Gb_16bits +DDR_A12.Signal=DDR_A12 +DDR_A13.GPIOParameters=GPIO_Label +DDR_A13.GPIO_Label=DDR_A13 [MT41K256M16TW_A13] +DDR_A13.Locked=true +DDR_A13.Mode=4Gb_16bits +DDR_A13.Signal=DDR_A13 +DDR_A14.GPIOParameters=GPIO_Label +DDR_A14.GPIO_Label=DDR_A14 [MT41K256M16TW_A14] +DDR_A14.Locked=true +DDR_A14.Mode=4Gb_16bits +DDR_A14.Signal=DDR_A14 +DDR_A2.GPIOParameters=GPIO_Label +DDR_A2.GPIO_Label=DDR_A2 [MT41K256M16TW_A2] +DDR_A2.Locked=true +DDR_A2.Mode=DDR3 +DDR_A2.Signal=DDR_A2 +DDR_A3.GPIOParameters=GPIO_Label +DDR_A3.GPIO_Label=DDR_A3 [MT41K256M16TW_A3] +DDR_A3.Locked=true +DDR_A3.Mode=DDR3 +DDR_A3.Signal=DDR_A3 +DDR_A4.GPIOParameters=GPIO_Label +DDR_A4.GPIO_Label=DDR_A4 [MT41K256M16TW_A4] +DDR_A4.Locked=true +DDR_A4.Mode=DDR3 +DDR_A4.Signal=DDR_A4 +DDR_A5.GPIOParameters=GPIO_Label +DDR_A5.GPIO_Label=DDR_A5 [MT41K256M16TW_A5] +DDR_A5.Locked=true +DDR_A5.Mode=DDR3 +DDR_A5.Signal=DDR_A5 +DDR_A6.GPIOParameters=GPIO_Label +DDR_A6.GPIO_Label=DDR_A6 [MT41K256M16TW_A6] +DDR_A6.Locked=true +DDR_A6.Mode=DDR3 +DDR_A6.Signal=DDR_A6 +DDR_A7.GPIOParameters=GPIO_Label +DDR_A7.GPIO_Label=DDR_A7 [MT41K256M16TW_A7] +DDR_A7.Locked=true +DDR_A7.Mode=DDR3 +DDR_A7.Signal=DDR_A7 +DDR_A8.GPIOParameters=GPIO_Label +DDR_A8.GPIO_Label=DDR_A8 [MT41K256M16TW_A8] +DDR_A8.Locked=true +DDR_A8.Mode=DDR3 +DDR_A8.Signal=DDR_A8 +DDR_A9.GPIOParameters=GPIO_Label +DDR_A9.GPIO_Label=DDR_A9 [MT41K256M16TW_A9] +DDR_A9.Locked=true +DDR_A9.Mode=DDR3 +DDR_A9.Signal=DDR_A9 +DDR_ATO.GPIOParameters=GPIO_Label +DDR_ATO.GPIO_Label=DDR_ATO +DDR_ATO.Locked=true +DDR_ATO.Mode=DDR3 +DDR_ATO.Signal=DDR_ATO +DDR_BA0.GPIOParameters=GPIO_Label +DDR_BA0.GPIO_Label=DDR_BA0 [MT41K256M16TW_BA0] +DDR_BA0.Locked=true +DDR_BA0.Mode=DDR3 +DDR_BA0.Signal=DDR_BA0 +DDR_BA1.GPIOParameters=GPIO_Label +DDR_BA1.GPIO_Label=DDR_BA1 [MT41K256M16TW_BA1] +DDR_BA1.Locked=true +DDR_BA1.Mode=DDR3 +DDR_BA1.Signal=DDR_BA1 +DDR_BA2.GPIOParameters=GPIO_Label +DDR_BA2.GPIO_Label=DDR_BA2 [MT41K256M16TW_BA2] +DDR_BA2.Locked=true +DDR_BA2.Mode=DDR3 +DDR_BA2.Signal=DDR_BA2 +DDR_CASN.GPIOParameters=GPIO_Label +DDR_CASN.GPIO_Label=DDR_CASN [MT41K256M16TW_CAS\#] +DDR_CASN.Locked=true +DDR_CASN.Mode=DDR3 +DDR_CASN.Signal=DDR_CASN +DDR_CKE.GPIOParameters=GPIO_Label +DDR_CKE.GPIO_Label=DDR_CKE [MT41K256M16TW_CKE] +DDR_CKE.Locked=true +DDR_CKE.Mode=DDR3 +DDR_CKE.Signal=DDR_CKE +DDR_CLKN.GPIOParameters=GPIO_Label +DDR_CLKN.GPIO_Label=DDR_CLK_N [MT41K256M16TW_CK\#] +DDR_CLKN.Locked=true +DDR_CLKN.Mode=DDR3 +DDR_CLKN.Signal=DDR_CLKN +DDR_CLKP.GPIOParameters=GPIO_Label +DDR_CLKP.GPIO_Label=DDR_CLK_P [MT41K256M16TW_CK] +DDR_CLKP.Locked=true +DDR_CLKP.Mode=DDR3 +DDR_CLKP.Signal=DDR_CLKP +DDR_CSN.GPIOParameters=GPIO_Label +DDR_CSN.GPIO_Label=DDR_CSN [MT41K256M16TW_CS\#] +DDR_CSN.Locked=true +DDR_CSN.Mode=DDR3 +DDR_CSN.Signal=DDR_CSN +DDR_DQ0.GPIOParameters=GPIO_Label +DDR_DQ0.GPIO_Label=DDR_DQ0 [MT41K256M16TW_DQU5] +DDR_DQ0.Locked=true +DDR_DQ0.Mode=DDR3 +DDR_DQ0.Signal=DDR_DQ0 +DDR_DQ1.GPIOParameters=GPIO_Label +DDR_DQ1.GPIO_Label=DDR_DQ1 [MT41K256M16TW_DQU1] +DDR_DQ1.Locked=true +DDR_DQ1.Mode=DDR3 +DDR_DQ1.Signal=DDR_DQ1 +DDR_DQ10.GPIOParameters=GPIO_Label +DDR_DQ10.GPIO_Label=DDR_DQ10 [MT41K256M16TW_DQL6] +DDR_DQ10.Locked=true +DDR_DQ10.Mode=DDR3 +DDR_DQ10.Signal=DDR_DQ10 +DDR_DQ11.GPIOParameters=GPIO_Label +DDR_DQ11.GPIO_Label=DDR_DQ11 [MT41K256M16TW_DQL1] +DDR_DQ11.Locked=true +DDR_DQ11.Mode=DDR3 +DDR_DQ11.Signal=DDR_DQ11 +DDR_DQ12.GPIOParameters=GPIO_Label +DDR_DQ12.GPIO_Label=DDR_DQ12 [MT41K256M16TW_DQL5] +DDR_DQ12.Locked=true +DDR_DQ12.Mode=DDR3 +DDR_DQ12.Signal=DDR_DQ12 +DDR_DQ13.GPIOParameters=GPIO_Label +DDR_DQ13.GPIO_Label=DDR_DQ13 [MT41K256M16TW_DQL4] +DDR_DQ13.Locked=true +DDR_DQ13.Mode=DDR3 +DDR_DQ13.Signal=DDR_DQ13 +DDR_DQ14.GPIOParameters=GPIO_Label +DDR_DQ14.GPIO_Label=DDR_DQ14 [MT41K256M16TW_DQL7] +DDR_DQ14.Locked=true +DDR_DQ14.Mode=DDR3 +DDR_DQ14.Signal=DDR_DQ14 +DDR_DQ15.GPIOParameters=GPIO_Label +DDR_DQ15.GPIO_Label=DDR_DQ15 [MT41K256M16TW_DQL3] +DDR_DQ15.Locked=true +DDR_DQ15.Mode=DDR3 +DDR_DQ15.Signal=DDR_DQ15 +DDR_DQ2.GPIOParameters=GPIO_Label +DDR_DQ2.GPIO_Label=DDR_DQ2 [MT41K256M16TW_DQU4] +DDR_DQ2.Locked=true +DDR_DQ2.Mode=DDR3 +DDR_DQ2.Signal=DDR_DQ2 +DDR_DQ3.GPIOParameters=GPIO_Label +DDR_DQ3.GPIO_Label=DDR_DQ3 [MT41K256M16TW_DQU3] +DDR_DQ3.Locked=true +DDR_DQ3.Mode=DDR3 +DDR_DQ3.Signal=DDR_DQ3 +DDR_DQ4.GPIOParameters=GPIO_Label +DDR_DQ4.GPIO_Label=DDR_DQ4 [MT41K256M16TW_DQU6] +DDR_DQ4.Locked=true +DDR_DQ4.Mode=DDR3 +DDR_DQ4.Signal=DDR_DQ4 +DDR_DQ5.GPIOParameters=GPIO_Label +DDR_DQ5.GPIO_Label=DDR_DQ5 [MT41K256M16TW_DQU2] +DDR_DQ5.Locked=true +DDR_DQ5.Mode=DDR3 +DDR_DQ5.Signal=DDR_DQ5 +DDR_DQ6.GPIOParameters=GPIO_Label +DDR_DQ6.GPIO_Label=DDR_DQ6 [MT41K256M16TW_DQU0] +DDR_DQ6.Locked=true +DDR_DQ6.Mode=DDR3 +DDR_DQ6.Signal=DDR_DQ6 +DDR_DQ7.GPIOParameters=GPIO_Label +DDR_DQ7.GPIO_Label=DDR_DQ7 [MT41K256M16TW_DQU7] +DDR_DQ7.Locked=true +DDR_DQ7.Mode=DDR3 +DDR_DQ7.Signal=DDR_DQ7 +DDR_DQ8.GPIOParameters=GPIO_Label +DDR_DQ8.GPIO_Label=DDR_DQ8 [MT41K256M16TW_DQL2] +DDR_DQ8.Locked=true +DDR_DQ8.Mode=DDR3 +DDR_DQ8.Signal=DDR_DQ8 +DDR_DQ9.GPIOParameters=GPIO_Label +DDR_DQ9.GPIO_Label=DDR_DQ9 [MT41K256M16TW_DQL0] +DDR_DQ9.Locked=true +DDR_DQ9.Mode=DDR3 +DDR_DQ9.Signal=DDR_DQ9 +DDR_DQM0.GPIOParameters=GPIO_Label +DDR_DQM0.GPIO_Label=DDR_DQM0 [MT41K256M16TW_DMU] +DDR_DQM0.Locked=true +DDR_DQM0.Mode=DDR3 +DDR_DQM0.Signal=DDR_DQM0 +DDR_DQM1.GPIOParameters=GPIO_Label +DDR_DQM1.GPIO_Label=DDR_DQM1 [MT41K256M16TW_DML] +DDR_DQM1.Locked=true +DDR_DQM1.Mode=DDR3 +DDR_DQM1.Signal=DDR_DQM1 +DDR_DQS0N.GPIOParameters=GPIO_Label +DDR_DQS0N.GPIO_Label=DDR_DQS0_N [MT41K256M16TW_DQSU\#] +DDR_DQS0N.Locked=true +DDR_DQS0N.Mode=DDR3 +DDR_DQS0N.Signal=DDR_DQS0N +DDR_DQS0P.GPIOParameters=GPIO_Label +DDR_DQS0P.GPIO_Label=DDR_DQS0_P [MT41K256M16TW_DQSU] +DDR_DQS0P.Locked=true +DDR_DQS0P.Mode=DDR3 +DDR_DQS0P.Signal=DDR_DQS0P +DDR_DQS1N.GPIOParameters=GPIO_Label +DDR_DQS1N.GPIO_Label=DDR_DQS1_N [MT41K256M16TW_DQSL\#] +DDR_DQS1N.Locked=true +DDR_DQS1N.Mode=DDR3 +DDR_DQS1N.Signal=DDR_DQS1N +DDR_DQS1P.GPIOParameters=GPIO_Label +DDR_DQS1P.GPIO_Label=DDR_DQS1_P [MT41K256M16TW_DQSL] +DDR_DQS1P.Locked=true +DDR_DQS1P.Mode=DDR3 +DDR_DQS1P.Signal=DDR_DQS1P +DDR_DTO0.GPIOParameters=GPIO_Label +DDR_DTO0.GPIO_Label=DDR_DTO0 +DDR_DTO0.Locked=true +DDR_DTO0.Mode=DDR3 +DDR_DTO0.Signal=DDR_DTO0 +DDR_DTO1.GPIOParameters=GPIO_Label +DDR_DTO1.GPIO_Label=DDR_DTO1 +DDR_DTO1.Locked=true +DDR_DTO1.Mode=DDR3 +DDR_DTO1.Signal=DDR_DTO1 +DDR_ODT.GPIOParameters=GPIO_Label +DDR_ODT.GPIO_Label=DDR_ODT [MT41K256M16TW_ODT] +DDR_ODT.Locked=true +DDR_ODT.Mode=DDR3 +DDR_ODT.Signal=DDR_ODT +DDR_RASN.GPIOParameters=GPIO_Label +DDR_RASN.GPIO_Label=DDR_RASN [MT41K256M16TW_RAS\#] +DDR_RASN.Locked=true +DDR_RASN.Mode=DDR3 +DDR_RASN.Signal=DDR_RASN +DDR_RESETN.GPIOParameters=GPIO_Label +DDR_RESETN.GPIO_Label=DDR_RESETN [MT41K256M16TW_RESET\#] +DDR_RESETN.Locked=true +DDR_RESETN.Mode=DDR3 +DDR_RESETN.Signal=DDR_RESETN +DDR_VREF.GPIOParameters=GPIO_Label +DDR_VREF.GPIO_Label=VREF_DDR +DDR_VREF.Locked=true +DDR_VREF.Mode=DDR3 +DDR_VREF.Signal=DDR_VREF +DDR_WEN.GPIOParameters=GPIO_Label +DDR_WEN.GPIO_Label=DDR_WEN_P [MT41K256M16TW_WE\#] +DDR_WEN.Locked=true +DDR_WEN.Mode=DDR3 +DDR_WEN.Signal=DDR_WEN +DDR_ZQ.GPIOParameters=GPIO_Label +DDR_ZQ.GPIO_Label=DDR_ZQ +DDR_ZQ.Locked=true +DDR_ZQ.Mode=DDR3 +DDR_ZQ.Signal=DDR_ZQ +File.Version=6 +GIC.IPCC_RX0_IRQn=true\:false\:High level +GIC.IPCC_TX0_IRQn=true\:false\:High level +GIC.PMUIRQ0_IRQn=true\:false\:High level +GIC.PMUIRQ1_IRQn=true\:false\:High level +GIC.RCC_IRQn=true\:false\:High level +GIC.RTC_WKUP_ALARM_IRQn=true\:false\:High level +GIC.WAKEUP_PIN_IRQn=true\:false\:High level +GPIO.groupedBy=Expand Peripherals +KeepUserPlacement=false +Mcu.Context0=BootROM +Mcu.Context1=BootLoader +Mcu.Context2=CortexA7S +Mcu.Context3=CortexA7NS +Mcu.Context4=CortexM4 +Mcu.ContextNb=5 +Mcu.Family=STM32MP1 +Mcu.IP0=ADC2 +Mcu.IP1=BSEC +Mcu.IP10=LPTIM4 +Mcu.IP11=LPTIM5 +Mcu.IP12=NVIC +Mcu.IP13=PWR +Mcu.IP14=RCC +Mcu.IP15=RTC +Mcu.IP16=SPI5 +Mcu.IP17=SYS +Mcu.IP18=TAMP +Mcu.IP19=TIM4 +Mcu.IP2=DAC1 +Mcu.IP20=TIM14 +Mcu.IP21=TIM16 +Mcu.IP22=TIM17 +Mcu.IP23=UART4 +Mcu.IP24=USART3 +Mcu.IP25=VREFBUF +Mcu.IP26=WWDG1 +Mcu.IP3=DDR +Mcu.IP4=GIC +Mcu.IP5=HSEM +Mcu.IP6=IPCC +Mcu.IP7=LPTIM1 +Mcu.IP8=LPTIM2 +Mcu.IP9=LPTIM3 +Mcu.IPNb=27 +Mcu.Name=STM32MP157AACx +Mcu.Package=TFBGA361 +Mcu.Pin0=PH5 +Mcu.Pin1=PF2 +Mcu.Pin10=DDR_DQ3 +Mcu.Pin100=VP_TAMP_VS_TAMP_Activate +Mcu.Pin101=VP_TIM4_VS_ClockSourceINT +Mcu.Pin102=VP_TIM14_VS_ClockSourceINT +Mcu.Pin103=VP_TIM16_VS_ClockSourceINT +Mcu.Pin104=VP_TIM17_VS_ClockSourceINT +Mcu.Pin105=VP_VREFBUF_VS_VREFBUF +Mcu.Pin106=VP_WWDG1_VS_WWDG +Mcu.Pin107=VP_DMA_VS_DMA1_A7NS +Mcu.Pin108=VP_DMA_VS_DMA2_M4 +Mcu.Pin109=VP_MDMA_VS_MDMA_A7NS_8 +Mcu.Pin11=DDR_DQ0 +Mcu.Pin12=DDR_A13 +Mcu.Pin13=DDR_DQ1 +Mcu.Pin14=DDR_A9 +Mcu.Pin15=DDR_DQ7 +Mcu.Pin16=DDR_DQS0P +Mcu.Pin17=DDR_DQS0N +Mcu.Pin18=PZ6 +Mcu.Pin19=DDR_A5 +Mcu.Pin2=PH4 +Mcu.Pin20=DDR_DQ2 +Mcu.Pin21=DDR_DQ6 +Mcu.Pin22=DDR_DQM0 +Mcu.Pin23=PZ7 +Mcu.Pin24=DDR_A2 +Mcu.Pin25=DDR_DQ4 +Mcu.Pin26=DDR_DQ5 +Mcu.Pin27=PC13 +Mcu.Pin28=DDR_DTO0 +Mcu.Pin29=DDR_A3 +Mcu.Pin3=PD0 +Mcu.Pin30=DDR_ZQ +Mcu.Pin31=PC15-OSC32_OUT +Mcu.Pin32=PC14-OSC32_IN +Mcu.Pin33=DDR_A0 +Mcu.Pin34=DDR_DTO1 +Mcu.Pin35=DDR_ODT +Mcu.Pin36=DDR_BA0 +Mcu.Pin37=DDR_WEN +Mcu.Pin38=DDR_BA2 +Mcu.Pin39=DDR_CSN +Mcu.Pin4=PC6 +Mcu.Pin40=PA13 +Mcu.Pin41=DDR_CASN +Mcu.Pin42=DDR_RASN +Mcu.Pin43=DDR_CLKP +Mcu.Pin44=DDR_CLKN +Mcu.Pin45=PH0-OSC_IN +Mcu.Pin46=PI11 +Mcu.Pin47=DDR_A1 +Mcu.Pin48=DDR_A12 +Mcu.Pin49=DDR_A11 +Mcu.Pin5=PA15 +Mcu.Pin50=DDR_A14 +Mcu.Pin51=DDR_A10 +Mcu.Pin52=PA14 +Mcu.Pin53=DDR_CKE +Mcu.Pin54=DDR_DQ8 +Mcu.Pin55=DDR_DQ10 +Mcu.Pin56=DDR_DQ13 +Mcu.Pin57=DDR_BA1 +Mcu.Pin58=DDR_DQ9 +Mcu.Pin59=DDR_DQS1P +Mcu.Pin6=PB7 +Mcu.Pin60=DDR_DQS1N +Mcu.Pin61=PA4 +Mcu.Pin62=DDR_A4 +Mcu.Pin63=DDR_DQM1 +Mcu.Pin64=PG1 +Mcu.Pin65=PH7 +Mcu.Pin66=DDR_A6 +Mcu.Pin67=DDR_DQ11 +Mcu.Pin68=DDR_DQ14 +Mcu.Pin69=DDR_DQ12 +Mcu.Pin7=PE4 +Mcu.Pin70=PB10 +Mcu.Pin71=PG11 +Mcu.Pin72=PG9 +Mcu.Pin73=PB2 +Mcu.Pin74=PA10 +Mcu.Pin75=DDR_ATO +Mcu.Pin76=DDR_A8 +Mcu.Pin77=DDR_DQ15 +Mcu.Pin78=PF9 +Mcu.Pin79=PD13 +Mcu.Pin8=DDR_RESETN +Mcu.Pin80=PA0 +Mcu.Pin81=PF7 +Mcu.Pin82=PF14 +Mcu.Pin83=PB12 +Mcu.Pin84=PA6 +Mcu.Pin85=PD11 +Mcu.Pin86=DDR_VREF +Mcu.Pin87=VP_BSEC_VS_BSEC +Mcu.Pin88=VP_DDR_DDR3 +Mcu.Pin89=VP_DDR_DDR_16_bits +Mcu.Pin9=DDR_A7 +Mcu.Pin90=VP_DDR_DDR3_16_4Gb +Mcu.Pin91=VP_HSEM_VS_HSEM +Mcu.Pin92=VP_IPCC_VS_IPCC +Mcu.Pin93=VP_LPTIM1_VS_LPTIM_counterModeInternalClock +Mcu.Pin94=VP_LPTIM2_VS_LPTIM_counterModeInternalClock +Mcu.Pin95=VP_LPTIM3_VS_LPTIM_counterModeInternalClock +Mcu.Pin96=VP_LPTIM4_VS_LPTIM_counterModeInternalClock +Mcu.Pin97=VP_LPTIM5_VS_LPTIM_counterModeInternalClock +Mcu.Pin98=VP_RTC_VS_RTC_Activate +Mcu.Pin99=VP_SYS_VS_Systick +Mcu.PinsNb=110 +Mcu.ThirdPartyNb=0 +Mcu.UserConstants= +Mcu.UserName=STM32MP157AACx +MxCube.Version=5.6.1 +MxDb.Version=DB.5.0.60 +NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.ForceEnableDMAVector=true +NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.IPCC_RX1_IRQn=true\:0\:0\:false\:false\:true\:true\:true +NVIC.IPCC_TX1_IRQn=true\:0\:0\:false\:false\:true\:true\:true +NVIC.LPTIM1_IRQn=true\:0\:0\:false\:false\:true\:true\:true +NVIC.LPTIM2_IRQn=true\:0\:0\:false\:false\:true\:true\:true +NVIC.LPTIM3_IRQn=true\:0\:0\:false\:false\:true\:true\:true +NVIC.LPTIM4_IRQn=true\:0\:0\:false\:false\:true\:true\:true +NVIC.LPTIM5_IRQn=true\:0\:0\:false\:false\:true\:true\:true +NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 +NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true +NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false +NVIC.WWDG1_IRQn=true\:0\:0\:false\:false\:true\:true\:true +PA0.Locked=true +PA0.Mode=WakeUp1 +PA0.Signal=PWR_WKUP1 +PA10.GPIOParameters=GPIO_Label +PA10.GPIO_Label=HDMI_NRST [SiI9022ACNU_RESET\#] +PA10.Locked=true +PA10.Signal=GPIO_Output +PA13.GPIOParameters=GPIO_Label +PA13.GPIO_Label=PA13 [LD6_RED] +PA13.Locked=true +PA13.Signal=GPIO_Output +PA14.GPIOParameters=GPIO_Label +PA14.GPIO_Label=PA14 [SW-PUSH-TS-02H-Blue] +PA14.Locked=true +PA14.Signal=GPIO_Input +PA15.GPIOParameters=GPIO_Label +PA15.GPIO_Label=BL_CTRL [STLD40DPUR_EN] +PA15.Locked=true +PA15.Signal=GPIO_Output +PA4.Signal=COMP_DAC11_group +PA6.GPIOParameters=GPIO_Label +PA6.GPIO_Label=ETH_MDINT [RTL8211F_INT] +PA6.Locked=true +PA6.Signal=GPIO_Input +PB10.Locked=true +PB10.Mode=Asynchronous +PB10.Signal=USART3_TX +PB12.Locked=true +PB12.Mode=Asynchronous +PB12.Signal=USART3_RX +PB2.GPIOParameters=GPIO_Label +PB2.GPIO_Label=STLINK_TX [STM32F103CBT6_PA2] +PB2.Locked=true +PB2.Mode=Asynchronous +PB2.Signal=UART4_RX +PB7.GPIOParameters=GPIO_Label +PB7.GPIO_Label=uSD_DETECT [PJS008-2003-1] +PB7.Locked=true +PB7.Signal=GPIO_Input +PC13.GPIOParameters=GPIO_Label +PC13.GPIO_Label=PMIC_WAKEUP [STPMU1A_WAKEUP] +PC13.Locked=true +PC13.Signal=GPIO_Output +PC14-OSC32_IN.Locked=true +PC14-OSC32_IN.Mode=LSE-External-Oscillator +PC14-OSC32_IN.Signal=RCC_OSC32_IN +PC15-OSC32_OUT.Locked=true +PC15-OSC32_OUT.Mode=LSE-External-Oscillator +PC15-OSC32_OUT.Signal=RCC_OSC32_OUT +PC6.GPIOParameters=GPIO_Label +PC6.GPIO_Label=TE [FH26W-25S_TE] +PC6.Locked=true +PC6.Signal=GPIO_Output +PD0.GPIOParameters=GPIO_Label +PD0.GPIO_Label=WL_HOST_WAKE [LBEE5KL1DX_WL_HOST_WAKE] +PD0.Locked=true +PD0.Signal=GPIO_Input +PD11.GPIOParameters=GPIO_Label +PD11.GPIO_Label=LED_B [LD8_BLUE] +PD11.Locked=true +PD11.Signal=GPIO_Output +PD13.Signal=S_TIM4_CH2 +PE4.GPIOParameters=GPIO_Label +PE4.GPIO_Label=RSTN [FH26W-25S_RSTN] +PE4.Locked=true +PE4.Signal=GPIO_Output +PF14.Locked=true +PF14.Mode=IN6-Single-Ended +PF14.Signal=ADC2_INP6 +PF2.GPIOParameters=GPIO_Label +PF2.GPIO_Label=INT [FH26W-25S_INT] +PF2.Locked=true +PF2.Signal=GPIO_Input +PF7.Locked=true +PF7.Mode=TX_Only_Simplex_Unidirect_Master +PF7.Signal=SPI5_SCK +PF9.Mode=TX_Only_Simplex_Unidirect_Master +PF9.Signal=SPI5_MOSI +PG1.GPIOParameters=GPIO_Label +PG1.GPIO_Label=HDMI_INT [SiI9022ACNU_INT] +PG1.Locked=true +PG1.Signal=GPIO_Input +PG11.GPIOParameters=GPIO_Label +PG11.GPIO_Label=STLINK_RX [STM32F103CBT6_PA3] +PG11.Locked=true +PG11.Mode=Asynchronous +PG11.Signal=UART4_TX +PG9.GPIOParameters=GPIO_Label +PG9.GPIO_Label=AUDIO_RST [CS42L51-CNZ_RESET] +PG9.Locked=true +PG9.Signal=GPIO_Output +PH0-OSC_IN.Locked=true +PH0-OSC_IN.Mode=HSE-DIG-External-Clock-Source +PH0-OSC_IN.Signal=RCC_OSC_IN +PH4.GPIOParameters=GPIO_Label +PH4.GPIO_Label=WL_REG_ON [LBEE5KL1DX_WL_REG_ON] +PH4.Locked=true +PH4.Signal=GPIO_Output +PH5.GPIOParameters=GPIO_Label +PH5.GPIO_Label=BT_HOST_WAKE [LBEE5KL1DX_BT_HOST_WAKE] +PH5.Locked=true +PH5.Signal=GPIO_Input +PH7.GPIOParameters=GPIO_Label +PH7.GPIO_Label=LED_Y [LD7_ORANGE] +PH7.Locked=true +PH7.Signal=GPIO_Output +PI11.GPIOParameters=GPIO_Label +PI11.GPIO_Label=STUSB1600_IRQOUTn [STUSB1600_ALERT\#] +PI11.Locked=true +PI11.Signal=GPIO_Input +PZ6.GPIOParameters=GPIO_Label +PZ6.GPIO_Label=BT_REG_ON [LBEE5KL1DX_BT_REG_ON] +PZ6.Locked=true +PZ6.Signal=GPIO_Output +PZ7.GPIOParameters=GPIO_Label +PZ7.GPIO_Label=BT_DEV_WAKE [LBEE5KL1DX_BT_DEV_WAKE] +PZ7.Locked=true +PZ7.Signal=GPIO_Output +PinOutPanel.CurrentBGAView=Top +PinOutPanel.RotationAngle=0 +ProjectManager.AskForMigrate=true +ProjectManager.BackupPrevious=false +ProjectManager.CompilerOptimize=6 +ProjectManager.ComputerToolchain=false +ProjectManager.CoupleFile=false +ProjectManager.CustomerFirmwarePackage= +ProjectManager.DefaultFWLocation=true +ProjectManager.DeletePrevious=true +ProjectManager.DeviceId=STM32MP157AACx +ProjectManager.DeviceTreeLocation=D\:\\3_work\\GitRepositories\\rt-thread\\bsp\\stm32\\stm32mp157a-st-discovery\\board\\CubeMX_Config\\STM32MP157-DK1\\CA7\\DeviceTree\\ +ProjectManager.FirmwarePackage=STM32Cube FW_MP1 V1.2.0 +ProjectManager.FreePins=false +ProjectManager.HalAssertFull=false +ProjectManager.HeapSize=0x200 +ProjectManager.KeepUserCode=true +ProjectManager.LastFirmware=true +ProjectManager.LibraryCopy=0 +ProjectManager.MainLocation=Src +ProjectManager.NoMain=false +ProjectManager.PreviousToolchain= +ProjectManager.ProjectBuild=false +ProjectManager.ProjectFileName=STM32MP157-DK1.ioc +ProjectManager.ProjectName=STM32MP157-DK1 +ProjectManager.StackSize=0x400 +ProjectManager.TargetToolchain=EWARM V8.32 +ProjectManager.ToolChainLocation= +ProjectManager.UnderRoot=false +ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_IPCC_Init-IPCC-false-HAL-true,4-MX_SPI5_Init-SPI5-false-HAL-true,5-MX_TIM4_Init-TIM4-false-HAL-true,6-MX_TIM14_Init-TIM14-false-HAL-true,7-MX_TIM16_Init-TIM16-false-HAL-true,8-MX_TIM17_Init-TIM17-false-HAL-true,9-MX_UART4_Init-UART4-false-HAL-true,10-MX_ADC2_Init-ADC2-false-HAL-true,11-MX_DAC1_Init-DAC1-false-HAL-true,12-MX_LPTIM1_Init-LPTIM1-false-HAL-true,13-MX_LPTIM2_Init-LPTIM2-false-HAL-true,14-MX_LPTIM3_Init-LPTIM3-false-HAL-true,15-MX_LPTIM4_Init-LPTIM4-false-HAL-true,16-MX_LPTIM5_Init-LPTIM5-false-HAL-true,17-MX_USART3_UART_Init-USART3-false-HAL-true,18-MX_WWDG1_Init-WWDG1-false-HAL-true,0-MX_PWR_Init-PWR-false-HAL-true +RCC.ADCCLockSelection=RCC_ADCCLKSOURCE_PER +RCC.ADCFreq_Value=24000000 +RCC.AHB1234Freq_Value=208877929.6875 +RCC.APB1DIV=RCC_APB1_DIV2 +RCC.APB1Freq_Value=104438964.84375 +RCC.APB2DIV=RCC_APB2_DIV2 +RCC.APB2Freq_Value=104438964.84375 +RCC.APB3DIV=RCC_APB3_DIV2 +RCC.APB3Freq_Value=104438964.84375 +RCC.APB4DIV=RCC_APB4_DIV2 +RCC.APB4Freq_Value=133250000 +RCC.APB5DIV=RCC_APB5_DIV4 +RCC.APB5DIVClockFreq_Value=66625000 +RCC.AXICLKFreq_VALUE=266500000 +RCC.AXICLKSource=RCC_AXISSOURCE_PLL2 +RCC.AXIDIVFreq_Value=266500000 +RCC.CECFreq_Value=32768 +RCC.CKPERCLKFreq_VALUE=24000000 +RCC.CKPERCLKSource=RCC_CKPERCLKSOURCE_HSE +RCC.CSI_VALUE=4000000 +RCC.CortexFreq_Value=208877929.6875 +RCC.DACCLKFreq_VALUE=32000 +RCC.DDRCFreq_Value=533000000 +RCC.DDRPERFMFreq_Value=533000000 +RCC.DDRPHYFreq_Value=533000000 +RCC.DFSDFAFreq_Value=74250000 +RCC.DFSDMFreq_Value=208877929.6875 +RCC.DIVM1=3 +RCC.DIVM2=3 +RCC.DIVM3=2 +RCC.DIVM4=4 +RCC.DIVN1=81 +RCC.DIVN2=66 +RCC.DIVN3=34 +RCC.DIVN4=99 +RCC.DIVP1Freq_Value=650000000 +RCC.DIVP2Freq_Value=266500000 +RCC.DIVP3Freq_Value=208877929.6875 +RCC.DIVP4=6 +RCC.DIVP4Freq_Value=99000000 +RCC.DIVQ1Freq_Value=325000000 +RCC.DIVQ2=1 +RCC.DIVQ2Freq_Value=533000000 +RCC.DIVQ3=17 +RCC.DIVQ3Freq_Value=24573874.08088235 +RCC.DIVQ4=8 +RCC.DIVQ4Freq_Value=74250000 +RCC.DIVR1Freq_Value=325000000 +RCC.DIVR2=1 +RCC.DIVR2Freq_Value=533000000 +RCC.DIVR3=37 +RCC.DIVR3Freq_Value=11290698.902027028 +RCC.DIVR4=8 +RCC.DIVR4Freq_Value=74250000 +RCC.DSIFreq_Value=60000000 +RCC.DSIPixelFreq_Value=74250000 +RCC.DSITXEscFreq_Value=15000000 +RCC.DSI_VALUE=60000000 +RCC.ETHFreq_Value=99000000 +RCC.FCLKFreq_Value=196000000 +RCC.FDCANFreq_Value=24000000 +RCC.FMCCLockSelection=RCC_FMCCLKSOURCE_ACLK +RCC.FMCFreq_Value=266500000 +RCC.FamilyName=M +RCC.HSE_VALUE=24000000 +RCC.HSIDivClkFreq_Value=64000000 +RCC.HSI_VALUE=64000000 +RCC.Hclk5DIVFreq_Value=266500000 +RCC.Hclk6DIVFreq_Value=266500000 +RCC.I2C12CLockSelection=RCC_I2C12CLKSOURCE_HSI +RCC.I2C12Freq_Value=64000000 +RCC.I2C35CLockSelection=RCC_I2C35CLKSOURCE_PCLK1 +RCC.I2C35Freq_Value=104438964.84375 +RCC.I2C46CLockSelection=RCC_I2C46CLKSOURCE_HSI +RCC.I2C46Freq_Value=64000000 +RCC.IPParameters=ADCCLockSelection,ADCFreq_Value,AHB1234Freq_Value,APB1DIV,APB1Freq_Value,APB2DIV,APB2Freq_Value,APB3DIV,APB3Freq_Value,APB4DIV,APB4Freq_Value,APB5DIV,APB5DIVClockFreq_Value,AXICLKFreq_VALUE,AXICLKSource,AXIDIVFreq_Value,CECFreq_Value,CKPERCLKFreq_VALUE,CKPERCLKSource,CSI_VALUE,CortexFreq_Value,DACCLKFreq_VALUE,DDRCFreq_Value,DDRPERFMFreq_Value,DDRPHYFreq_Value,DFSDFAFreq_Value,DFSDMFreq_Value,DIVM1,DIVM2,DIVM3,DIVM4,DIVN1,DIVN2,DIVN3,DIVN4,DIVP1Freq_Value,DIVP2Freq_Value,DIVP3Freq_Value,DIVP4,DIVP4Freq_Value,DIVQ1Freq_Value,DIVQ2,DIVQ2Freq_Value,DIVQ3,DIVQ3Freq_Value,DIVQ4,DIVQ4Freq_Value,DIVR1Freq_Value,DIVR2,DIVR2Freq_Value,DIVR3,DIVR3Freq_Value,DIVR4,DIVR4Freq_Value,DSIFreq_Value,DSIPixelFreq_Value,DSITXEscFreq_Value,DSI_VALUE,ETHFreq_Value,FCLKFreq_Value,FDCANFreq_Value,FMCCLockSelection,FMCFreq_Value,FamilyName,HSE_VALUE,HSIDivClkFreq_Value,HSI_VALUE,Hclk5DIVFreq_Value,Hclk6DIVFreq_Value,I2C12CLockSelection,I2C12Freq_Value,I2C35CLockSelection,I2C35Freq_Value,I2C46CLockSelection,I2C46Freq_Value,LPTIM1CLockSelection,LPTIM1Freq_Value,LPTIM23CLockSelection,LPTIM23Freq_Value,LPTIM45CLockSelection,LPTIM45Freq_Value,LSI_VALUE,LTDCFreq_Value,MCO1PinFreq_Value,MCO2PinFreq_Value,MCUCLKFreq_VALUE,MCUCLKSource,MCUClockFreq_Value,MCUDIVCLKFreq_Value,MPUCLKFreq_VALUE,MPUCLKSource,PLL12Source,PLL1FRACV,PLL1UserDefinedConfig,PLL2FRACV,PLL3FRACV,PLL3Source,PLL4FRACV,PLL4PDSIFreq_Value,PLL4Source,PLLDSIFreq_Value,PLLDSIVCOFreq_Value,PUBLFreq_Value,QSPICLockSelection,QSPIFreq_Value,RCC_RTC_Clock_Source_FROM_HSE,RNG1CLockSelection,RNG1Freq_Value,RNG2Freq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SAI2CLockSelection,SAI2Freq_Value,SAI3Freq_Value,SAI4Freq_Value,SDMMC12CLockSelection,SDMMC12Freq_Value,SDMMC3CLockSelection,SDMMC3Freq_Value,SPDIFRXFreq_Value,SPI1CLockSelection,SPI1Freq_Value,SPI23CLockSelection,SPI23Freq_Value,SPI45CLockSelection,SPI45Freq_Value,SPI6CLockSelection,SPI6Freq_Value,STGENCLockSelection,STGENFreq_Value,Tim1OutputFreq_Value,Tim2OutputFreq_Value,UART78CLockSelection,UART78Freq_Value,USART1CLockSelection,USART1Freq_Value,USART24CLockSelection,USART24Freq_Value,USART35CLockSelection,USART35Freq_Value,USART6CLockSelection,USART6Freq_Value,USBOCLKSource,USBOHSFreq_Value,USBPHYCLKSource,USBPHYFreq_Value,VCO1OutputFreq_Value,VCO2OutputFreq_Value,VCO3OutputFreq_Value,VCO4OutputFreq_Value,VCOInput1Freq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value,VCOInput4Freq_Value +RCC.LPTIM1CLockSelection=RCC_LPTIM1CLKSOURCE_PCLK1 +RCC.LPTIM1Freq_Value=104438964.84375 +RCC.LPTIM23CLockSelection=RCC_LPTIM23CLKSOURCE_PCLK3 +RCC.LPTIM23Freq_Value=104438964.84375 +RCC.LPTIM45CLockSelection=RCC_LPTIM45CLKSOURCE_PCLK3 +RCC.LPTIM45Freq_Value=104438964.84375 +RCC.LSI_VALUE=32000 +RCC.LTDCFreq_Value=74250000 +RCC.MCO1PinFreq_Value=64000000 +RCC.MCO2PinFreq_Value=650000000 +RCC.MCUCLKFreq_VALUE=208877929.6875 +RCC.MCUCLKSource=RCC_MCUSSOURCE_PLL3 +RCC.MCUClockFreq_Value=208877929.6875 +RCC.MCUDIVCLKFreq_Value=208877929.6875 +RCC.MPUCLKFreq_VALUE=650000000 +RCC.MPUCLKSource=RCC_MPUSOURCE_PLL1 +RCC.PLL12Source=RCC_PLL12SOURCE_HSE +RCC.PLL1FRACV=0x800 +RCC.PLL1UserDefinedConfig=false +RCC.PLL2FRACV=0x1400 +RCC.PLL3FRACV=6660 +RCC.PLL3Source=RCC_PLL3SOURCE_HSE +RCC.PLL4FRACV=0 +RCC.PLL4PDSIFreq_Value=99000000 +RCC.PLL4Source=RCC_PLL4SOURCE_HSE +RCC.PLLDSIFreq_Value=480000000 +RCC.PLLDSIVCOFreq_Value=960000000 +RCC.PUBLFreq_Value=533000000 +RCC.QSPICLockSelection=RCC_QSPICLKSOURCE_ACLK +RCC.QSPIFreq_Value=266500000 +RCC.RCC_RTC_Clock_Source_FROM_HSE=24 +RCC.RNG1CLockSelection=RCC_RNG1CLKSOURCE_LSI +RCC.RNG1Freq_Value=32000 +RCC.RNG2Freq_Value=4000000 +RCC.RTCClockSelection=RCC_RTCCLKSOURCE_LSE +RCC.RTCFreq_Value=32768 +RCC.SAI1Freq_Value=74250000 +RCC.SAI2CLockSelection=RCC_SAI2CLKSOURCE_PLL3_Q +RCC.SAI2Freq_Value=24573874.08088235 +RCC.SAI3Freq_Value=74250000 +RCC.SAI4Freq_Value=74250000 +RCC.SDMMC12CLockSelection=RCC_SDMMC12CLKSOURCE_PLL4 +RCC.SDMMC12Freq_Value=99000000 +RCC.SDMMC3CLockSelection=RCC_SDMMC3CLKSOURCE_HCLK2 +RCC.SDMMC3Freq_Value=208877929.6875 +RCC.SPDIFRXFreq_Value=99000000 +RCC.SPI1CLockSelection=RCC_SPI1CLKSOURCE_PLL3_Q +RCC.SPI1Freq_Value=24573874.08088235 +RCC.SPI23CLockSelection=RCC_SPI23CLKSOURCE_PLL3_Q +RCC.SPI23Freq_Value=24573874.08088235 +RCC.SPI45CLockSelection=RCC_SPI45CLKSOURCE_PCLK2 +RCC.SPI45Freq_Value=104438964.84375 +RCC.SPI6CLockSelection=RCC_SPI6CLKSOURCE_PCLK5 +RCC.SPI6Freq_Value=66625000 +RCC.STGENCLockSelection=RCC_STGENCLKSOURCE_HSE +RCC.STGENFreq_Value=24000000 +RCC.Tim1OutputFreq_Value=208877929.6875 +RCC.Tim2OutputFreq_Value=208877929.6875 +RCC.UART78CLockSelection=RCC_UART78CLKSOURCE_PCLK1 +RCC.UART78Freq_Value=104438964.84375 +RCC.USART1CLockSelection=RCC_USART1CLKSOURCE_PCLK5 +RCC.USART1Freq_Value=66625000 +RCC.USART24CLockSelection=RCC_UART24CLKSOURCE_HSI +RCC.USART24Freq_Value=64000000 +RCC.USART35CLockSelection=RCC_UART35CLKSOURCE_PCLK1 +RCC.USART35Freq_Value=104438964.84375 +RCC.USART6CLockSelection=RCC_USART6CLKSOURCE_PCLK2 +RCC.USART6Freq_Value=104438964.84375 +RCC.USBOCLKSource=RCC_USBOCLKSOURCE_PHY +RCC.USBOHSFreq_Value=48000000 +RCC.USBPHYCLKSource=RCC_USBPHYCLKSOURCE_HSE +RCC.USBPHYFreq_Value=24000000 +RCC.VCO1OutputFreq_Value=1300000000 +RCC.VCO2OutputFreq_Value=1066000000 +RCC.VCO3OutputFreq_Value=417755859.375 +RCC.VCO4OutputFreq_Value=594000000 +RCC.VCOInput1Freq_Value=8000000 +RCC.VCOInput2Freq_Value=8000000 +RCC.VCOInput3Freq_Value=12000000 +RCC.VCOInput4Freq_Value=6000000 +SH.COMP_DAC11_group.0=DAC1_OUT1,DAC_OUT1 +SH.COMP_DAC11_group.ConfNb=1 +SH.S_TIM4_CH2.0=TIM4_CH2,PWM Generation2 CH2 +SH.S_TIM4_CH2.ConfNb=1 +SPI5.CalculateBaudRate=26.10974 MBits/s +SPI5.Direction=SPI_DIRECTION_2LINES_TXONLY +SPI5.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate +SPI5.Mode=SPI_MODE_MASTER +SPI5.VirtualType=VM_MASTER +TIM4.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2 +TIM4.IPParameters=Channel-PWM Generation2 CH2 +USART3.IPParameters=VirtualMode-Asynchronous +USART3.VirtualMode-Asynchronous=VM_ASYNC +VP_BSEC_VS_BSEC.Mode=BSEC_Activate +VP_BSEC_VS_BSEC.Signal=BSEC_VS_BSEC +VP_DDR_DDR3.Mode=DDR3 +VP_DDR_DDR3.Signal=DDR_DDR3 +VP_DDR_DDR3_16_4Gb.Mode=4Gb_16bits +VP_DDR_DDR3_16_4Gb.Signal=DDR_DDR3_16_4Gb +VP_DDR_DDR_16_bits.Mode=16bits +VP_DDR_DDR_16_bits.Signal=DDR_DDR_16_bits +VP_DMA_VS_DMA1_A7NS.Mode=CortexA7NS +VP_DMA_VS_DMA1_A7NS.Signal=DMA_VS_DMA1_A7NS +VP_DMA_VS_DMA2_M4.Mode=CortexM4 +VP_DMA_VS_DMA2_M4.Signal=DMA_VS_DMA2_M4 +VP_HSEM_VS_HSEM.Mode=HSEM_Activate +VP_HSEM_VS_HSEM.Signal=HSEM_VS_HSEM +VP_IPCC_VS_IPCC.Mode=IPCC_Activate +VP_IPCC_VS_IPCC.Signal=IPCC_VS_IPCC +VP_LPTIM1_VS_LPTIM_counterModeInternalClock.Mode=Counts__internal_clock_event_00 +VP_LPTIM1_VS_LPTIM_counterModeInternalClock.Signal=LPTIM1_VS_LPTIM_counterModeInternalClock +VP_LPTIM2_VS_LPTIM_counterModeInternalClock.Mode=Counts__internal_clock_event_00 +VP_LPTIM2_VS_LPTIM_counterModeInternalClock.Signal=LPTIM2_VS_LPTIM_counterModeInternalClock +VP_LPTIM3_VS_LPTIM_counterModeInternalClock.Mode=Counts__internal_clock_event_00 +VP_LPTIM3_VS_LPTIM_counterModeInternalClock.Signal=LPTIM3_VS_LPTIM_counterModeInternalClock +VP_LPTIM4_VS_LPTIM_counterModeInternalClock.Mode=Counts__internal_clock_event_00 +VP_LPTIM4_VS_LPTIM_counterModeInternalClock.Signal=LPTIM4_VS_LPTIM_counterModeInternalClock +VP_LPTIM5_VS_LPTIM_counterModeInternalClock.Mode=Counts__internal_clock_event_00 +VP_LPTIM5_VS_LPTIM_counterModeInternalClock.Signal=LPTIM5_VS_LPTIM_counterModeInternalClock +VP_MDMA_VS_MDMA_A7NS_8.Mode=8\:8 +VP_MDMA_VS_MDMA_A7NS_8.Signal=MDMA_VS_MDMA_A7NS_8 +VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled +VP_RTC_VS_RTC_Activate.Signal=RTC_VS_RTC_Activate +VP_SYS_VS_Systick.Mode=SysTick +VP_SYS_VS_Systick.Signal=SYS_VS_Systick +VP_TAMP_VS_TAMP_Activate.Mode=TAMP_Enabled +VP_TAMP_VS_TAMP_Activate.Signal=TAMP_VS_TAMP_Activate +VP_TIM14_VS_ClockSourceINT.Mode=Enable_Timer +VP_TIM14_VS_ClockSourceINT.Signal=TIM14_VS_ClockSourceINT +VP_TIM16_VS_ClockSourceINT.Mode=Enable_Timer +VP_TIM16_VS_ClockSourceINT.Signal=TIM16_VS_ClockSourceINT +VP_TIM17_VS_ClockSourceINT.Mode=Enable_Timer +VP_TIM17_VS_ClockSourceINT.Signal=TIM17_VS_ClockSourceINT +VP_TIM4_VS_ClockSourceINT.Mode=Internal +VP_TIM4_VS_ClockSourceINT.Signal=TIM4_VS_ClockSourceINT +VP_VREFBUF_VS_VREFBUF.Mode=VREFBUF_Activate +VP_VREFBUF_VS_VREFBUF.Signal=VREFBUF_VS_VREFBUF +VP_WWDG1_VS_WWDG.Mode=WWDG_Activate +VP_WWDG1_VS_WWDG.Signal=WWDG1_VS_WWDG +WWDG1.IPParameters=Prescaler +WWDG1.Prescaler=WWDG_PRESCALER_8 +board=STM32MP157A-DK1 +boardIOC=true diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/Kconfig b/bsp/stm32/stm32mp157a-st-ev1/board/Kconfig new file mode 100644 index 0000000000..bdcc20f611 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/Kconfig @@ -0,0 +1,177 @@ +menu "Hardware Drivers Config" + +config SOC_STM32MP157A + bool + select SOC_SERIES_STM32MP1 + select RT_USING_COMPONENTS_INIT + select RT_USING_USER_MAIN + default y + +menu "Onboard Peripheral Drivers" + + config BSP_USING_STLINK_TO_USART + bool "Enable STLINK TO USART (uart4)" + select BSP_USING_UART + select BSP_USING_UART4 + default y + +endmenu + +menu "On-chip Peripheral Drivers" + config BSP_USING_GPIO + bool "Enable GPIO" + select RT_USING_PIN + default y + + config BSP_USING_WWDG + bool "Enable WWDG" + select RT_USING_WWDG + default n + + menuconfig BSP_USING_UART + bool "Enable UART" + select RT_USING_SERIAL + default y + if BSP_USING_UART + config BSP_USING_UART3 + bool "Enable UART3" + default y + + config BSP_UART3_RX_USING_DMA + bool "Enable UART3 RX DMA" + depends on BSP_USING_UART4 && RT_SERIAL_USING_DMA + default n + + config BSP_UART3_TX_USING_DMA + bool "Enable UART3 TX DMA" + depends on BSP_USING_UART3 && RT_SERIAL_USING_DMA + default n + + config BSP_USING_UART4 + bool "Enable UART4" + default y + + config BSP_UART4_RX_USING_DMA + bool "Enable UART4 RX DMA" + depends on BSP_USING_UART4 && RT_SERIAL_USING_DMA + default n + + config BSP_UART4_TX_USING_DMA + bool "Enable UART4 TX DMA" + depends on BSP_USING_UART4 && RT_SERIAL_USING_DMA + default n + + endif + + menuconfig BSP_USING_TIM + bool "Enable timer" + default n + select RT_USING_HWTIMER + if BSP_USING_TIM + config BSP_USING_TIM14 + bool "Enable TIM14" + default n + + config BSP_USING_TIM16 + bool "Enable TIM16" + default n + + config BSP_USING_TIM17 + bool "Enable TIM17" + default n + + endif + menuconfig BSP_USING_LPTIM + bool "Enable lptimer" + default n + select RT_USING_LPTIMER + if BSP_USING_LPTIM + config BSP_USING_LPTIM1 + bool "Enable LPTIM1" + default n + endif + + menuconfig BSP_USING_PWM + bool "Enable pwm" + default n + select RT_USING_PWM + if BSP_USING_PWM + menuconfig BSP_USING_PWM4 + bool "Enable timer4 output pwm" + default n + if BSP_USING_PWM4 + config BSP_USING_PWM4_CH2 + bool "Enable PWM4 channel2" + default n + endif + endif + + menuconfig BSP_USING_ADC + bool "Enable ADC" + default n + select RT_USING_ADC + if BSP_USING_ADC + config BSP_USING_ADC2 + bool "Enable ADC2" + default n + endif + + menuconfig BSP_USING_DAC + bool "Enable DAC" + default n + select RT_USING_DAC + if BSP_USING_DAC + config BSP_USING_DAC1 + bool "Enable DAC1" + default n + endif + + menuconfig BSP_USING_I2C1 + bool "Enable I2C1 BUS (software simulation)" + select RT_USING_I2C + select RT_USING_I2C_BITOPS + select RT_USING_PIN + default n + if BSP_USING_I2C1 + comment "Notice: PD7 --> 55; PG15 --> 111" + config BSP_I2C1_SCL_PIN + int "I2C1 scl pin number" + range 1 176 + default 55 + config BSP_I2C1_SDA_PIN + int "I2C1 sda pin number" + range 1 176 + default 111 + + endif + + menuconfig BSP_USING_SPI + bool "Enable SPI BUS" + select RT_USING_SPI + default n + if BSP_USING_SPI + config BSP_USING_SPI5 + bool "Enable SPI5 BUS" + default n + + config BSP_SPI5_TX_USING_DMA + bool "Enable SPI5 TX DMA" + depends on BSP_USING_SPI5 + default n + + config BSP_SPI5_RX_USING_DMA + bool "Enable SPI5 RX DMA" + depends on BSP_USING_SPI5 + select BSP_SPI5_TX_USING_DMA + default n + endif + + source "../libraries/HAL_Drivers/Kconfig" + +endmenu + +menu "Board extended module Drivers" + +endmenu + +endmenu diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/SConscript b/bsp/stm32/stm32mp157a-st-ev1/board/SConscript new file mode 100644 index 0000000000..2d4657da92 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/SConscript @@ -0,0 +1,47 @@ +import os +import rtconfig +from building import * + +Import('SDK_LIB') + +cwd = GetCurrentDir() + +# add general drivers +src = Split(''' +board.c +CubeMX_Config/Common/System/system_stm32mp1xx.c +CubeMX_Config/CM4/Src/stm32mp1xx_hal_msp.c +''') + +if GetDepend(['BSP_USING_ADC']): + src += Glob('ports/drv_hard_i2c.c') + src += Glob('ports/stpmic.c') + +if GetDepend(['BSP_USING_DAC']): + src += Glob('ports/drv_hard_i2c.c') + src += Glob('ports/stpmic.c') + +if GetDepend(['BSP_USING_WWDG']): + src += Glob('ports/drv_wwdg.c') + +if GetDepend(['BSP_USING_LPTIM']): + src += Glob('ports/drv_lptim.c') + +path = [cwd] +path += [cwd + '/CubeMX_Config/CM4/Inc'] +path += [cwd + '/ports'] + +startup_path_prefix = SDK_LIB + +if rtconfig.CROSS_TOOL == 'gcc': + src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/gcc/startup_stm32mp15xx.s'] +elif rtconfig.CROSS_TOOL == 'keil': + src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/arm/startup_stm32mp15xx.s'] +elif rtconfig.CROSS_TOOL == 'iar': + src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/iar/startup_stm32mp15xx.s'] + +CPPDEFINES = ['CORE_CM4', 'STM32MP157Axx', 'USE_HAL_DRIVER'] + +group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) + +Return('group') diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/board.c b/bsp/stm32/stm32mp157a-st-ev1/board/board.c new file mode 100644 index 0000000000..0a7bda208a --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/board.c @@ -0,0 +1,189 @@ +/* +* Copyright (c) 2006-2018, RT-Thread Development Team +* +* SPDX-License-Identifier: Apache-2.0 +* +* Change Logs: +* Date Author Notes +* 2018-11-06 SummerGift first version +* 2019-04-09 WillianChan add stm32f469-st-disco bsp +* 2020-06-20 thread-liu add stm32mp157-dk1 bsp +*/ + +#include "board.h" + +/** +* @brief System Clock Configuration +* @retval None +*/ +void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + + /**Configure LSE Drive Capability + */ + HAL_PWR_EnableBkUpAccess(); + __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_MEDIUMHIGH); + + /**Initializes the CPU, AHB and APB busses clocks + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE + |RCC_OSCILLATORTYPE_LSE; + RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS_DIG; + RCC_OscInitStruct.LSEState = RCC_LSE_ON; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = 16; + RCC_OscInitStruct.HSIDivValue = RCC_HSI_DIV1; + + /**PLL1 Config + */ + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLL12SOURCE_HSE; + RCC_OscInitStruct.PLL.PLLM = 3; + RCC_OscInitStruct.PLL.PLLN = 81; + RCC_OscInitStruct.PLL.PLLP = 1; + RCC_OscInitStruct.PLL.PLLQ = 1; + RCC_OscInitStruct.PLL.PLLR = 1; + RCC_OscInitStruct.PLL.PLLFRACV = 0x800; + RCC_OscInitStruct.PLL.PLLMODE = RCC_PLL_FRACTIONAL; + RCC_OscInitStruct.PLL.RPDFN_DIS = RCC_RPDFN_DIS_DISABLED; + RCC_OscInitStruct.PLL.TPDFN_DIS = RCC_TPDFN_DIS_DISABLED; + + /**PLL2 Config + */ + RCC_OscInitStruct.PLL2.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL2.PLLSource = RCC_PLL12SOURCE_HSE; + RCC_OscInitStruct.PLL2.PLLM = 3; + RCC_OscInitStruct.PLL2.PLLN = 66; + RCC_OscInitStruct.PLL2.PLLP = 2; + RCC_OscInitStruct.PLL2.PLLQ = 1; + RCC_OscInitStruct.PLL2.PLLR = 1; + RCC_OscInitStruct.PLL2.PLLFRACV = 0x1400; + RCC_OscInitStruct.PLL2.PLLMODE = RCC_PLL_FRACTIONAL; + RCC_OscInitStruct.PLL2.RPDFN_DIS = RCC_RPDFN_DIS_DISABLED; + RCC_OscInitStruct.PLL2.TPDFN_DIS = RCC_TPDFN_DIS_DISABLED; + + /**PLL3 Config + */ + RCC_OscInitStruct.PLL3.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL3.PLLSource = RCC_PLL3SOURCE_HSE; + RCC_OscInitStruct.PLL3.PLLM = 2; + RCC_OscInitStruct.PLL3.PLLN = 34; + RCC_OscInitStruct.PLL3.PLLP = 2; + RCC_OscInitStruct.PLL3.PLLQ = 17; + RCC_OscInitStruct.PLL3.PLLR = 37; + RCC_OscInitStruct.PLL3.PLLRGE = RCC_PLL3IFRANGE_1; + RCC_OscInitStruct.PLL3.PLLFRACV = 0x1A04; + RCC_OscInitStruct.PLL3.PLLMODE = RCC_PLL_FRACTIONAL; + RCC_OscInitStruct.PLL3.RPDFN_DIS = RCC_RPDFN_DIS_DISABLED; + RCC_OscInitStruct.PLL3.TPDFN_DIS = RCC_TPDFN_DIS_DISABLED; + + /**PLL4 Config + */ + RCC_OscInitStruct.PLL4.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL4.PLLSource = RCC_PLL4SOURCE_HSE; + RCC_OscInitStruct.PLL4.PLLM = 4; + RCC_OscInitStruct.PLL4.PLLN = 99; + RCC_OscInitStruct.PLL4.PLLP = 6; + RCC_OscInitStruct.PLL4.PLLQ = 8; + RCC_OscInitStruct.PLL4.PLLR = 8; + RCC_OscInitStruct.PLL4.PLLRGE = RCC_PLL4IFRANGE_0; + RCC_OscInitStruct.PLL4.PLLFRACV = 0; + RCC_OscInitStruct.PLL4.PLLMODE = RCC_PLL_INTEGER; + RCC_OscInitStruct.PLL4.RPDFN_DIS = RCC_RPDFN_DIS_DISABLED; + RCC_OscInitStruct.PLL4.TPDFN_DIS = RCC_TPDFN_DIS_DISABLED; + + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + /**RCC Clock Config + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_ACLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2 + |RCC_CLOCKTYPE_PCLK3|RCC_CLOCKTYPE_PCLK4 + |RCC_CLOCKTYPE_PCLK5|RCC_CLOCKTYPE_MPU; + RCC_ClkInitStruct.MPUInit.MPU_Clock = RCC_MPUSOURCE_PLL1; + RCC_ClkInitStruct.MPUInit.MPU_Div = RCC_MPU_DIV2; + RCC_ClkInitStruct.AXISSInit.AXI_Clock = RCC_AXISSOURCE_PLL2; + RCC_ClkInitStruct.AXISSInit.AXI_Div = RCC_AXI_DIV1; + RCC_ClkInitStruct.MCUInit.MCU_Clock = RCC_MCUSSOURCE_PLL3; + RCC_ClkInitStruct.MCUInit.MCU_Div = RCC_MCU_DIV1; + RCC_ClkInitStruct.APB4_Div = RCC_APB4_DIV2; + RCC_ClkInitStruct.APB5_Div = RCC_APB5_DIV4; + RCC_ClkInitStruct.APB1_Div = RCC_APB1_DIV2; + RCC_ClkInitStruct.APB2_Div = RCC_APB2_DIV2; + RCC_ClkInitStruct.APB3_Div = RCC_APB3_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct) != HAL_OK) + { + Error_Handler(); + } + + /**Set the HSE division factor for RTC clock + */ + __HAL_RCC_RTC_HSEDIV(24); +} + + +/** +* @brief Peripherals Common Clock Configuration +* @retval None +*/ +void PeriphCommonClock_Config(void) { + RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; + + /** Initializes the common periph clock + */ + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_CKPER; + PeriphClkInit.CkperClockSelection = RCC_CKPERCLKSOURCE_HSE; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) { + Error_Handler(); + } +} + +extern void rt_hw_systick_init(void); +extern int rt_hw_usart_init(void); +void rt_hw_board_init() +{ + /* HAL_Init() function is called at the beginning of the program */ + HAL_Init(); + + /* enable interrupt */ + __set_PRIMASK(0); + /* Configure the system clock */ + if (IS_ENGINEERING_BOOT_MODE()) { + /* Configure the system clock */ + SystemClock_Config(); + } + /* disable interrupt */ + __set_PRIMASK(1); + + rt_hw_systick_init(); + + /* Heap initialization */ +#if defined(RT_USING_HEAP) + rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END); +#endif + + /* Pin driver initialization is open by default */ +#ifdef RT_USING_PIN + rt_hw_pin_init(); +#endif + + /* USART driver initialization is open by default */ +#ifdef RT_USING_SERIAL + rt_hw_usart_init(); +#endif + + /* Set the shell console output device */ +#ifdef RT_USING_CONSOLE + rt_console_set_device(RT_CONSOLE_DEVICE_NAME); +#endif + + /* Board underlying hardware initialization */ +#ifdef RT_USING_COMPONENTS_INIT + rt_components_board_init(); +#endif +} diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/board.h b/bsp/stm32/stm32mp157a-st-ev1/board/board.h new file mode 100644 index 0000000000..b23b83ee30 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/board.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2018-11-5 SummerGift first version + * 2019-04-09 WillianChan add stm32f469-st-disco bsp + */ + +#ifndef __BOARD_H__ +#define __BOARD_H__ + +#include +#include "stm32mp1xx.h" +#include "stm32mp1xx_hal.h" +#include "drv_common.h" +#include "drv_gpio.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define STM32_FLASH_START_ADRESS ((uint32_t)0x10000000) +#define STM32_FLASH_SIZE (256 * 1024) +#define STM32_FLASH_END_ADDRESS ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE)) + +#define STM32_SRAM_SIZE (128) +#define STM32_SRAM_END ((uint32_t)0x10040000 + (STM32_SRAM_SIZE * 1024)) + +#if defined(__CC_ARM) || defined(__CLANG_ARM) +extern int Image$$RW_IRAM1$$ZI$$Limit; +#define HEAP_BEGIN (&Image$$RW_IRAM1$$ZI$$Limit) +#elif __ICCARM__ +#pragma section="CSTACK" +#define HEAP_BEGIN (__segment_end("CSTACK")) +#else +extern int __bss_end__; +#define HEAP_BEGIN (0x10040000 + 64 * 1024) +#endif + +#define HEAP_END STM32_SRAM_END + +void SystemClock_Config(void); + +extern void _Error_Handler(char *s, int num); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.icf b/bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.icf new file mode 100644 index 0000000000..9aa4aad24e --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.icf @@ -0,0 +1,36 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x00000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x10000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x1003FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x10050000; +define symbol __ICFEDIT_region_RAM_end__ = 0x1005FFFF; + +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x0400; +define symbol __ICFEDIT_size_heap__ = 0x0000; +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +/* Create region for OPENAMP */ +/* !!! These 4 lines can be commented if OPENAMP is not used !!!*/ +define symbol __OPENAMP_region_start__ = 0x10040000; +define symbol __OPENAMP_region_size__ = 0x8000; +export symbol __OPENAMP_region_start__; +export symbol __OPENAMP_region_size__; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, last block CSTACK}; \ No newline at end of file diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.lds b/bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.lds new file mode 100644 index 0000000000..b2ae4c15ec --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.lds @@ -0,0 +1,157 @@ +/* + * linker script for STM32F4xx with GNU ld + * bernard.xiong 2009-10-14 + */ + +/* Program Entry, set to mark it as "used" and avoid gc */ +MEMORY +{ + ROM (rx) : ORIGIN = 0x10000000, LENGTH = 256k /* 256KB flash */ + RAM (rw) : ORIGIN = 0x10040000, LENGTH = 128k /* 128K sram */ +} +ENTRY(Reset_Handler) +_system_stack_size = 0x200; + +SECTIONS +{ + .text : + { + . = ALIGN(4); + _stext = .; + KEEP(*(.isr_vector)) /* Startup code */ + + . = ALIGN(4); + *(.text) /* remaining code */ + *(.text.*) /* remaining code */ + *(.rodata) /* read-only data (constants) */ + *(.rodata*) + *(.glue_7) + *(.glue_7t) + *(.gnu.linkonce.t*) + + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + + /* section information for initial. */ + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + + . = ALIGN(4); + + PROVIDE(__ctors_start__ = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE(__ctors_end__ = .); + + . = ALIGN(4); + + _etext = .; + } > ROM = 0 + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + __exidx_start = .; + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + + /* This is used by the startup in order to initialize the .data secion */ + _sidata = .; + } > ROM + __exidx_end = .; + + /* .data section which is used for initialized data */ + + .data : AT (_sidata) + { + . = ALIGN(4); + /* This is used by the startup in order to initialize the .data secion */ + _sdata = . ; + + *(.data) + *(.data.*) + *(.gnu.linkonce.d*) + + PROVIDE(__dtors_start__ = .); + KEEP(*(SORT(.dtors.*))) + KEEP(*(.dtors)) + PROVIDE(__dtors_end__ = .); + + . = ALIGN(4); + /* This is used by the startup in order to initialize the .data secion */ + _edata = . ; + } >RAM + + .stack : + { + . = ALIGN(4); + _sstack = .; + . = . + _system_stack_size; + . = ALIGN(4); + _estack = .; + } >RAM + + __bss_start = .; + .bss : + { + . = ALIGN(4); + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; + + *(.bss) + *(.bss.*) + *(COMMON) + + . = ALIGN(4); + /* This is used by the startup in order to initialize the .bss secion */ + _ebss = . ; + + *(.bss.init) + } > RAM + __bss_end = .; + + _end = .; + + /* 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) } + /* DWARF debug sections. + * Symbols in the DWARF debugging sections are relative to the beginning + * of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } +} diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.sct b/bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.sct new file mode 100644 index 0000000000..40d9679d17 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/linker_scripts/link.sct @@ -0,0 +1,27 @@ +; ************************************************************* +; *** Scatter-Loading Description *** +; ************************************************************* + +LR_VECTORS 0x00000000 0x00000400 { ; load region size_region + .isr_vector +0 { + startup*.o (RESET, +First) + } +} + +LR_IROM1 0x10000000 0x00040000 { ; load region size_region + ER_IROM1 0x10000000 0x00040000 { ; load address = execution address + *(InRoot$$Sections) + .ANY (+RO) + .ANY (+XO) + } + RW_IRAM1 0x10050000 0x00010000 { ; RW data + .ANY (+RW +ZI) + } + + +;; ***** Create region for OPENAMP ***** +;; *** These 4 lines can be commented if OPENAMP is not used ***** +; .resource_table +0 ALIGN 4 { ; resource table +; *(.resource_table) +; } __OpenAMP_SHMEM__ 0x10040000 EMPTY 0x8000 {} ; Shared Memory area used by OpenAMP +} diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_hard_i2c.c b/bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_hard_i2c.c new file mode 100644 index 0000000000..f4bc430a11 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_hard_i2c.c @@ -0,0 +1,124 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-06-18 thread-liu the first version + */ + +#include +#include "drv_hard_i2c.h" + +//#define DRV_DEBUG +#define LOG_TAG "drv.hardi2c" +#include + +I2C_HandleTypeDef hI2c4; + +int32_t BSP_I2C4_Init(void) +{ + int32_t status = RT_EOK; + + if (HAL_I2C_GetState(&hI2c4) == HAL_I2C_STATE_RESET) + { + if (MX_I2C4_Init(&hI2c4) != HAL_OK) + { + status = -RT_EBUSY; + } + /* Init the I2C Msp */ + if (HAL_I2C_Init(&hI2c4) != HAL_OK) + { + LOG_D("I2C4 Init Error!\n"); + status = -RT_EBUSY; + } + } + return status; +} + +int32_t BSP_I2C4_DeInit(void) +{ + int32_t status = RT_EOK; + + HAL_I2C_MspDeInit(&hI2c4); + + /* Init the I2C */ + if (HAL_I2C_DeInit(&hI2c4) != HAL_OK) + { + status = -RT_EEMPTY; + } + + return status; +} + +HAL_StatusTypeDef MX_I2C4_Init(I2C_HandleTypeDef *hI2c) +{ + hI2c4.Instance = I2C4; + hI2c->Init.Timing = I2C4_TIMING; + hI2c->Init.OwnAddress1 = STPMU1_I2C_ADDRESS; + hI2c->Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; + hI2c->Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; + hI2c->Init.OwnAddress2 = 0; + hI2c->Init.OwnAddress2Masks = I2C_OA2_NOMASK; + hI2c->Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; + hI2c->Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; + + return HAL_I2C_Init(hI2c); +} + +int32_t BSP_I2C4_WriteReg(uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length) +{ + return I2C4_WriteReg(DevAddr, Reg, I2C_MEMADD_SIZE_8BIT, pData, Length); +} + +int32_t BSP_I2C4_ReadReg(uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length) +{ + return I2C4_ReadReg(DevAddr, Reg, I2C_MEMADD_SIZE_8BIT, pData, Length); +} + +int32_t BSP_I2C4_WriteReg16(uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length) +{ + return I2C4_WriteReg(DevAddr, Reg, I2C_MEMADD_SIZE_16BIT, pData, Length); +} + +int32_t BSP_I2C4_ReadReg16(uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length) +{ + return I2C4_ReadReg(DevAddr, Reg, I2C_MEMADD_SIZE_16BIT, pData, Length); +} + +int32_t BSP_I2C4_IsReady(uint16_t DevAddr, uint32_t Trials) +{ + int32_t status = RT_EOK; + + if(HAL_I2C_IsDeviceReady(&hI2c4, DevAddr, Trials, 1000) != HAL_OK) + { + status = -RT_EBUSY; + } + + return status; +} + +static int32_t I2C4_WriteReg(uint16_t DevAddr, uint16_t Reg, uint16_t MemAddSize, uint8_t *pData, uint16_t Length) +{ + int32_t status = -RT_EIO; + + if(HAL_I2C_Mem_Write(&hI2c4, DevAddr, Reg, MemAddSize, pData, Length, 10000) == HAL_OK) + { + status = RT_EOK; + } + + return status; +} + +static int32_t I2C4_ReadReg(uint16_t DevAddr, uint16_t Reg, uint16_t MemAddSize, uint8_t *pData, uint16_t Length) +{ + int32_t status = -RT_EIO; + + if (HAL_I2C_Mem_Read(&hI2c4, DevAddr, Reg, MemAddSize, pData, Length, 10000) == HAL_OK) + { + status = RT_EOK; + } + + return status; +} diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_hard_i2c.h b/bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_hard_i2c.h new file mode 100644 index 0000000000..e3ec157d0c --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_hard_i2c.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-06-18 thread-liu the first version + */ + +#ifndef __DRV_HARD_I2C_H__ +#define __DRV_HARD_I2C_H__ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32mp1xx_hal.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define STPMU1_I2C_ADDRESS ((0x33 & 0x7F) << 1) + +#ifndef I2C_SPEED +#define I2C_SPEED ((uint32_t)100000) +#endif /* I2C_SPEED */ + +#ifndef I2C4_TIMING +#define I2C4_TIMING ((uint32_t)0x10805E89) +#endif + +static int32_t I2C4_WriteReg(uint16_t DevAddr, uint16_t MemAddSize, uint16_t Reg, uint8_t *pData, uint16_t Length); +static int32_t I2C4_ReadReg(uint16_t DevAddr, uint16_t MemAddSize, uint16_t Reg, uint8_t *pData, uint16_t Length); + +int32_t BSP_I2C4_Init(void); +int32_t BSP_I2C4_DeInit(void); +int32_t BSP_I2C4_WriteReg(uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length); +int32_t BSP_I2C4_ReadReg(uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length); +int32_t BSP_I2C4_WriteReg16(uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length); +int32_t BSP_I2C4_ReadReg16(uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length); +int32_t BSP_I2C4_IsReady(uint16_t DevAddr, uint32_t Trials); + +HAL_StatusTypeDef MX_I2C4_Init(I2C_HandleTypeDef *hI2c); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_lptim.c b/bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_lptim.c new file mode 100644 index 0000000000..2b8d63b0ae --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_lptim.c @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-06-19 thread-liu first version + */ + +#include + +#ifdef BSP_USING_LPTIM +#include "drv_config.h" +#include +#include + +//#define DRV_DEBUG +#define LOG_TAG "drv.lptimer" +#include + +LPTIM_HandleTypeDef hlptim1; + +void LPTIM1_IRQHandler(void) +{ + /* enter interrupt */ + rt_interrupt_enter(); + + HAL_LPTIM_IRQHandler(&hlptim1); + + /* leave interrupt */ + rt_interrupt_leave(); +} + +void HAL_LPTIM_AutoReloadMatchCallback(LPTIM_HandleTypeDef *hlptim) +{ + if(hlptim->Instance == LPTIM1) + { + rt_kprintf("hello rt-thread!\n"); + } +} + +static int lptim_control(uint8_t pre_value) +{ + if(pre_value > 7) + { + pre_value = 7; + } + hlptim1.Instance->CFGR &= ~(7 << 9); /* clear PRESC[2:0] */ + hlptim1.Instance->CFGR |= pre_value << 9; /* set PRESC[2:0] */ + + return RT_EOK; +} + +/** + * This function initialize the lptim + */ +static int lptim_init(void) +{ + hlptim1.Instance = LPTIM1; + hlptim1.Init.Clock.Source = LPTIM_CLOCKSOURCE_APBCLOCK_LPOSC; + hlptim1.Init.Clock.Prescaler = LPTIM_PRESCALER_DIV1; + hlptim1.Init.UltraLowPowerClock.Polarity = LPTIM_CLOCKPOLARITY_RISING; + hlptim1.Init.UltraLowPowerClock.SampleTime = LPTIM_CLOCKSAMPLETIME_DIRECTTRANSITION; + hlptim1.Init.Trigger.Source = LPTIM_TRIGSOURCE_SOFTWARE; + hlptim1.Init.OutputPolarity = LPTIM_OUTPUTPOLARITY_HIGH; + hlptim1.Init.UpdateMode = LPTIM_UPDATE_IMMEDIATE; + hlptim1.Init.CounterSource = LPTIM_COUNTERSOURCE_INTERNAL; + hlptim1.Init.Input1Source = LPTIM_INPUT1SOURCE_GPIO; + hlptim1.Init.Input2Source = LPTIM_INPUT2SOURCE_GPIO; + if (HAL_LPTIM_Init(&hlptim1) != HAL_OK) + { + LOG_D("LPTIM Init Error!\n"); + return -RT_ERROR; + } + /* ### Start counting in interrupt mode ############################# */ + if (HAL_LPTIM_Counter_Start_IT(&hlptim1, 5000) != HAL_OK) + { + LOG_D("LPTIM Start Counting Error!\n"); + return -RT_ERROR; + } + + return RT_EOK; +} + +static int lptim_deinit() +{ + if (HAL_LPTIM_DeInit(&hlptim1) != HAL_OK) + { + LOG_D("LPTIM Deinit Error!\n"); + return -RT_ERROR; + } + + return RT_EOK; +} + +static int lptim_sample(int argc, char *argv[]) +{ + if (argc > 1) + { + if (!strcmp(argv[1], "run")) + { + lptim_init(); + } + else if (!strcmp(argv[1], "stop")) + { + lptim_deinit(); + } + else if (!strcmp(argv[1], "set")) + { + if (argc > 2) + { + lptim_control(atoi(argv[2])); + } + } + } + else + { + rt_kprintf("Usage:\n"); + rt_kprintf("lptim_sample run - open lptim, shell will printf 'hello rt-thread'\n"); + rt_kprintf("lptim_sample set - set the lptim prescaler, lptim_sample set [0 - 7]\n"); + } + + return RT_EOK; +} +MSH_CMD_EXPORT(lptim_sample, low power timer sample); + +#endif diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_wwdg.c b/bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_wwdg.c new file mode 100644 index 0000000000..58c5c3f303 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/ports/drv_wwdg.c @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-06-18 thread-liu the first version + */ + +#include + +#if defined(BSP_USING_WWDG) +#include "drv_config.h" +#include +#include + +//#define DRV_DEBUG +#define LOG_TAG "drv.wwg" +#include + +#define LED5_PIN GET_PIN(A, 14) + +WWDG_HandleTypeDef hwwdg1; + +void WWDG1_IRQHandler(void) +{ + /* enter interrupt */ + rt_interrupt_enter(); + + HAL_WWDG_IRQHandler(&hwwdg1); + + /* leave interrupt */ + rt_interrupt_leave(); +} + +void HAL_WWDG_EarlyWakeupCallback(WWDG_HandleTypeDef* hwwdg) +{ + static unsigned char led_value = 0x00; + + led_value = !led_value; + + if(hwwdg->Instance==WWDG1) + { + HAL_WWDG_Refresh(&hwwdg1); + rt_pin_write(LED5_PIN, led_value); + } +} + +static void wwdg_init() +{ + rt_pin_mode(LED5_PIN, PIN_MODE_OUTPUT); + + hwwdg1.Instance = WWDG1; + hwwdg1.Init.Prescaler = WWDG_PRESCALER_8; + hwwdg1.Init.Window = 0X5F; + hwwdg1.Init.Counter = 0x7F; + hwwdg1.Init.EWIMode = WWDG_EWI_ENABLE; + + if (HAL_WWDG_Init(&hwwdg1) != HAL_OK) + { + Error_Handler(); + } +} + +static void wwdg_control(uint8_t pre_value) +{ + if(pre_value > 7) + { + pre_value = 7; + } + hwwdg1.Instance->CFR &= ~(7 << 11); /* clear WDGTB[2:0] */ + hwwdg1.Instance->CFR |= pre_value << 11; /* set WDGTB[2:0] */ +} + +static int wwdg_sample(int argc, char *argv[]) +{ + if (argc > 1) + { + if (!strcmp(argv[1], "run")) + { + wwdg_init(); + } + else if (!strcmp(argv[1], "set")) + { + if (argc > 2) + { + wwdg_control(atoi(argv[2])); + } + } + } + else + { + rt_kprintf("Usage:\n"); + rt_kprintf("wwdg_sample run - open wwdg, when feed wwdg in wwdg irq, the LD5 will blink\n"); + rt_kprintf("wwdg_sample set - set the wwdg prescaler, wwdg_sample set [0 - 7]\n"); + } + + return RT_EOK; +} +MSH_CMD_EXPORT(wwdg_sample, window watch dog sample); + +#endif diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/ports/stpmic.c b/bsp/stm32/stm32mp157a-st-ev1/board/ports/stpmic.c new file mode 100644 index 0000000000..42a252e679 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/ports/stpmic.c @@ -0,0 +1,1225 @@ +/** + ****************************************************************************** + * @file stpmic.c + * @author MCD Application Team + * @brief This sample code provides hardware semaphore using HSEM for + * synchronization and mutual exclusion between heterogeneous processors + * and those not operating under a single, shared operating system. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2019 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +#include +#include +#include +#include "drv_hard_i2c.h" + +/* Definition of PMIC <=> stm32mp1 Signals */ +#define PMIC_INTn_PIN GPIO_PIN_0 +#define PMIC_INTn_PORT GPIOA +#define PMIC_INTn_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() +#define PMIC_INTn_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() + +#define BSP_PMIC_PWRCTRL_PIN_Assert() HAL_GPIO_WritePin(PMIC_PWRCTRL_PORT, PMIC_PWRCTRL_PIN, GPIO_PIN_RESET); +#define BSP_PMIC_PWRCTRL_PIN_Pull() HAL_GPIO_WritePin(PMIC_PWRCTRL_PORT, PMIC_PWRCTRL_PIN, GPIO_PIN_SET); + +/** + * @} + */ + + /** @defgroup STM32MP15XX_EVAL_STPMU_Private_Defines Private Defines + * @{ + */ +/* Private typedef -----------------------------------------------------------*/ +typedef struct { + PMIC_RegulId_TypeDef id; + uint16_t *voltage_table; + uint8_t voltage_table_size; + uint8_t control_reg; + uint8_t low_power_reg; + uint8_t rank ; + uint8_t nvm_info ; +} regul_struct; + +/* Private define ------------------------------------------------------------*/ +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) + +/* Those define should reflect NVM_USER section + * For ES Eval Configuration this is specified as + * 0xF7, + 0x92, + 0xC0, + 0x02, + 0xFA, + 0x30, + 0x00, + 0x33, + * */ +#define NVM_SECTOR3_REGISTER_0 0xF7 +#define NVM_SECTOR3_REGISTER_1 0x92 +#define NVM_SECTOR3_REGISTER_2 0xC0 +#define NVM_SECTOR3_REGISTER_3 0x02 +#define NVM_SECTOR3_REGISTER_4 0xFA +#define NVM_SECTOR3_REGISTER_5 0x30 +#define NVM_SECTOR3_REGISTER_6 0x00 +#define NVM_SECTOR3_REGISTER_7 0x33 + +/* nvm_vinok_hyst: VINOK hysteresis voltage + 00: 200mV + 01: 300mV + 10: 400mV + 11: 500mV + * + * nvm_vinok: VINOK threshold voltage + 00: 3.1v + 01: 3.3v + 10: 3.5v + 11: 4.5v + Otp_ldo4_forced : + 0: LDO4 ranks following OTP_RANK_LDO4<1:0> + if VBUS_OTG or SWOUT is turn ON condition + 1: LDO4 follows normal ranking procedure + + nvm_longkeypress: + 0: Turn OFF on long key press inactive + 1: Turn OFF on long key press active + + nvm_autoturnon: + 0: PMIC doesn’t start automatically on VIN rising + 1: PMIC starts automatically on VIN rising + + nvm_cc_keepoff : + 0: short circuit does not turn OFF PMIC + 1: short circuit turn OFF PMIC and keep it OFF till CC_flag is reset + + * + */ +#define OTP_VINOK_HYST ((NVM_SECTOR3_REGISTER_0 & 0xC0) >> 6) // nvm_vinok_hyst +#define OTP_VINOK ((NVM_SECTOR3_REGISTER_0 & 0x30) >> 4) // nvm_vinok +#define OTP_LDO4_FORCED ((NVM_SECTOR3_REGISTER_0 & 0x08) >> 3) // Otp_ldo4_forced +#define OTP_LONGKEYPRESSED ((NVM_SECTOR3_REGISTER_0 & 0x04) >> 2) // nvm_longkeypress +#define OTP_AUTOTURNON ((NVM_SECTOR3_REGISTER_0 & 0x02) >> 1) // nvm_autoturnon +#define OTP_CC_KEEPOFF ((NVM_SECTOR3_REGISTER_0 & 0x01)) // nvm_cc_keepoff + +/* + * nvm_rank_buck4: + 00: rank0 + 01: rank1 + 10: rank2 + 11: rank3 + nvm_rank_buck3: + 00: rank0 + 01: rank1 + 10: rank2 + 11: rank3 + nvm_rank_buck2: + 00: rank0 + 01: rank1 + 10: rank2 + 11: rank3 + nvm_rank_buck1: + 00: rank0 + 01: rank1 + 10: rank2 + 11: rank3 + * + */ +#define OTP_RANK_BUCK4 ((NVM_SECTOR3_REGISTER_1 & 0xC0) >> 6) // nvm_rank_buck4 +#define OTP_RANK_BUCK3 ((NVM_SECTOR3_REGISTER_1 & 0x30) >> 4) // nvm_rank_buck3 +#define OTP_RANK_BUCK2 ((NVM_SECTOR3_REGISTER_1 & 0x0C) >> 2) // nvm_rank_buck2 +#define OTP_RANK_BUCK1 ((NVM_SECTOR3_REGISTER_1 & 0x03)) // nvm_rank_buck1 + + +/* + * nvm_rank_ldo4: + 00: rank0 + 01: rank1 + 10: rank2 + 11: rank3 + nvm_rank_ldo3: + 00: rank0 + 01: rank1 + 10: rank2 + 11: rank3 + nvm_rank_ldo2: + 00: rank0 + 01: rank1 + 10: rank2 + 11: rank3 + nvm_rank_ldo1: + 00: rank0 + 01: rank1 + 10: rank2 + 11: rank3 + * + */ +#define OTP_RANK_LDO4 ((NVM_SECTOR3_REGISTER_2 & 0xC0) >> 6) // nvm_rank_ldo4 +#define OTP_RANK_LDO3 ((NVM_SECTOR3_REGISTER_2 & 0x30) >> 4) // nvm_rank_ldo3 +#define OTP_RANK_LDO2 ((NVM_SECTOR3_REGISTER_2 & 0x0C) >> 2) // nvm_rank_ldo2 +#define OTP_RANK_LDO1 ((NVM_SECTOR3_REGISTER_2 & 0x03)) // nvm_rank_ldo1 + +/* + * nvm_clamp_output_buck: Clamp output value to 1.3V max + 0: output_buck4<5:0> not clamped + 1: output_buck4<5:0> to b011100(1.3V) + + nvm_bypass_mode_ldo3: LDO3 forced bypass mode + 0: LDO3 not in bypass mode + 1: LDO3 in bypass mode + + nvm_rank_vrefddr: + 00: rank0 + 01: rank1 + 10: rank2 + 11: rank3 + + nvm_rank_ldo6: + 00: rank0 + 01: rank1 + 10: rank2 + 11: rank3 + +nvm_rank_ldo5: + 00: rank0 + 01: rank1 + 10: rank2 + 11: rank3 + * + */ +#define OTP_CLAMP_OUTPUT_BUCK4 ((NVM_SECTOR3_REGISTER_3 & 0x80) >> 7) // nvm_clamp_output_buck4 +#define OTP_BYPASS_MODE_LDO3 ((NVM_SECTOR3_REGISTER_3 & 0x40) >> 6) // nvm_bypass_mode_ldo3 +#define OTP_RANK_VREFDDR ((NVM_SECTOR3_REGISTER_3 & 0x30) >> 4) // nvm_rank_vrefddr +#define OTP_RANK_LDO6 ((NVM_SECTOR3_REGISTER_3 & 0x0C) >> 2) // nvm_rank_ldo6 +#define OTP_RANK_LDO5 ((NVM_SECTOR3_REGISTER_3 & 0x03)) // nvm_rank_ldo5 + +/* + * nvm_output_buck4: Buck4 default output selection + 00: 1.15V + 01: 1.2V + 10: 1.8V + 11: 3.3V + nvm_output_buck3: Buck3 default output selection + 00: 1.2V + 01: 1.8V + 10: 3.0V + 11: 3.3V + nvm_output_buck2: Buck2 default output selection + 00: 1.1V + 01: 1.2V + 10: 1.35V + 11: 1.5V + nvm_output_buck1: Buck1 default output selection + 00: 1.1V + 01: 1.15V + 10: 1.2V + 11: 1.25V + * + */ +#define OTP_OUTPUT_BUCK4 ((NVM_SECTOR3_REGISTER_4 & 0xC0) >> 6) // nvm_output_buck4 +#define OTP_OUTPUT_BUCK3 ((NVM_SECTOR3_REGISTER_4 & 0x30) >> 4) // nvm_output_buck3 +#define OTP_OUTPUT_BUCK2 ((NVM_SECTOR3_REGISTER_4 & 0x0C) >> 2) // nvm_output_buck2 +#define OTP_OUTPUT_BUCK1 ((NVM_SECTOR3_REGISTER_4 & 0x03)) // nvm_output_buck1 + +/* + * [7] OTP_SWOFF_BY_BOOST_OVP: + 0 -> SWOUT will not turnoff bu boost OVP + 1 -> SWOUT will be turnoff by BOOST OVP + + [6] reserved + + [5:4] nvm_output_ldo3: LDO3 default output selection + 00: 1.8V + 01: 2.5V + 10: 3.3V + 11: output_buck2<4:0>/2 (VTT termination for DDR3 x32, Analog divider implemented in Analog) + + [3:2] nvm_output_ldo2: LDO2 default output selection + 00: 1.8V + 01: 2.5V + 10: 2.9V + 11: 3.3V + + [1:0] nvm_output_ldo1: LDO1 default output selection + 00: 1.8V + 01: 2.5V + 10: 2.9V + 11: 3.3V + + * + */ +#define OTP_SWOFF_BY_BOOST_OVP ((NVM_SECTOR3_REGISTER_5 & 0x80) >> 7) // OTP_SWOFF_BY_BOOST_OVP +#define OTP_OUTPUT_LDO3 ((NVM_SECTOR3_REGISTER_5 & 0x30) >> 4) // nvm_output_ldo3 +#define OTP_OUTPUT_LDO2 ((NVM_SECTOR3_REGISTER_5 & 0x0C) >> 2) // nvm_output_ldo2 +#define OTP_OUTPUT_LDO1 ((NVM_SECTOR3_REGISTER_5 & 0x03)) // nvm_output_ldo1 + +/* + * [7:4] reserved + * + [3:2] nvm_output_ldo6: LDO6 default output selection + 00: 1.0V + 01: 1.2V + 10: 1.8V + 11: 3.3V + + [1:0] nvm_output_ldo5: LDO5 default output selection + 00: 1.8V + 01: 2.5V + 10: 2.9V + 11 : 3.3V + * + */ + +#define OTP_OUTPUT_LDO6 ((NVM_SECTOR3_REGISTER_6 & 0x0C) >> 2) // nvm_output_ldo6 +#define OTP_OUTPUT_LDO5 ((NVM_SECTOR3_REGISTER_6 & 0x03)) // nvm_output_ldo5 + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* I2C handler declaration */ +I2C_HandleTypeDef I2cHandle; +extern I2C_HandleTypeDef hI2c4; + +uint16_t buck1_voltage_table[] = { + 600, + 625, + 650, + 675, + 700, + 725, + 750, + 775, + 800, + 825, + 850, + 875, + 900, + 925, + 950, + 975, + 1000, + 1025, + 1050, + 1075, + 1100, + 1125, + 1150, + 1175, + 1200, + 1225, + 1250, + 1275, + 1300, + 1325, + 1350, + 1350,// 31 1,35stm32mp15xx_eval_stpmu1.c +}; + +uint16_t buck2_voltage_table[] = { + 1000, // 1 + 1000, // + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1050, // 1,05 + 1050, // 1,05 + 1100, // 1,1 + 1100, // 1,1 + 1150, // 1,15 + 1150, // 1,15 + 1200, // 1,2 + 1200, // 1,2 + 1250, // 1,25 + 1250, // 1,25 + 1300, // 1,3 + 1300, // 1,3 + 1350, // 1,35 + 1350, // 1,35 + 1400, // 1,4 + 1400, // 1,4 + 1450, // 1,45 + 1450, // 1,45 + 1500, // 1,5 +}; + +uint16_t buck3_voltage_table[] = { + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1000, // 1 + 1100, // 1,1 + 1100, // 1,1 + 1100, // 1,1 + 1100, // 1,1 + 1200, // 1,2 + 1200, // 1,2 + 1200, // 1,2 + 1200, // 1,2 + 1300, // 1,3 + 1300, // 1,3 + 1300, // 1,3 + 1300, // 1,3 + 1400, // 1,4 + 1400, // 1,4 + 1400, // 1,4 + 1400, // 1,4 + 1500, // 1,5 + 1600, // 1,6 + 1700, // 1,7 + 1800, // 1,8 + 1900, // 1,9 + 2000, // 2 + 2100, // 2,1 + 2200, // 2,2 + 2300, // 2,3 + 2400, // 2,4 + 2500, // 2,5 + 2600, // 2,6 + 2700, // 2,7 + 2800, // 2,8 + 2900, // 2,9 + 3000, // 3 + 3100, // 3,1 + 3200, // 3,2 + 3300, // 3,3 + 3400, // 3,4 +}; + +uint16_t buck4_voltage_table[] = { + 600, + 625, + 650, + 675, + 700, + 725, + 750, + 775, + 800, + 825, + 850, + 875, + 900, + 925, + 950, + 975, + 1000, + 1025, + 1050, + 1075, + 1100, + 1125, + 1150, + 1175, + 1200, + 1225, + 1250, + 1275, + 1300, + 1300, + 1350, + 1350,// 31 1,35 + 1400,// 32 1,40 + 1400,// 33 1,40 + 1450,// 34 1,45 + 1450,// 35 1,45 + 1500,// 36 1,5 + 1600,// 37 1,6 + 1700,// 38 1,7 + 1800,// 39 1,8 + 1900,// 40 1,9 + 2000,// 41 2,0 + 2100,// 42 2,1 + 2200,// 43 2,2 + 2300,// 44 2,3 + 2400,// 45 2,4 + 2500,// 46 2,5 + 2600,// 47 2,6 + 2700,// 48 2,7 + 2800,// 49 2,8 + 2900,// 50 2,9 + 3000,// 51 3,0 + 3100,// 52 3,1 + 3200,// 53 3,2 + 3300,// 54 3,3 + 3400,// 55 3,4 + 3500,// 56 3,5 + 3600,// 57 3,6 + 3700,// 58 3,7 + 3800,// 59 3,8 + 3900,// 60 3,9 +}; + +uint16_t ldo1_voltage_table[] = { + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1800, // 1,8 + 1900, // 1,9 + 2000, // 2 + 2100, // 2,1 + 2200, // 2,2 + 2300, // 2,3 + 2400, // 2,4 + 2500, // 2,5 + 2600, // 2,6 + 2700, // 2,7 + 2800, // 2,8 + 2900, // 2,9 + 3000, // 3 + 3100, // 3,1 + 3200, // 3,2 + 3300, // 3,3 +}; + +uint16_t ldo2_voltage_table[] = { + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1800, // 1,8 + 1900, // 1,9 + 2000, // 2 + 2100, // 2,1 + 2200, // 2,2 + 2300, // 2,3 + 2400, // 2,4 + 2500, // 2,5 + 2600, // 2,6 + 2700, // 2,7 + 2800, // 2,8 + 2900, // 2,9 + 3000, // 3 + 3100, // 3,1 + 3200, // 3,2 + 3300, // 3,3 +}; + +uint16_t ldo3_voltage_table[] = { + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1800, // 1,8 + 1900, // 1,9 + 2000, // 2 + 2100, // 2,1 + 2200, // 2,2 + 2300, // 2,3 + 2400, // 2,4 + 2500, // 2,5 + 2600, // 2,6 + 2700, // 2,7 + 2800, // 2,8 + 2900, // 2,9 + 3000, // 3 + 3100, // 3,1 + 3200, // 3,2 + 3300, // 3,3 + 3300, // 3,3 + 3300, // 3,3 + 3300, // 3,3 + 3300, // 3,3 + 3300, // 3,3 + 3300, // 3,3 + 0xFFFF, // VREFDDR +}; + + +uint16_t ldo5_voltage_table[] = { + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1700, // 1,7 + 1800, // 1,8 + 1900, // 1,9 + 2000, // 2 + 2100, // 2,1 + 2200, // 2,2 + 2300, // 2,3 + 2400, // 2,4 + 2500, // 2,5 + 2600, // 2,6 + 2700, // 2,7 + 2800, // 2,8 + 2900, // 2,9 + 3000, // 3 + 3100, // 3,1 + 3200, // 3,2 + 3300, // 3,3 + 3400, // 3,4 + 3500, // 3,5 + 3600, // 3,6 + 3700, // 3,7 + 3800, // 3,8 + 3900, // 3,9 +}; + +uint16_t ldo6_voltage_table[] = { + 900, // 0,9 + 1000, // 1,0 + 1100, // 1,1 + 1200, // 1,2 + 1300, // 1,3 + 1400, // 1,4 + 1500, // 1,5 + 1600, // 1,6 + 1700, // 1,7 + 1800, // 1,8 + 1900, // 1,9 + 2000, // 2 + 2100, // 2,1 + 2200, // 2,2 + 2300, // 2,3 + 2400, // 2,4 + 2500, // 2,5 + 2600, // 2,6 + 2700, // 2,7 + 2800, // 2,8 + 2900, // 2,9 + 3000, // 3 + 3100, // 3,1 + 3200, // 3,2 + 3300, // 3,3 +}; + + +uint16_t ldo4_voltage_table[] = { + 3300, // 3,3 +}; + +uint16_t vref_ddr_voltage_table[] = { + 3300, // 3,3 +}; + +/* + Table of Regulators in PMIC SoC +*/ + + + +regul_struct regulators_table[] = { + { + .id = STPMU1_BUCK1, + .voltage_table = buck1_voltage_table, + .voltage_table_size = ARRAY_SIZE(buck1_voltage_table), + .control_reg = BUCK1_CONTROL_REG, + .low_power_reg = BUCK1_PWRCTRL_REG, + .rank = OTP_RANK_BUCK1, + }, + { + .id = STPMU1_BUCK2, + .voltage_table = buck2_voltage_table, + .voltage_table_size = ARRAY_SIZE(buck2_voltage_table), + .control_reg = BUCK2_CONTROL_REG, + .low_power_reg = BUCK2_PWRCTRL_REG, + .rank = OTP_RANK_BUCK2, + }, + { + .id = STPMU1_BUCK3, + .voltage_table = buck3_voltage_table, + .voltage_table_size = ARRAY_SIZE(buck3_voltage_table), + .control_reg = BUCK3_CONTROL_REG, + .low_power_reg = BUCK3_PWRCTRL_REG, + .rank = OTP_RANK_BUCK3, + }, + { + .id = STPMU1_BUCK4, + .voltage_table = buck4_voltage_table, + .voltage_table_size = ARRAY_SIZE(buck4_voltage_table), + .control_reg = BUCK4_CONTROL_REG, + .low_power_reg = BUCK4_PWRCTRL_REG, + .rank = OTP_RANK_BUCK4, + }, + { + .id = STPMU1_LDO1, + .voltage_table = ldo1_voltage_table, + .voltage_table_size = ARRAY_SIZE(ldo1_voltage_table), + .control_reg = LDO1_CONTROL_REG, + .low_power_reg = LDO1_PWRCTRL_REG, + .rank = OTP_RANK_LDO1, + }, + { + .id = STPMU1_LDO2, + .voltage_table = ldo2_voltage_table, + .voltage_table_size = ARRAY_SIZE(ldo2_voltage_table), + .control_reg = LDO2_CONTROL_REG, + .low_power_reg = LDO2_PWRCTRL_REG, + .rank = OTP_RANK_LDO2, + }, + + { + .id = STPMU1_LDO3, + .voltage_table = ldo3_voltage_table, + .voltage_table_size = ARRAY_SIZE(ldo3_voltage_table), + .control_reg = LDO3_CONTROL_REG, + .low_power_reg = LDO3_PWRCTRL_REG, + .rank = OTP_RANK_LDO3, + }, + { + .id = STPMU1_LDO4, + .voltage_table = ldo4_voltage_table, + .voltage_table_size = ARRAY_SIZE(ldo4_voltage_table), + .control_reg = LDO4_CONTROL_REG, + .low_power_reg = LDO4_PWRCTRL_REG, + .rank = OTP_RANK_LDO4, + }, + { + .id = STPMU1_LDO5, + .voltage_table = ldo5_voltage_table , + .voltage_table_size = ARRAY_SIZE(ldo5_voltage_table), + .control_reg = LDO5_CONTROL_REG, + .low_power_reg = LDO5_PWRCTRL_REG, + .rank = OTP_RANK_LDO5, + }, + { + .id = STPMU1_LDO6, + .voltage_table = ldo6_voltage_table , + .voltage_table_size = ARRAY_SIZE(ldo6_voltage_table), + .control_reg = LDO6_CONTROL_REG, + .low_power_reg = LDO6_PWRCTRL_REG, + .rank = OTP_RANK_LDO6, + }, + { + .id = STPMU1_VREFDDR, + .voltage_table = vref_ddr_voltage_table , + .voltage_table_size = ARRAY_SIZE(vref_ddr_voltage_table), + .control_reg = VREF_DDR_CONTROL_REG, + .low_power_reg = VREF_DDR_PWRCTRL_REG, + .rank = OTP_RANK_VREFDDR, + }, +}; + +#define MAX_REGUL ARRAY_SIZE(regulators_table) + + +/* Private function prototypes -----------------------------------------------*/ +void STPMU1_IrqHandler(void); +void STPMU1_INTn_Callback(PMIC_IRQn IRQn); +static void My_Error_Handler(void); +static regul_struct *STPMU1_Get_Regulator_Data(PMIC_RegulId_TypeDef id); +static uint8_t STPMU1_Voltage_Find_Index(PMIC_RegulId_TypeDef id, uint16_t milivolts); + +/* Private functions ---------------------------------------------------------*/ + +static regul_struct *STPMU1_Get_Regulator_Data(PMIC_RegulId_TypeDef id) +{ + uint8_t i ; + + for (i = 0 ; i < MAX_REGUL ; i++ ) + { + if (id == regulators_table[i].id) + return ®ulators_table[i]; + } + /* id not found */ + My_Error_Handler(); + return NULL; +} + +static uint8_t STPMU1_Voltage_Find_Index(PMIC_RegulId_TypeDef id, uint16_t milivolts) +{ + regul_struct *regul = STPMU1_Get_Regulator_Data(id); + uint8_t i; + for ( i = 0 ; i < regul->voltage_table_size ; i++) + { + if ( regul->voltage_table[i] == milivolts ) { + //printf("idx:%d for %dmV\n\r", (int)i, (int)milivolts); + return i; + } + } + /* voltage not found */ + My_Error_Handler(); + return 0; +} + +void STPMU1_Enable_Interrupt(PMIC_IRQn IRQn) +{ + uint8_t irq_reg , irq_reg_value ; + + if (IRQn >= IRQ_NR) + return ; + + /* IRQ register is IRQ Number divided by 8 */ + irq_reg = IRQn >> 3 ; + + /* value to be set in IRQ register corresponds to BIT(7-N) where N is the Interrupt id modulo 8 */ + irq_reg_value = 1 << ( 7 - ( IRQn%8 ) ); + + /* Clear previous event stored in latch */ + STPMU1_Register_Write(ITCLEARLATCH1_REG+irq_reg, irq_reg_value ); + + /* Clear relevant mask to enable interrupt */ + STPMU1_Register_Write(ITCLEARMASK1_REG+irq_reg, irq_reg_value ); + +} + +extern void STPMU1_Disable_Interrupt(PMIC_IRQn IRQn) +{ + uint8_t irq_reg , irq_reg_value ; + + if (IRQn >= IRQ_NR) + return ; + + /* IRQ register is IRQ Number divided by 8 */ + irq_reg = IRQn >> 3 ; + + /* value to be set in IRQ register corresponds to BIT(7-N) where N is the Interrupt id modulo 8 */ + irq_reg_value = 1 << ( 7 - ( IRQn%8 ) ); + + /* Clear previous event stored in latch */ + STPMU1_Register_Write(ITCLEARLATCH1_REG+irq_reg, irq_reg_value ); + + /* Set relevant mask to disable interrupt */ + STPMU1_Register_Write(ITSETMASK1_REG+irq_reg, irq_reg_value ); +} + + +void STPMU1_IrqHandler(void) +{ + uint8_t irq_reg,mask,latch_events,i; + + for (irq_reg = 0 ; irq_reg < STM32_PMIC_NUM_IRQ_REGS ; irq_reg++) + { + /* Get latch events & active mask from register */ + mask = STPMU1_Register_Read(ITMASK1_REG+irq_reg); + latch_events = STPMU1_Register_Read(ITLATCH1_REG+irq_reg) & ~mask ; + + /* Go through all bits for each register */ + for (i = 0 ; i < 8 ; i++ ) + { + if ( latch_events & ( 1 << i ) ) + { + /* Callback with parameter computes as "PMIC Interrupt" enum */ + STPMU1_INTn_Callback( (PMIC_IRQn )(irq_reg*8 + (7-i))); + } + } + /* Clear events in appropriate register for the event with mask set */ + STPMU1_Register_Write(ITCLEARLATCH1_REG+irq_reg, latch_events ); + } +} + + +/** + * @brief This function is executed in case of error occurrence. + * @retval None + */ +static void My_Error_Handler(void) +{ + while(1) + { + HAL_Delay(500); + } +} + + +void STPMU1_Sw_Reset(void) +{ + /* Write 1 in bit 0 of MAIN_CONTROL Register */ + STPMU1_Register_Update(MAIN_CONTROL_REG, SET , SOFTWARE_SWITCH_OFF_ENABLED ); +} + +void STPMU1_Regulator_Enable(PMIC_RegulId_TypeDef id) +{ + regul_struct *regul = STPMU1_Get_Regulator_Data(id); + + STPMU1_Register_Update(regul->control_reg,BIT(0),BIT(0)); +} + +void STPMU1_Regulator_Disable(PMIC_RegulId_TypeDef id) +{ + regul_struct *regul = STPMU1_Get_Regulator_Data(id); + + STPMU1_Register_Update(regul->control_reg,0,BIT(0)); +} + +uint8_t STPMU1_Is_Regulator_Enabled(PMIC_RegulId_TypeDef id) +{ + uint8_t val ; + + regul_struct *regul = STPMU1_Get_Regulator_Data(id); + + val = STPMU1_Register_Read(regul->control_reg); + + return (val&0x1); +} + +void STPMU1_Regulator_Voltage_Set(PMIC_RegulId_TypeDef id,uint16_t milivolts) +{ + uint8_t voltage_index = STPMU1_Voltage_Find_Index(id,milivolts); + regul_struct *regul = STPMU1_Get_Regulator_Data(id); + STPMU1_Register_Update(regul->control_reg, voltage_index<<2 , 0xFC ); +} + +/* register direct access */ +uint8_t STPMU1_Register_Read(uint8_t register_id) +{ + uint32_t status = RT_EOK; + uint8_t Value = 0; + + status = BSP_I2C4_ReadReg(STPMU1_I2C_ADDRESS, (uint16_t)register_id, &Value, 1); + + /* Check the communication status */ + if(status != RT_EOK) + { + My_Error_Handler(); + } + return Value; +} + +void STPMU1_Register_Write(uint8_t register_id, uint8_t value) +{ + uint32_t status = RT_EOK; + + status = BSP_I2C4_WriteReg(STPMU1_I2C_ADDRESS, (uint16_t)register_id, &value, 1); + + /* Check the communication status */ + if(status != RT_EOK) + { + My_Error_Handler(); + } + + /* verify register content */ + if ((register_id!=WATCHDOG_CONTROL_REG) && (register_id<=0x40)) + { + uint8_t readval = STPMU1_Register_Read(register_id); + if (readval != value) + { + My_Error_Handler(); + } + } +} + +void STPMU1_Register_Update(uint8_t register_id, uint8_t value, uint8_t mask) +{ + uint8_t initial_value ; + + initial_value = STPMU1_Register_Read(register_id); + + /* Clear bits to update */ + initial_value &= ~mask; + + /* Update appropriate bits*/ + initial_value |= ( value & mask ); + + /* Send new value on I2C Bus */ + STPMU1_Register_Write(register_id, initial_value); + + return ; +} + +/* + * + * PMIC init + * pmic provides power supply on this board + * it is configured to turn off some power supply in standby mode + * + */ +static uint32_t BSP_PMIC_MspInit(I2C_HandleTypeDef *hi2c) +{ + uint32_t status = RT_EOK; + GPIO_InitTypeDef GPIO_InitStruct; + + /*##-1- Configure the I2C clock source, GPIO and Interrupt #*/ + BSP_I2C4_Init(); + + /*##-2- Configure PMIC GPIOs Interface ########################################*/ + + /* INTn - Interrupt Line - Active Low (Falling Edge) */ + PMIC_INTn_CLK_ENABLE(); + GPIO_InitStruct.Pin = PMIC_INTn_PIN; + GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; + GPIO_InitStruct.Pull = GPIO_PULLUP; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; + GPIO_InitStruct.Alternate = 0 ; + HAL_GPIO_Init(PMIC_INTn_PORT, &GPIO_InitStruct); + + /* Enable and set INTn EXTI Interrupt */ +#if defined(CORE_CA7) + IRQ_SetPriority(EXTI0_IRQn, 0); + IRQ_Enable(EXTI0_IRQn); +#elif defined(CORE_CM4) + HAL_NVIC_SetPriority(EXTI0_IRQn, 0x03, 0x00); + HAL_NVIC_EnableIRQ(EXTI0_IRQn); +#endif + + return status; +} + +static uint32_t BSP_PMIC_MspDeInit(I2C_HandleTypeDef *hi2c) +{ + uint32_t status = RT_EOK; + /*##-1- Reset I2C Clock / Disable peripherals and GPIO Clocks###############*/ + status = BSP_I2C4_DeInit(); + + /*##-2- Disable PMIC clk ###########################################*/ + PMIC_INTn_CLK_DISABLE(); + + /*##-3- Disable the NVIC for PMIC ##########################################*/ +#if defined(CORE_CA7) + IRQ_Disable(EXTI0_IRQn); +#elif defined(CORE_CM4) + HAL_NVIC_DisableIRQ(EXTI0_IRQn); +#endif + HAL_GPIO_DeInit(PMIC_INTn_PORT,PMIC_INTn_PIN); + + return status; +} + +uint32_t BSP_PMIC_Is_Device_Ready(void) +{ + int32_t status = RT_EOK; + + /* Write the TxBuffer1 at @0, then read @0 when device ready */ + if (BSP_I2C4_IsReady(STPMU1_I2C_ADDRESS, 1) != RT_EOK) + { + status = -RT_EBUSY; + } + return status ; +} + +/* Use Xls I2C COnfiguration Tools with I2C Clock config + output clocks requirement */ +#define I2C_TIMING 0x10805E89 + +uint32_t BSP_PMIC_Init(void) +{ + int32_t status = RT_EOK; + PMIC_IRQn irq; + + /*##-1- Configure the I2C peripheral ######################################*/ + BSP_PMIC_MspInit(&hI2c4); + + status = BSP_PMIC_Is_Device_Ready(); + if (status != RT_EOK ) + { + return status; + } + + if (STPMU1_Register_Read(VERSION_STATUS_REG) != 0x00) + { + status = -RT_EIO; + return status; + } + + STPMU1_Enable_Interrupt(IT_PONKEY_R); + STPMU1_Enable_Interrupt(IT_PONKEY_F); + /* enable all irqs */ + for (irq = IT_SWOUT_R; irq < IRQ_NR; irq++) + { + STPMU1_Enable_Interrupt(irq); + } + + return RT_EOK; +} + +uint32_t BSP_PMIC_DeInit(void) +{ + uint32_t status = RT_EOK; + if(HAL_I2C_GetState(&hI2c4) != HAL_I2C_STATE_RESET) + { + /* Deinit the I2C */ + BSP_PMIC_MspDeInit(&hI2c4); + } + return status; +} + +/* + * + * following are configurations for this board + * same configuration than linux + * + * BSP_PMIC_InitRegulators set the regulators for boot + * BSP_PMIC_PrepareLpStop set the low power registers for LPSTOP mode + * should be called by user before entering is CSTOP + * BSP_PMIC_PrepareLpStop set the low power registers for STANDBY mode + * should be called by user before entering is STANDBY + * + * + */ +/* following are configurations */ +uint32_t BSP_PMIC_InitRegulators(void) +{ + uint32_t status = RT_EOK; + + STPMU1_Register_Write(MAIN_CONTROL_REG, 0x04); + STPMU1_Register_Write(VIN_CONTROL_REG, 0xc0); + STPMU1_Register_Write(USB_CONTROL_REG, 0x30); + + STPMU1_Register_Write(MASK_RESET_BUCK_REG, 0x04); + STPMU1_Register_Write(MASK_RESET_LDO_REG, 0x00); + STPMU1_Register_Write(MASK_RANK_BUCK_REG, 0x00); + STPMU1_Register_Write(MASK_RANK_LDO_REG, 0x00); + STPMU1_Register_Write(BUCK_PULL_DOWN_REG, 0x00); + STPMU1_Register_Write(LDO14_PULL_DOWN_REG, 0x00); + STPMU1_Register_Write(LDO56_PULL_DOWN_REG, 0x00); + STPMU1_Register_Write(BUCK_ICC_TURNOFF_REG, 0x30); + STPMU1_Register_Write(LDO_ICC_TURNOFF_REG, 0x3b); + + /* vddcore */ + STPMU1_Regulator_Voltage_Set(STPMU1_BUCK1, 1200); + STPMU1_Regulator_Enable(STPMU1_BUCK1); + + /* vddddr */ + STPMU1_Regulator_Voltage_Set(STPMU1_BUCK2, 1350); + STPMU1_Regulator_Enable(STPMU1_BUCK2); + + /* vdd */ + STPMU1_Regulator_Voltage_Set(STPMU1_BUCK3, 3300); + STPMU1_Regulator_Enable(STPMU1_BUCK3); + + /* 3v3 */ + STPMU1_Regulator_Voltage_Set(STPMU1_BUCK4, 3300); + STPMU1_Regulator_Enable(STPMU1_BUCK4); + + /* vdda */ + STPMU1_Regulator_Voltage_Set(STPMU1_LDO1, 2900); + STPMU1_Regulator_Enable(STPMU1_LDO1); + + /* 2v8 */ + STPMU1_Regulator_Voltage_Set(STPMU1_LDO2, 2800); + STPMU1_Regulator_Enable(STPMU1_LDO2); + + /* vtt_ddr lod3 mode buck2/2 */ + STPMU1_Regulator_Voltage_Set(STPMU1_LDO3, 0xFFFF); + STPMU1_Regulator_Enable(STPMU1_LDO3); + + /* vdd_usb */ + STPMU1_Regulator_Voltage_Set(STPMU1_LDO4, 3300); + STPMU1_Regulator_Enable(STPMU1_LDO4); + + /* vdd_sd */ + STPMU1_Regulator_Voltage_Set(STPMU1_LDO5, 2900); + STPMU1_Regulator_Enable(STPMU1_LDO5); + + /* 1v8 */ + STPMU1_Regulator_Voltage_Set(STPMU1_LDO6, 1800); + STPMU1_Regulator_Enable(STPMU1_LDO6); + + STPMU1_Regulator_Enable(STPMU1_VREFDDR); + + return status; +} + +uint32_t BSP_PMIC_SwitchOff(void) +{ + uint32_t status = RT_EOK; + + STPMU1_Register_Write(MAIN_CONTROL_REG, 0x01); + return status; +} + +__weak void BSP_PMIC_INTn_Callback(PMIC_IRQn IRQn) +{ + switch (IRQn) + { + case IT_PONKEY_F: + rt_kprintf("IT_PONKEY_F"); + break; + + case IT_PONKEY_R: + rt_kprintf("IT_PONKEY_R"); + break; + + case IT_WAKEUP_F: + rt_kprintf("IT_WAKEUP_F"); + break; + + case IT_WAKEUP_R: + rt_kprintf("IT_WAKEUP_R"); + break; + + case IT_VBUS_OTG_F: + rt_kprintf("IT_VBUS_OTG_F"); + break; + + case IT_SWOUT_F: + rt_kprintf("IT_SWOUT_F"); + break; + + case IT_TWARN_R: + rt_kprintf("IT_TWARN_R"); + break; + + case IT_TWARN_F: + rt_kprintf("IT_TWARN_F"); + break; + + default: + rt_kprintf("%d",IRQn); + break; + } + rt_kprintf(" Interrupt received\n\r"); +} + +void STPMU1_INTn_Callback(PMIC_IRQn IRQn) +{ + BSP_PMIC_INTn_Callback(IRQn); +} + +void BSP_PMIC_INTn_IRQHandler(void) +{ + HAL_GPIO_EXTI_IRQHandler(PMIC_INTn_PIN); + + STPMU1_IrqHandler(); +} + +void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hI2c4) +{ + while(1); +} diff --git a/bsp/stm32/stm32mp157a-st-ev1/board/ports/stpmic.h b/bsp/stm32/stm32mp157a-st-ev1/board/ports/stpmic.h new file mode 100644 index 0000000000..4b5e47b892 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/board/ports/stpmic.h @@ -0,0 +1,315 @@ +/** + ****************************************************************************** + * @file stm32mp15xx__stpmic1.h + * @author MCD Application Team + * @brief stpmu driver functions used for ST internal validation + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2019 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + * + ****************************************************************************** + */ + +#ifndef __STPMIC_H__ +#define __STPMIC_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ------------------------------------------------------------------*/ +#include "stm32mp1xx_hal.h" + +/* Exported types ------------------------------------------------------------*/ +typedef enum +{ + STPMU1_BUCK1=1, + STPMU1_BUCK2, + STPMU1_BUCK3, + STPMU1_BUCK4, + STPMU1_LDO1, + STPMU1_LDO2, + STPMU1_LDO3, + STPMU1_LDO4, + STPMU1_LDO5, + STPMU1_LDO6, + STPMU1_VREFDDR, +}PMIC_RegulId_TypeDef; + +/* IRQ definitions */ +typedef enum { + +/* Interrupt Register 1 (0x50 for latch) */ +IT_SWOUT_R, +IT_SWOUT_F, +IT_VBUS_OTG_R, +IT_VBUS_OTG_F, +IT_WAKEUP_R, +IT_WAKEUP_F, +IT_PONKEY_R, +IT_PONKEY_F, + +/* Interrupt Register 2 (0x51 for latch) */ +IT_OVP_BOOST, +IT_OCP_BOOST, +IT_OCP_SWOUT, +IT_OCP_OTG, +IT_CURLIM_BUCK4, +IT_CURLIM_BUCK3, +IT_CURLIM_BUCK2, +IT_CURLIM_BUCK1, + +/* Interrupt Register 3 (0x52 for latch) */ +IT_SHORT_SWOUT, +IT_SHORT_SWOTG, +IT_CURLIM_LDO6, +IT_CURLIM_LDO5, +IT_CURLIM_LDO4, +IT_CURLIM_LDO3, +IT_CURLIM_LDO2, +IT_CURLIM_LDO1, + +/* Interrupt Register 3 (0x52 for latch) */ +IT_SWIN_R, +IT_SWIN_F, +IT_RESERVED_1, +IT_RESERVED_2, +IT_VINLOW_R, +IT_VINLOW_F, +IT_TWARN_R, +IT_TWARN_F, + +IRQ_NR, +} PMIC_IRQn; + +/** + * @} + */ + +/** @defgroup STM32MP15XX_EVAL_STPMU_Exported_Constants Exported Constants + * @{ + */ + +/* Exported constants --------------------------------------------------------*/ +#define BIT(_x) (1<<(_x)) +#define STM32_PMIC_NUM_IRQ_REGS 4 + +#define TURN_ON_REG 0x1 +#define TURN_OFF_REG 0x2 +#define ICC_LDO_TURN_OFF_REG 0x3 +#define ICC_BUCK_TURN_OFF_REG 0x4 +#define RESET_STATUS_REG 0x5 +#define VERSION_STATUS_REG 0x6 +#define MAIN_CONTROL_REG 0x10 +#define PADS_PULL_REG 0x11 +#define BUCK_PULL_DOWN_REG 0x12 +#define LDO14_PULL_DOWN_REG 0x13 +#define LDO56_PULL_DOWN_REG 0x14 +#define VIN_CONTROL_REG 0x15 +#define PONKEY_TIMER_REG 0x16 +#define MASK_RANK_BUCK_REG 0x17 +#define MASK_RESET_BUCK_REG 0x18 +#define MASK_RANK_LDO_REG 0x19 +#define MASK_RESET_LDO_REG 0x1A +#define WATCHDOG_CONTROL_REG 0x1B +#define WATCHDOG_TIMER_REG 0x1C +#define BUCK_ICC_TURNOFF_REG 0x1D +#define LDO_ICC_TURNOFF_REG 0x1E +#define BUCK_APM_CONTROL_REG 0x1F +#define BUCK1_CONTROL_REG 0x20 +#define BUCK2_CONTROL_REG 0x21 +#define BUCK3_CONTROL_REG 0x22 +#define BUCK4_CONTROL_REG 0x23 +#define VREF_DDR_CONTROL_REG 0x24 +#define LDO1_CONTROL_REG 0x25 +#define LDO2_CONTROL_REG 0x26 +#define LDO3_CONTROL_REG 0x27 +#define LDO4_CONTROL_REG 0x28 +#define LDO5_CONTROL_REG 0x29 +#define LDO6_CONTROL_REG 0x2A +#define BUCK1_PWRCTRL_REG 0x30 +#define BUCK2_PWRCTRL_REG 0x31 +#define BUCK3_PWRCTRL_REG 0x32 +#define BUCK4_PWRCTRL_REG 0x33 +#define VREF_DDR_PWRCTRL_REG 0x34 +#define LDO1_PWRCTRL_REG 0x35 +#define LDO2_PWRCTRL_REG 0x36 +#define LDO3_PWRCTRL_REG 0x37 +#define LDO4_PWRCTRL_REG 0x38 +#define LDO5_PWRCTRL_REG 0x39 +#define LDO6_PWRCTRL_REG 0x3A +#define FREQUENCY_SPREADING_REG 0x3B +#define USB_CONTROL_REG 0x40 +#define ITLATCH1_REG 0x50 +#define ITLATCH2_REG 0x51 +#define ITLATCH3_REG 0x52 +#define ITLATCH4_REG 0x53 +#define ITSETLATCH1_REG 0x60 +#define ITSETLATCH2_REG 0x61 +#define ITSETLATCH3_REG 0x62 +#define ITSETLATCH4_REG 0x63 +#define ITCLEARLATCH1_REG 0x70 +#define ITCLEARLATCH2_REG 0x71 +#define ITCLEARLATCH3_REG 0x72 +#define ITCLEARLATCH4_REG 0x73 +#define ITMASK1_REG 0x80 +#define ITMASK2_REG 0x81 +#define ITMASK3_REG 0x82 +#define ITMASK4_REG 0x83 +#define ITSETMASK1_REG 0x90 +#define ITSETMASK2_REG 0x91 +#define ITSETMASK3_REG 0x92 +#define ITSETMASK4_REG 0x93 +#define ITCLEARMASK1_REG 0xA0 +#define ITCLEARMASK2_REG 0xA1 +#define ITCLEARMASK3_REG 0xA2 +#define ITCLEARMASK4_REG 0xA3 +#define ITSOURCE1_REG 0xB0 +#define ITSOURCE2_REG 0xB1 +#define ITSOURCE3_REG 0xB2 +#define ITSOURCE4_REG 0xB3 +#define LDO_VOLTAGE_MASK 0x7C +#define BUCK_VOLTAGE_MASK 0xFC +#define LDO_BUCK_VOLTAGE_SHIFT 2 + +#define LDO_ENABLE_MASK 0x01 +#define BUCK_ENABLE_MASK 0x01 +#define BUCK_HPLP_ENABLE_MASK 0x02 +#define LDO_HPLP_ENABLE_MASK 0x02 +#define LDO_BUCK_HPLP_SHIFT 1 + +#define LDO_BUCK_RANK_MASK 0x01 +#define LDO_BUCK_RESET_MASK 0x01 +#define LDO_BUCK_PULL_DOWN_MASK 0x03 + + +/* Main PMIC Control Register + * MAIN_CONTROL_REG + * Address : 0x10 + * */ +#define ICC_EVENT_ENABLED BIT(4) +#define PWRCTRL_POLARITY_HIGH BIT(3) +#define PWRCTRL_PIN_VALID BIT(2) +#define RESTART_REQUEST_ENABLED BIT(1) +#define SOFTWARE_SWITCH_OFF_ENABLED BIT(0) + +/* Main PMIC PADS Control Register + * PADS_PULL_REG + * Address : 0x11 + * */ +#define WAKEUP_DETECTOR_DISABLED BIT(4) +#define PWRCTRL_PD_ACTIVE BIT(3) +#define PWRCTRL_PU_ACTIVE BIT(2) +#define WAKEUP_PD_ACTIVE BIT(1) +#define PONKEY_PU_ACTIVE BIT(0) + + +/* Main PMIC VINLOW Control Register + * VIN_CONTROL_REGC DMSC + * Address : 0x15 + * */ +#define SWIN_DETECTOR_ENABLED BIT(7) +#define SWOUT_DETECTOR_ENABLED BIT(6) +#define VINLOW_HYST_MASK 0x3 +#define VINLOW_HYST_SHIFT 4 +#define VINLOW_THRESHOLD_MASK 0x7 +#define VINLOW_THRESHOLD_SHIFT 1 +#define VINLOW_ENABLED 0x01 +#define VINLOW_CTRL_REG_MASK 0xFF + + +/* USB Control Register + * Address : 0x40 + * */ +#define BOOST_OVP_DISABLED BIT(7) +#define VBUS_OTG_DETECTION_DISABLED BIT(6) +// Discharge not implemented +#define OCP_LIMIT_HIGH BIT(3) +#define SWIN_SWOUT_ENABLED BIT(2) +#define USBSW_OTG_SWITCH_ENABLED BIT(1) + + +/* IRQ masks */ +/* Interrupt Mask for Register 1 (0x50 for latch) */ +#define IT_SWOUT_R_MASK BIT(7) +#define IT_SWOUT_F_MASK BIT(6) +#define IT_VBUS_OTG_R_MASK BIT(5) +#define IT_VBUS_OTG_F_MASK BIT(4) +#define IT_WAKEUP_R_MASK BIT(3) +#define IT_WAKEUP_F_MASK BIT(2) +#define IT_PONKEY_R_MASK BIT(1) +#define IT_PONKEY_F_MASK BIT(0) + +/* Interrupt Mask for Register 2 (0x51 for latch) */ +#define IT_OVP_BOOST_MASK BIT(7) +#define IT_OCP_BOOST_MASK BIT(6) +#define IT_OCP_SWOUT_MASK BIT(5) +#define IT_OCP_OTG_MASK BIT(4) +#define IT_CURLIM_BUCK4_MASK BIT(3) +#define IT_CURLIM_BUCK3_MASK BIT(2) +#define IT_CURLIM_BUCK2_MASK BIT(1) +#define IT_CURLIM_BUCK1_MASK BIT(0) + +/* Interrupt Mask for Register 3 (0x52 for latch) */ +#define IT_SHORT_SWOUT_MASK BIT(7) +#define IT_SHORT_SWOTG_MASK BIT(6) +#define IT_CURLIM_LDO6_MASK BIT(5) +#define IT_CURLIM_LDO5_MASK BIT(4) +#define IT_CURLIM_LDO4_MASK BIT(3) +#define IT_CURLIM_LDO3_MASK BIT(2) +#define IT_CURLIM_LDO2_MASK BIT(1) +#define IT_CURLIM_LDO1_MASK BIT(0) + +/* Interrupt Mask for Register 4 (0x53 for latch) */ +#define IT_SWIN_R_MASK BIT(7) +#define IT_SWIN_F_MASK BIT(6) +/* Reserved 1 */ +/* Reserved 2 */ +#define IT_VINLOW_R_MASK BIT(3) +#define IT_VINLOW_F_MASK BIT(2) +#define IT_TWARN_R_MASK BIT(1) +#define IT_TWARN_F_MASK BIT(0) + +#define PMIC_VERSION_ID 0x10 + +#define NVM_SECTOR3_REGISTER_7 0x33 +//#define STPMU1_I2C_ADDRESS ((NVM_SECTOR3_REGISTER_7 & 0x7F) << 1 ) + +/** + * @} + */ + +/** @defgroup STM32MP15XX_EVAL_STPMU_Exported_Functions Exported Functions + * @{ + */ + +/* Exported functions --------------------------------------------------------*/ +uint8_t STPMU1_Register_Read(uint8_t register_id); +void STPMU1_Register_Write(uint8_t register_id, uint8_t value); +void STPMU1_Register_Update(uint8_t register_id, uint8_t value, uint8_t mask); +void STPMU1_Enable_Interrupt(PMIC_IRQn IRQn); +void STPMU1_Disable_Interrupt(PMIC_IRQn IRQn); +void STPMU1_Regulator_Enable(PMIC_RegulId_TypeDef id); +void STPMU1_Regulator_Disable(PMIC_RegulId_TypeDef id); +uint8_t STPMU1_Is_Regulator_Enabled(PMIC_RegulId_TypeDef id); +void STPMU1_Regulator_Voltage_Set(PMIC_RegulId_TypeDef id,uint16_t milivolts); +uint32_t BSP_PMIC_Init(void); +uint32_t BSP_PMIC_DeInit(void); +uint32_t BSP_PMIC_Is_Device_Ready(void); +uint32_t BSP_PMIC_InitRegulators (void); +__weak void BSP_PMIC_INTn_Callback(PMIC_IRQn IRQn); + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/bsp/stm32/stm32mp157a-st-ev1/figures/board.png b/bsp/stm32/stm32mp157a-st-ev1/figures/board.png new file mode 100644 index 0000000000000000000000000000000000000000..887ef13d1123c10b32d9005144117ea5e6648bd8 GIT binary patch literal 157606 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

D6$~iG>Id@ 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 z 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%0AkWIA{U?FW$mjVt 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 literal 0 HcmV?d00001 diff --git a/bsp/stm32/stm32mp157a-st-ev1/figures/boot.png b/bsp/stm32/stm32mp157a-st-ev1/figures/boot.png new file mode 100644 index 0000000000000000000000000000000000000000..17fcb76fc68b090dc6cf613040cb85d5d8dcabf6 GIT binary patch literal 328289 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

    ?O0Hh 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≻MnioA1bEyCd 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 + + 3 + + rt-thread + + ARM + + 1 + + C-SPY + 2 + + 31 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + CADI_ID + 2 + + 0 + 1 + 1 + + + + + + + + + CMSISDAP_ID + 2 + + 4 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IJET_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + NULINK_ID + 2 + + 0 + 1 + 1 + + + + + + + PEMICRO_ID + 2 + + 3 + 1 + 1 + + + + + + + + STLINK_ID + 2 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + TIFET_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + XDS100_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8BE.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + Release + + ARM + + 0 + + C-SPY + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + CADI_ID + 2 + + 0 + 1 + 0 + + + + + + + + + CMSISDAP_ID + 2 + + 4 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IJET_ID + 2 + + 8 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + NULINK_ID + 2 + + 0 + 1 + 0 + + + + + + + PEMICRO_ID + 2 + + 3 + 1 + 0 + + + + + + + + STLINK_ID + 2 + + 6 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + TIFET_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + XDS100_ID + 2 + + 8 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8BE.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/project.ewp b/bsp/stm32/stm32mp157a-st-ev1/project.ewp new file mode 100644 index 0000000000..d84c668843 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/project.ewp @@ -0,0 +1,2563 @@ + + + 3 + + rt-thread + + ARM + + 1 + + General + 3 + + 31 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 35 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 10 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Release + + ARM + + 0 + + General + 3 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 35 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 10 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 23 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + + Applications + + $PROJ_DIR$\applications\main.c + + + + cpu + + $PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c + + + $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\context_iar.S + + + $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c + + + $PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c + + + $PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c + + + + DeviceDrivers + + $PROJ_DIR$\..\..\..\components\drivers\audio\audio.c + + + $PROJ_DIR$\..\..\..\components\drivers\audio\audio_pipe.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\completion.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\dataqueue.c + + + $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c-bit-ops.c + + + $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_core.c + + + $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_dev.c + + + $PROJ_DIR$\..\..\..\components\drivers\misc\pin.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\pipe.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\ringblk_buf.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\ringbuffer.c + + + $PROJ_DIR$\..\..\..\components\drivers\serial\serial.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\waitqueue.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\workqueue.c + + + + dlib + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\libc.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\rmtx.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\stdio.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c + + + + Drivers + + $PROJ_DIR$\board\board.c + + + $PROJ_DIR$\..\libraries\HAL_Drivers\drv_common.c + + + $PROJ_DIR$\board\ports\dfsdm\drv_dfsdm.c + + + $PROJ_DIR$\..\libraries\HAL_Drivers\drv_gpio.c + + + $PROJ_DIR$\board\ports\pmic\drv_hard_i2c.c + + + $PROJ_DIR$\board\ports\audio\drv_sai.c + + + $PROJ_DIR$\board\ports\sdmmc\drv_sdmmc.c + + + $PROJ_DIR$\..\libraries\HAL_Drivers\drv_soft_i2c.c + + + $PROJ_DIR$\board\ports\audio\drv_sound.c + + + $PROJ_DIR$\..\libraries\HAL_Drivers\drv_usart.c + + + $PROJ_DIR$\board\ports\audio\drv_wm8994.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\CMSIS\Device\ST\STM32MP1xx\Source\Templates\iar\startup_stm32mp15xx.s + + + $PROJ_DIR$\board\CubeMX_Config\CM4\Src\stm32mp1xx_hal_msp.c + + + $PROJ_DIR$\board\ports\pmic\stpmic.c + + + $PROJ_DIR$\board\CubeMX_Config\Common\System\system_stm32mp1xx.c + + + + Filesystem + + $PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat\option\ccsbcs.c + + + $PROJ_DIR$\..\..\..\components\dfs\filesystems\devfs\devfs.c + + + $PROJ_DIR$\..\..\..\components\dfs\src\dfs.c + + + $PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat\dfs_elm.c + + + $PROJ_DIR$\..\..\..\components\dfs\src\dfs_file.c + + + $PROJ_DIR$\..\..\..\components\dfs\src\dfs_fs.c + + + $PROJ_DIR$\..\..\..\components\dfs\src\dfs_posix.c + + + $PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat\ff.c + + + $PROJ_DIR$\..\..\..\components\dfs\src\poll.c + + + $PROJ_DIR$\..\..\..\components\dfs\src\select.c + + + + finsh + + $PROJ_DIR$\..\..\..\components\finsh\cmd.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_compiler.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_error.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_heap.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_init.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_node.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_ops.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_parser.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_token.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_var.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_vm.c + + + $PROJ_DIR$\..\..\..\components\finsh\msh.c + + + $PROJ_DIR$\..\..\..\components\finsh\msh_file.c + + + $PROJ_DIR$\..\..\..\components\finsh\shell.c + + + + Kernel + + $PROJ_DIR$\..\..\..\src\clock.c + + + $PROJ_DIR$\..\..\..\src\components.c + + + $PROJ_DIR$\..\..\..\src\device.c + + + $PROJ_DIR$\..\..\..\src\idle.c + + + $PROJ_DIR$\..\..\..\src\ipc.c + + + $PROJ_DIR$\..\..\..\src\irq.c + + + $PROJ_DIR$\..\..\..\src\kservice.c + + + $PROJ_DIR$\..\..\..\src\memheap.c + + + $PROJ_DIR$\..\..\..\src\mempool.c + + + $PROJ_DIR$\..\..\..\src\object.c + + + $PROJ_DIR$\..\..\..\src\scheduler.c + + + $PROJ_DIR$\..\..\..\src\signal.c + + + $PROJ_DIR$\..\..\..\src\thread.c + + + $PROJ_DIR$\..\..\..\src\timer.c + + + + libc + + $PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c + + + + STM32_HAL + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_adc.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_adc_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_cortex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_crc.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_crc_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_cryp.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_cryp_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dac.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dac_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dfsdm.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dfsdm_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dma.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dma_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_exti.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_gpio.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_hsem.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_i2c.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_i2c_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_ipcc.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_mdma.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_pwr.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_pwr_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rcc.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rcc_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rng.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_sai.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_sai_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_sd.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_spi.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_tim.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_tim_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_uart.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_uart_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_ll_delayblock.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_ll_sdmmc.c + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/project.ewt b/bsp/stm32/stm32mp157a-st-ev1/project.ewt new file mode 100644 index 0000000000..406b4bb345 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/project.ewt @@ -0,0 +1,2765 @@ + + + 3 + + rt-thread + + ARM + + 1 + + C-STAT + 261 + + 261 + + 0 + + 1 + 600 + 1 + 4 + 0 + 1 + 100 + + + 1.5.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RuntimeChecking + 0 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + Release + + ARM + + 0 + + C-STAT + 261 + + 261 + + 0 + + 1 + 600 + 1 + 4 + 0 + 1 + 100 + + + 1.5.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RuntimeChecking + 0 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + Applications + + $PROJ_DIR$\applications\main.c + + + + cpu + + $PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c + + + $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\context_iar.S + + + $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c + + + $PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c + + + $PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c + + + + DeviceDrivers + + $PROJ_DIR$\..\..\..\components\drivers\audio\audio.c + + + $PROJ_DIR$\..\..\..\components\drivers\audio\audio_pipe.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\completion.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\dataqueue.c + + + $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c-bit-ops.c + + + $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_core.c + + + $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_dev.c + + + $PROJ_DIR$\..\..\..\components\drivers\misc\pin.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\pipe.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\ringblk_buf.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\ringbuffer.c + + + $PROJ_DIR$\..\..\..\components\drivers\serial\serial.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\waitqueue.c + + + $PROJ_DIR$\..\..\..\components\drivers\src\workqueue.c + + + + dlib + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\libc.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\rmtx.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\stdio.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c + + + $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c + + + + Drivers + + $PROJ_DIR$\board\board.c + + + $PROJ_DIR$\..\libraries\HAL_Drivers\drv_common.c + + + $PROJ_DIR$\board\ports\dfsdm\drv_dfsdm.c + + + $PROJ_DIR$\..\libraries\HAL_Drivers\drv_gpio.c + + + $PROJ_DIR$\board\ports\pmic\drv_hard_i2c.c + + + $PROJ_DIR$\board\ports\audio\drv_sai.c + + + $PROJ_DIR$\board\ports\sdmmc\drv_sdmmc.c + + + $PROJ_DIR$\..\libraries\HAL_Drivers\drv_soft_i2c.c + + + $PROJ_DIR$\board\ports\audio\drv_sound.c + + + $PROJ_DIR$\..\libraries\HAL_Drivers\drv_usart.c + + + $PROJ_DIR$\board\ports\audio\drv_wm8994.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\CMSIS\Device\ST\STM32MP1xx\Source\Templates\iar\startup_stm32mp15xx.s + + + $PROJ_DIR$\board\CubeMX_Config\CM4\Src\stm32mp1xx_hal_msp.c + + + $PROJ_DIR$\board\ports\pmic\stpmic.c + + + $PROJ_DIR$\board\CubeMX_Config\Common\System\system_stm32mp1xx.c + + + + Filesystem + + $PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat\option\ccsbcs.c + + + $PROJ_DIR$\..\..\..\components\dfs\filesystems\devfs\devfs.c + + + $PROJ_DIR$\..\..\..\components\dfs\src\dfs.c + + + $PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat\dfs_elm.c + + + $PROJ_DIR$\..\..\..\components\dfs\src\dfs_file.c + + + $PROJ_DIR$\..\..\..\components\dfs\src\dfs_fs.c + + + $PROJ_DIR$\..\..\..\components\dfs\src\dfs_posix.c + + + $PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat\ff.c + + + $PROJ_DIR$\..\..\..\components\dfs\src\poll.c + + + $PROJ_DIR$\..\..\..\components\dfs\src\select.c + + + + finsh + + $PROJ_DIR$\..\..\..\components\finsh\cmd.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_compiler.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_error.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_heap.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_init.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_node.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_ops.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_parser.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_token.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_var.c + + + $PROJ_DIR$\..\..\..\components\finsh\finsh_vm.c + + + $PROJ_DIR$\..\..\..\components\finsh\msh.c + + + $PROJ_DIR$\..\..\..\components\finsh\msh_file.c + + + $PROJ_DIR$\..\..\..\components\finsh\shell.c + + + + Kernel + + $PROJ_DIR$\..\..\..\src\clock.c + + + $PROJ_DIR$\..\..\..\src\components.c + + + $PROJ_DIR$\..\..\..\src\device.c + + + $PROJ_DIR$\..\..\..\src\idle.c + + + $PROJ_DIR$\..\..\..\src\ipc.c + + + $PROJ_DIR$\..\..\..\src\irq.c + + + $PROJ_DIR$\..\..\..\src\kservice.c + + + $PROJ_DIR$\..\..\..\src\memheap.c + + + $PROJ_DIR$\..\..\..\src\mempool.c + + + $PROJ_DIR$\..\..\..\src\object.c + + + $PROJ_DIR$\..\..\..\src\scheduler.c + + + $PROJ_DIR$\..\..\..\src\signal.c + + + $PROJ_DIR$\..\..\..\src\thread.c + + + $PROJ_DIR$\..\..\..\src\timer.c + + + + libc + + $PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c + + + + STM32_HAL + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_adc.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_adc_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_cortex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_crc.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_crc_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_cryp.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_cryp_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dac.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dac_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dfsdm.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dfsdm_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dma.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dma_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_exti.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_gpio.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_hsem.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_i2c.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_i2c_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_ipcc.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_mdma.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_pwr.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_pwr_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rcc.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rcc_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rng.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_sai.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_sai_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_sd.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_spi.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_tim.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_tim_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_uart.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_uart_ex.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_ll_delayblock.c + + + $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_ll_sdmmc.c + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/project.eww b/bsp/stm32/stm32mp157a-st-ev1/project.eww new file mode 100644 index 0000000000..c2cb02eb1e --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/project.eww @@ -0,0 +1,10 @@ + + + + + $WS_DIR$\project.ewp + + + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/project.uvopt b/bsp/stm32/stm32mp157a-st-ev1/project.uvopt new file mode 100644 index 0000000000..ed90c9e187 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/project.uvopt @@ -0,0 +1,167 @@ + + + + 1.0 + +
    ### uVision Project, (C) Keil Software
    + + + *.c + *.s*; *.src; *.a* + *.obj + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + + + + 0 + 0 + + + + rt-thread + 0x4 + ARM-ADS + + 25000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\build\keil\List\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 0 + 0 + 1 + + 255 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 0 + 0 + 0 + 11 + + + + + + + + + + + STLink\ST-LINKIII-KEIL_SWO.dll + + + + 0 + ST-LINKIII-KEIL_SWO + -U -O207 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000 + + + 0 + JL2CM3 + -U30000299 -O207 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000 + + + 0 + UL2CM3 + UL2CM3(-O207 -S0 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + +
    diff --git a/bsp/stm32/stm32mp157a-st-ev1/project.uvoptx b/bsp/stm32/stm32mp157a-st-ev1/project.uvoptx new file mode 100644 index 0000000000..97c770bb6f --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/project.uvoptx @@ -0,0 +1,1172 @@ + + + + 1.0 + +
    ### uVision Project, (C) Keil Software
    + + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + rt-thread + 0x4 + ARM-ADS + + 12000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\build\keil\List\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 18 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 6 + + + + + + + + + + + STLink\ST-LINKIII-KEIL_SWO.dll + + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 ) -FC1000 -FD10020000 + + + 0 + ST-LINKIII-KEIL_SWO + -U066BFF343339415043223048 -O206 -SF10000 -C0 -A2 -I0 -HNlocalhost -HP7184 -P1 -N00("") -D00(00000000) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD10050000 -FC1000 -FN0 + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + 0 + 0 + 0 + 2 + 10000000 + + + + + + Applications + 1 + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + applications\main.c + main.c + 0 + 0 + + + + + cpu + 0 + 0 + 0 + 0 + + 2 + 2 + 1 + 0 + 0 + 0 + ..\..\..\libcpu\arm\common\backtrace.c + backtrace.c + 0 + 0 + + + 2 + 3 + 1 + 0 + 0 + 0 + ..\..\..\libcpu\arm\common\div0.c + div0.c + 0 + 0 + + + 2 + 4 + 1 + 0 + 0 + 0 + ..\..\..\libcpu\arm\common\showmem.c + showmem.c + 0 + 0 + + + 2 + 5 + 1 + 0 + 0 + 0 + ..\..\..\libcpu\arm\cortex-m4\cpuport.c + cpuport.c + 0 + 0 + + + 2 + 6 + 2 + 0 + 0 + 0 + ..\..\..\libcpu\arm\cortex-m4\context_rvds.S + context_rvds.S + 0 + 0 + + + + + DeviceDrivers + 0 + 0 + 0 + 0 + + 3 + 7 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\misc\pin.c + pin.c + 0 + 0 + + + 3 + 8 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\serial\serial.c + serial.c + 0 + 0 + + + 3 + 9 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\src\completion.c + completion.c + 0 + 0 + + + 3 + 10 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\src\dataqueue.c + dataqueue.c + 0 + 0 + + + 3 + 11 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\src\pipe.c + pipe.c + 0 + 0 + + + 3 + 12 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\src\ringblk_buf.c + ringblk_buf.c + 0 + 0 + + + 3 + 13 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\src\ringbuffer.c + ringbuffer.c + 0 + 0 + + + 3 + 14 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\src\waitqueue.c + waitqueue.c + 0 + 0 + + + 3 + 15 + 1 + 0 + 0 + 0 + ..\..\..\components\drivers\src\workqueue.c + workqueue.c + 0 + 0 + + + + + Drivers + 0 + 0 + 0 + 0 + + 4 + 16 + 1 + 0 + 0 + 0 + board\board.c + board.c + 0 + 0 + + + 4 + 17 + 1 + 0 + 0 + 0 + board\CubeMX_Config\Common\System\system_stm32mp1xx.c + system_stm32mp1xx.c + 0 + 0 + + + 4 + 18 + 1 + 0 + 0 + 0 + board\CubeMX_Config\CM4\Src\stm32mp1xx_hal_msp.c + stm32mp1xx_hal_msp.c + 0 + 0 + + + 4 + 19 + 2 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\CMSIS\Device\ST\STM32MP1xx\Source\Templates\arm\startup_stm32mp15xx.s + startup_stm32mp15xx.s + 0 + 0 + + + 4 + 20 + 1 + 0 + 0 + 0 + ..\libraries\HAL_Drivers\drv_gpio.c + drv_gpio.c + 0 + 0 + + + 4 + 21 + 1 + 0 + 0 + 0 + ..\libraries\HAL_Drivers\drv_usart.c + drv_usart.c + 0 + 0 + + + 4 + 22 + 1 + 0 + 0 + 0 + ..\libraries\HAL_Drivers\drv_common.c + drv_common.c + 0 + 0 + + + + + finsh + 0 + 0 + 0 + 0 + + 5 + 23 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\shell.c + shell.c + 0 + 0 + + + 5 + 24 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\cmd.c + cmd.c + 0 + 0 + + + 5 + 25 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\msh.c + msh.c + 0 + 0 + + + 5 + 26 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\finsh_compiler.c + finsh_compiler.c + 0 + 0 + + + 5 + 27 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\finsh_error.c + finsh_error.c + 0 + 0 + + + 5 + 28 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\finsh_heap.c + finsh_heap.c + 0 + 0 + + + 5 + 29 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\finsh_init.c + finsh_init.c + 0 + 0 + + + 5 + 30 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\finsh_node.c + finsh_node.c + 0 + 0 + + + 5 + 31 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\finsh_ops.c + finsh_ops.c + 0 + 0 + + + 5 + 32 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\finsh_parser.c + finsh_parser.c + 0 + 0 + + + 5 + 33 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\finsh_var.c + finsh_var.c + 0 + 0 + + + 5 + 34 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\finsh_vm.c + finsh_vm.c + 0 + 0 + + + 5 + 35 + 1 + 0 + 0 + 0 + ..\..\..\components\finsh\finsh_token.c + finsh_token.c + 0 + 0 + + + + + Kernel + 0 + 0 + 0 + 0 + + 6 + 36 + 1 + 0 + 0 + 0 + ..\..\..\src\clock.c + clock.c + 0 + 0 + + + 6 + 37 + 1 + 0 + 0 + 0 + ..\..\..\src\components.c + components.c + 0 + 0 + + + 6 + 38 + 1 + 0 + 0 + 0 + ..\..\..\src\device.c + device.c + 0 + 0 + + + 6 + 39 + 1 + 0 + 0 + 0 + ..\..\..\src\idle.c + idle.c + 0 + 0 + + + 6 + 40 + 1 + 0 + 0 + 0 + ..\..\..\src\ipc.c + ipc.c + 0 + 0 + + + 6 + 41 + 1 + 0 + 0 + 0 + ..\..\..\src\irq.c + irq.c + 0 + 0 + + + 6 + 42 + 1 + 0 + 0 + 0 + ..\..\..\src\kservice.c + kservice.c + 0 + 0 + + + 6 + 43 + 1 + 0 + 0 + 0 + ..\..\..\src\memheap.c + memheap.c + 0 + 0 + + + 6 + 44 + 1 + 0 + 0 + 0 + ..\..\..\src\mempool.c + mempool.c + 0 + 0 + + + 6 + 45 + 1 + 0 + 0 + 0 + ..\..\..\src\object.c + object.c + 0 + 0 + + + 6 + 46 + 1 + 0 + 0 + 0 + ..\..\..\src\scheduler.c + scheduler.c + 0 + 0 + + + 6 + 47 + 1 + 0 + 0 + 0 + ..\..\..\src\signal.c + signal.c + 0 + 0 + + + 6 + 48 + 1 + 0 + 0 + 0 + ..\..\..\src\thread.c + thread.c + 0 + 0 + + + 6 + 49 + 1 + 0 + 0 + 0 + ..\..\..\src\timer.c + timer.c + 0 + 0 + + + + + libc + 0 + 0 + 0 + 0 + + 7 + 50 + 1 + 0 + 0 + 0 + ..\..\..\components\libc\compilers\armlibc\libc.c + libc.c + 0 + 0 + + + 7 + 51 + 1 + 0 + 0 + 0 + ..\..\..\components\libc\compilers\armlibc\mem_std.c + mem_std.c + 0 + 0 + + + 7 + 52 + 1 + 0 + 0 + 0 + ..\..\..\components\libc\compilers\armlibc\stubs.c + stubs.c + 0 + 0 + + + 7 + 53 + 1 + 0 + 0 + 0 + ..\..\..\components\libc\compilers\common\time.c + time.c + 0 + 0 + + + + + STM32_HAL + 0 + 0 + 0 + 0 + + 8 + 54 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal.c + stm32mp1xx_hal.c + 0 + 0 + + + 8 + 55 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_hsem.c + stm32mp1xx_hal_hsem.c + 0 + 0 + + + 8 + 56 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_exti.c + stm32mp1xx_hal_exti.c + 0 + 0 + + + 8 + 57 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_ipcc.c + stm32mp1xx_hal_ipcc.c + 0 + 0 + + + 8 + 58 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_cortex.c + stm32mp1xx_hal_cortex.c + 0 + 0 + + + 8 + 59 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dma.c + stm32mp1xx_hal_dma.c + 0 + 0 + + + 8 + 60 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dma_ex.c + stm32mp1xx_hal_dma_ex.c + 0 + 0 + + + 8 + 61 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_mdma.c + stm32mp1xx_hal_mdma.c + 0 + 0 + + + 8 + 62 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_pwr.c + stm32mp1xx_hal_pwr.c + 0 + 0 + + + 8 + 63 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_pwr_ex.c + stm32mp1xx_hal_pwr_ex.c + 0 + 0 + + + 8 + 64 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rcc.c + stm32mp1xx_hal_rcc.c + 0 + 0 + + + 8 + 65 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rcc_ex.c + stm32mp1xx_hal_rcc_ex.c + 0 + 0 + + + 8 + 66 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_gpio.c + stm32mp1xx_hal_gpio.c + 0 + 0 + + + 8 + 67 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_adc.c + stm32mp1xx_hal_adc.c + 0 + 0 + + + 8 + 68 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_adc_ex.c + stm32mp1xx_hal_adc_ex.c + 0 + 0 + + + 8 + 69 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dac.c + stm32mp1xx_hal_dac.c + 0 + 0 + + + 8 + 70 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dac_ex.c + stm32mp1xx_hal_dac_ex.c + 0 + 0 + + + 8 + 71 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_i2c.c + stm32mp1xx_hal_i2c.c + 0 + 0 + + + 8 + 72 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_i2c_ex.c + stm32mp1xx_hal_i2c_ex.c + 0 + 0 + + + 8 + 73 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_spi.c + stm32mp1xx_hal_spi.c + 0 + 0 + + + 8 + 74 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_tim.c + stm32mp1xx_hal_tim.c + 0 + 0 + + + 8 + 75 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_tim_ex.c + stm32mp1xx_hal_tim_ex.c + 0 + 0 + + + 8 + 76 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_uart.c + stm32mp1xx_hal_uart.c + 0 + 0 + + + 8 + 77 + 1 + 0 + 0 + 0 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_uart_ex.c + stm32mp1xx_hal_uart_ex.c + 0 + 0 + + + +
    diff --git a/bsp/stm32/stm32mp157a-st-ev1/project.uvprojx b/bsp/stm32/stm32mp157a-st-ev1/project.uvprojx new file mode 100644 index 0000000000..2b8057d6dc --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/project.uvprojx @@ -0,0 +1,833 @@ + + + + 2.1 + +
    ### uVision Project, (C) Keil Software
    + + + + rt-thread + 0x4 + ARM-ADS + 5060750::V5.06 update 6 (build 750)::ARMCC + 0 + + + STM32MP157AAAx:Cortex-M4 + STMicroelectronics + Keil.STM32MP1xx_DFP.1.3.0 + http://www.keil.com/pack/ + IRAM(0x10020000,0x00020000) IRAM2(0x10040000,0x00020000) IROM(0x10000000,0x00020000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) + + + UL2CM3(-S0 -C0 -P0 -FD10020000 -FC1000) + 0 + $$Device:STM32MP157AAAx$Drivers\CMSIS\Device\ST\STM32MP1xx\Include\stm32mp157axx_cm4.h + + + + + + + + + + $$Device:STM32MP157AAAx$SVD\STM32MP157x.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\build\keil\Obj\ + rt-thread + 1 + 0 + 0 + 1 + 0 + .\build\keil\List\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + fromelf --bin !L --output rtthread.bin + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM4 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 0 + 1 + 4096 + + 1 + BIN\UL2CM3.DLL + "" () + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 1 + 0 + 8 + 0 + 0 + 0 + 0 + 3 + 4 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x10020000 + 0x20000 + + + 1 + 0x10000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x10000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x10050000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + + CORE_CM4, USE_HAL_DRIVER, STM32MP157Axx, RT_USING_ARM_LIBC + + applications;.;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\CubeMX_Config\CM4\Inc;board\ports;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\components\finsh;.;..\..\..\include;..\..\..\components\libc\compilers\armlibc;..\..\..\components\libc\compilers\common;..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Inc;..\libraries\STM32MPxx_HAL\CMSIS\Device\ST\STM32MP1xx\Include;..\libraries\STM32MPxx_HAL\CMSIS\Core\Include;..\libraries\STM32MPxx_HAL\CMSIS\Include + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + + + + + + + + + 0 + 0 + 0 + 0 + 1 + 0 + + + + .\board\linker_scripts\link.sct + + + + + + + + + + + Applications + + + main.c + 1 + applications\main.c + + + + + cpu + + + backtrace.c + 1 + ..\..\..\libcpu\arm\common\backtrace.c + + + div0.c + 1 + ..\..\..\libcpu\arm\common\div0.c + + + showmem.c + 1 + ..\..\..\libcpu\arm\common\showmem.c + + + cpuport.c + 1 + ..\..\..\libcpu\arm\cortex-m4\cpuport.c + + + context_rvds.S + 2 + ..\..\..\libcpu\arm\cortex-m4\context_rvds.S + + + + + DeviceDrivers + + + pin.c + 1 + ..\..\..\components\drivers\misc\pin.c + + + serial.c + 1 + ..\..\..\components\drivers\serial\serial.c + + + completion.c + 1 + ..\..\..\components\drivers\src\completion.c + + + dataqueue.c + 1 + ..\..\..\components\drivers\src\dataqueue.c + + + pipe.c + 1 + ..\..\..\components\drivers\src\pipe.c + + + ringblk_buf.c + 1 + ..\..\..\components\drivers\src\ringblk_buf.c + + + ringbuffer.c + 1 + ..\..\..\components\drivers\src\ringbuffer.c + + + waitqueue.c + 1 + ..\..\..\components\drivers\src\waitqueue.c + + + workqueue.c + 1 + ..\..\..\components\drivers\src\workqueue.c + + + + + Drivers + + + board.c + 1 + board\board.c + + + system_stm32mp1xx.c + 1 + board\CubeMX_Config\Common\System\system_stm32mp1xx.c + + + stm32mp1xx_hal_msp.c + 1 + board\CubeMX_Config\CM4\Src\stm32mp1xx_hal_msp.c + + + startup_stm32mp15xx.s + 2 + ..\libraries\STM32MPxx_HAL\CMSIS\Device\ST\STM32MP1xx\Source\Templates\arm\startup_stm32mp15xx.s + + + drv_gpio.c + 1 + ..\libraries\HAL_Drivers\drv_gpio.c + + + drv_usart.c + 1 + ..\libraries\HAL_Drivers\drv_usart.c + + + drv_common.c + 1 + ..\libraries\HAL_Drivers\drv_common.c + + + + + finsh + + + shell.c + 1 + ..\..\..\components\finsh\shell.c + + + cmd.c + 1 + ..\..\..\components\finsh\cmd.c + + + msh.c + 1 + ..\..\..\components\finsh\msh.c + + + finsh_compiler.c + 1 + ..\..\..\components\finsh\finsh_compiler.c + + + finsh_error.c + 1 + ..\..\..\components\finsh\finsh_error.c + + + finsh_heap.c + 1 + ..\..\..\components\finsh\finsh_heap.c + + + finsh_init.c + 1 + ..\..\..\components\finsh\finsh_init.c + + + finsh_node.c + 1 + ..\..\..\components\finsh\finsh_node.c + + + finsh_ops.c + 1 + ..\..\..\components\finsh\finsh_ops.c + + + finsh_parser.c + 1 + ..\..\..\components\finsh\finsh_parser.c + + + finsh_var.c + 1 + ..\..\..\components\finsh\finsh_var.c + + + finsh_vm.c + 1 + ..\..\..\components\finsh\finsh_vm.c + + + finsh_token.c + 1 + ..\..\..\components\finsh\finsh_token.c + + + + + Kernel + + + clock.c + 1 + ..\..\..\src\clock.c + + + components.c + 1 + ..\..\..\src\components.c + + + device.c + 1 + ..\..\..\src\device.c + + + idle.c + 1 + ..\..\..\src\idle.c + + + ipc.c + 1 + ..\..\..\src\ipc.c + + + irq.c + 1 + ..\..\..\src\irq.c + + + kservice.c + 1 + ..\..\..\src\kservice.c + + + memheap.c + 1 + ..\..\..\src\memheap.c + + + mempool.c + 1 + ..\..\..\src\mempool.c + + + object.c + 1 + ..\..\..\src\object.c + + + scheduler.c + 1 + ..\..\..\src\scheduler.c + + + signal.c + 1 + ..\..\..\src\signal.c + + + thread.c + 1 + ..\..\..\src\thread.c + + + timer.c + 1 + ..\..\..\src\timer.c + + + + + libc + + + libc.c + 1 + ..\..\..\components\libc\compilers\armlibc\libc.c + + + mem_std.c + 1 + ..\..\..\components\libc\compilers\armlibc\mem_std.c + + + stubs.c + 1 + ..\..\..\components\libc\compilers\armlibc\stubs.c + + + time.c + 1 + ..\..\..\components\libc\compilers\common\time.c + + + + + STM32_HAL + + + stm32mp1xx_hal.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal.c + + + stm32mp1xx_hal_hsem.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_hsem.c + + + stm32mp1xx_hal_exti.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_exti.c + + + stm32mp1xx_hal_ipcc.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_ipcc.c + + + stm32mp1xx_hal_cortex.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_cortex.c + + + stm32mp1xx_hal_dma.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dma.c + + + stm32mp1xx_hal_dma_ex.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dma_ex.c + + + stm32mp1xx_hal_mdma.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_mdma.c + + + stm32mp1xx_hal_pwr.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_pwr.c + + + stm32mp1xx_hal_pwr_ex.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_pwr_ex.c + + + stm32mp1xx_hal_rcc.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rcc.c + + + stm32mp1xx_hal_rcc_ex.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rcc_ex.c + + + stm32mp1xx_hal_gpio.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_gpio.c + + + stm32mp1xx_hal_adc.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_adc.c + + + stm32mp1xx_hal_adc_ex.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_adc_ex.c + + + stm32mp1xx_hal_dac.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dac.c + + + stm32mp1xx_hal_dac_ex.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dac_ex.c + + + stm32mp1xx_hal_i2c.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_i2c.c + + + stm32mp1xx_hal_i2c_ex.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_i2c_ex.c + + + stm32mp1xx_hal_spi.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_spi.c + + + stm32mp1xx_hal_tim.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_tim.c + + + stm32mp1xx_hal_tim_ex.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_tim_ex.c + + + stm32mp1xx_hal_uart.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_uart.c + + + stm32mp1xx_hal_uart_ex.c + 1 + ..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_uart_ex.c + + + + + + + + + + + + + + + + + <Project Info> + + + + + + 0 + 1 + + + + +
    diff --git a/bsp/stm32/stm32mp157a-st-ev1/rtconfig.h b/bsp/stm32/stm32mp157a-st-ev1/rtconfig.h new file mode 100644 index 0000000000..65772b7eac --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/rtconfig.h @@ -0,0 +1,175 @@ +#ifndef RT_CONFIG_H__ +#define RT_CONFIG_H__ + +/* Automatically generated file; DO NOT EDIT. */ +/* RT-Thread Configuration */ + +/* RT-Thread Kernel */ + +#define RT_NAME_MAX 8 +#define RT_ALIGN_SIZE 4 +#define RT_THREAD_PRIORITY_32 +#define RT_THREAD_PRIORITY_MAX 32 +#define RT_TICK_PER_SECOND 100 +#define RT_USING_OVERFLOW_CHECK +#define RT_USING_HOOK +#define RT_USING_IDLE_HOOK +#define RT_IDLE_HOOK_LIST_SIZE 4 +#define IDLE_THREAD_STACK_SIZE 256 +#define RT_USING_TIMER_SOFT +#define RT_TIMER_THREAD_PRIO 4 +#define RT_TIMER_THREAD_STACK_SIZE 512 +#define RT_DEBUG +#define RT_DEBUG_COLOR + +/* Inter-Thread communication */ + +#define RT_USING_SEMAPHORE +#define RT_USING_MUTEX +#define RT_USING_EVENT +#define RT_USING_MAILBOX +#define RT_USING_MESSAGEQUEUE + +/* Memory Management */ + +#define RT_USING_MEMPOOL +#define RT_USING_MEMHEAP +#define RT_USING_MEMHEAP_AS_HEAP +#define RT_USING_HEAP + +/* Kernel Device Object */ + +#define RT_USING_DEVICE +#define RT_USING_CONSOLE +#define RT_CONSOLEBUF_SIZE 128 +#define RT_CONSOLE_DEVICE_NAME "uart4" +#define RT_VER_NUM 0x40003 +#define ARCH_ARM +#define RT_USING_CPU_FFS +#define ARCH_ARM_CORTEX_M +#define ARCH_ARM_CORTEX_M4 + +/* RT-Thread Components */ + +#define RT_USING_COMPONENTS_INIT +#define RT_USING_USER_MAIN +#define RT_MAIN_THREAD_STACK_SIZE 2048 +#define RT_MAIN_THREAD_PRIORITY 10 + +/* C++ features */ + + +/* Command shell */ + +#define RT_USING_FINSH +#define FINSH_THREAD_NAME "tshell" +#define FINSH_USING_HISTORY +#define FINSH_HISTORY_LINES 5 +#define FINSH_USING_SYMTAB +#define FINSH_USING_DESCRIPTION +#define FINSH_THREAD_PRIORITY 20 +#define FINSH_THREAD_STACK_SIZE 4096 +#define FINSH_CMD_SIZE 80 +#define FINSH_USING_MSH +#define FINSH_USING_MSH_DEFAULT +#define FINSH_ARG_MAX 10 + +/* Device virtual file system */ + + +/* Device Drivers */ + +#define RT_USING_DEVICE_IPC +#define RT_PIPE_BUFSZ 512 +#define RT_USING_SERIAL +#define RT_SERIAL_USING_DMA +#define RT_SERIAL_RB_BUFSZ 64 +#define RT_USING_PIN + +/* Using USB */ + + +/* POSIX layer and C standard library */ + +#define RT_USING_LIBC + +/* Network */ + +/* Socket abstraction layer */ + + +/* Network interface device */ + + +/* light weight TCP/IP stack */ + + +/* AT commands */ + + +/* VBUS(Virtual Software BUS) */ + + +/* Utilities */ + + +/* RT-Thread online packages */ + +/* IoT - internet of things */ + + +/* Wi-Fi */ + +/* Marvell WiFi */ + + +/* Wiced WiFi */ + + +/* IoT Cloud */ + + +/* security packages */ + + +/* language packages */ + + +/* multimedia packages */ + + +/* tools packages */ + + +/* system packages */ + + +/* peripheral libraries and drivers */ + + +/* miscellaneous packages */ + + +/* samples: kernel and components samples */ + +#define SOC_FAMILY_STM32 +#define SOC_SERIES_STM32MP1 + +/* Hardware Drivers Config */ + +#define SOC_STM32MP157A + +/* Onboard Peripheral Drivers */ + +#define BSP_USING_STLINK_TO_USART + +/* On-chip Peripheral Drivers */ + +#define BSP_USING_GPIO +#define BSP_USING_UART +#define BSP_USING_UART4 + +/* Board extended module Drivers */ + + +#endif diff --git a/bsp/stm32/stm32mp157a-st-ev1/rtconfig.py b/bsp/stm32/stm32mp157a-st-ev1/rtconfig.py new file mode 100644 index 0000000000..b1cad1d512 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/rtconfig.py @@ -0,0 +1,150 @@ +import os + +# toolchains options +ARCH='arm' +CPU='cortex-m4' +CROSS_TOOL='gcc' + +# bsp lib config +BSP_LIBRARY_TYPE = None + +if os.getenv('RTT_CC'): + CROSS_TOOL = os.getenv('RTT_CC') +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') + +# cross_tool provides the cross compiler +# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR +if CROSS_TOOL == 'gcc': + PLATFORM = 'gcc' + EXEC_PATH = r'C:\Users\XXYYZZ' +elif CROSS_TOOL == 'keil': + PLATFORM = 'armcc' + EXEC_PATH = r'C:/Keil_v5' +elif CROSS_TOOL == 'iar': + PLATFORM = 'iar' + EXEC_PATH = r'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.0' + +if os.getenv('RTT_EXEC_PATH'): + EXEC_PATH = os.getenv('RTT_EXEC_PATH') + +BUILD = 'debug' + +if PLATFORM == 'gcc': + # toolchains + PREFIX = 'arm-none-eabi-' + CC = PREFIX + 'gcc' + AS = PREFIX + 'gcc' + AR = PREFIX + 'ar' + CXX = PREFIX + 'g++' + LINK = PREFIX + 'gcc' + TARGET_EXT = 'elf' + SIZE = PREFIX + 'size' + OBJDUMP = PREFIX + 'objdump' + OBJCPY = PREFIX + 'objcopy' + + DEVICE = ' -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -ffunction-sections -fdata-sections' + CFLAGS = DEVICE + ' -Dgcc' + AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -Wa,-mimplicit-it=thumb ' + LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -T board/linker_scripts/link.lds' + + CPATH = '' + LPATH = '' + + if BUILD == 'debug': + CFLAGS += ' -O0 -gdwarf-2 -g' + AFLAGS += ' -gdwarf-2' + else: + CFLAGS += ' -O2' + + CXXFLAGS = CFLAGS + + POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' + +elif PLATFORM == 'armcc': + # toolchains + CC = 'armcc' + CXX = 'armcc' + AS = 'armasm' + AR = 'armar' + LINK = 'armlink' + TARGET_EXT = 'axf' + + DEVICE = ' --cpu Cortex-M4.fp ' + CFLAGS = '-c ' + DEVICE + ' --apcs=interwork --c99' + AFLAGS = DEVICE + ' --apcs=interwork ' + LFLAGS = DEVICE + ' --scatter "board\linker_scripts\link.sct" --info sizes --info totals --info unused --info veneers --list rtthread.map --strict' + CFLAGS += ' -I' + EXEC_PATH + '/ARM/ARMCC/include' + LFLAGS += ' --libpath=' + EXEC_PATH + '/ARM/ARMCC/lib' + + CFLAGS += ' -D__MICROLIB ' + AFLAGS += ' --pd "__MICROLIB SETA 1" ' + LFLAGS += ' --library_type=microlib ' + EXEC_PATH += '/ARM/ARMCC/bin/' + + if BUILD == 'debug': + CFLAGS += ' -g -O0' + AFLAGS += ' -g' + else: + CFLAGS += ' -O2' + + CXXFLAGS = CFLAGS + CFLAGS += ' -std=c99' + + POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET' + +elif PLATFORM == 'iar': + # toolchains + CC = 'iccarm' + CXX = 'iccarm' + AS = 'iasmarm' + AR = 'iarchive' + LINK = 'ilinkarm' + TARGET_EXT = 'out' + + DEVICE = '-Dewarm' + + CFLAGS = DEVICE + CFLAGS += ' --diag_suppress Pa050' + CFLAGS += ' --no_cse' + CFLAGS += ' --no_unroll' + CFLAGS += ' --no_inline' + CFLAGS += ' --no_code_motion' + CFLAGS += ' --no_tbaa' + CFLAGS += ' --no_clustering' + CFLAGS += ' --no_scheduling' + CFLAGS += ' --endian=little' + CFLAGS += ' --cpu=Cortex-M4' + CFLAGS += ' -e' + CFLAGS += ' --fpu=VFPv4_sp' + CFLAGS += ' --dlib_config "' + EXEC_PATH + '/arm/INC/c/DLib_Config_Normal.h"' + CFLAGS += ' --silent' + + AFLAGS = DEVICE + AFLAGS += ' -s+' + AFLAGS += ' -w+' + AFLAGS += ' -r' + AFLAGS += ' --cpu Cortex-M4' + AFLAGS += ' --fpu VFPv4_sp' + AFLAGS += ' -S' + + if BUILD == 'debug': + CFLAGS += ' --debug' + CFLAGS += ' -On' + else: + CFLAGS += ' -Oh' + + LFLAGS = ' --config "board/linker_scripts/link.icf"' + LFLAGS += ' --entry __iar_program_start' + + CXXFLAGS = CFLAGS + + EXEC_PATH = EXEC_PATH + '/arm/bin/' + POST_ACTION = 'ielftool --bin $TARGET rtthread.bin' + +def dist_handle(BSP_ROOT, dist_dir): + import sys + cwd_path = os.getcwd() + sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), 'tools')) + from sdk_dist import dist_do_building + dist_do_building(BSP_ROOT, dist_dir) diff --git a/bsp/stm32/stm32mp157a-st-ev1/template.ewp b/bsp/stm32/stm32mp157a-st-ev1/template.ewp new file mode 100644 index 0000000000..6d6c615d16 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/template.ewp @@ -0,0 +1,2106 @@ + + + 3 + + rt-thread + + ARM + + 1 + + General + 3 + + 31 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 35 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 10 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Release + + ARM + + 0 + + General + 3 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 35 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 10 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 23 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/template.eww b/bsp/stm32/stm32mp157a-st-ev1/template.eww new file mode 100644 index 0000000000..c62178f07a --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/template.eww @@ -0,0 +1,10 @@ + + + + + $WS_DIR$\template.ewp + + + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/template.uvopt b/bsp/stm32/stm32mp157a-st-ev1/template.uvopt new file mode 100644 index 0000000000..ed90c9e187 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/template.uvopt @@ -0,0 +1,167 @@ + + + + 1.0 + +
    ### uVision Project, (C) Keil Software
    + + + *.c + *.s*; *.src; *.a* + *.obj + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + + + + 0 + 0 + + + + rt-thread + 0x4 + ARM-ADS + + 25000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\build\keil\List\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 0 + 0 + 1 + + 255 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 1 + 0 + 0 + 0 + 11 + + + + + + + + + + + STLink\ST-LINKIII-KEIL_SWO.dll + + + + 0 + ST-LINKIII-KEIL_SWO + -U -O207 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000 + + + 0 + JL2CM3 + -U30000299 -O207 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000 + + + 0 + UL2CM3 + UL2CM3(-O207 -S0 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + +
    diff --git a/bsp/stm32/stm32mp157a-st-ev1/template.uvoptx b/bsp/stm32/stm32mp157a-st-ev1/template.uvoptx new file mode 100644 index 0000000000..e3a94d45ec --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/template.uvoptx @@ -0,0 +1,192 @@ + + + + 1.0 + +
    ### uVision Project, (C) Keil Software
    + + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + rt-thread + 0x4 + ARM-ADS + + 12000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\build\keil\List\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 18 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 6 + + + + + + + + + + + STLink\ST-LINKIII-KEIL_SWO.dll + + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 ) -FC1000 -FD10020000 + + + 0 + ST-LINKIII-KEIL_SWO + -U066BFF343339415043223048 -O206 -SF10000 -C0 -A2 -I0 -HNlocalhost -HP7184 -P1 -N00("") -D00(00000000) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD10050000 -FC1000 -FN0 + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + 0 + 0 + 0 + 2 + 10000000 + + + + + + Source Group 1 + 0 + 0 + 0 + 0 + + +
    diff --git a/bsp/stm32/stm32mp157a-st-ev1/template.uvprojx b/bsp/stm32/stm32mp157a-st-ev1/template.uvprojx new file mode 100644 index 0000000000..67a2556f75 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/template.uvprojx @@ -0,0 +1,411 @@ + + + + 2.1 + +
    ### uVision Project, (C) Keil Software
    + + + + rt-thread + 0x4 + ARM-ADS + 5060750::V5.06 update 6 (build 750)::ARMCC + 0 + + + STM32MP157AAAx:Cortex-M4 + STMicroelectronics + Keil.STM32MP1xx_DFP.1.3.0 + http://www.keil.com/pack/ + IRAM(0x10020000,0x00020000) IRAM2(0x10040000,0x00020000) IROM(0x10000000,0x00020000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) + + + UL2CM3(-S0 -C0 -P0 -FD10020000 -FC1000) + 0 + $$Device:STM32MP157AAAx$Drivers\CMSIS\Device\ST\STM32MP1xx\Include\stm32mp157axx_cm4.h + + + + + + + + + + $$Device:STM32MP157AAAx$SVD\STM32MP157x.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\build\keil\Obj\ + rt-thread + 1 + 0 + 0 + 1 + 0 + .\build\keil\List\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + fromelf --bin !L --output rtthread.bin + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM4 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 0 + 1 + 4096 + + 1 + BIN\UL2CM3.DLL + "" () + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 1 + 0 + 8 + 0 + 0 + 0 + 0 + 3 + 4 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x10020000 + 0x20000 + + + 1 + 0x10000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x10000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x10050000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + + + + + + + + + 0 + 0 + 0 + 0 + 1 + 0 + + + + .\board\linker_scripts\link.sct + + + + + + + + + + + Source Group 1 + + + + + + + + + + + + + + + <Project Info> + + + + + + 0 + 1 + + + + +
    From dd2bf1e442a994c151c504d4ad3c7f127cbf6ff0 Mon Sep 17 00:00:00 2001 From: thread-liu Date: Thu, 13 Aug 2020 13:47:53 +0800 Subject: [PATCH 34/34] [update] format --- bsp/stm32/stm32mp157a-st-ev1/.cproject | 208 ++ bsp/stm32/stm32mp157a-st-ev1/.project | 32 +- .../stm32mp157a-st-ev1/.settings/.rtmenus | Bin 0 -> 793120 bytes .../.settings/language.settings.xml | 14 + .../.settings/org.eclipse.core.runtime.prefs | 3 + .../stm32mp157a-st-ev1/.settings/projcfg.ini | 8 + .../.settings/stm32mp1.JLink.Debug.rttlaunch | 82 + .../.settings/stm32mp1.STLink.Debug.rttlaunch | 51 + .../stm32mp157a-st-ev1/EventRecorderStub.scvd | 9 - bsp/stm32/stm32mp157a-st-ev1/README.md | 61 +- bsp/stm32/stm32mp157a-st-ev1/README_zh.md | 100 +- bsp/stm32/stm32mp157a-st-ev1/makefile.targets | 4 + bsp/stm32/stm32mp157a-st-ev1/project.ewt | 2765 ----------------- 13 files changed, 470 insertions(+), 2867 deletions(-) create mode 100644 bsp/stm32/stm32mp157a-st-ev1/.cproject create mode 100644 bsp/stm32/stm32mp157a-st-ev1/.settings/.rtmenus create mode 100644 bsp/stm32/stm32mp157a-st-ev1/.settings/language.settings.xml create mode 100644 bsp/stm32/stm32mp157a-st-ev1/.settings/org.eclipse.core.runtime.prefs create mode 100644 bsp/stm32/stm32mp157a-st-ev1/.settings/projcfg.ini create mode 100644 bsp/stm32/stm32mp157a-st-ev1/.settings/stm32mp1.JLink.Debug.rttlaunch create mode 100644 bsp/stm32/stm32mp157a-st-ev1/.settings/stm32mp1.STLink.Debug.rttlaunch delete mode 100644 bsp/stm32/stm32mp157a-st-ev1/EventRecorderStub.scvd create mode 100644 bsp/stm32/stm32mp157a-st-ev1/makefile.targets delete mode 100644 bsp/stm32/stm32mp157a-st-ev1/project.ewt diff --git a/bsp/stm32/stm32mp157a-st-ev1/.cproject b/bsp/stm32/stm32mp157a-st-ev1/.cproject new file mode 100644 index 0000000000..942edf4226 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/.cproject @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/.project b/bsp/stm32/stm32mp157a-st-ev1/.project index 29d7c74de5..54df11d83d 100644 --- a/bsp/stm32/stm32mp157a-st-ev1/.project +++ b/bsp/stm32/stm32mp157a-st-ev1/.project @@ -1,11 +1,29 @@ - STM32MP157 - - + stm32mp157a-st-ev1 + + - - - - + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.rt-thread.studio.rttnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/.settings/.rtmenus b/bsp/stm32/stm32mp157a-st-ev1/.settings/.rtmenus new file mode 100644 index 0000000000000000000000000000000000000000..783439940842712c65369df2165e5cef9281bf14 GIT binary patch literal 793120 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

    OliBm8 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

    (pib{O(g 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�Hw`1Tr$n_qEtNtD}?A|B`TN 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

    g|)lE@`^glhJyZkw!oY+ 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 + + + + + + + + + + + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/.settings/org.eclipse.core.runtime.prefs b/bsp/stm32/stm32mp157a-st-ev1/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 0000000000..b36aae6fb2 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,3 @@ +content-types/enabled=true +content-types/org.eclipse.cdt.core.asmSource/file-extensions=s +eclipse.preferences.version=1 diff --git a/bsp/stm32/stm32mp157a-st-ev1/.settings/projcfg.ini b/bsp/stm32/stm32mp157a-st-ev1/.settings/projcfg.ini new file mode 100644 index 0000000000..caa6c69570 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/.settings/projcfg.ini @@ -0,0 +1,8 @@ +#RT-Thread Studio Project Configuration +#Thu Jul 23 15:17:50 CST 2020 +mcu_name=STM32MP157A +hardware_adapter=ST-LINK +mcu_base_nano_proj=true +selected_rtt_version=latest +project_base_bsp=true +cfg_version=v2.0 diff --git a/bsp/stm32/stm32mp157a-st-ev1/.settings/stm32mp1.JLink.Debug.rttlaunch b/bsp/stm32/stm32mp157a-st-ev1/.settings/stm32mp1.JLink.Debug.rttlaunch new file mode 100644 index 0000000000..85acda0c11 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/.settings/stm32mp1.JLink.Debug.rttlaunch @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/.settings/stm32mp1.STLink.Debug.rttlaunch b/bsp/stm32/stm32mp157a-st-ev1/.settings/stm32mp1.STLink.Debug.rttlaunch new file mode 100644 index 0000000000..37b2bf8f69 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/.settings/stm32mp1.STLink.Debug.rttlaunch @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bsp/stm32/stm32mp157a-st-ev1/EventRecorderStub.scvd b/bsp/stm32/stm32mp157a-st-ev1/EventRecorderStub.scvd deleted file mode 100644 index 2956b29683..0000000000 --- a/bsp/stm32/stm32mp157a-st-ev1/EventRecorderStub.scvd +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/bsp/stm32/stm32mp157a-st-ev1/README.md b/bsp/stm32/stm32mp157a-st-ev1/README.md index a4798872c4..7a38b4d7fc 100644 --- a/bsp/stm32/stm32mp157a-st-ev1/README.md +++ b/bsp/stm32/stm32mp157a-st-ev1/README.md @@ -2,7 +2,7 @@ [中文页](README_zh.md) | -# Introduction +## Introduction This document records the execution instruction of the BSP (board support package) provided by the RT-Thread development team for the STM32MP157A-EV1 development board. @@ -20,18 +20,18 @@ By reading the Quickly Get Started section developers can quickly get their hand The STM32MP157A-EV1 is a development board based on a dual Cortex-A7 and Cortex-M4 core. The Cortex-A7 core operates at 650 MHZ and the Cortex-M4 operates at 209MHZ. There is no Flash inside the STM32MP157A. -​ ![board](figures/board.png) +![board](figures/board.png) The mainly-used **on-board resources** are shown as follows: -* MCU : STM32MP157AAAx -* Common peripherals: - - 4 LEDs: LD4(PD8), LD5(PD9), LD2(PA13), LD3(PA14) - - 4 Buttons: WAKE_UP, RESET (NRST), USER1(PA13), USER2 (PA14) -* Common-used interface: USB, SD card, Ethernet, MIPI, USB HOST, Audio, HDMI, Arduino. -* Debug interface: Standard JTAG/SWD. +- MCU : STM32MP157AAAx +- Common peripherals: + - 4 LEDs: LD4(PD8), LD5(PD9), LD2(PA13), LD3(PA14) + - 4 Buttons: WAKE_UP, RESET (NRST), USER1(PA13), USER2 (PA14) +- Common-used interface: USB, SD card, Ethernet, MIPI, USB HOST, Audio, HDMI, Arduino. +- Debug interface: Standard JTAG/SWD. -For more details about this board, please refer to the ST official documentation: +For more details about this board, please refer to the ST official documentation: [STM32MP157A-EV1 Development board introduction](https://www.st.com/content/st_com/zh/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-eval-boards/stm32mp157a-ev1.html) @@ -72,13 +72,12 @@ Each peripheral supporting condition for this BSP is as follows: | CRC | NO | | | RNG | NO | | | HASH | NO | | -| CRYP | NO | | ## Execution Instruction -### Quickly Get Started +### Quickly Get Started -This BSP provides IAR projects for developers. Here's an example of the IAR development environment, to introduce how to run the system. +This BSP provides MDK4,MDK5 and IAR projects for developers. Also support GCC development environment,Here's an example of the MDK5 development environment, to introduce how to run the system. #### Hardware Connection @@ -86,9 +85,9 @@ Use a USB cable to connect the development board to the PC and turn on the power #### Compile And Download -Double-click the project.eww file, to open the IAR project, compile and download the program to the board. +Double-click the project.uvprojx file, to open the MDK5 project, compile and download the program to the board. -> By default, the project uses ST_LINK simulator to download the program, when the ST_LINK connects the board, clicking the download button can download the program to the board. +> By default, the project uses ST_LINK simulator to download the program, when the ST_LINK connects the board, clicking the download button can download the program to the board. #### Running Results @@ -101,37 +100,36 @@ Connect the serial port of the board to PC, communicate with it via a serial ter - RT - Thread Operating System / | \ 3.1.1 build Nov 19 2018 2006 - 2018 Copyright by rt-thread team -msh > +msh > ``` #### Drivers ##### 1. DAC -* Open the [Env](https://www.rt-thread.io/download.html?download=Env) tool under this BSP; -* Enter the `menuconfig` command, enter the Hardware Drivers config and open DAC, save and exit; - -* Enter the `scons --target=iar` command to regenerate project. +- Open the [Env](https://www.rt-thread.io/download.html?download=Env) tool under this BSP; +- Enter the `menuconfig` command, enter the Hardware Drivers config and open DAC, save and exit; +- Enter the `scons --target=iar` command to regenerate project. ###### Finsh Before you use a device, you need to find out if the device exists, and you can use the name of the DAC device that is enrolled with the command `dac probe` . As shown as follows. -``` +```c msh />dac probe dac1 probe dac1 success ``` Enable the channel of the device can use the command `dac enable` followed by the channel number. - ```shell + ```c msh />dac probe dac1 probe dac1 success ``` Set up the data of the channel for a DAC device can use the command `dac write` followed by the channel number. -``` +```c msh />dac write 1 1000 dac1 channel 1 write value is 1000 ``` @@ -145,24 +143,23 @@ dac1 channel 1 disable success ### Advanced Features -This BSP only enables GPIO and serial port 4 by default. If need more advanced features, you need to configure the BSP with RT-Thread Env tools, as follows: +This BSP only enables GPIO and serial port 4 by default. If need more advanced features, you need to configure the BSP with RT-Thread Env tools, as follows: -* Open the [Env](https://www.rt-thread.io/download.html?download=Env) tool under this BSP; -* Enter the `menuconfig` command to configure the project, then save and exit; -* Enter the `pkgs --update` command to update the packages; -* Enter the `scons --target=iar `command to regenerate the project. +- Open the [Env](https://www.rt-thread.io/download.html?download=Env) tool under this BSP; +- Enter the `menuconfig` command to configure the project, then save and exit; +- Enter the `pkgs --update` command to update the packages; +- Enter the `scons --target=iar`command to regenerate the project. ## Notes -* Before downloading the program, set the board to the mode of "Engineering Mode". The BOOT switch sets to BOOT0=0,BOOT1 = 0 and BOOT2=1, as shown below: +- Before downloading the program, set the board to the mode of "Engineering Mode". The BOOT switch sets to BOOT0=0,BOOT1 = 0 and BOOT2=1, as shown below: - ​ boot_switch - -* If need to reburn the program, please reset the development board. +![boot](figures/boot.png) +- If need to reburn the program, please reset the development board. ## Contact Information accendant: -- [liukang](https://github.com/thread-liu) +- [liukang](https://github.com/thread-liu) diff --git a/bsp/stm32/stm32mp157a-st-ev1/README_zh.md b/bsp/stm32/stm32mp157a-st-ev1/README_zh.md index 8b5e3a2ada..e4c41f7eb2 100644 --- a/bsp/stm32/stm32mp157a-st-ev1/README_zh.md +++ b/bsp/stm32/stm32mp157a-st-ev1/README_zh.md @@ -1,8 +1,8 @@ -# STM32MP157A-DK1 开发板 BSP 说明 +# STM32MP157A-EV1 开发板 BSP 说明 ## 简介 -本文档为 RT-Thread 开发团队为 STM32MP157A-DK1 开发板提供的 BSP (板级支持包) 说明。 +本文档为 RT-Thread 开发团队为 STM32MP157A-EV1 开发板提供的 BSP (板级支持包) 说明。 主要内容如下: @@ -14,7 +14,7 @@ ## 开发板介绍 -STM32MP157A-DK1 是 ST 推出的一款基于双 Cortex-A7 + Cortex-M4 内核的开发板。Cortex-A7 核工作频率为 800 MHZ,Cortex-M4 工作频率为 209MHZ。STM32MP157A 内部没有 Flash。 +STM32MP157A-EV1 是 ST 推出的一款基于双 Cortex-A7 + Cortex-M4 内核的开发板。Cortex-A7 核工作频率为 650MHZ,Cortex-M4 工作频率为 209MHZ。 开发板外观如下图所示: @@ -22,10 +22,10 @@ STM32MP157A-DK1 是 ST 推出的一款基于双 Cortex-A7 + Cortex-M4 内核的 该开发板常用 **板载资源** 如下: -- MCU:STM32MP157AACx +- MCU:STM32MP157AAAx - 常用外设 - - LED:4个 ,LD4 (PA14), LD6 (PA13),LD7 (PH7),LD8 (PD11) - - 按键,4个,WAKE_UP,RESET (NRST),USER1(PA14),USER2 (PA13) + - LED:4个 ,LD4(PD8), LD5(PD9), LD2(PA13), LD3(PA14) + - 按键,4个,WAKE_UP, RESET (NRST), USER1(PA13), USER2 (PA14) - 常用接口:USB 转串口、SD 卡接口、以太网接口、MIPI接口、USB HOST、Audio、HDMI、Arduino - 调试接口,标准 JTAG/SWD @@ -35,25 +35,39 @@ STM32MP157A-DK1 是 ST 推出的一款基于双 Cortex-A7 + Cortex-M4 内核的 本 BSP 目前对外设的支持情况如下: -| **板载外设** | **支持情况** | **备注** | -| :----------- | :----------: | :--------------: | -| USB 转串口 | 支持 | | -| SD卡 | 暂不支持 | | -| 以太网 | 暂不支持 | | -| 音频接口 | 暂不支持 | | -| **片上外设** | **支持情况** | **备注** | -| GPIO | 支持 | | -| UART | 支持 | UART4 (ST-Link) | -| EXTI | 支持 | | -| SPI | 支持 | | -| TIM | 支持 | | -| LPTIM | 支持 | | -| I2C | 支持 | 软件、硬件都支持 | -| ADC | 支持 | | -| DAC | 支持 | | -| WWDG | 支持 | | -| USB Device | 暂不支持 | | -| USB Host | 暂不支持 | | +| **板载外设** | **支持情况** | **备注** | +| :------------- | :----------: | :-------------: | +| USB 转串口 | 支持 | | +| PMIC | 暂不支持 | ST 电源管理 IC | +| 摄像头 | 暂不支持 | OV5640 | +| MFX | 暂不支持 | ST 多功能拓展器 | +| FMC | 暂不支持 | NAND FLASH | +| QSPI FLASH | 暂不支持 | MX25L51245G | +| OpenAMP | 暂不支持 | 双核通讯 | +| 低功耗电源管理 | 暂不支持 | | +| SD卡 | 暂不支持 | SDMMC1 | +| eMMC | 暂不支持 | SDMMC2 | +| 以太网 | 暂不支持 | 千兆以太网卡 | +| 音频接口 | 暂不支持 | | +| **片上外设** | **支持情况** | **备注** | +| GPIO | 支持 | | +| UART | 支持 | UART4 (ST-Link) | +| EXTI | 支持 | | +| SPI | 支持 | | +| TIM | 支持 | | +| LPTIM | 支持 | | +| I2C | 支持 | 软件 | +| ADC | 支持 | | +| DAC | 支持 | | +| WWDG | 支持 | | +| MDMA | 暂不支持 | | +| SPDIFRX | 暂不支持 | | +| DFSDM | 暂不支持 | | +| PWM | 暂不支持 | | +| FDCAN | 暂不支持 | | +| CRC | 暂不支持 | | +| RNG | 暂不支持 | | +| HASH | 暂不支持 | | ## 使用说明 @@ -71,7 +85,7 @@ STM32MP157A-DK1 是 ST 推出的一款基于双 Cortex-A7 + Cortex-M4 内核的 ### 快速上手 -本 BSP 为开发者提供 IAR 工程。下面以 IAR 开发环境为例,介绍如何将系统运行起来。 +本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。 #### 硬件连接 @@ -79,13 +93,13 @@ STM32MP157A-DK1 是 ST 推出的一款基于双 Cortex-A7 + Cortex-M4 内核的 #### 编译下载 -双击 project.eww 文件,打开 IAR 工程,编译并下载程序到开发板。 +双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。 -> 工程默认配置使用 ST-LINK 下载程序,在通过 ST-LINK连接开发板的基础上,点击下载按钮即可下载程序到开发板 +> 工程默认配置使用 ST-LINK 下载程序,在通过 ST-LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板 #### 运行结果 -下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,蓝色 LD8 会周期性闪烁,终端会周期性输出 ”Hello RT-Thread!“ +下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,橙色 LD4 会周期性闪烁。 连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),可以看到 RT-Thread 的输出信息: @@ -97,21 +111,9 @@ STM32MP157A-DK1 是 ST 推出的一款基于双 Cortex-A7 + Cortex-M4 内核的 / | \ 3.1.1 build Nov 19 2018 2006 - 2018 Copyright by rt-thread team msh > -Hello RT-Thread! ``` #### 驱动使用 -##### 1. WWDG - -1. 在 bsp 下打开 env 工具; -2. 输入 `menuconfig` 命令, 进入 Hardware Drivers config 打开 wwdg,保存并退出; -3. 输入 `scons --target=iar` 命令重新生成工程; -4. wwdg 设备会在喂狗前触发中断,LD5 会在中断中不停的闪烁; -5. 在终端输入 `wwdg_sample` ,获取 wwdg 设备 Finsh 命令; -6. `wwdg_sample run` 开启 wwdg 设备; -7. `wwdg_sample set` 设置 wwdg 设备分频率; -8. 通过调整 wwdg 设备分频率,开发板上 LD5 会有不同的闪烁频率。 - -##### 2. DAC +##### 1. DAC 1. 在 bsp 下打开 env 工具; 2. 输入`menuconfig`命令, 进入 Hardware Drivers config 打开 dac,保存并退出; @@ -146,20 +148,10 @@ dac1 channel 1 write value is 1000 msh />dac disable 1 dac1 channel 1 disable success ``` -#### 3. LPTIM - -1. 在 bsp 下打开 env 工具; -2. 输入 `menuconfig` 命令, 进入 Hardware Drivers config 打开 lptim,保存并退出; -3. 输入 `scons --target=iar` 命令重新生成工程; -4. lptim 设备计时溢出时会触发中断,中断会打印字符串 `"hello rt-thread!"`; -5. 在终端输入 `lptim_sample` ,获取 lptim 设备 Finsh 命令; -6. `lptim_sample run` 开启 lptim 设备; -7. `lptim_sample set` 设置 lptim 设备分频率。 - ### 进阶使用 -此 BSP 默认只开启了 GPIO 和 串口4 的功能,如果需更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下: +此 BSP 默认只开启了 GPIO 和 串口4 的功能,如果需使用 SD 卡、Flash 等更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下: 1. 在 bsp 下打开 env 工具。 @@ -175,7 +167,7 @@ dac1 channel 1 disable success 1. 下载程序前,将开发板设置为 "Engineering Mode" 模式。 在 DK1 开发板上,将底下的BOOT开关设成 BOOT0=0,BOOT2=1状态,就进入"Engineering Mode",如下图所示: - ​ boot_switch + ​ boot 2. 再次烧写程序时,需要复位开发板。 diff --git a/bsp/stm32/stm32mp157a-st-ev1/makefile.targets b/bsp/stm32/stm32mp157a-st-ev1/makefile.targets new file mode 100644 index 0000000000..a00129bd90 --- /dev/null +++ b/bsp/stm32/stm32mp157a-st-ev1/makefile.targets @@ -0,0 +1,4 @@ +clean2: + -$(RM) $(CC_DEPS)$(C++_DEPS)$(C_UPPER_DEPS)$(CXX_DEPS)$(SECONDARY_FLASH)$(SECONDARY_SIZE)$(ASM_DEPS)$(S_UPPER_DEPS)$(C_DEPS)$(CPP_DEPS) + -$(RM) $(OBJS) *.elf + -@echo ' ' \ No newline at end of file diff --git a/bsp/stm32/stm32mp157a-st-ev1/project.ewt b/bsp/stm32/stm32mp157a-st-ev1/project.ewt deleted file mode 100644 index 406b4bb345..0000000000 --- a/bsp/stm32/stm32mp157a-st-ev1/project.ewt +++ /dev/null @@ -1,2765 +0,0 @@ - - - 3 - - rt-thread - - ARM - - 1 - - C-STAT - 261 - - 261 - - 0 - - 1 - 600 - 1 - 4 - 0 - 1 - 100 - - - 1.5.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RuntimeChecking - 0 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - Release - - ARM - - 0 - - C-STAT - 261 - - 261 - - 0 - - 1 - 600 - 1 - 4 - 0 - 1 - 100 - - - 1.5.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RuntimeChecking - 0 - - 2 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - Applications - - $PROJ_DIR$\applications\main.c - - - - cpu - - $PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c - - - $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\context_iar.S - - - $PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c - - - $PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c - - - $PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c - - - - DeviceDrivers - - $PROJ_DIR$\..\..\..\components\drivers\audio\audio.c - - - $PROJ_DIR$\..\..\..\components\drivers\audio\audio_pipe.c - - - $PROJ_DIR$\..\..\..\components\drivers\src\completion.c - - - $PROJ_DIR$\..\..\..\components\drivers\src\dataqueue.c - - - $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c-bit-ops.c - - - $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_core.c - - - $PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_dev.c - - - $PROJ_DIR$\..\..\..\components\drivers\misc\pin.c - - - $PROJ_DIR$\..\..\..\components\drivers\src\pipe.c - - - $PROJ_DIR$\..\..\..\components\drivers\src\ringblk_buf.c - - - $PROJ_DIR$\..\..\..\components\drivers\src\ringbuffer.c - - - $PROJ_DIR$\..\..\..\components\drivers\serial\serial.c - - - $PROJ_DIR$\..\..\..\components\drivers\src\waitqueue.c - - - $PROJ_DIR$\..\..\..\components\drivers\src\workqueue.c - - - - dlib - - $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c - - - $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\libc.c - - - $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\rmtx.c - - - $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\stdio.c - - - $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c - - - $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c - - - $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c - - - $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c - - - $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c - - - $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c - - - $PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c - - - - Drivers - - $PROJ_DIR$\board\board.c - - - $PROJ_DIR$\..\libraries\HAL_Drivers\drv_common.c - - - $PROJ_DIR$\board\ports\dfsdm\drv_dfsdm.c - - - $PROJ_DIR$\..\libraries\HAL_Drivers\drv_gpio.c - - - $PROJ_DIR$\board\ports\pmic\drv_hard_i2c.c - - - $PROJ_DIR$\board\ports\audio\drv_sai.c - - - $PROJ_DIR$\board\ports\sdmmc\drv_sdmmc.c - - - $PROJ_DIR$\..\libraries\HAL_Drivers\drv_soft_i2c.c - - - $PROJ_DIR$\board\ports\audio\drv_sound.c - - - $PROJ_DIR$\..\libraries\HAL_Drivers\drv_usart.c - - - $PROJ_DIR$\board\ports\audio\drv_wm8994.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\CMSIS\Device\ST\STM32MP1xx\Source\Templates\iar\startup_stm32mp15xx.s - - - $PROJ_DIR$\board\CubeMX_Config\CM4\Src\stm32mp1xx_hal_msp.c - - - $PROJ_DIR$\board\ports\pmic\stpmic.c - - - $PROJ_DIR$\board\CubeMX_Config\Common\System\system_stm32mp1xx.c - - - - Filesystem - - $PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat\option\ccsbcs.c - - - $PROJ_DIR$\..\..\..\components\dfs\filesystems\devfs\devfs.c - - - $PROJ_DIR$\..\..\..\components\dfs\src\dfs.c - - - $PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat\dfs_elm.c - - - $PROJ_DIR$\..\..\..\components\dfs\src\dfs_file.c - - - $PROJ_DIR$\..\..\..\components\dfs\src\dfs_fs.c - - - $PROJ_DIR$\..\..\..\components\dfs\src\dfs_posix.c - - - $PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat\ff.c - - - $PROJ_DIR$\..\..\..\components\dfs\src\poll.c - - - $PROJ_DIR$\..\..\..\components\dfs\src\select.c - - - - finsh - - $PROJ_DIR$\..\..\..\components\finsh\cmd.c - - - $PROJ_DIR$\..\..\..\components\finsh\finsh_compiler.c - - - $PROJ_DIR$\..\..\..\components\finsh\finsh_error.c - - - $PROJ_DIR$\..\..\..\components\finsh\finsh_heap.c - - - $PROJ_DIR$\..\..\..\components\finsh\finsh_init.c - - - $PROJ_DIR$\..\..\..\components\finsh\finsh_node.c - - - $PROJ_DIR$\..\..\..\components\finsh\finsh_ops.c - - - $PROJ_DIR$\..\..\..\components\finsh\finsh_parser.c - - - $PROJ_DIR$\..\..\..\components\finsh\finsh_token.c - - - $PROJ_DIR$\..\..\..\components\finsh\finsh_var.c - - - $PROJ_DIR$\..\..\..\components\finsh\finsh_vm.c - - - $PROJ_DIR$\..\..\..\components\finsh\msh.c - - - $PROJ_DIR$\..\..\..\components\finsh\msh_file.c - - - $PROJ_DIR$\..\..\..\components\finsh\shell.c - - - - Kernel - - $PROJ_DIR$\..\..\..\src\clock.c - - - $PROJ_DIR$\..\..\..\src\components.c - - - $PROJ_DIR$\..\..\..\src\device.c - - - $PROJ_DIR$\..\..\..\src\idle.c - - - $PROJ_DIR$\..\..\..\src\ipc.c - - - $PROJ_DIR$\..\..\..\src\irq.c - - - $PROJ_DIR$\..\..\..\src\kservice.c - - - $PROJ_DIR$\..\..\..\src\memheap.c - - - $PROJ_DIR$\..\..\..\src\mempool.c - - - $PROJ_DIR$\..\..\..\src\object.c - - - $PROJ_DIR$\..\..\..\src\scheduler.c - - - $PROJ_DIR$\..\..\..\src\signal.c - - - $PROJ_DIR$\..\..\..\src\thread.c - - - $PROJ_DIR$\..\..\..\src\timer.c - - - - libc - - $PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c - - - - STM32_HAL - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_adc.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_adc_ex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_cortex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_crc.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_crc_ex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_cryp.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_cryp_ex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dac.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dac_ex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dfsdm.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dfsdm_ex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dma.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_dma_ex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_exti.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_gpio.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_hsem.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_i2c.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_i2c_ex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_ipcc.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_mdma.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_pwr.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_pwr_ex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rcc.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rcc_ex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_rng.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_sai.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_sai_ex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_sd.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_spi.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_tim.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_tim_ex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_uart.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_hal_uart_ex.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_ll_delayblock.c - - - $PROJ_DIR$\..\libraries\STM32MPxx_HAL\STM32MP1xx_HAL_Driver\Src\stm32mp1xx_ll_sdmmc.c - - -

    ANJyc7 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≷CB(2icYqVZ# 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

    !rjB_r{iXG%7e-_kL$Ou6y!5;evA)_ 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 }?ot}bU`?`!*ku-CveqK&QEP~zx>>w}V}4xTo# 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