On Thu, Feb 17, 2022 at 4:08 AM Petro Karashchenko <petro.karashche...@gmail.com> wrote: > My point about two config options was more because I think that apps > and kernel are two separate entities and if there is a need to add > extra debugging capabilities to the kernel it does not mean that it > needs to be added for apps as well and vice versa. This seems to be > right to me from the logical perspective especially if kernel mode > build is selected. But going with a single option can be a solution as > well.
Seems logical to me. More below: > The other configuration options that you mention were mostly done to > reach the tiny memory footprint rather than an attempt to violate > POSIX. If we want to build a system that is capable of running from > 8-bit to 64-bit embedded systems I think we can't afford to enable all > the features by default. This is my concern as well. <rant>The whole point of NuttX for me is that it provides a way to use many different microcontrollers and switch easily from one family to another. This happens all the time in my $DAYJOB because often an existing design is being updated and the customer wants some new feature, and the MCU is, say, Microchip, and it doesn't have some peripheral we need, and another chip, say, STM32 does have it, so now we have to rewrite the entire firmware because we wanted to add one feature. By using NuttX we just recompile the firmware with minimal changes. Also we make a lot of software for the PC side, so using NuttX allows us to share more code between PC and embedded. That's made possible by NuttX being POSIX-like, but I like that I can disable unneeded features to save FLASH and RAM which can significantly reduce cost. And there are still a lot of products that can use 8- or 16-bit MCUs. We should not forget where we come from.</rant> Cheers, Nathan