| # |
| # For a description of the syntax of this configuration file, |
| # see the file kconfig-language.txt in the NuttX tools repository. |
| # |
| |
| if LOGGING_EMBEDLOG |
| |
| config EXAMPLES_EMBEDLOG |
| tristate "embedlog example" |
| default n |
| select EMBEDLOG_ENABLE_OUT_FILE |
| select EMBEDLOG_ENABLE_OUT_STDERR |
| select EMBEDLOG_ENABLE_OUT_TTY |
| select EMBEDLOG_ENABLE_OUT_CUSTOM |
| select EMBEDLOG_ENABLE_BINARY_LOGS |
| select EMBEDLOG_ENABLE_TIMESTAMP |
| select EMBEDLOG_ENABLE_FRACTIONS |
| select EMBEDLOG_ENABLE_PREFIX |
| select EMBEDLOG_ENABLE_FINFO |
| select EMBEDLOG_ENABLE_COLORS |
| ---help--- |
| Enable the "embedlog" example. |
| |
| if EXAMPLES_EMBEDLOG |
| |
| config EXAMPLES_EMBEDLOG_STRIP_ALL_STRINGS |
| bool "Disable embedlog (strip)" |
| default n |
| ---help--- |
| Enabled embedlog so you can disable it... sounds about right. |
| |
| Enable this to replace all embedlog function calls with stub |
| functions that always return OK. This will effectively strip |
| final binary from all log strings making code considerably |
| smaller. |
| |
| This may be useful in two cases (at least): |
| |
| 1) You develop your app on bigger version of target MCU, on |
| which you have a lot of memory. So on that version of the |
| build you can afford to enable good diagnostic logs. But |
| final image may be run on smaller version, on which logs |
| would not fit. In that case you can strip binary in final |
| production image. Thanks to that you will get logs in dev |
| env, but still maintain small footprint on production build. |
| |
| 2) You want to hide implementation details that could be |
| leaked with debug logs from final image. |
| |
| It only makes sense to enable this on production type builds. |
| Linker will optimize out embedlog and remove all unused |
| functions, just as if embedlog was never built. |
| |
| Enabling this will render embedlog example useless - it |
| will not print anything, but example will stil compile |
| and final image will be about 15kB smaller. But YMMV |
| depending how much strings you have in project. |
| |
| config EXAMPLES_EMBEDLOG_PROGNAME |
| string "Program name" |
| default "embedlog" |
| ---help--- |
| This is the name of the program that will be used when the NSH ELF |
| program is installed. |
| |
| config EXAMPLES_EMBEDLOG_PRIORITY |
| int "embedlog example task priority" |
| default 100 |
| |
| config EXAMPLES_EMBEDLOG_STACKSIZE |
| int "embedlog example stack size" |
| default DEFAULT_TASK_STACKSIZE |
| |
| endif #EXAMPLES_EMBEDLOG |
| endif #LOGGING_EMBEDLOG |