[Article] NuttX ROM FS Driver in the Web Browser

2024-02-10 Thread Lee, Lup Yuen
NuttX has an awesome driver for ROM FS Filesystem. What if we could
transplant the NuttX Driver and run it in a Web Browser, embedded in any
WebAssembly App?

Today we solve a hefty headache in our port of TCC Compiler to WebAssembly:
Missing C Header Files...
(1) We host the C Header Files in a ROM FS Filesystem
(2) Call the NuttX ROM FS Driver (from Zig WebAssembly) to emulate POSIX
File Access
(3) TCC Compiler compiles C Programs with Header Files yay!
(4) We tested the Compiler Output with NuttX Emulator in the Web Browser
(5) Now we can build NuttX Apps in the Web Browser, and test them in the
Web Browser too

NuttX becomes a Triple Treat: In the C Compiler, in the Apps and in the
Emulator!

Here's the article: https://lupyuen.codeberg.page/articles/romfs.html

Lup


Problems by pull request and macos

2024-02-10 Thread Roberto Bucher

My Pull request fails on 2 Build:

macos (sim-01) with this error:

Error: 
/Applications/Xcode_15.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/mach/vm_page_size.h:60:44: 
error: expected ';' after top level declarator
extern  vm_size_t   vm_kernel_page_mask 
__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0);


andseems to skip the macos (sim-02)

I can't understand why, because the files are outside of the usual NuttX 
tree...


Best regards

Roberto



Re: NuttX + MicroPython + ESP32 / ESP32-C3

2024-02-10 Thread Victor Suarez Rovere
I ported Micropython to various platforms (CPU and FPGA), including
peripherals like Video output, so I can help with porting to NuttX:
See my developments:
https://github.com/suarezvictor/micropython/tree/litex-rebase/ports/litex#readme

Who else can contribute?


On Fri, Feb 9, 2024 at 2:27 PM Sebastien Lorquet 
wrote:

> Hi,
>
> Not sure I'm going to wait24Q3 :-) I'm certainly not focussed enough :-)
>
> https://github.com/micropython/micropython/issues/13632
>
> Let's see what they think.
>
> The only real issue is "how to build a micropython port that links to a
> static lib" :)
>
> And maybe how to avoid duplicating mbedtls and some other libs in some
> cases... but that can wait.
>
> Sebastien
>
> Le 09/02/2024 à 18:16, Tomek CEDRO a écrit :
> > Yes exactly, I was also thinking to make MicroPython a NuttX
> > application, just like we have Python on desktop, so it builds out of
> > the box and provides generic access no matter what arch/board, no
> > hardcoded hardware specific stuff, all hardware interaction done
> > though /dev :-)
> >
> > I am switching from hardware project right now more into a software
> > development right now but I am still rushing so I will have more time
> > for that around 2024Q3 but we can create a dedicated fork repo and
> > play there when stuff is ready we can push to both upstreams..? :-)
> >
> > --
> > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
> >
> > On Fri, Feb 9, 2024 at 6:07 PM Sebastien Lorquet 
> wrote:
> >> Hi,
> >>
> >> I found the deletion commit:
> >>
> https://github.com/apache/nuttx-apps/commit/abcb66cb20d85b910d55854de51b197eaa468e8b
> >>
> >> I think it should not work like that today.
> >>
> >> Also, it looks like it does not come with micropython libraries...
> >>
> >> We should contribute anything required in micropython itself so it can
> >> be built as a kind of library, and have the absolute required minimum in
> >> nuttx-apps to allow linking with this lib.
> >>
> >> What do you think?
> >>
> >> Sebastien
> >>
> >>
> >> Le 09/02/2024 à 16:09, Tomek CEDRO a écrit :
> >>> Hey there Sebastien :-)
> >>>
> >>> NuttX is so well organized that writing bare C here is far more
> >>> efficient "rapid prototyping" so I had no more need to use MicoPython
> >>> as it turned out memory hungry for bigger applications.
> >>>
> >>> But still I am fan of Python so we could resurrect the idea :-)
> >>>
> >>> Tomek
> >>>
> >>> --
> >>> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
> >>>
> >>> On Fri, Feb 9, 2024 at 4:04 PM Sebastien Lorquet 
> wrote:
>  Hi,
> 
>  I think I may like to have micropython work again on NuttX.
> 
>  Where can I find the latest efforts on this project, to try my hand
> on it?
> 
>  Sebastien
> 
> 
>  Le 26/10/2021 à 04:16, Tomasz CEDRO a écrit :
> > On Mon, Oct 25, 2021 at 7:45 PM Xiang Xiao wrote:
> >> On Mon, Oct 25, 2021 at 11:37 PM Tomasz CEDRO wrote:
> >>> On Mon, Oct 25, 2021 at 4:44 PM Alan Carvalho de Assis wrote:
>  Hi Tomasz,
>  MicroPython was integrated in NuttX at some time ago, but it
> started
>  to crash and was removed.
> >>> Yup, I saw some websites stating it work here but I could not find
> >>> among interpreters. Thanks for the hint Alan :-)
> >>>
>  I think someone started a discussion about it on discord, but I
> don't
>  know what happened later.
> >>> I would prefer to keep critical discussions here on the list as
> they
> >>> are easier to find later on and may give hints to the others :-)
> Stuff
> >>> like IRC or Discord I may prefer for short term tasks :-)
> >>>
> >>>
>  As I told you ESP32-C3 has a good support on NuttX and Xiaomi is
>  already using it internally (it passed on their certification
>  process).
> >>> Yup :-) NuttX claims full support for ESP32-C3 while Zephyr lags
> >>> behind in this area (only GPIO, UART and BLE is currently
> >>> implemented). I know that already, thanks :-)
> >>>
> >>> But my question was closely related to MicroPython and NuttX and
> SoC
> >>> driver support / architecture that is still unknown to me, sorry,
> >>> maybe this will clarify:
> >>>
> >>> 1. Is there some sort of HAL in NuttX that when driver for a SoC is
> >>> ported makes it available freely for every other functionality
> already
> >>> implemented (like in Zephyr)?
> >>>
> >> No, NuttX doesn't like HAL, but NuttX defines many device driver
> >> interfaces(from uart, i2c, spi to gpio...).
> >> All expose their functionality as device files(e.g. /dev/ttyS0,
> /dev/gpio).
> >> Other complex devices expose through:
> >>
> >>   1. File system API(e.g. block device, flash, mtd...)
> >>   2. Socket API(e.g. ethernet, WiFi, CAN...)
> > Thank you Xiao! Looks more and more like Unix on MCU :-)
> >
> >
> >>> 2. Would dedicated functionalities, like MicroPython, require
>