- Sun Apr 19, 2015 12:16 pm
#15044
hi,
i am using esp-open-sdk (
https://github.com/pfalcon/esp-open-sdk) xtensa-lx106-elf-gcc, "gcc version 4.8.2 (crosstool-NG 1.20.0)"
i believe printf/sprintf is being implemented by the espressif c library, in their file libmain.a (from grep) but i'm not 100% sure. i see two references in headers:
./include/espressif/esp_libc.h:int sprintf(char *out, const char *format, ...);
./extra_include/stdio.h:int _EXFUN(sprintf, (char *, const char *, ...));
the freertos port is the one provided by espressif via their git repository,
https://github.com/espressif/esp_iot_rtos_sdkarchitecture is xtensa lx106. from ./include/freertos/FreeRTOSConfig.h it is version 7.5.2
it's not the official freertos directly from freertos.org, it is the one provided by espressif via their git (see above)
according to ./include/freertos/FreeRTOSConfig.h, #define configCHECK_FOR_STACK_OVERFLOW 2
the output of printf/sprintf is just the ascii (non special characters) in the format string. for example, "%i %i %i\n" comes out as " \n"
i'm not sure if configASSERT is defined, it isn't clear from FreeRTOSConfig.h/FreeRTOS.h
thanks for your help! btw, i got the portable snprintf from samba (
https://ftp.samba.org/pub/unpacked/ccac ... snprintf.c) compiled into my project and it works perfectly fine!