Skip to content

Error management: save space when core logs are not enabled #1739

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jun 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
240 changes: 178 additions & 62 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ menu.xusb=USB speed (if available)
menu.virtio=Virtual serial support

menu.opt=Optimize
menu.dbg=Debug symbols
menu.dbg=Debug symbols and core logs
menu.rtlib=C Runtime Library
menu.upload_method=Upload method

Expand Down Expand Up @@ -729,7 +729,7 @@ Disco.menu.pnum.B_L475E_IOT01A.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard
Disco.menu.pnum.B_L475E_IOT01A.build.board=B_L475E_IOT01A
Disco.menu.pnum.B_L475E_IOT01A.build.series=STM32L4xx
Disco.menu.pnum.B_L475E_IOT01A.build.product_line=STM32L475xx
Disco.menu.pnum.B_L475E_IOT01A.build.variant=STM32L4xx//L475V(C-E-G)T_L476V(C-E-G)T_L486VGT
Disco.menu.pnum.B_L475E_IOT01A.build.variant=STM32L4xx/L475V(C-E-G)T_L476V(C-E-G)T_L486VGT
Disco.menu.pnum.B_L475E_IOT01A.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
Disco.menu.pnum.B_L475E_IOT01A.build.cmsis_lib_gcc=arm_cortexM4lf_math

Expand Down Expand Up @@ -7346,8 +7346,8 @@ GenU5.menu.opt.o3std=Fastest (-O3)
GenU5.menu.opt.o3std.build.flags.optimize=-O3
GenU5.menu.opt.o3lto=Fastest (-O3) with LTO
GenU5.menu.opt.o3lto.build.flags.optimize=-O3 -flto
GenU5.menu.opt.ogstd=Debug (-g)
GenU5.menu.opt.ogstd.build.flags.optimize=-g -Og
GenU5.menu.opt.ogstd=Debug (-Og)
GenU5.menu.opt.ogstd.build.flags.optimize=-Og
GenU5.menu.opt.o0std=No Optimization (-O0)
GenU5.menu.opt.o0std.build.flags.optimize=-O0

Expand Down Expand Up @@ -7553,120 +7553,236 @@ Midatronics.menu.opt.o0std.build.flags.optimize=-O0

# Debug information
Nucleo_144.menu.dbg.none=None
Nucleo_144.menu.dbg.enable=Enabled (-g)
Nucleo_144.menu.dbg.enable.build.flags.debug=-g
Nucleo_144.menu.dbg.enable_sym=Symbols Enabled (-g)
Nucleo_144.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
Nucleo_144.menu.dbg.enable_log=Core logs Enabled
Nucleo_144.menu.dbg.enable_log.build.flags.debug=
Nucleo_144.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
Nucleo_144.menu.dbg.enable_all.build.flags.debug=-g

Nucleo_64.menu.dbg.none=None
Nucleo_64.menu.dbg.enable=Enabled (-g)
Nucleo_64.menu.dbg.enable.build.flags.debug=-g
Nucleo_64.menu.dbg.enable_sym=Symbols Enabled (-g)
Nucleo_64.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
Nucleo_64.menu.dbg.enable_log=Core logs Enabled
Nucleo_64.menu.dbg.enable_log.build.flags.debug=
Nucleo_64.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
Nucleo_64.menu.dbg.enable_all.build.flags.debug=-g

Nucleo_32.menu.dbg.none=None
Nucleo_32.menu.dbg.enable=Enabled (-g)
Nucleo_32.menu.dbg.enable.build.flags.debug=-g
Nucleo_32.menu.dbg.enable_sym=Symbols Enabled (-g)
Nucleo_32.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
Nucleo_32.menu.dbg.enable_log=Core logs Enabled
Nucleo_32.menu.dbg.enable_log.build.flags.debug=
Nucleo_32.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
Nucleo_32.menu.dbg.enable_all.build.flags.debug=-g

Disco.menu.dbg.none=None
Disco.menu.dbg.enable=Enabled (-g)
Disco.menu.dbg.enable.build.flags.debug=-g
Disco.menu.dbg.enable_sym=Symbols Enabled (-g)
Disco.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
Disco.menu.dbg.enable_log=Core logs Enabled
Disco.menu.dbg.enable_log.build.flags.debug=
Disco.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
Disco.menu.dbg.enable_all.build.flags.debug=-g

Eval.menu.dbg.none=None
Eval.menu.dbg.enable=Enabled (-g)
Eval.menu.dbg.enable.build.flags.debug=-g
Eval.menu.dbg.enable_sym=Symbols Enabled (-g)
Eval.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
Eval.menu.dbg.enable_log=Core logs Enabled
Eval.menu.dbg.enable_log.build.flags.debug=
Eval.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
Eval.menu.dbg.enable_all.build.flags.debug=-g

