On some platforms `libstdc++` is not used or not available, like on the AVR. Such platforms can use this module to implement the C++ `new` and `delete` operators using `malloc` and `free` respectively. However, to be thread-safe, a thread-safe implementation of `malloc` and `free` must be present.
R0.14b (April 17, 2021)
Made FatFs uses standard library <string.h> for copy, compare and search instead of built-in string functions.
Added support for long long integer and floating point to f_printf(). (FF_STRF_LLI and FF_STRF_FP)
Made path name parser ignores the terminating separator to allow "dir/".
Improved the compatibility in Unix style path name feature.
Fixed the file gets dead-locked when f_open() failed with some conditions. (appeared at R0.12a)
Fixed f_mkfs() can create wrong exFAT volume due to a timing dependent error. (appeared at R0.12)
Fixed code page 855 cannot be set by f_setcp(). (appeared at R0.13)
Fixed some compiler warnings.
- http://elm-chan.org/fsw/ff/updates.txt
A couple of `stdio` backend implementations allow to check for the number of available bytes for reading before the blocking `stdio_read` is called. This helps to implement non-blocking functionalities while waiting for `stdin`.
Not all boards that provide a Arduino pin layout break out all GPIOs. A good example are Adafruit `feather-m0` boards. GPIOs that are not broken out have to be defined as `GPIO_UNDEF` to preserve the Arduino pin layout. However, GPIO functions lead to a complete system lock on `feather-m0` boards if a pin is used that is defined as `GPIO_UNDEF`. Therefore, at least an assert should blow up in this case.
All derived `feather-m0-*` boards have all features of the `feather-m0` board and `Makefile.features` of derived `feather-m0-`*` boards just include `Makefile.features` of the `feather-m0` base board. Therefore a base board definition is used in Kconfig for all `feather-m0*` boards.
With PR #17401 the Arduino feature was introduced for the `feather-m0` base board. Since all derived `feather-m0-*` boards with additional hardware modules simply include `Makefile.features` of the `feather-m0` base board, they also have this feature. However, the `Kconfig` file is defined separately for each of these boards. In PR 17401, it was forgotten to include the Arduino feature in the `Kconfig` file for the derived boards. This was not noticed because the CI did not trigger an error message.