You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nuttx.apache.org by "Alan C. Assis" <ac...@gmail.com> on 2025/11/16 21:19:13 UTC
Fwd: Creative Usage of the NuttX Loader
Hi Everyone,
This is a nice project: Liam works for LVGL and he implemented a compiler
that works inside NuttX and generates ELF files (executables) that can be
loaded (executed) dynamically.
He wants to integrate it on NuttX and maintain it. I think there are many
applications where people want to generate executable dynamically inside
NuttX, so this is a nice demo for this idea.
BR,
Alan
---------- Forwarded message ---------
From: Liam Howatt <li...@lvgl.io>
Date: Sat, Nov 15, 2025 at 1:04 PM
Subject: Creative Usage of the NuttX Loader
To: Alan C. Assis <ac...@gmail.com>, Halysson Carvalho Silva Junior <
halysson1007@gmail.com>
Cc: Gabor Kiss-Vamosi <ki...@gmail.com>
Hi Alan and Halysson,
I wanted to share something that uses the NuttX loader in an interesting
way. I made a compiler that runs inside NuttX and produces a NuttX ELF
which can be immediately loaded and run. It synthesizes an ELF from
scratch. Here is the code that makes the ELF
<https://github.com/liamHowatt/mcp_forth/blob/master/elf_nuttx.c>. Sorry
it's not currently annotated with comments. Maybe it will give you some
ideas or otherwise inspire you somehow. In any case, I think unique
features like the NuttX loader and innumerable other things are what make
NuttX so valuable. I wrote about the compiler here:
https://github.com/liamHowatt/mcp_nuttxspace?tab=readme-ov-file#forth
I've been watching for an opportunity to proceed with the "Creating a NuttX
Distro for easy board update in the field" with LVGL library updating and
LVGL app deployment. There hasn't been a big enough push to schedule it
amid all the partner support, customer support, and LVGL feature
development and maintenance. As soon as there's a lull, I would love to
jump at the opportunity to do it. However, if there's anyone else eager to
try it, don't tell them to wait for me.
All the best,
Liam
Re: Creative Usage of the NuttX Loader
Posted by "Alan C. Assis" <ac...@gmail.com>.
Hi Tomek,
The idea is to have a single NuttX distro using the existing apps, as base.
So anyone could create a custom distro just selecting the apps in the
Kconfig (similar what people do today), but also could be possible to add
new apps in a running system, without flashing a new firmware.
BR,
Alan
On Sunday, November 16, 2025, Tomek CEDRO <to...@cedro.info> wrote:
> Very cool to have not only interpreter but also a compiler running on
> NuttX! :-)
>
> So far we have apps/interpreters so Forth can land there or in new
> category apps/lang ? :-)
>
> NuttX "distribution".. hmm.. if it aligns with all current workflows
> and will keep NuttX coherent as the kernel and userland together
> (like FreeBSD / OpenBSD / NetBSD / *BSD is the complete operating
> system and userland thus in linux terms the "distribution") lets see
> what are the details of the idea. I think NuttX already have all
> mechanisms to do that and I think the idea is about updating the
> userland apps that we mentioned many times before? nuttx-apps is
> already kind of BSD ports tree and anyone can build and update
> applications in kernel mode.. we may need some "pkg" like binary tools
> that would handle applications install/update/delete along with
> dependencies right?
>
> But if the idea is about making NuttX another Linux kernel-only-like
> solution that would run under many different (self) incompatible
> "distributions" that provide userland (i.e. Vela, LVGL, and probably
> others) then I would prefer to stick to the coherent BSD philosophy
> :-P
>
> Tomek
>
> --
> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
>
> On Sun, Nov 16, 2025 at 10:19 PM Alan C. Assis <ac...@gmail.com> wrote:
> >
> > Hi Everyone,
> >
> > This is a nice project: Liam works for LVGL and he implemented a compiler
> > that works inside NuttX and generates ELF files (executables) that can be
> > loaded (executed) dynamically.
> >
> > He wants to integrate it on NuttX and maintain it. I think there are many
> > applications where people want to generate executable dynamically inside
> > NuttX, so this is a nice demo for this idea.
> >
> > BR,
> >
> > Alan
> >
> > ---------- Forwarded message ---------
> > From: Liam Howatt <li...@lvgl.io>
> > Date: Sat, Nov 15, 2025 at 1:04 PM
> > Subject: Creative Usage of the NuttX Loader
> > To: Alan C. Assis <ac...@gmail.com>, Halysson Carvalho Silva Junior <
> > halysson1007@gmail.com>
> > Cc: Gabor Kiss-Vamosi <ki...@gmail.com>
> >
> >
> > Hi Alan and Halysson,
> >
> > I wanted to share something that uses the NuttX loader in an interesting
> > way. I made a compiler that runs inside NuttX and produces a NuttX ELF
> > which can be immediately loaded and run. It synthesizes an ELF from
> > scratch. Here is the code that makes the ELF
> > <https://github.com/liamHowatt/mcp_forth/blob/master/elf_nuttx.c>. Sorry
> > it's not currently annotated with comments. Maybe it will give you some
> > ideas or otherwise inspire you somehow. In any case, I think unique
> > features like the NuttX loader and innumerable other things are what make
> > NuttX so valuable. I wrote about the compiler here:
> > https://github.com/liamHowatt/mcp_nuttxspace?tab=readme-ov-file#forth
> >
> > I've been watching for an opportunity to proceed with the "Creating a
> NuttX
> > Distro for easy board update in the field" with LVGL library updating and
> > LVGL app deployment. There hasn't been a big enough push to schedule it
> > amid all the partner support, customer support, and LVGL feature
> > development and maintenance. As soon as there's a lull, I would love to
> > jump at the opportunity to do it. However, if there's anyone else eager
> to
> > try it, don't tell them to wait for me.
> >
> > All the best,
> > Liam
>
Re: Creative Usage of the NuttX Loader
Posted by Tomek CEDRO <to...@cedro.info>.
Very cool to have not only interpreter but also a compiler running on NuttX! :-)
So far we have apps/interpreters so Forth can land there or in new
category apps/lang ? :-)
NuttX "distribution".. hmm.. if it aligns with all current workflows
and will keep NuttX coherent as the kernel and userland together
(like FreeBSD / OpenBSD / NetBSD / *BSD is the complete operating
system and userland thus in linux terms the "distribution") lets see
what are the details of the idea. I think NuttX already have all
mechanisms to do that and I think the idea is about updating the
userland apps that we mentioned many times before? nuttx-apps is
already kind of BSD ports tree and anyone can build and update
applications in kernel mode.. we may need some "pkg" like binary tools
that would handle applications install/update/delete along with
dependencies right?
But if the idea is about making NuttX another Linux kernel-only-like
solution that would run under many different (self) incompatible
"distributions" that provide userland (i.e. Vela, LVGL, and probably
others) then I would prefer to stick to the coherent BSD philosophy
:-P
Tomek
--
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
On Sun, Nov 16, 2025 at 10:19 PM Alan C. Assis <ac...@gmail.com> wrote:
>
> Hi Everyone,
>
> This is a nice project: Liam works for LVGL and he implemented a compiler
> that works inside NuttX and generates ELF files (executables) that can be
> loaded (executed) dynamically.
>
> He wants to integrate it on NuttX and maintain it. I think there are many
> applications where people want to generate executable dynamically inside
> NuttX, so this is a nice demo for this idea.
>
> BR,
>
> Alan
>
> ---------- Forwarded message ---------
> From: Liam Howatt <li...@lvgl.io>
> Date: Sat, Nov 15, 2025 at 1:04 PM
> Subject: Creative Usage of the NuttX Loader
> To: Alan C. Assis <ac...@gmail.com>, Halysson Carvalho Silva Junior <
> halysson1007@gmail.com>
> Cc: Gabor Kiss-Vamosi <ki...@gmail.com>
>
>
> Hi Alan and Halysson,
>
> I wanted to share something that uses the NuttX loader in an interesting
> way. I made a compiler that runs inside NuttX and produces a NuttX ELF
> which can be immediately loaded and run. It synthesizes an ELF from
> scratch. Here is the code that makes the ELF
> <https://github.com/liamHowatt/mcp_forth/blob/master/elf_nuttx.c>. Sorry
> it's not currently annotated with comments. Maybe it will give you some
> ideas or otherwise inspire you somehow. In any case, I think unique
> features like the NuttX loader and innumerable other things are what make
> NuttX so valuable. I wrote about the compiler here:
> https://github.com/liamHowatt/mcp_nuttxspace?tab=readme-ov-file#forth
>
> I've been watching for an opportunity to proceed with the "Creating a NuttX
> Distro for easy board update in the field" with LVGL library updating and
> LVGL app deployment. There hasn't been a big enough push to schedule it
> amid all the partner support, customer support, and LVGL feature
> development and maintenance. As soon as there's a lull, I would love to
> jump at the opportunity to do it. However, if there's anyone else eager to
> try it, don't tell them to wait for me.
>
> All the best,
> Liam