STM32MP1.menu.dbg.none=None
STM32MP1.menu.dbg.enable=Enabled (-g)
STM32MP1.menu.dbg.enable.build.flags.debug=-g
STM32MP1.menu.dbg.enable_sym=Symbols Enabled (-g)
STM32MP1.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
STM32MP1.menu.dbg.enable_log=Core logs Enabled
STM32MP1.menu.dbg.enable_log.build.flags.debug=
STM32MP1.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
STM32MP1.menu.dbg.enable_all.build.flags.debug=-g

GenF0.menu.dbg.none=None
GenF0.menu.dbg.enable=Enabled (-g)
GenF0.menu.dbg.enable.build.flags.debug=-g
GenF0.menu.dbg.enable_sym=Symbols Enabled (-g)
GenF0.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenF0.menu.dbg.enable_log=Core logs Enabled
GenF0.menu.dbg.enable_log.build.flags.debug=
GenF0.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenF0.menu.dbg.enable_all.build.flags.debug=-g

GenF1.menu.dbg.none=None
GenF1.menu.dbg.enable=Enabled (-g)
GenF1.menu.dbg.enable.build.flags.debug=-g
GenF1.menu.dbg.enable_sym=Symbols Enabled (-g)
GenF1.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenF1.menu.dbg.enable_log=Core logs Enabled
GenF1.menu.dbg.enable_log.build.flags.debug=
GenF1.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenF1.menu.dbg.enable_all.build.flags.debug=-g

GenF2.menu.dbg.none=None
GenF2.menu.dbg.enable=Enabled (-g)
GenF2.menu.dbg.enable.build.flags.debug=-g
GenF2.menu.dbg.enable_sym=Symbols Enabled (-g)
GenF2.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenF2.menu.dbg.enable_log=Core logs Enabled
GenF2.menu.dbg.enable_log.build.flags.debug=
GenF2.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenF2.menu.dbg.enable_all.build.flags.debug=-g

GenF3.menu.dbg.none=None
GenF3.menu.dbg.enable=Enabled (-g)
GenF3.menu.dbg.enable.build.flags.debug=-g
GenF3.menu.dbg.enable_sym=Symbols Enabled (-g)
GenF3.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenF3.menu.dbg.enable_log=Core logs Enabled
GenF3.menu.dbg.enable_log.build.flags.debug=
GenF3.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenF3.menu.dbg.enable_all.build.flags.debug=-g

GenF4.menu.dbg.none=None
GenF4.menu.dbg.enable=Enabled (-g)
GenF4.menu.dbg.enable.build.flags.debug=-g
GenF4.menu.dbg.enable_sym=Symbols Enabled (-g)
GenF4.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenF4.menu.dbg.enable_log=Core logs Enabled
GenF4.menu.dbg.enable_log.build.flags.debug=
GenF4.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenF4.menu.dbg.enable_all.build.flags.debug=-g

GenF7.menu.dbg.none=None
GenF7.menu.dbg.enable=Enabled (-g)
GenF7.menu.dbg.enable.build.flags.debug=-g
GenF7.menu.dbg.enable_sym=Symbols Enabled (-g)
GenF7.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenF7.menu.dbg.enable_log=Core logs Enabled
GenF7.menu.dbg.enable_log.build.flags.debug=
GenF7.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenF7.menu.dbg.enable_all.build.flags.debug=-g

GenG0.menu.dbg.none=None
GenG0.menu.dbg.enable=Enabled (-g)
GenG0.menu.dbg.enable.build.flags.debug=-g
GenG0.menu.dbg.enable_sym=Symbols Enabled (-g)
GenG0.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenG0.menu.dbg.enable_log=Core logs Enabled
GenG0.menu.dbg.enable_log.build.flags.debug=
GenG0.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenG0.menu.dbg.enable_all.build.flags.debug=-g

GenG4.menu.dbg.none=None
GenG4.menu.dbg.enable=Enabled (-g)
GenG4.menu.dbg.enable.build.flags.debug=-g
GenG4.menu.dbg.enable_sym=Symbols Enabled (-g)
GenG4.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenG4.menu.dbg.enable_log=Core logs Enabled
GenG4.menu.dbg.enable_log.build.flags.debug=
GenG4.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenG4.menu.dbg.enable_all.build.flags.debug=-g

