diff --git a/APP/control_if.h b/APP/control_if.h
new file mode 100644
index 0000000..5955c9c
--- /dev/null
+++ b/APP/control_if.h
@@ -0,0 +1,46 @@
+#ifndef __DRV_CONTROL_IF_H__
+#define __DRV_CONTROL_IF_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+typedef struct s_sens {
+
+ double power_voltage;
+ double buck_in_voltage;
+ double buck_out_voltage;
+ double battery_voltage;
+ double battery_current;
+
+ double temperatue;
+
+
+
+}SENS_t;
+
+/*
+typedef struct s_control {
+
+ uint16_t buck_in_relay;
+ uint16_t buck_out_relay;
+ uint16_t fan;
+
+ uint16_t power_pwm;
+
+
+
+}CONTROL_t;
+
+*/
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff --git a/APP/device_task.c b/APP/device_task.c
index 1eb89b7..bc51d3a 100644
--- a/APP/device_task.c
+++ b/APP/device_task.c
@@ -17,6 +17,13 @@ double voltage_temp;
uint16_t relay_state1 = 0;
uint16_t relay_state2 = 0;
+uint16_t power_pwm = 0;
+uint16_t pwm_state = 0;
+
+double target_voltage = 5;
+
+double p = 0,i = 0;
+
//设备更新线程
void StartDeviceTask(void * argument)
{
@@ -46,6 +53,30 @@ void StartDeviceTask(void * argument)
relay_set(0,relay_state1);
relay_set(1,relay_state2);
+
+// if(pwm_state == 0)
+// {
+// power_pwm += 100;
+// if(power_pwm >= 10000)
+// {
+// power_pwm = 10000;
+// pwm_state = 1;
+// }
+// }
+// else
+// {
+// power_pwm -= 100;
+// if(power_pwm <= 200)
+// {
+// power_pwm = 200;
+// pwm_state = 0;
+// }
+// }
+
+
+
+ power_set(power_pwm);
+
}
}
diff --git a/APP/global.h b/APP/global.h
index d234b93..8cabb49 100644
--- a/APP/global.h
+++ b/APP/global.h
@@ -207,7 +207,6 @@ typedef struct _charger_s {
-
#ifdef __cplusplus
diff --git a/BSP/drv_power.c b/BSP/drv_power.c
index 7143d2d..c28b68e 100644
--- a/BSP/drv_power.c
+++ b/BSP/drv_power.c
@@ -299,31 +299,37 @@ double scale_temp(double Vx)
}
+
+//定时器周期
+#define HRTIM_PERIOD (54400)
+
+
void power_init(void)
{
- HAL_HRTIM_WaveformCounterStart_IT(&hhrtim1,HRTIM_TIMERID_MASTER);
+
HAL_HRTIM_WaveformCounterStart(&hhrtim1,HRTIM_TIMERID_TIMER_A);
+
HAL_HRTIM_WaveformOutputStart(&hhrtim1, HRTIM_OUTPUT_TA1);
+
+ __HAL_HRTIM_SETPERIOD(&hhrtim1, HRTIM_TIMERINDEX_TIMER_A, HRTIM_PERIOD);
}
void power_set(uint32_t pwm)
{
- if(pwm <= 1000)
- {
- HRTIM_CompareCfgTypeDef conf;
- conf.CompareValue = pwm;//自己算
- HAL_HRTIM_WaveformCompareConfig(&hhrtim1,HRTIM_TIMERINDEX_TIMER_A,HRTIM_COMPAREUNIT_1,&conf);
+ if(pwm <= HRTIM_PERIOD)
+ {
+ __HAL_HRTIM_SETCOMPARE(&hhrtim1, HRTIM_TIMERINDEX_TIMER_A , HRTIM_COMPAREUNIT_1, pwm);
}
else
{
- //TIM10->CCR1 = 0;
+ __HAL_HRTIM_SETCOMPARE(&hhrtim1, HRTIM_TIMERINDEX_TIMER_A , HRTIM_COMPAREUNIT_1, 0);
}
}
uint16_t power_state(void)
{
- return 0;//TIM10->CCR1;
+ return HRTIM1->sTimerxRegs->CMP1xR;
}
diff --git a/B_Current_Ctrl.ioc b/B_Current_Ctrl.ioc
index bd30d62..acd0eba 100644
--- a/B_Current_Ctrl.ioc
+++ b/B_Current_Ctrl.ioc
@@ -188,11 +188,18 @@ FREERTOS.configTOTAL_HEAP_SIZE=30720
File.Version=6
GPIO.groupedBy=Group By Peripherals
HRTIM1.CompareUnit1-Output_TA1=HRTIM_COMPAREUNIT_1
-HRTIM1.CompareValue1-Output_TA1=0
-HRTIM1.IPParameters=PrescalerRatio_TA,Periode_TA,CompareUnit1-Output_TA1,CompareValue1-Output_TA1,PreloadEnable-Output_TA1
-HRTIM1.Periode_TA=10000
+HRTIM1.CompareValue1-Output_TA1=5000
+HRTIM1.GreaterCMP1_TA=HRTIM_TIMERGTCMP1_EQUAL
+HRTIM1.IPParameters=PrescalerRatio_TA,Periode_TA,CompareUnit1-Output_TA1,CompareValue1-Output_TA1,PreloadEnable-Output_TA1,RepetitionUpdate-Output_TA1,GreaterCMP1_TA,NumberSetSource1-Output_TA1,NumberResetSource1-Output_TA1,SetOutput1_Source1-Output_TA1,ResetOutput1_Source1-Output_TA1,Polarity1-Output_TA1
+HRTIM1.NumberResetSource1-Output_TA1=1
+HRTIM1.NumberSetSource1-Output_TA1=1
+HRTIM1.Periode_TA=54400
+HRTIM1.Polarity1-Output_TA1=HRTIM_OUTPUTPOLARITY_LOW
HRTIM1.PreloadEnable-Output_TA1=HRTIM_PRELOAD_ENABLED
HRTIM1.PrescalerRatio_TA=HRTIM_PRESCALERRATIO_MUL32
+HRTIM1.RepetitionUpdate-Output_TA1=HRTIM_UPDATEONREPETITION_ENABLED
+HRTIM1.ResetOutput1_Source1-Output_TA1=HRTIM_OUTPUTRESET_TIMPER
+HRTIM1.SetOutput1_Source1-Output_TA1=HRTIM_OUTPUTSET_TIMCMP1
I2C4.I2C_Speed_Mode=I2C_Fast
I2C4.IPParameters=Timing,I2C_Speed_Mode
I2C4.Timing=0x40621236
@@ -386,7 +393,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=false
-ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_FDCAN1_Init-FDCAN1-false-HAL-true,6-MX_HRTIM1_Init-HRTIM1-false-HAL-true,7-MX_I2C4_Init-I2C4-false-HAL-true,8-MX_LPUART1_UART_Init-LPUART1-false-HAL-true,9-MX_USART1_UART_Init-USART1-false-HAL-true,10-MX_USART2_UART_Init-USART2-false-HAL-true,11-MX_USART3_UART_Init-USART3-false-HAL-true,12-MX_TIM20_Init-TIM20-false-HAL-true,13-MX_TIM17_Init-TIM17-false-HAL-true
+ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_FDCAN1_Init-FDCAN1-false-HAL-true,6-MX_HRTIM1_Init-HRTIM1-false-HAL-true,7-MX_I2C4_Init-I2C4-false-HAL-true,8-MX_LPUART1_UART_Init-LPUART1-false-HAL-true,9-MX_USART1_UART_Init-USART1-false-HAL-true,10-MX_USART2_UART_Init-USART2-false-HAL-true,11-MX_USART3_UART_Init-USART3-false-HAL-true,12-MX_TIM20_Init-TIM20-false-HAL-true,13-MX_TIM17_Init-TIM17-false-HAL-true,14-MX_RTC_Init-RTC-false-HAL-true
RCC.ADC12Freq_Value=170000000
RCC.ADC345Freq_Value=170000000
RCC.AHBFreq_Value=170000000
@@ -409,10 +416,11 @@ RCC.I2C2Freq_Value=170000000
RCC.I2C3Freq_Value=170000000
RCC.I2C4Freq_Value=170000000
RCC.I2SFreq_Value=170000000
-RCC.IPParameters=ADC12Freq_Value,ADC345Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,PLLM,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,QSPIFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,UART5Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
+RCC.IPParameters=ADC12Freq_Value,ADC345Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CRSFreq_Value,CortexFreq_Value,EXTERNAL_CLOCK_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I2SFreq_Value,LPTIM1Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,PLLM,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PWRFreq_Value,QSPIFreq_Value,RNGFreq_Value,RTCFreq_Value,SAI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,UART5Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value
RCC.LPTIM1Freq_Value=170000000
RCC.LPUART1Freq_Value=170000000
RCC.LSCOPinFreq_Value=32000
+RCC.LSE_VALUE=32768
RCC.LSI_VALUE=32000
RCC.MCO1PinFreq_Value=16000000
RCC.PLLM=RCC_PLLM_DIV4
diff --git a/Core/Src/hrtim.c b/Core/Src/hrtim.c
index f4e05a3..421d7e6 100644
--- a/Core/Src/hrtim.c
+++ b/Core/Src/hrtim.c
@@ -58,7 +58,7 @@ void MX_HRTIM1_Init(void)
{
Error_Handler();
}
- pTimeBaseCfg.Period = 10000;
+ pTimeBaseCfg.Period = 54400;
pTimeBaseCfg.RepetitionCounter = 0x00;
pTimeBaseCfg.PrescalerRatio = HRTIM_PRESCALERRATIO_MUL32;
pTimeBaseCfg.Mode = HRTIM_MODE_CONTINUOUS;
@@ -86,7 +86,7 @@ void MX_HRTIM1_Init(void)
pTimerCfg.PreloadEnable = HRTIM_PRELOAD_ENABLED;
pTimerCfg.UpdateGating = HRTIM_UPDATEGATING_INDEPENDENT;
pTimerCfg.BurstMode = HRTIM_TIMERBURSTMODE_MAINTAINCLOCK;
- pTimerCfg.RepetitionUpdate = HRTIM_UPDATEONREPETITION_DISABLED;
+ pTimerCfg.RepetitionUpdate = HRTIM_UPDATEONREPETITION_ENABLED;
pTimerCfg.PushPull = HRTIM_TIMPUSHPULLMODE_DISABLED;
pTimerCfg.FaultEnable = HRTIM_TIMFAULTENABLE_NONE;
pTimerCfg.FaultLock = HRTIM_TIMFAULTLOCK_READWRITE;
@@ -100,14 +100,14 @@ void MX_HRTIM1_Init(void)
{
Error_Handler();
}
- pCompareCfg.CompareValue = 0;
+ pCompareCfg.CompareValue = 5000;
if (HAL_HRTIM_WaveformCompareConfig(&hhrtim1, HRTIM_TIMERINDEX_TIMER_A, HRTIM_COMPAREUNIT_1, &pCompareCfg) != HAL_OK)
{
Error_Handler();
}
- pOutputCfg.Polarity = HRTIM_OUTPUTPOLARITY_HIGH;
- pOutputCfg.SetSource = HRTIM_OUTPUTSET_NONE;
- pOutputCfg.ResetSource = HRTIM_OUTPUTRESET_NONE;
+ pOutputCfg.Polarity = HRTIM_OUTPUTPOLARITY_LOW;
+ pOutputCfg.SetSource = HRTIM_OUTPUTSET_TIMCMP1;
+ pOutputCfg.ResetSource = HRTIM_OUTPUTRESET_TIMPER;
pOutputCfg.IdleMode = HRTIM_OUTPUTIDLEMODE_NONE;
pOutputCfg.IdleLevel = HRTIM_OUTPUTIDLELEVEL_INACTIVE;
pOutputCfg.FaultLevel = HRTIM_OUTPUTFAULTLEVEL_NONE;
diff --git a/MDK-ARM/B_Current_Ctrl.uvoptx b/MDK-ARM/B_Current_Ctrl.uvoptx
index 1b88ad3..e05021b 100644
--- a/MDK-ARM/B_Current_Ctrl.uvoptx
+++ b/MDK-ARM/B_Current_Ctrl.uvoptx
@@ -225,6 +225,31 @@
Project:
D:\2_code\2_mcu\B_Current_Ctrl\MDK-ARM\B_Current_Ctrl.uvprojx
-Project File Date: 08/28/2025
+Project File Date: 08/29/2025
Output:
*** Using Compiler 'V5.03 [Build 24]', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'B_Current_Ctrl'
-compiling device_task.c...
compiling drv_power.c...
..\BSP\drv_power.c(132): warning: #177-D: variable "max_index" was declared but never referenced
int max_index = filter_deep - 1;
@@ -37,7 +36,7 @@ compiling drv_power.c...
return voltage;
..\BSP\drv_power.c: 3 warnings, 0 errors
linking...
-Program Size: Code=37816 RO-data=932 RW-data=300 ZI-data=38404
+Program Size: Code=37632 RO-data=932 RW-data=272 ZI-data=38400
FromELF: creating hex file...
"B_Current_Ctrl\B_Current_Ctrl.axf" - 0 Error(s), 3 Warning(s).
@@ -78,44 +77,44 @@ Package Vendor: Keil
Include file: CMSIS/Core/Include/tz_context.h
* Component: ARM::CMSIS:DSP:Source:1.14.2
- Source file: Source/MatrixFunctions/MatrixFunctions.c
- Source file: Source/StatisticsFunctions/StatisticsFunctions.c
- Source file: Source/BayesFunctions/BayesFunctions.c
- Source file: Source/SupportFunctions/SupportFunctions.c
- Source file: Source/SVMFunctions/SVMFunctions.c
- Source file: Source/TransformFunctions/TransformFunctions.c
- Source file: Source/InterpolationFunctions/InterpolationFunctions.c
- Include file: Include/arm_math.h
Include file: Include/arm_math_f16.h
- Source file: Source/BasicMathFunctions/BasicMathFunctions.c
- Include file: Include/arm_common_tables.h
- Source file: Source/QuaternionMathFunctions/QuaternionMathFunctions.c
Source file: Source/ControllerFunctions/ControllerFunctions.c
- Source file: Source/DistanceFunctions/DistanceFunctions.c
- Include file: Include/arm_common_tables_f16.h
- Include file: Include/arm_const_structs_f16.h
- Source file: Source/CommonTables/CommonTables.c
- Include file: Include/arm_const_structs.h
- Source file: Source/FastMathFunctions/FastMathFunctions.c
Source file: Source/ComplexMathFunctions/ComplexMathFunctions.c
+ Source file: Source/CommonTables/CommonTables.c
+ Source file: Source/FastMathFunctions/FastMathFunctions.c
+ Include file: Include/arm_const_structs.h
Source file: Source/FilteringFunctions/FilteringFunctions.c
- Source file: Source/BasicMathFunctions/BasicMathFunctionsF16.c
+ Include file: Include/arm_common_tables_f16.h
+ Include file: Include/arm_common_tables.h
+ Include file: Include/arm_const_structs_f16.h
+ Source file: Source/BasicMathFunctions/BasicMathFunctions.c
+ Source file: Source/QuaternionMathFunctions/QuaternionMathFunctions.c
+ Source file: Source/StatisticsFunctions/StatisticsFunctions.c
+ Source file: Source/SupportFunctions/SupportFunctions.c
+ Source file: Source/TransformFunctions/TransformFunctions.c
+ Source file: Source/SVMFunctions/SVMFunctions.c
+ Source file: Source/InterpolationFunctions/InterpolationFunctions.c
+ Source file: Source/BayesFunctions/BayesFunctions.c
+ Source file: Source/DistanceFunctions/DistanceFunctions.c
+ Include file: Include/arm_math.h
+ Source file: Source/MatrixFunctions/MatrixFunctions.c
Source file: Source/SVMFunctions/SVMFunctionsF16.c
- Source file: Source/BayesFunctions/BayesFunctionsF16.c
- Source file: Source/ComplexMathFunctions/ComplexMathFunctionsF16.c
- Source file: Source/TransformFunctions/TransformFunctionsF16.c
+ Source file: Source/DistanceFunctions/DistanceFunctionsF16.c
Source file: Source/SupportFunctions/SupportFunctionsF16.c
+ Source file: Source/FilteringFunctions/FilteringFunctionsF16.c
+ Source file: Source/BasicMathFunctions/BasicMathFunctionsF16.c
+ Source file: Source/CommonTables/CommonTablesF16.c
Source file: Source/InterpolationFunctions/InterpolationFunctionsF16.c
Source file: Source/MatrixFunctions/MatrixFunctionsF16.c
Source file: Source/FastMathFunctions/FastMathFunctionsF16.c
- Source file: Source/FilteringFunctions/FilteringFunctionsF16.c
- Source file: Source/CommonTables/CommonTablesF16.c
+ Source file: Source/BayesFunctions/BayesFunctionsF16.c
+ Source file: Source/TransformFunctions/TransformFunctionsF16.c
Source file: Source/StatisticsFunctions/StatisticsFunctionsF16.c
- Source file: Source/DistanceFunctions/DistanceFunctionsF16.c
+ Source file: Source/ComplexMathFunctions/ComplexMathFunctionsF16.c
* Component: ARM::CMSIS:RTOS:Keil RTX5:5.5.4
- Include file: CMSIS/RTOS2/RTX/Include1/cmsis_os.h
Source file: CMSIS/RTOS2/RTX/Library/cmsis_os1.c
+ Include file: CMSIS/RTOS2/RTX/Include1/cmsis_os.h
Build Time Elapsed: 00:00:03
#<CALLGRAPH># ARM Linker, 5.03 [Build 24]: Last Updated: Thu Aug 28 16:35:24 2025
+
#<CALLGRAPH># ARM Linker, 5.03 [Build 24]: Last Updated: Fri Aug 29 11:29:03 2025
-
@@ -19,7 +19,7 @@ Mutually Recursive functions
__aeabi_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text)) @@ -512,8 +512,8 @@ Global Symbols
_ll_sshift_r (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED) -
__aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
-
[Called By]
__aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
+
[Called By]
__aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
-
[Called By]
__aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) @@ -571,8 +571,8 @@ Global Symbols
__aeabi_dsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))
@@ -581,7 +581,7 @@ Global Symbols
[Calls]
__aeabi_drsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text))
@@ -590,7 +590,7 @@ Global Symbols
[Calls]
__aeabi_dmul (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text)) @@ -605,8 +605,8 @@ Global Symbols
__aeabi_ddiv (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text)) @@ -620,7 +620,7 @@ Global Symbols
__aeabi_i2d (Thumb, 34 bytes, Stack size 16 bytes, dflti.o(.text))
@@ -628,7 +628,7 @@ Global Symbols
[Calls]
__aeabi_ui2d (Thumb, 26 bytes, Stack size 16 bytes, dfltui.o(.text)) @@ -640,8 +640,8 @@ Global Symbols
__aeabi_cdcmpeq (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text))
-
[Called By]
__aeabi_cdcmpeq (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text))
+
[Called By]
__aeabi_cdcmple (Thumb, 38 bytes, Stack size 0 bytes, cdcmple.o(.text)) @@ -690,10 +690,6 @@ Global Symbols
__scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) -
__decompress (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED) - -
__decompress1 (Thumb, 92 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED) -
ADC_ConversionStop (Thumb, 224 bytes, Stack size 24 bytes, stm32g4xx_hal_adc.o(i.ADC_ConversionStop))
[Stack]
Error_Handler (Thumb, 4 bytes, Stack size 0 bytes, main.o(i.Error_Handler))
-
[Called By]
HAL_ADC_GetValue (Thumb, 6 bytes, Stack size 0 bytes, stm32g4xx_hal_adc.o(i.HAL_ADC_GetValue))
-
[Called By]
HAL_ADC_GetValue (Thumb, 6 bytes, Stack size 0 bytes, stm32g4xx_hal_adc.o(i.HAL_ADC_GetValue))
+
[Called By]
HAL_ADC_Init (Thumb, 514 bytes, Stack size 24 bytes, stm32g4xx_hal_adc.o(i.HAL_ADC_Init))
@@ -900,7 +896,7 @@ Global Symbols
[Calls]
HAL_ADC_Start (Thumb, 290 bytes, Stack size 24 bytes, stm32g4xx_hal_adc.o(i.HAL_ADC_Start))
@@ -909,7 +905,7 @@ Global Symbols
[Calls]
HAL_ADC_Stop (Thumb, 62 bytes, Stack size 8 bytes, stm32g4xx_hal_adc.o(i.HAL_ADC_Stop))
@@ -918,7 +914,7 @@ Global Symbols
[Calls]
HAL_DMA_Abort (Thumb, 104 bytes, Stack size 8 bytes, stm32g4xx_hal_dma.o(i.HAL_DMA_Abort)) @@ -936,14 +932,14 @@ Global Symbols
HAL_DMA_IRQHandler (Thumb, 190 bytes, Stack size 16 bytes, stm32g4xx_hal_dma.o(i.HAL_DMA_IRQHandler))
[Stack]
HAL_DMA_Init (Thumb, 176 bytes, Stack size 16 bytes, stm32g4xx_hal_dma.o(i.HAL_DMA_Init)) @@ -1015,7 +1011,7 @@ Global Symbols
HAL_HRTIM_WaveformCountStart_IT (Thumb, 128 bytes, Stack size 20 bytes, stm32g4xx_hal_hrtim.o(i.HAL_HRTIM_WaveformCountStart_IT))
-
[Stack]
HAL_HRTIM_WaveformOutputConfig (Thumb, 52 bytes, Stack size 16 bytes, stm32g4xx_hal_hrtim.o(i.HAL_HRTIM_WaveformOutputConfig))
[Stack]
HAL_PWREx_ControlVoltageScaling (Thumb, 180 bytes, Stack size 0 bytes, stm32g4xx_hal_pwr_ex.o(i.HAL_PWREx_ControlVoltageScaling))
-
[Called By]
HAL_PWREx_ControlVoltageScaling (Thumb, 180 bytes, Stack size 0 bytes, stm32g4xx_hal_pwr_ex.o(i.HAL_PWREx_ControlVoltageScaling))
+
[Called By]
HAL_PWREx_DisableUCPDDeadBattery (Thumb, 12 bytes, Stack size 0 bytes, stm32g4xx_hal_pwr_ex.o(i.HAL_PWREx_DisableUCPDDeadBattery)) @@ -1227,7 +1217,7 @@ Global Symbols
HAL_RCC_GetClockConfig (Thumb, 54 bytes, Stack size 0 bytes, stm32g4xx_hal_rcc.o(i.HAL_RCC_GetClockConfig)) @@ -1239,7 +1229,7 @@ Global Symbols
HAL_RCC_GetPCLK2Freq (Thumb, 24 bytes, Stack size 0 bytes, stm32g4xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq)) +
HAL_RCC_GetPCLK2Freq (Thumb, 24 bytes, Stack size 0 bytes, stm32g4xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq))
[Called By]
HAL_RTC_Init (Thumb, 156 bytes, Stack size 16 bytes, stm32g4xx_hal_rtc.o(i.HAL_RTC_Init)) @@ -1554,7 +1544,7 @@ Global Symbols
HAL_UART_Receive_IT (Thumb, 66 bytes, Stack size 8 bytes, stm32g4xx_hal_uart.o(i.HAL_UART_Receive_IT)) @@ -1562,7 +1552,7 @@ Global Symbols
HAL_UART_RxHalfCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32g4xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback)) +
HAL_UART_RxHalfCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32g4xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback))
[Called By]
HAL_UART_Transmit_IT (Thumb, 130 bytes, Stack size 0 bytes, stm32g4xx_hal_uart.o(i.HAL_UART_Transmit_IT)) +
HAL_UART_Transmit_IT (Thumb, 130 bytes, Stack size 0 bytes, stm32g4xx_hal_uart.o(i.HAL_UART_Transmit_IT))
[Called By]
HAL_UART_TxHalfCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32g4xx_hal_uart.o(i.HAL_UART_TxHalfCpltCallback)) +
HAL_UART_TxHalfCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32g4xx_hal_uart.o(i.HAL_UART_TxHalfCpltCallback))
[Called By]
MX_HRTIM1_Init (Thumb, 274 bytes, Stack size 192 bytes, hrtim.o(i.MX_HRTIM1_Init))
-
[Stack]
MX_HRTIM1_Init (Thumb, 284 bytes, Stack size 200 bytes, hrtim.o(i.MX_HRTIM1_Init))
+
[Stack]
RegRxIdleIRQ (Thumb, 24 bytes, Stack size 0 bytes, uart_fifo.o(i.RegRxIdleIRQ))
-
[Called By]
RegRxIdleIRQ (Thumb, 24 bytes, Stack size 0 bytes, uart_fifo.o(i.RegRxIdleIRQ))
+
[Called By]
RegTxCpltIRQ (Thumb, 24 bytes, Stack size 0 bytes, uart_fifo.o(i.RegTxCpltIRQ))
-
[Called By]
RegTxCpltIRQ (Thumb, 24 bytes, Stack size 0 bytes, uart_fifo.o(i.RegTxCpltIRQ))
+
[Called By]
StartCliTask (Thumb, 8 bytes, Stack size 0 bytes, cli_task.o(i.StartCliTask)) @@ -1836,12 +1826,13 @@ Global Symbols
StartDeviceTask (Thumb, 116 bytes, Stack size 0 bytes, device_task.o(i.StartDeviceTask)) +
StartDeviceTask (Thumb, 122 bytes, Stack size 0 bytes, device_task.o(i.StartDeviceTask))
[Stack]
SysTick_Handler (Thumb, 26 bytes, Stack size 8 bytes, cmsis_os2.o(i.SysTick_Handler))
[Stack]
SystemClock_Config (Thumb, 112 bytes, Stack size 80 bytes, main.o(i.SystemClock_Config)) +
SystemClock_Config (Thumb, 112 bytes, Stack size 80 bytes, main.o(i.SystemClock_Config))
[Stack]
UART_RX_FIFO_open (Thumb, 162 bytes, Stack size 48 bytes, uart_fifo.o(i.UART_RX_FIFO_open)) +
UART_RX_FIFO_open (Thumb, 162 bytes, Stack size 48 bytes, uart_fifo.o(i.UART_RX_FIFO_open))
[Stack]
UART_TX_FIFO_open (Thumb, 98 bytes, Stack size 32 bytes, uart_fifo.o(i.UART_TX_FIFO_open)) +
UART_TX_FIFO_open (Thumb, 98 bytes, Stack size 32 bytes, uart_fifo.o(i.UART_TX_FIFO_open))
[Stack]
UART_TX_FIFO_write (Thumb, 106 bytes, Stack size 24 bytes, uart_fifo.o(i.UART_TX_FIFO_write)) +
UART_TX_FIFO_write (Thumb, 106 bytes, Stack size 24 bytes, uart_fifo.o(i.UART_TX_FIFO_write))
[Stack]
UART_WaitOnFlagUntilTimeout (Thumb, 148 bytes, Stack size 32 bytes, stm32g4xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)) +
UART_WaitOnFlagUntilTimeout (Thumb, 148 bytes, Stack size 32 bytes, stm32g4xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout))
[Stack]
__0printf$4 (Thumb, 22 bytes, Stack size 24 bytes, printf4.o(i.__0printf$4), UNUSED)
-
[Calls]
__0printf$4 (Thumb, 22 bytes, Stack size 24 bytes, printf4.o(i.__0printf$4), UNUSED)
+
[Calls]
__1printf$4 (Thumb, 0 bytes, Stack size 24 bytes, printf4.o(i.__0printf$4), UNUSED) +
__1printf$4 (Thumb, 0 bytes, Stack size 24 bytes, printf4.o(i.__0printf$4), UNUSED)
__2printf (Thumb, 0 bytes, Stack size 24 bytes, printf4.o(i.__0printf$4))
[Stack]
__hardfp_log (Thumb, 888 bytes, Stack size 88 bytes, log.o(i.__hardfp_log)) +
__hardfp_log (Thumb, 888 bytes, Stack size 88 bytes, log.o(i.__hardfp_log))
[Stack]
__kernel_poly (Thumb, 248 bytes, Stack size 24 bytes, poly.o(i.__kernel_poly)) +
__kernel_poly (Thumb, 248 bytes, Stack size 24 bytes, poly.o(i.__kernel_poly))
[Stack]
__scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) +
__scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) -
__scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) +
__scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) -
__scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) +
__scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) -
__set_errno (Thumb, 6 bytes, Stack size 0 bytes, errno.o(i.__set_errno))
-
[Called By]
__set_errno (Thumb, 6 bytes, Stack size 0 bytes, errno.o(i.__set_errno))
+
[Called By]
adc_init (Thumb, 168 bytes, Stack size 32 bytes, drv_power.o(i.adc_init))
@@ -2088,18 +2079,18 @@ Global Symbols
[Called By]
adc_value (Thumb, 126 bytes, Stack size 64 bytes, drv_power.o(i.adc_value)) +
adc_value (Thumb, 126 bytes, Stack size 64 bytes, drv_power.o(i.adc_value))
[Stack]
fputc (Thumb, 18 bytes, Stack size 16 bytes, drv_uart.o(i.fputc))
[Stack]
init_uart_fifos (Thumb, 188 bytes, Stack size 16 bytes, drv_uart.o(i.init_uart_fifos))
[Stack]
main (Thumb, 74 bytes, Stack size 0 bytes, main.o(i.main))
-
[Stack]
osDelay (Thumb, 26 bytes, Stack size 8 bytes, cmsis_os2.o(i.osDelay))
[Stack]
osKernelInitialize (Thumb, 32 bytes, Stack size 0 bytes, cmsis_os2.o(i.osKernelInitialize)) +
osKernelInitialize (Thumb, 32 bytes, Stack size 0 bytes, cmsis_os2.o(i.osKernelInitialize))
[Called By]
osKernelStart (Thumb, 46 bytes, Stack size 8 bytes, cmsis_os2.o(i.osKernelStart)) +
osKernelStart (Thumb, 46 bytes, Stack size 8 bytes, cmsis_os2.o(i.osKernelStart))
[Stack]
osMutexAcquire (Thumb, 82 bytes, Stack size 24 bytes, cmsis_os2.o(i.osMutexAcquire)) +
osMutexAcquire (Thumb, 82 bytes, Stack size 24 bytes, cmsis_os2.o(i.osMutexAcquire))
[Stack]
osMutexCreate (Thumb, 10 bytes, Stack size 0 bytes, cmsis_os1.o(i.osMutexCreate))
[Stack]
osMutexNew (Thumb, 102 bytes, Stack size 16 bytes, cmsis_os2.o(i.osMutexNew)) +
osMutexNew (Thumb, 102 bytes, Stack size 16 bytes, cmsis_os2.o(i.osMutexNew))
[Stack]
osMutexRelease (Thumb, 66 bytes, Stack size 16 bytes, cmsis_os2.o(i.osMutexRelease)) +
osMutexRelease (Thumb, 66 bytes, Stack size 16 bytes, cmsis_os2.o(i.osMutexRelease))
[Stack]
osThreadNew (Thumb, 136 bytes, Stack size 40 bytes, cmsis_os2.o(i.osThreadNew))
[Stack]
power_init (Thumb, 34 bytes, Stack size 8 bytes, drv_power.o(i.power_init))
-
[Stack]
power_set (Thumb, 20 bytes, Stack size 0 bytes, drv_power.o(i.power_set))
+
[Called By]
pvPortMalloc (Thumb, 216 bytes, Stack size 24 bytes, heap_4.o(i.pvPortMalloc))
[Stack]
pvTaskIncrementMutexHeldCount (Thumb, 18 bytes, Stack size 0 bytes, tasks.o(i.pvTaskIncrementMutexHeldCount))
-
[Called By]
pxPortInitialiseStack (Thumb, 40 bytes, Stack size 8 bytes, port.o(i.pxPortInitialiseStack)) @@ -2295,8 +2289,8 @@ Global Symbols
relay_set (Thumb, 90 bytes, Stack size 16 bytes, drv_relay.o(i.relay_set))
[Stack]
uxListRemove (Thumb, 38 bytes, Stack size 0 bytes, list.o(i.uxListRemove))
-
[Called By]
vApplicationGetIdleTaskMemory (Thumb, 16 bytes, Stack size 0 bytes, cmsis_os2.o(i.vApplicationGetIdleTaskMemory))
-
[Called By]
vApplicationGetTimerTaskMemory (Thumb, 18 bytes, Stack size 0 bytes, cmsis_os2.o(i.vApplicationGetTimerTaskMemory)) @@ -2388,9 +2382,9 @@ Global Symbols
vListInitialise (Thumb, 22 bytes, Stack size 0 bytes, list.o(i.vListInitialise))
-
[Called By]
vListInitialiseItem (Thumb, 6 bytes, Stack size 0 bytes, list.o(i.vListInitialiseItem)) @@ -2400,53 +2394,53 @@ Global Symbols
vListInsert (Thumb, 48 bytes, Stack size 12 bytes, list.o(i.vListInsert))
[Stack]
vListInsertEnd (Thumb, 24 bytes, Stack size 0 bytes, list.o(i.vListInsertEnd))
-
[Called By]
vPortEnterCritical (Thumb, 54 bytes, Stack size 0 bytes, port.o(i.vPortEnterCritical))
-
[Called By]
vPortExitCritical (Thumb, 34 bytes, Stack size 0 bytes, port.o(i.vPortExitCritical))
-
[Called By]
vPortFree (Thumb, 94 bytes, Stack size 16 bytes, heap_4.o(i.vPortFree)) @@ -2457,7 +2451,7 @@ Global Symbols
vQueueAddToRegistry (Thumb, 34 bytes, Stack size 8 bytes, queue.o(i.vQueueAddToRegistry)) +
vQueueAddToRegistry (Thumb, 34 bytes, Stack size 8 bytes, queue.o(i.vQueueAddToRegistry))
[Stack]
vQueueWaitForMessageRestricted (Thumb, 70 bytes, Stack size 16 bytes, queue.o(i.vQueueWaitForMessageRestricted))
@@ -2492,21 +2486,21 @@ Global Symbols
[Called By]
vTaskDelay (Thumb, 66 bytes, Stack size 8 bytes, tasks.o(i.vTaskDelay)) +
vTaskDelay (Thumb, 66 bytes, Stack size 8 bytes, tasks.o(i.vTaskDelay))
[Stack]
vTaskInternalSetTimeOutState (Thumb, 12 bytes, Stack size 0 bytes, tasks.o(i.vTaskInternalSetTimeOutState))
[Called By]
vTaskMissedYield (Thumb, 8 bytes, Stack size 0 bytes, tasks.o(i.vTaskMissedYield)) @@ -2526,19 +2520,19 @@ Global Symbols
vTaskPlaceOnEventList (Thumb, 44 bytes, Stack size 8 bytes, tasks.o(i.vTaskPlaceOnEventList))
[Stack]
vTaskPlaceOnEventListRestricted (Thumb, 52 bytes, Stack size 16 bytes, tasks.o(i.vTaskPlaceOnEventListRestricted))
[Stack]
vTaskStartScheduler (Thumb, 118 bytes, Stack size 40 bytes, tasks.o(i.vTaskStartScheduler)) +
vTaskStartScheduler (Thumb, 118 bytes, Stack size 40 bytes, tasks.o(i.vTaskStartScheduler))
[Stack]
vTaskSuspendAll (Thumb, 10 bytes, Stack size 0 bytes, tasks.o(i.vTaskSuspendAll))
[Called By]
vTaskSwitchContext (Thumb, 90 bytes, Stack size 8 bytes, tasks.o(i.vTaskSwitchContext)) @@ -2586,10 +2580,10 @@ Global Symbols
xPortSysTickHandler (Thumb, 38 bytes, Stack size 8 bytes, port.o(i.xPortSysTickHandler)) +
xPortSysTickHandler (Thumb, 38 bytes, Stack size 8 bytes, port.o(i.xPortSysTickHandler))
[Stack]
xQueueCreateMutex (Thumb, 22 bytes, Stack size 8 bytes, queue.o(i.xQueueCreateMutex)) +
xQueueCreateMutex (Thumb, 22 bytes, Stack size 8 bytes, queue.o(i.xQueueCreateMutex))
[Stack]
xQueueCreateMutexStatic (Thumb, 26 bytes, Stack size 16 bytes, queue.o(i.xQueueCreateMutexStatic)) +
xQueueCreateMutexStatic (Thumb, 26 bytes, Stack size 16 bytes, queue.o(i.xQueueCreateMutexStatic))
[Stack]
xQueueGenericCreate (Thumb, 66 bytes, Stack size 24 bytes, queue.o(i.xQueueGenericCreate))
@@ -2621,7 +2615,7 @@ Global Symbols
[Calls]
xQueueGenericCreateStatic (Thumb, 102 bytes, Stack size 16 bytes, queue.o(i.xQueueGenericCreateStatic)) @@ -2629,8 +2623,8 @@ Global Symbols
xQueueGenericReset (Thumb, 132 bytes, Stack size 16 bytes, queue.o(i.xQueueGenericReset))
@@ -2644,7 +2638,7 @@ Global Symbols
[Called By]
xQueueGenericSend (Thumb, 346 bytes, Stack size 56 bytes, queue.o(i.xQueueGenericSend)) +
xQueueGenericSend (Thumb, 346 bytes, Stack size 56 bytes, queue.o(i.xQueueGenericSend))
[Stack]
xQueueGenericSendFromISR (Thumb, 190 bytes, Stack size 32 bytes, queue.o(i.xQueueGenericSendFromISR))
@@ -2675,13 +2669,13 @@ Global Symbols
[Called By]
xQueueGiveMutexRecursive (Thumb, 62 bytes, Stack size 8 bytes, queue.o(i.xQueueGiveMutexRecursive)) +
xQueueGiveMutexRecursive (Thumb, 62 bytes, Stack size 8 bytes, queue.o(i.xQueueGiveMutexRecursive))
[Stack]
xQueueReceive (Thumb, 308 bytes, Stack size 56 bytes, queue.o(i.xQueueReceive)) @@ -2695,7 +2689,7 @@ Global Symbols
xQueueSemaphoreTake (Thumb, 372 bytes, Stack size 48 bytes, queue.o(i.xQueueSemaphoreTake)) +
xQueueSemaphoreTake (Thumb, 372 bytes, Stack size 48 bytes, queue.o(i.xQueueSemaphoreTake))
[Stack]
xQueueTakeMutexRecursive (Thumb, 64 bytes, Stack size 16 bytes, queue.o(i.xQueueTakeMutexRecursive)) +
xQueueTakeMutexRecursive (Thumb, 64 bytes, Stack size 16 bytes, queue.o(i.xQueueTakeMutexRecursive))
[Stack]
xTaskCheckForTimeOut (Thumb, 112 bytes, Stack size 24 bytes, tasks.o(i.xTaskCheckForTimeOut)) @@ -2741,12 +2735,12 @@ Global Symbols
xTaskCreate (Thumb, 90 bytes, Stack size 56 bytes, tasks.o(i.xTaskCreate)) +
xTaskCreate (Thumb, 90 bytes, Stack size 56 bytes, tasks.o(i.xTaskCreate))
[Stack]
xTaskCreateStatic (Thumb, 86 bytes, Stack size 40 bytes, tasks.o(i.xTaskCreateStatic)) +
xTaskCreateStatic (Thumb, 86 bytes, Stack size 40 bytes, tasks.o(i.xTaskCreateStatic))
[Stack]
xTaskGetCurrentTaskHandle (Thumb, 6 bytes, Stack size 0 bytes, tasks.o(i.xTaskGetCurrentTaskHandle))
-
[Called By]
xTaskGetSchedulerState (Thumb, 22 bytes, Stack size 0 bytes, tasks.o(i.xTaskGetSchedulerState))
-
[Called By]
xTaskGetSchedulerState (Thumb, 22 bytes, Stack size 0 bytes, tasks.o(i.xTaskGetSchedulerState))
+
[Called By]
xTaskGetTickCount (Thumb, 6 bytes, Stack size 0 bytes, tasks.o(i.xTaskGetTickCount)) @@ -2788,12 +2782,12 @@ Global Symbols
xTaskIncrementTick (Thumb, 192 bytes, Stack size 24 bytes, tasks.o(i.xTaskIncrementTick))
[Stack]
xTaskPriorityDisinherit (Thumb, 118 bytes, Stack size 16 bytes, tasks.o(i.xTaskPriorityDisinherit))
@@ -2811,7 +2805,7 @@ Global Symbols
[Calls]
xTaskRemoveFromEventList (Thumb, 98 bytes, Stack size 16 bytes, tasks.o(i.xTaskRemoveFromEventList))
@@ -2820,10 +2814,10 @@ Global Symbols
[Calls]
xTaskResumeAll (Thumb, 182 bytes, Stack size 32 bytes, tasks.o(i.xTaskResumeAll))
[Stack]
xTimerCreateTimerTask (Thumb, 78 bytes, Stack size 32 bytes, timers.o(i.xTimerCreateTimerTask)) @@ -2852,17 +2846,17 @@ Global Symbols
xTimerGenericCommand (Thumb, 98 bytes, Stack size 40 bytes, timers.o(i.xTimerGenericCommand))
[Stack]
UART_DMAError (Thumb, 80 bytes, Stack size 16 bytes, stm32g4xx_hal_uart.o(i.UART_DMAError))
[Stack]
UART_DMARxHalfCplt (Thumb, 32 bytes, Stack size 8 bytes, stm32g4xx_hal_uart.o(i.UART_DMARxHalfCplt))
[Stack]
UART_DMATxHalfCplt (Thumb, 10 bytes, Stack size 8 bytes, stm32g4xx_hal_uart.o(i.UART_DMATxHalfCplt))
[Stack]
UART_EndTxTransfer (Thumb, 46 bytes, Stack size 0 bytes, stm32g4xx_hal_uart.o(i.UART_EndTxTransfer))
-
[Calls]
UART_EndTxTransfer (Thumb, 46 bytes, Stack size 0 bytes, stm32g4xx_hal_uart.o(i.UART_EndTxTransfer))
+
[Calls]
prvCopyDataFromQueue (Thumb, 38 bytes, Stack size 8 bytes, queue.o(i.prvCopyDataFromQueue))
[Stack]
prvInitialiseMutex (Thumb, 22 bytes, Stack size 0 bytes, queue.o(i.prvInitialiseMutex))
[Stack]
prvInitialiseNewQueue (Thumb, 34 bytes, Stack size 16 bytes, queue.o(i.prvInitialiseNewQueue))
@@ -3137,7 +3131,7 @@ Local Symbols
[Calls]
prvAddNewTaskToReadyList (Thumb, 190 bytes, Stack size 24 bytes, tasks.o(i.prvAddNewTaskToReadyList)) @@ -3175,8 +3169,8 @@ Local Symbols
prvDeleteTCB (Thumb, 52 bytes, Stack size 8 bytes, tasks.o(i.prvDeleteTCB)) @@ -3190,34 +3184,34 @@ Local Symbols
prvIdleTask (Thumb, 82 bytes, Stack size 0 bytes, tasks.o(i.prvIdleTask))
[Stack]
prvInitialiseNewTask (Thumb, 176 bytes, Stack size 40 bytes, tasks.o(i.prvInitialiseNewTask))
[Stack]
prvResetNextTaskUnblockTime (Thumb, 26 bytes, Stack size 0 bytes, tasks.o(i.prvResetNextTaskUnblockTime))
-
[Called By]
prvCheckForValidListAndQueue (Thumb, 72 bytes, Stack size 16 bytes, timers.o(i.prvCheckForValidListAndQueue))
[Stack]
prvProcessTimerOrBlockTask (Thumb, 182 bytes, Stack size 32 bytes, timers.o(i.prvProcessTimerOrBlockTask))
[Stack]
prvSwitchTimerLists (Thumb, 104 bytes, Stack size 24 bytes, timers.o(i.prvSwitchTimerLists))
[Stack]
UART_TX_FIFO_sendstr (Thumb, 94 bytes, Stack size 16 bytes, uart_fifo.o(i.UART_TX_FIFO_sendstr))
[Stack]
_printf_core (Thumb, 548 bytes, Stack size 96 bytes, printf4.o(i._printf_core), UNUSED) +
_printf_core (Thumb, 548 bytes, Stack size 96 bytes, printf4.o(i._printf_core), UNUSED)
[Calls]