On Wed, Mar 8, 2023 at 5:31 PM Gregory Nutt <spudan...@gmail.com> wrote:

>
> >> 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.
>
> I don't that the specific TERMIOS configuration we are talking about
> here is an significant issue.  I don't expect any large code size change
> as a consequence of enabling TERMIOS because the extent of logic enabled
> is not enormous.



Perhaps we should try to strike a reasonable balance: areas with a bigger
flash footprint impact should be removable by Kconfig, especially if
they're not always needed. Areas that don't eat too much flash could be
always included, especially if they are in common use.

In other words try to optimize for 80% of the impact and not for 20% of the
impact.


Related: This would be an issue for people who have to support a product
> for an extended life.  In the early 2010's, for example, there were
> products using NuttX based on MCUs with 32Kb of FLASH memory.  I suspect
> those would already be in trouble.



Exactly. And:


The moral of this is:  If you have to support the same hardware for
> years and years, you really need to freeze the OS version and backport
> any critical fixes as necessary.



So, the problem here is that backports only get more difficult over time as
the codebase grows and changes.

I guess you have to assess the intended lifecycle of your product and
over-provision your MCU accordingly to the expected rate of growth of the
firmware.

Nathan

Reply via email to