From 3fdef35f94835945f0956c2bf4255c5c4f9683f6 Mon Sep 17 00:00:00 2001 From: Josiitaa RL Date: Fri, 15 Nov 2024 13:39:00 +0530 Subject: [PATCH] Port vtm_app to FreeRTOS --- build/makerules/component.mk | 3 ++- examples/vtm/main.c | 43 ++++++++++++++++++++++++++++++++++-- examples/vtm/makefile | 10 +++++++-- 3 files changed, 51 insertions(+), 5 deletions(-) diff --git a/build/makerules/component.mk b/build/makerules/component.mk index 4c0d443..0241d2d 100755 --- a/build/makerules/component.mk +++ b/build/makerules/component.mk @@ -957,7 +957,8 @@ vtm_app_RELPATH = examples/vtm vtm_app_PATH= $(sdl_PATH)/$(vtm_app_RELPATH) vtm_app_PLATFORM_DEPENDENCY = yes vtm_app_SOCLIST = $(DEFAULT_SOCLIST) -export vtm_app_OSLIST = $(DEFAULT_OSLIST) +vtm_app_OSLIST = baremetal freertos +export vtm_app_OSLIST export vtm_app_SOCLIST export vtm_app_PLATFORM_DEPENDENCY export vtm_app_SBL_APPIMAGEGEN = yes diff --git a/examples/vtm/main.c b/examples/vtm/main.c index 8d62bc6..d99933f 100644 --- a/examples/vtm/main.c +++ b/examples/vtm/main.c @@ -66,6 +66,15 @@ #define SDLR_WKUP_ESM0_ESM_LVL_EVENT_WKUP_VTM0_THERM_LVL_LT_TH0_INTR_0 (9U) #define APP_ARG (1) +#if defined (FREERTOS) || defined (SAFERTOS) +#define APP_TSK_STACK_MAIN (32U * 1024U) +/**< Test application stack size */ +#endif +#if defined (FREERTOS) +/* Test application stack */ +static uint8_t gAppTskStackMain[APP_TSK_STACK_MAIN] +__attribute__ ((aligned(8192))); +#endif /* #define DEBUG */ static uint32_t totalEventsLogged = 0; @@ -538,7 +547,7 @@ void vtm_example_test_app_runner(void) return; } -int32_t main(void) +void testFxn(void *a0, void *a1) { int32_t testResult; /* Init Board */ @@ -555,9 +564,39 @@ int32_t main(void) { UART_printStatus("\r\nBoard Init failed. Exiting the app.\r\n"); } - while (true) + // while (true) + // { + // } +} + +int32_t main(void) +{ +#if defined (FREERTOS) || defined (SAFERTOS) + TaskP_Handle task; + TaskP_Params taskParams; + + OS_init(); + + /* Initialize the task params */ + TaskP_Params_init(&taskParams); + /* Set the task priority higher than the default priority (1) */ + taskParams.priority = 2; + taskParams.stack = gAppTskStackMain; + taskParams.stacksize = sizeof (gAppTskStackMain); + + task = TaskP_create(testFxn, &taskParams); + if(NULL == task) { + OS_stop(); } + OS_start(); /* does not return */ + + return(0); +#else + testFxn(NULL, NULL); + + return (0); +#endif } /* Nothing past this point */ diff --git a/examples/vtm/makefile b/examples/vtm/makefile index f063a9f..18e797d 100755 --- a/examples/vtm/makefile +++ b/examples/vtm/makefile @@ -40,11 +40,17 @@ EXT_LIB_LIST_COMMON += $(board_LIBPATH)/$(BOARD)/$(ISA_EXT)/$(PROFILE)/$(board_L EXT_LIB_LIST_COMMON += $(i2c_LIBPATH)/$(SOC)/$(ISA_EXT)/$(PROFILE)/$(i2c_LIBNAME).$(LIBEXT) EXT_LIB_LIST_COMMON += $(sciclient_direct_LIBPATH)/$(SOC)/$(BUILD_CORE)/$(PROFILE)/$(sciclient_direct_LIBNAME).$(LIBEXT) EXT_LIB_LIST_COMMON += $(rm_pm_hal_LIBPATH)/$(SOC)/$(BUILD_CORE)/$(PROFILE)/$(rm_pm_hal_LIBNAME).$(LIBEXT) -EXT_LIB_LIST_COMMON += $(osal_nonos_LIBPATH)/$(SOC)/$(ISA_EXT)/$(PROFILE)/$(osal_nonos_LIBNAME).$(LIBEXT) +#EXT_LIB_LIST_COMMON += $(osal_nonos_LIBPATH)/$(SOC)/$(ISA_EXT)/$(PROFILE)/$(osal_nonos_LIBNAME).$(LIBEXT) EXT_LIB_LIST_COMMON += $(uart_LIBPATH)/$(SOC)/$(ISA_EXT)/$(PROFILE)/$(uart_LIBNAME).$(LIBEXT) EXT_LIB_LIST_COMMON += $(csl_LIBPATH)/$(SOC)/$(ISA_EXT)/$(PROFILE)/$(csl_LIBNAME).$(LIBEXT) EXT_LIB_LIST_COMMON += $(csl_init_LIBPATH)/$(SOC)/$(ISA_EXT)/$(PROFILE)/$(csl_init_LIBNAME).$(LIBEXT) - +ifeq ($(BUILD_OS_TYPE),$(filter $(BUILD_OS_TYPE), baremetal)) + EXT_LIB_LIST_COMMON += $(osal_nonos_LIBPATH)/$(SOC)/$(ISA_EXT)/$(PROFILE)/$(osal_nonos_LIBNAME).$(LIBEXT) +endif +ifeq ($(BUILD_OS_TYPE),$(filter $(BUILD_OS_TYPE), freertos)) + EXT_LIB_LIST_COMMON += $(freertos_LIBPATH)/$(SOC)/$(BUILD_CORE)/$(PROFILE)/$(freertos_LIBNAME).$(LIBEXT) + EXT_LIB_LIST_COMMON += $(osal_freertos_LIBPATH)/$(SOC)/$(ISA_EXT)/$(PROFILE)/$(osal_freertos_LIBNAME).$(LIBEXT) +endif # Common source files and CFLAGS across all platforms and cores PACKAGE_SRCS_COMMON = . CFLAGS_LOCAL_COMMON = $(SDL_CFLAGS) -DUNITY_INCLUDE_CONFIG_H -- 2.34.1