GenH7.menu.dbg.none=None
GenH7.menu.dbg.enable=Enabled (-g)
GenH7.menu.dbg.enable.build.flags.debug=-g
GenH7.menu.dbg.enable_sym=Symbols Enabled (-g)
GenH7.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenH7.menu.dbg.enable_log=Core logs Enabled
GenH7.menu.dbg.enable_log.build.flags.debug=
GenH7.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenH7.menu.dbg.enable_all.build.flags.debug=-g

GenL0.menu.dbg.none=None
GenL0.menu.dbg.enable=Enabled (-g)
GenL0.menu.dbg.enable.build.flags.debug=-g
GenL0.menu.dbg.enable_sym=Symbols Enabled (-g)
GenL0.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenL0.menu.dbg.enable_log=Core logs Enabled
GenL0.menu.dbg.enable_log.build.flags.debug=
GenL0.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenL0.menu.dbg.enable_all.build.flags.debug=-g

GenL1.menu.dbg.none=None
GenL1.menu.dbg.enable=Enabled (-g)
GenL1.menu.dbg.enable.build.flags.debug=-g
GenL1.menu.dbg.enable_sym=Symbols Enabled (-g)
GenL1.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenL1.menu.dbg.enable_log=Core logs Enabled
GenL1.menu.dbg.enable_log.build.flags.debug=
GenL1.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenL1.menu.dbg.enable_all.build.flags.debug=-g

GenL4.menu.dbg.none=None
GenL4.menu.dbg.enable=Enabled (-g)
GenL4.menu.dbg.enable.build.flags.debug=-g
GenL4.menu.dbg.enable_sym=Symbols Enabled (-g)
GenL4.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenL4.menu.dbg.enable_log=Core logs Enabled
GenL4.menu.dbg.enable_log.build.flags.debug=
GenL4.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenL4.menu.dbg.enable_all.build.flags.debug=-g

GenL5.menu.dbg.none=None
GenL5.menu.dbg.enable=Enabled (-g)
GenL5.menu.dbg.enable.build.flags.debug=-g
GenL5.menu.dbg.enable_sym=Symbols Enabled (-g)
GenL5.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenL5.menu.dbg.enable_log=Core logs Enabled
GenL5.menu.dbg.enable_log.build.flags.debug=
GenL5.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenL5.menu.dbg.enable_all.build.flags.debug=-g

GenWB.menu.dbg.none=None
GenWB.menu.dbg.enable=Enabled (-g)
GenWB.menu.dbg.enable.build.flags.debug=-g
GenWB.menu.dbg.enable_sym=Symbols Enabled (-g)
GenWB.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenWB.menu.dbg.enable_log=Core logs Enabled
GenWB.menu.dbg.enable_log.build.flags.debug=
GenWB.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenWB.menu.dbg.enable_all.build.flags.debug=-g

GenWL.menu.dbg.none=None
GenWL.menu.dbg.enable=Enabled (-g)
GenWL.menu.dbg.enable.build.flags.debug=-g
GenWL.menu.dbg.enable_sym=Symbols Enabled (-g)
GenWL.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenWL.menu.dbg.enable_log=Core logs Enabled
GenWL.menu.dbg.enable_log.build.flags.debug=
GenWL.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenWL.menu.dbg.enable_all.build.flags.debug=-g

3dprinter.menu.dbg.none=None
3dprinter.menu.dbg.enable=Enabled (-g)
3dprinter.menu.dbg.enable.build.flags.debug=-g
3dprinter.menu.dbg.enable_sym=Symbols Enabled (-g)
3dprinter.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
3dprinter.menu.dbg.enable_log=Core logs Enabled
3dprinter.menu.dbg.enable_log.build.flags.debug=
3dprinter.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
3dprinter.menu.dbg.enable_all.build.flags.debug=-g

BluesW.menu.dbg.none=None
BluesW.menu.dbg.enable=Enabled (-g)
BluesW.menu.dbg.enable.build.flags.debug=-g
BluesW.menu.dbg.enable_sym=Symbols Enabled (-g)
BluesW.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
BluesW.menu.dbg.enable_log=Core logs Enabled
BluesW.menu.dbg.enable_log.build.flags.debug=
BluesW.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
BluesW.menu.dbg.enable_all.build.flags.debug=-g

Elecgator.menu.dbg.none=None
Elecgator.menu.dbg.enable=Enabled (-g)
Elecgator.menu.dbg.enable.build.flags.debug=-g
Elecgator.menu.dbg.enable_sym=Symbols Enabled (-g)
Elecgator.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
Elecgator.menu.dbg.enable_log=Core logs Enabled
Elecgator.menu.dbg.enable_log.build.flags.debug=
Elecgator.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
Elecgator.menu.dbg.enable_all.build.flags.debug=-g

