feat: added PicoW_Sensor code template

Credits to @ext-erich.styger that provided the template
This commit is contained in:
SylvanArnold
2025-04-22 11:30:45 +02:00
committed by Sylvan Arnold
parent b2e9eab44e
commit 6cd510e749
985 changed files with 606823 additions and 0 deletions

View File

@@ -0,0 +1,179 @@
/**
* \file
* \brief Configuration header file for FreeRTOS component.
* Copyright (c) 2020, Erich Styger
* SPDX-License-Identifier: BSD-3-Clause
*
* This header file is used to configure settings of the FreeRTOS module.
*/
#ifndef __McuRTOS_CONFIG_H
#define __McuRTOS_CONFIG_H
#include "McuLib.h" /* SDK and API used */
/* -------------------------------------------------------------------- */
/* Macros to identify the compiler used: */
#define configCOMPILER_ARM_GCC 1 /* GNU ARM gcc compiler */
#define configCOMPILER_ARM_IAR 2 /* IAR ARM compiler */
#define configCOMPILER_ARM_FSL 3 /* Legacy Freescale ARM compiler */
#define configCOMPILER_ARM_KEIL 4 /* ARM/Keil compiler */
#define configCOMPILER_S08_FSL 5 /* Freescale HCS08 compiler */
#define configCOMPILER_S12_FSL 6 /* Freescale HCS12(X) compiler */
#define configCOMPILER_CF1_FSL 7 /* Freescale ColdFire V1 compiler */
#define configCOMPILER_CF2_FSL 8 /* Freescale ColdFire V2 compiler */
#define configCOMPILER_DSC_FSL 9 /* Freescale DSC compiler */
#define configCOMPILER configCOMPILER_ARM_GCC
/* -------------------------------------------------------------------- */
/* CPU family identification */
#define configCPU_FAMILY_S08 1 /* S08 core */
#define configCPU_FAMILY_S12 2 /* S12(X) core */
#define configCPU_FAMILY_CF1 3 /* ColdFire V1 core */
#define configCPU_FAMILY_CF2 4 /* ColdFire V2 core */
#define configCPU_FAMILY_DSC 5 /* 56800/DSC */
#define configCPU_FAMILY_ARM_M0P 6 /* ARM Cortex-M0+ */
#define configCPU_FAMILY_ARM_M3 7 /* ARM Cortex-M3 */
#define configCPU_FAMILY_ARM_M4 8 /* ARM Cortex-M4 */
#define configCPU_FAMILY_ARM_M4F 9 /* ARM Cortex-M4F (with floating point unit) */
#define configCPU_FAMILY_ARM_M7 10 /* ARM Cortex-M7 */
#define configCPU_FAMILY_ARM_M7F 11 /* ARM Cortex-M7F (with floating point unit) */
#define configCPU_FAMILY_ARM_M33 12 /* ARM Cortex-M33 */
#define configCPU_FAMILY_ARM_M33F 13 /* ARM Cortex-M33F (with floating point unit) */
#define configCPU_FAMILY_RISC_V 14 /* RISC-V */
/* Macros to identify set of core families */
#define configCPU_FAMILY_IS_ARM_M0(fam) ((fam)==configCPU_FAMILY_ARM_M0P)
#define configCPU_FAMILY_IS_ARM_M3(fam) ((fam)==configCPU_FAMILY_ARM_M3)
#define configCPU_FAMILY_IS_ARM_M4(fam) (((fam)==configCPU_FAMILY_ARM_M4) || ((fam)==configCPU_FAMILY_ARM_M4F))
#define configCPU_FAMILY_IS_ARM_M7(fam) (((fam)==configCPU_FAMILY_ARM_M7) || ((fam)==configCPU_FAMILY_ARM_M7F))
#define configCPU_FAMILY_IS_ARM_M4_M7(fam) (configCPU_FAMILY_IS_ARM_M4(fam) || configCPU_FAMILY_IS_ARM_M7(fam))
#define configCPU_FAMILY_IS_ARM_M33(fam) (((fam)==configCPU_FAMILY_ARM_M33) || ((fam)==configCPU_FAMILY_ARM_M33F))
#define configCPU_FAMILY_IS_ARM_FPU(fam) (((fam)==configCPU_FAMILY_ARM_M4F) || ((fam)==configCPU_FAMILY_ARM_M7F) || ((fam)==configCPU_FAMILY_ARM_M33F))
#define configCPU_FAMILY_IS_ARM(fam) (configCPU_FAMILY_IS_ARM_M0(fam) || configCPU_FAMILY_IS_ARM_M4(fam) || configCPU_FAMILY_IS_ARM_M7(fam) || configCPU_FAMILY_IS_ARM_M33(fam))
#if McuLib_CONFIG_CPU_IS_ARM_CORTEX_M
/* determine core based on library configuration */
#if McuLib_CONFIG_CORTEX_M==0
#define configCPU_FAMILY configCPU_FAMILY_ARM_M0P
#elif McuLib_CONFIG_CORTEX_M==3
#define configCPU_FAMILY configCPU_FAMILY_ARM_M3
#elif McuLib_CONFIG_CORTEX_M==4 && McuLib_CONFIG_FPU_PRESENT
#define configCPU_FAMILY configCPU_FAMILY_ARM_M4F
#elif McuLib_CONFIG_CORTEX_M==4
#define configCPU_FAMILY configCPU_FAMILY_ARM_M4
#elif McuLib_CONFIG_CORTEX_M==7 && McuLib_CONFIG_FPU_PRESENT
#define configCPU_FAMILY configCPU_FAMILY_ARM_M7F
#elif McuLib_CONFIG_CORTEX_M==7
#define configCPU_FAMILY configCPU_FAMILY_ARM_M7
#elif McuLib_CONFIG_CORTEX_M==33 && McuLib_CONFIG_FPU_PRESENT
#define configCPU_FAMILY configCPU_FAMILY_ARM_M33F
#elif McuLib_CONFIG_CORTEX_M==33
#define configCPU_FAMILY configCPU_FAMILY_ARM_M33
#else
#error "unsupported configuaration!"
#endif
#elif McuLib_CONFIG_CPU_IS_RISC_V
#define configCPU_FAMILY configCPU_FAMILY_RISC_V
#else /* default CPU family */
#define configCPU_FAMILY configCPU_FAMILY_ARM_M4F
#endif
#ifndef configENABLE_MPU
#define configENABLE_MPU (0 && (configCPU_FAMILY_IS_ARM_M4(configCPU_FAMILY)||configCPU_FAMILY_IS_ARM_M33(configCPU_FAMILY)))
/*!< 1: enable MPU support; 0: MPU support is disabled */
#endif
#ifndef configENABLE_FPU
#define configENABLE_FPU (1 && McuLib_CONFIG_FPU_PRESENT)
/*!< 1: enable FPU support; 0: FPU support is disabled */
#endif
#ifndef configENABLE_TRUSTZONE
#define configENABLE_TRUSTZONE (0 && configCPU_FAMILY_IS_ARM_M33(configCPU_FAMILY))
/*!< 1: enable ARM TrustZone support; 0: TrustZone support is disabled */
#endif
/*-----------------------------------------------------------
* GDB backtrace handler support
* See http://interactive.freertos.org/entries/23468301-Tasks-backtrace-switcher-viewer-snippet-for-debugger-gcc-gdb-ARM-Cortex-M3-MPU-port-Eclipse-support-
*----------------------------------------------------------*/
#ifndef configGDB_HELPER
#define configGDB_HELPER (0 && configCPU_FAMILY_IS_ARM(configCPU_FAMILY) && (configCOMPILER==configCOMPILER_ARM_GCC))
/*!< 1: enable special GDB stack backtrace debug helper; 0: disabled */
#endif
#ifndef configLTO_HELPER
#define configLTO_HELPER (1 && configCPU_FAMILY_IS_ARM(configCPU_FAMILY) && (configCOMPILER==configCOMPILER_ARM_GCC))
/*!< 1: enable special GNU Link Time Optimizer (-lto) debug helper code; 0: disabled */
#endif
#ifndef configHEAP_SCHEME_IDENTIFICATION
#define configHEAP_SCHEME_IDENTIFICATION (1 && configCPU_FAMILY_IS_ARM(configCPU_FAMILY))
/*!< 1: use constant freeRTOSMemoryScheme to identify memory scheme; 0: no constant used */
#endif
#ifndef configUSE_TOP_USED_PRIORITY
#define configUSE_TOP_USED_PRIORITY (1 && configCPU_FAMILY_IS_ARM(configCPU_FAMILY))
/*!< 1: Makes sure uxTopUsedPriority is present (needed for SEGGER and OpenOCD thread aware debugging); 0: no special reference to uxTopUsedPriority */
#endif
#ifndef configLINKER_HEAP_BASE_SYMBOL
#if McuLib_CONFIG_NXP_SDK_USED
#define configLINKER_HEAP_BASE_SYMBOL _pvHeapStart
#else
#define configLINKER_HEAP_BASE_SYMBOL __HeapBase
#endif
/*!< Linker symbol used to denote the base address of the heap, used for heap memory scheme 6 (newlib). (KDS: __HeapBase, MCUXpresso: _pvHeapStart) */
#endif
#ifndef configLINKER_HEAP_LIMIT_SYMBOL
#if McuLib_CONFIG_NXP_SDK_USED
#define configLINKER_HEAP_LIMIT_SYMBOL _pvHeapLimit
#else
#define configLINKER_HEAP_LIMIT_SYMBOL __HeapLimit
#endif
/*!< Linker symbol used to denote the limit address of the heap, used for heap memory scheme 6 (newlib). (KDS: __HeapLimit, MCUXpresso: _pvHeapLimit) */
#endif
#ifndef configLINKER_HEAP_SIZE_SYMBOL
#if McuLib_CONFIG_NXP_SDK_USED
#define configLINKER_HEAP_SIZE_SYMBOL _HeapSize
#else
#define configLINKER_HEAP_SIZE_SYMBOL __heap_size
#endif
/*!< Linker symbol used to denote the size of the heap, used for heap memory scheme 6 (newlib). (KDS: __heap_size, MCUXpresso: _HeapSize) */
#endif
#ifndef configUSE_SHELL
#define configUSE_SHELL (1)
/*!< 1: enable Shell and command line support; 0: disabled */
#endif
#ifndef configRESET_MSP
#define configRESET_MSP (1)
/*!< 1: reset MSP at scheduler start (Cortex M3/M4/M7 only); 0: do not reset MSP */
#endif
/*-----------------------------------------------------------
* FreeRTOS Trace hook support
*----------------------------------------------------------- */
#ifndef configUSE_PERCEPIO_TRACE_HOOKS
#define configUSE_PERCEPIO_TRACE_HOOKS 0 /* 1: Percepio Trace hooks, 0: not using Percepio Trace hooks */
#endif
#define configUSE_TRACE_HOOKS configUSE_PERCEPIO_TRACE_HOOKS /* legacy configUSE_TRACE_HOOKS should not be used any more */
#ifndef configUSE_SEGGER_SYSTEM_VIEWER_HOOKS
#define configUSE_SEGGER_SYSTEM_VIEWER_HOOKS 0 /* 1: Segger System Viewer hooks, 0: not using Segger System Viewer hooks */
#endif
#ifndef configUSE_SEGGER_SYSTEM_VIEWER_HEAP_EVENTS
#define configUSE_SEGGER_SYSTEM_VIEWER_HEAP_EVENTS (1 && configUSE_SEGGER_SYSTEM_VIEWER_HOOKS)
/*!< 1: Generate heap events for Segger SystemView, 0: not generate heap events */
#endif
#if configUSE_SEGGER_SYSTEM_VIEWER_HOOKS && configUSE_PERCEPIO_TRACE_HOOKS
#error "only one trace method can be active!"
#endif
/*----------------------------------------------------------- */
#endif /* __McuRTOS_CONFIG_H */