diff --git a/MODULES/CanSerialPortFrame_Flagchip_FC7240/Src/CanSerialPortFrame.c b/MODULES/CanSerialPortFrame_Flagchip_FC7240/Src/CanSerialPortFrame.c index d7195cc..2e9f925 100644 --- a/MODULES/CanSerialPortFrame_Flagchip_FC7240/Src/CanSerialPortFrame.c +++ b/MODULES/CanSerialPortFrame_Flagchip_FC7240/Src/CanSerialPortFrame.c @@ -365,7 +365,9 @@ bool vCanSerialPortFrameMbInit( env->tInitCfg.eClkSrcSel = FLEXCAN_CLOCK_FUNCTION; // functional clock env->tInitCfg.eClkSrcHz = (FLEXCAN_BaudClkType) u32FuncClk; // function clock frequency +// __disable_irq(); tRetVal = FLEXCAN_Init(CAN_INDEX, &env->tInitCfg); +// __enable_irq(); if (tRetVal == FLEXCAN_ERROR_OK) { diff --git a/MODULES/CanSerialPortFrame_TP/Inc/CanSerialPortFrameTP.h b/MODULES/CanSerialPortFrame_TP/Inc/CanSerialPortFrameTP.h index bc210ae..e51937e 100644 --- a/MODULES/CanSerialPortFrame_TP/Inc/CanSerialPortFrameTP.h +++ b/MODULES/CanSerialPortFrame_TP/Inc/CanSerialPortFrameTP.h @@ -118,7 +118,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } threadCanListener; diff --git a/MODULES/CanSerialPortFrame_TP/Src/CanSerialPortFrameTP.c b/MODULES/CanSerialPortFrame_TP/Src/CanSerialPortFrameTP.c index 256e2e3..f0882ca 100644 --- a/MODULES/CanSerialPortFrame_TP/Src/CanSerialPortFrameTP.c +++ b/MODULES/CanSerialPortFrame_TP/Src/CanSerialPortFrameTP.c @@ -8,6 +8,7 @@ #include "SystemMutexCmsis.h" #include "CanPorts.h" #include +#include "MainStack.h" #define LOG_SIGN "CAN_TP" #define LOGGER env->logger @@ -527,8 +528,13 @@ void CanSerialPortFrameTpInit( env->logger = logger; // InitThreadBlock(env->T_can_Listener, "CanTpUds", osPriorityNormal); - InitThreadAtrStatic(&env->threadCanListener.attr, "CanTpUds", env->threadCanListener.controlBlock, env->threadCanListener.stack, - osPriorityNormal); + + env->threadCanListener.stack = tCanSerialPortFrameTp_stack; + InitThreadAtr(&env->threadCanListener.attr,"CanSpamDebugRec",&env->threadCanListener.controlBlock,sizeof(env->threadCanListener.controlBlock),env->threadCanListener.stack,tCanSerialPortFrameTp_stack_size,osPriorityNormal); + env->threadCanListener.id = 0; + +// InitThreadAtrStatic(&env->threadCanListener.attr, "CanTpUds", env->threadCanListener.controlBlock, env->threadCanListener.stack, +// osPriorityNormal); } diff --git a/MODULES/CanSerialPortFrame_XCP/Inc/CanSerialPortFrameXCP.h b/MODULES/CanSerialPortFrame_XCP/Inc/CanSerialPortFrameXCP.h index f242901..1a70a28 100644 --- a/MODULES/CanSerialPortFrame_XCP/Inc/CanSerialPortFrameXCP.h +++ b/MODULES/CanSerialPortFrame_XCP/Inc/CanSerialPortFrameXCP.h @@ -653,7 +653,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread_Listener_XCP; diff --git a/MODULES/CanSerialPortFrame_XCP/Src/CanSerialPortFrameXCP.c b/MODULES/CanSerialPortFrame_XCP/Src/CanSerialPortFrameXCP.c index fea907a..854a7eb 100644 --- a/MODULES/CanSerialPortFrame_XCP/Src/CanSerialPortFrameXCP.c +++ b/MODULES/CanSerialPortFrame_XCP/Src/CanSerialPortFrameXCP.c @@ -8,6 +8,7 @@ #include "SystemMutexCmsis.h" #include "CanPorts.h" #include +#include "MainStack.h" #define LOG_SIGN "CAN_XCP" #define LOGGER env->logger @@ -1908,7 +1909,14 @@ _Noreturn void CanXcpProcessing_ListenerTask(tCanSerialPortFrameXCP *env) { void CanXcpProcessing_Listener_Start(tCanSerialPortFrameXCP *env) { // ThreadBlock_Start(env->T_can_Listener_XCP, env, CanXcpProcessing_ListenerTask); if (!env->thread_Listener_XCP.id) { - env->thread_Listener_XCP.id = osThreadNew((osThreadFunc_t) (CanXcpProcessing_ListenerTask), (void *) (env), &env->thread_Listener_XCP.attr); +// env->thread_Listener_XCP.id = osThreadNew((osThreadFunc_t) (CanXcpProcessing_ListenerTask), (void *) (env), &env->thread_Listener_XCP.attr); + + + env->thread_Listener_XCP.stack = tCanSerialPortFrameXCP_stack; + InitThreadAtr(&env->thread_Listener_XCP.attr,"CanXCP",&env->thread_Listener_XCP.controlBlock,sizeof(env->thread_Listener_XCP.controlBlock),env->thread_Listener_XCP.stack,tCanSerialPortFrameXCP_stack_size,osPriorityNormal); + env->thread_Listener_XCP.id = 0; + + } // CanXcpProcessing_Service_Start(env); diff --git a/MODULES/CmakeConfig_RandomBuildIdGenerator/VersionRandID.h b/MODULES/CmakeConfig_RandomBuildIdGenerator/VersionRandID.h index 5ac4492..773d072 100644 --- a/MODULES/CmakeConfig_RandomBuildIdGenerator/VersionRandID.h +++ b/MODULES/CmakeConfig_RandomBuildIdGenerator/VersionRandID.h @@ -1 +1 @@ -#define VERSION_RANDOM_BUILD_IDENTIFIER "SbbbJ" +#define VERSION_RANDOM_BUILD_IDENTIFIER "vasYn" diff --git a/MODULES/HVAC_M7_ADC_TASKS/AdcTasks.c b/MODULES/HVAC_M7_ADC_TASKS/AdcTasks.c index 8a03d0b..85dcad6 100644 --- a/MODULES/HVAC_M7_ADC_TASKS/AdcTasks.c +++ b/MODULES/HVAC_M7_ADC_TASKS/AdcTasks.c @@ -7,6 +7,7 @@ #include "memory.h" #include "ADC_Temp.h" #include "ADC_Temp_Fast.h" +#include "MainStack.h" #define LOG_SIGN "ADC" @@ -67,8 +68,12 @@ void Adc_0_Init(tAdc0Task *env, ADC_Filter_Init(&env->ADC0_Filter_data.BTS5180_2EKA_ChannelPTCPower2, MAX_ADC_FILTER_SIZE); - InitThreadAtrStatic(&env->thread.attr, "Adc0", env->thread.controlBlock, env->thread.stack, - osPriorityNormal); + env->thread.stack = tAdc0Task_stack; + InitThreadAtr(&env->thread.attr,"Adc0",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tAdc0Task_stack_size,osPriorityNormal); + env->thread.id = 0; + +// InitThreadAtrStatic(&env->thread.attr, "Adc0", env->thread.controlBlock, env->thread.stack, +// osPriorityNormal); } void BTS5180_120(tAdc0Task *env, char *desc, uint16_t adc_value) { @@ -625,8 +630,12 @@ void Adc_1_Init(tAdc1Task *env, ADC_Filter_Init(&env->ADC1_Filter_data.VN7008AJ_FrontLINActuatorPowerDriverAB, MAX_ADC_FILTER_SIZE); ADC_Filter_Init(&env->ADC1_Filter_data.VN7008AJ_RearLINActuatorPowerDriverC, MAX_ADC_FILTER_SIZE); - InitThreadAtrStatic(&env->thread.attr, "Adc1", env->thread.controlBlock, env->thread.stack, - osPriorityNormal); + env->thread.stack = tAdc1Task_stack; + InitThreadAtr(&env->thread.attr,"Adc1",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tAdc1Task_stack_size,osPriorityNormal); + env->thread.id = 0; + +// InitThreadAtrStatic(&env->thread.attr, "Adc1", env->thread.controlBlock, env->thread.stack, +// osPriorityNormal); } diff --git a/MODULES/HVAC_M7_ADC_TASKS/AdcTasks.h b/MODULES/HVAC_M7_ADC_TASKS/AdcTasks.h index de08d71..e56866a 100644 --- a/MODULES/HVAC_M7_ADC_TASKS/AdcTasks.h +++ b/MODULES/HVAC_M7_ADC_TASKS/AdcTasks.h @@ -224,7 +224,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; @@ -262,7 +263,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; diff --git a/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugReceiver.c b/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugReceiver.c index 28c7f81..f6b0317 100644 --- a/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugReceiver.c +++ b/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugReceiver.c @@ -7,6 +7,7 @@ #include "CanPorts.h" #include "string.h" #include "HVAC_model.h" +#include "MainStack.h" #define LOG_SIGN "CAN_DEBUG_RECEIVED" #define LOGGER env->logger @@ -19,8 +20,12 @@ void CanSpamDebugReceiver_Init(tCanSpamDebugReceiver *env, env->logger = logger; env->access = osMutexNew(NULL); - InitThreadAtrStatic(&env->thread.attr, "CanSpamDebugRec", env->thread.controlBlock, env->thread.stack, - osPriorityNormal); + env->thread.stack = tCanSpamDebugReceiver_stack; + InitThreadAtr(&env->thread.attr,"CanSpamDebugRec",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tCanSpamDebugReceiver_stack_size,osPriorityNormal); + env->thread.id = 0; + +// InitThreadAtrStatic(&env->thread.attr, "CanSpamDebugRec", env->thread.controlBlock, env->thread.stack, +// osPriorityNormal); } static void ListenCanSpamDebugReceiver(tCanSpamDebugReceiver *env) { diff --git a/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugReceiver.h b/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugReceiver.h index d00cb53..197e6da 100644 --- a/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugReceiver.h +++ b/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugReceiver.h @@ -21,7 +21,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; diff --git a/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugTransmitter.c b/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugTransmitter.c index 978255c..9e0267e 100644 --- a/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugTransmitter.c +++ b/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugTransmitter.c @@ -9,6 +9,7 @@ #include "HVAC_model.h" #include "candb_dbg_fixed.h" #include "StatusData.h" +#include "MainStack.h" extern tStatus_Set_For_Model model_Status_Set_For_Model_output; extern tStatus_Pwm_For_Model model_Status_Pwm_For_Model_output; @@ -34,8 +35,14 @@ void CanSpamDebugTransmitter_Init(tCanSpamDebugTransmitter *env, env->queue_ccu_candb_dbg_tx = osMessageQueueNew(1, sizeof(ccu_candb_dbg_tx_t), NULL); - InitThreadAtrStatic(&env->thread.attr, "CanSpamDebugTrans", env->thread.controlBlock, env->thread.stack, - osPriorityNormal); + + env->thread.stack = tCanSpamDebugTransmitter_stack; + InitThreadAtr(&env->thread.attr,"CanSpamDebugTrans",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tCanSpamDebugTransmitter_stack_size,osPriorityNormal); + env->thread.id = 0; + + +// InitThreadAtrStatic(&env->thread.attr, "CanSpamDebugTrans", env->thread.controlBlock, env->thread.stack, +// osPriorityNormal); } diff --git a/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugTransmitter.h b/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugTransmitter.h index 9f80f47..4e8af94 100644 --- a/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugTransmitter.h +++ b/MODULES/HVAC_M7_CAN_DEBUG_SPAM/CanSpamDebugTransmitter.h @@ -168,7 +168,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; diff --git a/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.c b/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.c index ae84265..a77bb1d 100644 --- a/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.c +++ b/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.c @@ -7,6 +7,7 @@ #include "CanPorts.h" #include "string.h" #include "HVAC_model.h" +#include "MainStack.h" #define LOG_SIGN "CAN_RECEIVED" #define LOGGER env->logger @@ -32,8 +33,12 @@ void CanSpamReceiver_Init(tCanSpamReceiver *env, env->ccu_candb_rx_HVC_Err_Status_Msg = osMessageQueueNew(1, sizeof(ccu_candb_rx.HVC_Err_Status_Msg), NULL); - InitThreadAtrStatic(&env->thread.attr, "CanSpamRec", env->thread.controlBlock, env->thread.stack, - osPriorityNormal); + env->thread.stack = tCanSpamReceiver_stack; + InitThreadAtr(&env->thread.attr,"CanSpamRec",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tCanSpamReceiver_stack_size,osPriorityNormal); + env->thread.id = 0; + +// InitThreadAtrStatic(&env->thread.attr, "CanSpamRec", env->thread.controlBlock, env->thread.stack, +// osPriorityNormal); } static void set_CanSpamReceiver(tCanSpamReceiver *env, uint32_t recid) { diff --git a/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.h b/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.h index ceb76e7..e7fe9cc 100644 --- a/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.h +++ b/MODULES/HVAC_M7_CAN_SPAM/CanSpamReceiver.h @@ -32,7 +32,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; diff --git a/MODULES/HVAC_M7_CAN_SPAM/CanSpamTransmitter.c b/MODULES/HVAC_M7_CAN_SPAM/CanSpamTransmitter.c index 21d4e7e..4315d44 100644 --- a/MODULES/HVAC_M7_CAN_SPAM/CanSpamTransmitter.c +++ b/MODULES/HVAC_M7_CAN_SPAM/CanSpamTransmitter.c @@ -7,6 +7,7 @@ #include "CanPorts.h" #include "memory.h" #include "HVAC_model.h" +#include "MainStack.h" #define LOG_SIGN "CAN_TRANSMITTER" #define LOGGER env->logger @@ -21,8 +22,12 @@ void CanSpamTransmitter_Init(tCanSpamTransmitter *env, env->queue_ccu_candb_tx = osMessageQueueNew(1, sizeof(ccu_candb_tx_t), NULL); - InitThreadAtrStatic(&env->thread.attr, "CanSpamTrans", env->thread.controlBlock, env->thread.stack, - osPriorityNormal); + env->thread.stack = tCanSpamTransmitter_stack; + InitThreadAtr(&env->thread.attr,"CanSpamTrans",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tCanSpamTransmitter_stack_size,osPriorityNormal); + env->thread.id = 0; + +// InitThreadAtrStatic(&env->thread.attr, "CanSpamTrans", env->thread.controlBlock, env->thread.stack, +// osPriorityNormal); } diff --git a/MODULES/HVAC_M7_CAN_SPAM/CanSpamTransmitter.h b/MODULES/HVAC_M7_CAN_SPAM/CanSpamTransmitter.h index 09f1cb7..4c03a22 100644 --- a/MODULES/HVAC_M7_CAN_SPAM/CanSpamTransmitter.h +++ b/MODULES/HVAC_M7_CAN_SPAM/CanSpamTransmitter.h @@ -73,7 +73,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; diff --git a/MODULES/HVAC_M7_CAN_UDS/CanUds.c b/MODULES/HVAC_M7_CAN_UDS/CanUds.c index 5870a18..3ec8329 100644 --- a/MODULES/HVAC_M7_CAN_UDS/CanUds.c +++ b/MODULES/HVAC_M7_CAN_UDS/CanUds.c @@ -16,6 +16,7 @@ #include "EraseMemory.h" #include "InternalFlashPage.h" #include "BootJump.h" +#include "MainStack.h" #define LOG_SIGN "CAN_UDS" #define LOGGER env->logger @@ -2920,8 +2921,13 @@ void CanUds_Init( env->currentSession = UDS_session_defaultSession; statusData.Status_Active_Diagnostic_Session.Active_Diagnostic_Session = UDS_session_defaultSession; + + env->thread_Uds.stack = tCanUds_stack; + InitThreadAtr(&env->thread_Uds.attr,"UdsTester",&env->thread_Uds.controlBlock,sizeof(env->thread_Uds.controlBlock),env->thread_Uds.stack,tCanUds_stack_size,osPriorityNormal); + env->thread_Uds.id = 0; + // InitThreadBlock(env->T_can_Uds, "UdsTester", osPriorityNormal); - InitThreadAtrStatic(&env->thread_Uds.attr, "UdsTester", env->thread_Uds.controlBlock, env->thread_Uds.stack, - osPriorityNormal); +// InitThreadAtrStatic(&env->thread_Uds.attr, "UdsTester", env->thread_Uds.controlBlock, env->thread_Uds.stack, +// osPriorityNormal); }; \ No newline at end of file diff --git a/MODULES/HVAC_M7_CAN_UDS/CanUds.h b/MODULES/HVAC_M7_CAN_UDS/CanUds.h index 31b7f71..bf7a971 100644 --- a/MODULES/HVAC_M7_CAN_UDS/CanUds.h +++ b/MODULES/HVAC_M7_CAN_UDS/CanUds.h @@ -289,7 +289,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread_Uds; diff --git a/MODULES/HVAC_M7_Command/CommandLines.c b/MODULES/HVAC_M7_Command/CommandLines.c index 759074e..5b7a80e 100644 --- a/MODULES/HVAC_M7_Command/CommandLines.c +++ b/MODULES/HVAC_M7_Command/CommandLines.c @@ -10,6 +10,7 @@ #include "math.h" #include "stdlib.h" #include "fc7xxx_driver_rgm.h" +#include "MainStack.h" int32_t CliCmd_baseCommandHelp(void *env, tCliCmd *cli) { @@ -41,9 +42,12 @@ void CommandLine_Init(tCommandLine *env, tLoggerToSerialPort *loggerToSerialPort CliRedirectionTable_RecAddStatic(&env->redirectTable, "mem", vTaskGetRunTime, env); CliRedirectionTable_RecAddStatic(&env->redirectTable, "reboot", CliCmd_baseCommandReboot, NULL); + env->thread.stack = tCommandLine_stack; + InitThreadAtr(&env->thread.attr,"CommandLine",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tCommandLine_stack_size,osPriorityNormal); + env->thread.id = 0; - InitThreadAtrStatic(&env->thread.attr, "CommandLine", env->thread.controlBlock, env->thread.stack, - osPriorityNormal); +// InitThreadAtrStatic(&env->thread.attr, "CommandLine", env->thread.controlBlock, env->thread.stack, +// osPriorityNormal); } void ListenCLICommand(tCommandLine *env) { diff --git a/MODULES/HVAC_M7_Command/CommandLines.h b/MODULES/HVAC_M7_Command/CommandLines.h index 4bb4d1f..4321dc4 100644 --- a/MODULES/HVAC_M7_Command/CommandLines.h +++ b/MODULES/HVAC_M7_Command/CommandLines.h @@ -26,7 +26,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[400]; + //uint32_t stack[400]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; diff --git a/MODULES/HVAC_M7_DebugTesting/MainModesArbiter.c b/MODULES/HVAC_M7_DebugTesting/MainModesArbiter.c index 817166f..71ba547 100644 --- a/MODULES/HVAC_M7_DebugTesting/MainModesArbiter.c +++ b/MODULES/HVAC_M7_DebugTesting/MainModesArbiter.c @@ -8,6 +8,7 @@ #include "LinActuatorWork.h" #include "StatusError.h" #include "ADC_Temp.h" +#include "MainStack.h" const char LOG_TASK_ARB[] = "Arb"; @@ -33,7 +34,11 @@ void Mma_Init( env->flash = flash; env->pwms = pwms; - InitThreadAtrStatic(&env->thread.attr, "Mma", env->thread.controlBlock, env->thread.stack, osPriorityNormal); + env->thread.stack = tMma_stack; + InitThreadAtr(&env->thread.attr,"Mma",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tMma_stack_size,osPriorityNormal); + env->thread.id = 0; + +// InitThreadAtrStatic(&env->thread.attr, "Mma", env->thread.controlBlock, env->thread.stack, osPriorityNormal); env->thread.id = 0; } diff --git a/MODULES/HVAC_M7_DebugTesting/MainModesArbiter.h b/MODULES/HVAC_M7_DebugTesting/MainModesArbiter.h index 838008d..fbe519d 100644 --- a/MODULES/HVAC_M7_DebugTesting/MainModesArbiter.h +++ b/MODULES/HVAC_M7_DebugTesting/MainModesArbiter.h @@ -82,7 +82,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[512]; + //uint32_t stack[512]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; diff --git a/MODULES/HVAC_M7_DebugTesting/MainStack.c b/MODULES/HVAC_M7_DebugTesting/MainStack.c new file mode 100644 index 0000000..5f80b3f --- /dev/null +++ b/MODULES/HVAC_M7_DebugTesting/MainStack.c @@ -0,0 +1,28 @@ +// +// Created by cfif on 24.08.2026. +// +#include "MainStack.h" + +uint32_t __attribute__((section(".stack_data"))) tCanSpamDebugReceiver_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tCanSerialPortFrameTp_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tCanSerialPortFrameXCP_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tAdc0Task_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tAdc1Task_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tCanSpamDebugTransmitter_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tCanSpamReceiver_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tCanSpamTransmitter_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tCanUds_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tCommandLine_stack[400]; +uint32_t __attribute__((section(".stack_data"))) tMma_stack[512]; +//uint32_t __attribute__((section(".stack_data"))) tIndication_stack[128]; +uint32_t __attribute__((section(".stack_data"))) tLin1TaskActuator_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tLin2TaskActuator_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tLin3TaskActuator_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tLin4TaskSensor_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tLin5TaskSensor_stack[384]; + +//uint32_t __attribute__((section(".stack_data"))) tModelTask_stack[1024]; +uint32_t tModelTask_stack[1024]; + +uint32_t __attribute__((section(".stack_data"))) tLoggerToSerialPort_stack[384]; +uint32_t __attribute__((section(".stack_data"))) tVarsTabDumpObserver_stack[384]; diff --git a/MODULES/HVAC_M7_DebugTesting/MainStack.h b/MODULES/HVAC_M7_DebugTesting/MainStack.h new file mode 100644 index 0000000..2695caf --- /dev/null +++ b/MODULES/HVAC_M7_DebugTesting/MainStack.h @@ -0,0 +1,60 @@ +// +// Created by cfif on 24.08.2026. +// + +#ifndef HVAC_M7_MAINSTACK_H +#define HVAC_M7_MAINSTACK_H + +#include "inttypes.h" + + +extern uint32_t __attribute__((section(".stack_data"))) tCanSpamDebugReceiver_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tCanSerialPortFrameTp_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tCanSerialPortFrameXCP_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tAdc0Task_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tAdc1Task_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tCanSpamDebugTransmitter_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tCanSpamReceiver_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tCanSpamTransmitter_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tCanUds_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tCommandLine_stack[400]; +extern uint32_t __attribute__((section(".stack_data"))) tMma_stack[512]; +//extern uint32_t __attribute__((section(".stack_data"))) tIndication_stack[128]; +extern uint32_t __attribute__((section(".stack_data"))) tLin1TaskActuator_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tLin2TaskActuator_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tLin3TaskActuator_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tLin4TaskSensor_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tLin5TaskSensor_stack[384]; + + +//extern uint32_t __attribute__((section(".stack_data"))) tModelTask_stack[1024]; +extern uint32_t tModelTask_stack[1024]; + +extern uint32_t __attribute__((section(".stack_data"))) tLoggerToSerialPort_stack[384]; +extern uint32_t __attribute__((section(".stack_data"))) tVarsTabDumpObserver_stack[384]; + + + +#define tCanSpamDebugReceiver_stack_size sizeof(tCanSpamDebugReceiver_stack) +#define tCanSerialPortFrameTp_stack_size sizeof(tCanSerialPortFrameTp_stack) +#define tCanSerialPortFrameXCP_stack_size sizeof(tCanSerialPortFrameXCP_stack) +#define tAdc0Task_stack_size sizeof(tAdc0Task_stack) +#define tAdc1Task_stack_size sizeof(tAdc1Task_stack) +#define tCanSpamDebugTransmitter_stack_size sizeof(tCanSpamDebugTransmitter_stack) +#define tCanSpamReceiver_stack_size sizeof(tCanSpamReceiver_stack) +#define tCanSpamTransmitter_stack_size sizeof(tCanSpamTransmitter_stack) +#define tCanUds_stack_size sizeof(tCanUds_stack) +#define tCommandLine_stack_size sizeof(tCommandLine_stack) +#define tMma_stack_size sizeof(tMma_stack) +//#define tIndication_stack_size sizeof(tIndication_stack) +#define tLin1TaskActuator_stack_size sizeof(tLin1TaskActuator_stack) +#define tLin2TaskActuator_stack_size sizeof(tLin2TaskActuator_stack) +#define tLin3TaskActuator_stack_size sizeof(tLin3TaskActuator_stack) +#define tLin4TaskSensor_stack_size sizeof(tLin4TaskSensor_stack) +#define tLin5TaskSensor_stack_size sizeof(tLin5TaskSensor_stack) +#define tModelTask_stack_size sizeof(tModelTask_stack) +#define tLoggerToSerialPort_stack_size sizeof(tLoggerToSerialPort_stack) +#define tVarsTabDumpObserver_stack_size sizeof(tVarsTabDumpObserver_stack) + + +#endif //HVAC_M7_MAINSTACK_H diff --git a/MODULES/HVAC_M7_Indication/Indication.c b/MODULES/HVAC_M7_Indication/Indication.c index f719e98..6ad065c 100644 --- a/MODULES/HVAC_M7_Indication/Indication.c +++ b/MODULES/HVAC_M7_Indication/Indication.c @@ -4,6 +4,7 @@ #include "Indication.h" #include #include +#include "MainStack.h" tStringStatic eDeviceModesNames[] = { StringStaticInit("Запуск"), @@ -24,8 +25,15 @@ void Indication_Init( env->mode = initMode; Indication_Update(env); - InitThreadAtrStatic(&env->thread.attr, "Indication", env->thread.controlBlock, env->thread.stack, osPriorityNormal); - env->thread.id = 0; + +// env->thread.stack = tIndication_stack; +// InitThreadAtr(&env->thread.attr,"Indication",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tIndication_stack_size,osPriorityNormal); +// env->thread.id = 0; + + + +// InitThreadAtrStatic(&env->thread.attr, "Indication", env->thread.controlBlock, env->thread.stack, osPriorityNormal); +// env->thread.id = 0; } void Indication_SetMode(tIndication *env, eHvacDevModes mode) { diff --git a/MODULES/HVAC_M7_Indication/Indication.h b/MODULES/HVAC_M7_Indication/Indication.h index 862b83a..bac34fd 100644 --- a/MODULES/HVAC_M7_Indication/Indication.h +++ b/MODULES/HVAC_M7_Indication/Indication.h @@ -21,7 +21,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[128]; + //uint32_t stack[128]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; diff --git a/MODULES/HVAC_M7_LIN_TASKS/LinActuatorTasks.c b/MODULES/HVAC_M7_LIN_TASKS/LinActuatorTasks.c index af420d1..b1898dd 100644 --- a/MODULES/HVAC_M7_LIN_TASKS/LinActuatorTasks.c +++ b/MODULES/HVAC_M7_LIN_TASKS/LinActuatorTasks.c @@ -11,6 +11,7 @@ #include "string.h" #include "LinActuatorWork.h" #include "HVAC_model.h" +#include "MainStack.h" //#define LOG_SIGN "Lin0" #define LOGGER env->logger @@ -1167,8 +1168,12 @@ void Lin_1_Init(tLinTaskActuator *env, memcpy(env->SIGN_LOG, "Ln1 ", sizeof("Ln1 ") - 1); - InitThreadAtrStatic(&env->threadLin.attr, "Ln1", env->threadLin.controlBlock, env->threadLin.stack, - osPriorityNormal); + env->threadLin.stack = tLin1TaskActuator_stack; + InitThreadAtr(&env->threadLin.attr,"Ln1",&env->threadLin.controlBlock,sizeof(env->threadLin.controlBlock),env->threadLin.stack,tLin1TaskActuator_stack_size,osPriorityNormal); + env->threadLin.id = 0; + +// InitThreadAtrStatic(&env->threadLin.attr, "Ln1", env->threadLin.controlBlock, env->threadLin.stack, +// osPriorityNormal); } @@ -1251,8 +1256,12 @@ void Lin_2_Init(tLinTaskActuator *env, memcpy(env->SIGN_LOG, "Ln2 ", sizeof("Ln2 ") - 1); - InitThreadAtrStatic(&env->threadLin.attr, "Ln2", env->threadLin.controlBlock, env->threadLin.stack, - osPriorityNormal); + env->threadLin.stack = tLin2TaskActuator_stack; + InitThreadAtr(&env->threadLin.attr,"Ln2",&env->threadLin.controlBlock,sizeof(env->threadLin.controlBlock),env->threadLin.stack,tLin2TaskActuator_stack_size,osPriorityNormal); + env->threadLin.id = 0; + +// InitThreadAtrStatic(&env->threadLin.attr, "Ln2", env->threadLin.controlBlock, env->threadLin.stack, +// osPriorityNormal); } @@ -1332,8 +1341,12 @@ void Lin_3_Init(tLinTaskActuator *env, memcpy(env->SIGN_LOG, "Ln3 ", sizeof("Ln3 ") - 1); - InitThreadAtrStatic(&env->threadLin.attr, "Ln3", env->threadLin.controlBlock, env->threadLin.stack, - osPriorityNormal); + env->threadLin.stack = tLin3TaskActuator_stack; + InitThreadAtr(&env->threadLin.attr,"Ln3",&env->threadLin.controlBlock,sizeof(env->threadLin.controlBlock),env->threadLin.stack,tLin3TaskActuator_stack_size,osPriorityNormal); + env->threadLin.id = 0; + +// InitThreadAtrStatic(&env->threadLin.attr, "Ln3", env->threadLin.controlBlock, env->threadLin.stack, +// osPriorityNormal); } diff --git a/MODULES/HVAC_M7_LIN_TASKS/LinActuatorTasks.h b/MODULES/HVAC_M7_LIN_TASKS/LinActuatorTasks.h index 5bc5c6b..da160f0 100644 --- a/MODULES/HVAC_M7_LIN_TASKS/LinActuatorTasks.h +++ b/MODULES/HVAC_M7_LIN_TASKS/LinActuatorTasks.h @@ -474,7 +474,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } threadLin; diff --git a/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.c b/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.c index 17b082d..171f545 100644 --- a/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.c +++ b/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.c @@ -9,6 +9,7 @@ #include "Lins.h" #include "LoggerInterface.h" #include "memory.h" +#include "MainStack.h" #define LOG_SIGN4 "Ln4" @@ -493,8 +494,12 @@ void Lin_4_Init(tLin4TaskSensor *env, env->queue_input_Lin4_Stat = osMessageQueueNew(1, sizeof(SensorLin4CmdBusInput), NULL); - InitThreadAtrStatic(&env->threadLin.attr, "Ln4", env->threadLin.controlBlock, env->threadLin.stack, - osPriorityNormal); + env->threadLin.stack = tLin4TaskSensor_stack; + InitThreadAtr(&env->threadLin.attr,"Ln4",&env->threadLin.controlBlock,sizeof(env->threadLin.controlBlock),env->threadLin.stack,tLin4TaskSensor_stack_size,osPriorityNormal); + env->threadLin.id = 0; + +// InitThreadAtrStatic(&env->threadLin.attr, "Ln4", env->threadLin.controlBlock, env->threadLin.stack, +// osPriorityNormal); } @@ -868,8 +873,12 @@ void Lin_5_Init(tLin5TaskSensor *env, env->queue_led_count = osMessageQueueNew(1, sizeof(env->linStateSensor.LED_COUNT), NULL); env->queue_led_input_model_count = osMessageQueueNew(1, sizeof(LinStateSensorModel), NULL); - InitThreadAtrStatic(&env->threadLin.attr, "Ln5", env->threadLin.controlBlock, env->threadLin.stack, - osPriorityNormal); + env->threadLin.stack = tLin5TaskSensor_stack; + InitThreadAtr(&env->threadLin.attr,"Ln5",&env->threadLin.controlBlock,sizeof(env->threadLin.controlBlock),env->threadLin.stack,tLin5TaskSensor_stack_size,osPriorityNormal); + env->threadLin.id = 0; + +// InitThreadAtrStatic(&env->threadLin.attr, "Ln5", env->threadLin.controlBlock, env->threadLin.stack, +// osPriorityNormal); } diff --git a/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.h b/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.h index 11a5ebe..6a0c5ed 100644 --- a/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.h +++ b/MODULES/HVAC_M7_LIN_TASKS/LinSensorTasks.h @@ -344,7 +344,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } threadLin; @@ -404,7 +405,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } threadLin; diff --git a/MODULES/HVAC_M7_MODEL/Model_Task.c b/MODULES/HVAC_M7_MODEL/Model_Task.c index d18aa0d..cb3dd2a 100644 --- a/MODULES/HVAC_M7_MODEL/Model_Task.c +++ b/MODULES/HVAC_M7_MODEL/Model_Task.c @@ -8,6 +8,7 @@ #include "memory.h" #include "SystemDelayInterface.h" #include "fc7xxx_driver_smc.h" +#include "MainStack.h" #define LOG_SIGN "ModelTask" #define LOGGER env->logger @@ -37,8 +38,6 @@ tStatus_Ionizer_Aroma_For_Model model_Status_Ionizer_Aroma_For_Model_output; tStatus_Duct_Select_For_Model model_Status_Duct_Select_For_Model_output; -//uint32_t __attribute__((section(".stack_data"))) tModelTask_stack[1024]; - void ModelTask_Init( tModelTask *env, tLinTaskActuator *linTaskActuator1, @@ -87,10 +86,10 @@ void ModelTask_Init( env->access = osMutexNew(NULL); env->logger = logger; - InitThreadAtrStatic(&env->thread.attr, "ModelTask", env->thread.controlBlock, env->thread.stack, osPriorityNormal); +// InitThreadAtrStatic(&env->thread.attr, "ModelTask", env->thread.controlBlock, env->thread.stack, osPriorityNormal); -// env->thread.stack = tModelTask_stack; -// InitThreadAtr(&env->thread.attr,"ModelTask",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,sizeof(env->thread.stack),osPriorityNormal); + env->thread.stack = tModelTask_stack; + InitThreadAtr(&env->thread.attr,"ModelTask",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tModelTask_stack_size,osPriorityNormal); env->thread.id = 0; } diff --git a/MODULES/HVAC_M7_MODEL/Model_Task.h b/MODULES/HVAC_M7_MODEL/Model_Task.h index fa44bd4..d223cf8 100644 --- a/MODULES/HVAC_M7_MODEL/Model_Task.h +++ b/MODULES/HVAC_M7_MODEL/Model_Task.h @@ -75,8 +75,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[1024]; - //uint32_t *stack; + //uint32_t stack[1024]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; diff --git a/MODULES/LoggerToSerialPort/Inc/LoggerToSerialPort.h b/MODULES/LoggerToSerialPort/Inc/LoggerToSerialPort.h index 1cd50f9..c0f80e4 100644 --- a/MODULES/LoggerToSerialPort/Inc/LoggerToSerialPort.h +++ b/MODULES/LoggerToSerialPort/Inc/LoggerToSerialPort.h @@ -53,7 +53,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; diff --git a/MODULES/LoggerToSerialPort/Src/LoggerToSerialPort.c b/MODULES/LoggerToSerialPort/Src/LoggerToSerialPort.c index d38b379..f61eaea 100644 --- a/MODULES/LoggerToSerialPort/Src/LoggerToSerialPort.c +++ b/MODULES/LoggerToSerialPort/Src/LoggerToSerialPort.c @@ -9,6 +9,7 @@ #include #include "CmsisRtosThreadUtils.h" #include "memory.h" +#include "MainStack.h" #include CMSIS_device_header static uint8_t * @@ -269,8 +270,12 @@ void LoggerToSerialPort_Init( // env->showLoglevel = showLoglevel; // env->showAuthor = showAuthor; - InitThreadAtrStatic(&env->thread.attr, "LogTransmitter", env->thread.controlBlock, env->thread.stack, - osPriorityNormal); + env->thread.stack = tLoggerToSerialPort_stack; + InitThreadAtr(&env->thread.attr,"LogTransmitter",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tLoggerToSerialPort_stack_size,osPriorityNormal); + env->thread.id = 0; + +// InitThreadAtrStatic(&env->thread.attr, "LogTransmitter", env->thread.controlBlock, env->thread.stack, +// osPriorityNormal); LogTransmitter_StartThread(env); } diff --git a/MODULES/PeripheralDriver_Flagchip_FC7240/Src/fc7xxx_driver_flexcan.c b/MODULES/PeripheralDriver_Flagchip_FC7240/Src/fc7xxx_driver_flexcan.c index db38f93..0d46bab 100644 --- a/MODULES/PeripheralDriver_Flagchip_FC7240/Src/fc7xxx_driver_flexcan.c +++ b/MODULES/PeripheralDriver_Flagchip_FC7240/Src/fc7xxx_driver_flexcan.c @@ -1480,7 +1480,8 @@ FLEXCAN_ErrorType FLEXCAN_Init(uint8_t u8CanIndex, const FLEXCAN_InitType *const FLEXCAN_Type *pCan; FLEXCAN_BaudCfgType tBaudCfg; - SystemDelayMs(0); +// SystemDelayMs(0); +// __get_IPSR(); #if FLEXCAN_CHECK_PARAMETERS == STD_ON /* check parameter */ diff --git a/MODULES/VarTabDumpObserver/VarTabDumpObserver.c b/MODULES/VarTabDumpObserver/VarTabDumpObserver.c index d64d1b5..dade3a1 100644 --- a/MODULES/VarTabDumpObserver/VarTabDumpObserver.c +++ b/MODULES/VarTabDumpObserver/VarTabDumpObserver.c @@ -7,7 +7,7 @@ #include "SystemDelayInterface.h" #include "string.h" #include "StorageOnFlashFlagchip.h" - +#include "MainStack.h" #define LOGGER env->logger #define LOG_SIGN "Storage" @@ -44,7 +44,11 @@ void VarsTabDumpObserver_Init( env->access = osMutexNew(NULL); env->accessDumper = osMutexNew(NULL); - InitThreadAtrStatic(&env->thread.attr, "Data", env->thread.controlBlock, env->thread.stack, osPriorityNormal); + env->thread.stack = tVarsTabDumpObserver_stack; + InitThreadAtr(&env->thread.attr,"Data",&env->thread.controlBlock,sizeof(env->thread.controlBlock),env->thread.stack,tVarsTabDumpObserver_stack_size,osPriorityNormal); + env->thread.id = 0; + +// InitThreadAtrStatic(&env->thread.attr, "Data", env->thread.controlBlock, env->thread.stack, osPriorityNormal); env->thread.id = 0; } diff --git a/MODULES/VarTabDumpObserver/VarsTabDumpObserver.h b/MODULES/VarTabDumpObserver/VarsTabDumpObserver.h index 402f7e3..7654b98 100644 --- a/MODULES/VarTabDumpObserver/VarsTabDumpObserver.h +++ b/MODULES/VarTabDumpObserver/VarsTabDumpObserver.h @@ -28,7 +28,8 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[384]; + //uint32_t stack[384]; + uint32_t *stack; StaticTask_t controlBlock; osThreadAttr_t attr; } thread;