ESC_board.menu.dbg.none=None
ESC_board.menu.dbg.enable=Enabled (-g)
ESC_board.menu.dbg.enable.build.flags.debug=-g
ESC_board.menu.dbg.enable_sym=Symbols Enabled (-g)
ESC_board.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
ESC_board.menu.dbg.enable_log=Core logs Enabled
ESC_board.menu.dbg.enable_log.build.flags.debug=
ESC_board.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
ESC_board.menu.dbg.enable_all.build.flags.debug=-g

Garatronic.menu.dbg.none=None
Garatronic.menu.dbg.enable=Enabled (-g)
Garatronic.menu.dbg.enable.build.flags.debug=-g
Garatronic.menu.dbg.enable_sym=Symbols Enabled (-g)
Garatronic.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
Garatronic.menu.dbg.enable_log=Core logs Enabled
Garatronic.menu.dbg.enable_log.build.flags.debug=
Garatronic.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
Garatronic.menu.dbg.enable_all.build.flags.debug=-g

GenFlight.menu.dbg.none=None
GenFlight.menu.dbg.enable=Enabled (-g)
GenFlight.menu.dbg.enable.build.flags.debug=-g
GenFlight.menu.dbg.enable_sym=Symbols Enabled (-g)
GenFlight.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
GenFlight.menu.dbg.enable_log=Core logs Enabled
GenFlight.menu.dbg.enable_log.build.flags.debug=
GenFlight.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
GenFlight.menu.dbg.enable_all.build.flags.debug=-g

LoRa.menu.dbg.none=None
LoRa.menu.dbg.enable=Enabled (-g)
LoRa.menu.dbg.enable.build.flags.debug=-g
LoRa.menu.dbg.enable_sym=Symbols Enabled (-g)
LoRa.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
LoRa.menu.dbg.enable_log=Core logs Enabled
LoRa.menu.dbg.enable_log.build.flags.debug=
LoRa.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
LoRa.menu.dbg.enable_all.build.flags.debug=-g

Midatronics.menu.dbg.none=None
Midatronics.menu.dbg.enable=Enabled (-g)
Midatronics.menu.dbg.enable.build.flags.debug=-g
Midatronics.menu.dbg.enable_sym=Symbols Enabled (-g)
Midatronics.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
Midatronics.menu.dbg.enable_log=Core logs Enabled
Midatronics.menu.dbg.enable_log.build.flags.debug=
Midatronics.menu.dbg.enable_all=Core Logs and Symbols Enabled (-g)
Midatronics.menu.dbg.enable_all.build.flags.debug=-g

# C Runtime Library
Nucleo_144.menu.rtlib.nano=Newlib Nano (default)
Expand Down
8 changes: 4 additions & 4 deletions cores/arduino/core_debug.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#ifndef _CORE_DEBUG_H
#define _CORE_DEBUG_H
#ifdef CORE_DEBUG
#if !defined(NDEBUG)
#include <stdio.h>
#include <stdarg.h>
#endif /* CORE_DEBUG */
#endif /* NDEBUG */

#ifdef __cplusplus
extern "C" {
Expand All @@ -18,14 +18,14 @@ extern "C" {
*/
static inline void core_debug(const char *format, ...)
{
#ifdef CORE_DEBUG
#if !defined(NDEBUG)
va_list args;
va_start(args, format);
vfprintf(stderr, format, args);
va_end(args);
#else
(void)(format);
#endif /* CORE_DEBUG */
#endif /* NDEBUG */
}

#ifdef __cplusplus
Expand Down
13 changes: 13 additions & 0 deletions cores/arduino/stm32/stm32_def.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,22 @@ extern "C" {
// weaked functions declaration
void SystemClock_Config(void);

#if defined(NDEBUG)
#if !defined(_Error_Handler)
#define _Error_Handler(str, value) \
while (1) {\
}
#endif
#if !defined(Error_Handler)
#define Error_Handler() \
while (1) {\
}
#endif
#else
void _Error_Handler(const char *, int);

#define Error_Handler() _Error_Handler(__FILE__, __LINE__)
#endif

#ifdef __cplusplus
} // extern "C"
Expand Down
2 changes: 2 additions & 0 deletions libraries/SrcWrapper/src/stm32/stm32_def.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@ extern "C" {
* @param None
* @retval None
*/
#if !defined(NDEBUG)
WEAK void _Error_Handler(const char *msg, int val)
{
/* User can add his own implementation to report the HAL error return state */
core_debug("Error: %s (%i)\n", msg, val);
while (1) {
}
}
#endif

#ifdef __cplusplus
}
Expand Down
Loading