I need to use sprintf with floating point numbers (%f format specifier) in a project based on rpmsg_lite_str_echo_rtos on the cortex-M (NXP Processor).I use the recommended arm-gnu-toolchain-12.3.rel1-mingw-w64-i686-arm-none-eabiI see that when I call
sprintf(str, "%d" 3);
the number 3 is printed to the string str.
But if I have a floating point number and I use "%f" format specifier
sprintf(str, "%f" 3.5);
I getASSERT ERROR " Balloc succeeded ": file "/data/jenkins/workspace/GNU-toolchain/arm-12/src/newlib-cygwin/newlib/libc/stdlib/mprec.c" Line "783" function name ""
It seems similar to this errorforum.pjrc.com/index.phpthat points to this fixgithub.com/.../f88aece242178ff0c187d56e34a79645fbc44a23
Is there a way to have sprintf working with floating point numbers?
Yes, I have definitely seen cases of sbrk being overriden by users, and I don't see any reason why you won't be able to do the same with the __malloc_lock/unlock symbols: i.e. it should be fine.Sadly I do not have any advice I can give for FreeRTOS, that is likely a question best asked on some FreeRTOS-related forum.
Thank you for the link to https://nadler.com. It was a really interesting read! If you have any advice on how we can improve the Arm GNU Toolchain, please let us know any we'll take your feedback on board.