On Wed, Mar 8, 2023 at 4:02 PM Sebastien Lorquet <sebast...@lorquet.fr>
wrote:

> You are right about posix compliance, this is a valuable goal, but at
> the same time it raises the hard remark:
>
> At some point NuttX will grow too large for deep embedded platforms.



My concern exactly. Yes, POSIX compliance is super important because it
provides portability: I regularly write a program and run it on PC and
embedded with almost no changes. This is one of the big selling points of
NuttX for me.

At the same time, there's another kind of portability: between MCU models
and families. Before NuttX if I had a firmware running perfectly on PIC32
and wanted to move it to Tiva I had to rewrite everything. NuttX support
for many MCU models eliminates this (except the occasional bugfix in low
level driver code or something). That's a huge advantage. Supporting lots
of architectures means the next project is likely to find one that will
work.

If we won't fit on the smaller micros, we'll lose some of that advantage.
Maybe it doesn't matter. Maybe the days of super small MCUs are numbered
and things are moving to bigger flash, 64-bit, and Raspberry Pi class
embedded systems. Maybe that's okay. But, if that's the direction to go,
then we just need to be clear about what our future holds so that users
won't build designs around micros that are not going to be supported for
much longer.

Maybe, like FreeBSD, we should declare support "tiers" for different
architectures and MCUs, with Tier 1 meaning supported fully and other tiers
for things like partial support (experimental?) or deprecated... just a
thought.

Cheers
Nathan

Reply via email to