NxWidgets
Hi I'm interested on trying some UI code. NxWidgets seems quite interesting but I haven't seen any screenshot besides a terminal (that uses no widgets). Is there any more complex application por demo, or at least some screenshots? Regards, Víctor
Re: NxWidgets
Many thanks of the links related to nxwidgets. I'm aware of LVGL and other nice UI for embedded systems but I prefer a framework that would be easier to manage in a client-server fashion for a project of muy own, and nxwidgets seems easier than LVGL besides less advanced. A modernization of the drawing functions would be interesting toó while keeping the API. I don't know if there are some existing applications to determine the impact of any change to the API Victor. El mar., 4 oct. 2022 11:54, Tomek CEDRO escribió: > On Tue, Oct 4, 2022 at 4:37 PM Alan C. Assis wrote: > > Hi Victor, > > Please see page 43 to see some nice interfaces developed using NXWidgets: > > > https://web.archive.org/web/20161019222034/http://dspace.cc.tut.fi/dpub/bitstream/handle/123456789/22051/Aimonen.pdf > > You can look the NXWM to see some examples of screens using NXWidgets. > > Thanks Alan for this detailed reference! :-) > > Victor, please note that NuttX also supports LVGL that is currently > getting a lot of traction in embedded world: > > https://lvgl.io/ > > Guys, do we have some demos ready to build out of the box on NuttX for > both NxWidgets and LVGL? > > -- > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >
Re: NxWidgets
Hi Nutt thanks for the detailed description on the architecture. As far as I understand, there's no client-server function like in X, am I right? I agree that doing a per-window framebuffer should not be hard. I plan to migrate other frameworks like ImGUI too since I have some experience with it On Tue, Oct 4, 2022 at 12:13 PM Gregory Nutt wrote: > NxWidgets is a drawing tool in C++ that supports graphics objects. It > integrates naturally with NX. > > NX is the graphics server that supports multi-threaded 3D windowed > displays (3D in the since that X/Y windows exists in a Z plane). NX is > the embedded, moral equivalent of X in Linux. It is NX that supports > the multi-threading, not NxWidgets. > > LVGL is a drawing tool written in C. It integrates naturally with a > framebuffer driver. > > NX can be configured to support per-Window framebuffers. It would > require a small effort, but it would also be possible to create a > per-Window framebuffer driver that is compatible with LVGL. Then you > could have each thread manage a different window (but not true > multi-threading in a single window). > > On 10/4/2022 9:01 AM, Victor Suarez Rovere wrote: > > Many thanks of the links related to nxwidgets. I'm aware of LVGL and > other > > nice UI for embedded systems but I prefer a framework that would be > easier > > to manage in a client-server fashion for a project of muy own, and > > nxwidgets seems easier than LVGL besides less advanced. A modernization > of > > the drawing functions would be interesting toó while keeping the API. I > > don't know if there are some existing applications to determine the > impact > > of any change to the API > > > > Victor. > > > > El mar., 4 oct. 2022 11:54, Tomek CEDRO escribió: > > > >> On Tue, Oct 4, 2022 at 4:37 PM Alan C. Assis wrote: > >>> Hi Victor, > >>> Please see page 43 to see some nice interfaces developed using > NXWidgets: > >>> > >> > https://web.archive.org/web/20161019222034/http://dspace.cc.tut.fi/dpub/bitstream/handle/123456789/22051/Aimonen.pdf > >>> You can look the NXWM to see some examples of screens using NXWidgets. > >> Thanks Alan for this detailed reference! :-) > >> > >> Victor, please note that NuttX also supports LVGL that is currently > >> getting a lot of traction in embedded world: > >> > >> https://lvgl.io/ > >> > >> Guys, do we have some demos ready to build out of the box on NuttX for > >> both NxWidgets and LVGL? > >> > >> -- > >> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > >> > >
Re: NxWidgets
Thanks for the clarification and the pointers. I was able to find the nxmu_sendserver <https://github.com/apache/incubator-nuttx/blob/master/libs/libnx/nxmu/nxmu_sendserver.c> function using the queues, from there it shouldn't be difficult to do a networked implementation. On Tue, Oct 4, 2022 at 12:47 PM Gregory Nutt wrote: > Yes, NX is a server within the OS. The server side is in directories > under nuttx/graphics/; the client side is an application library in > libs/libnx. The client/server interface is via POSIX messages. > Serialization (and hence multi-threaded support) is guaranteed by the > POSIX message queues. > > Application use of framebuffers can get complicated in some memory > organization if the framebuffer memory is not naturally accessible from > user mode. Also, unlike multi-ported display memory, the per-Window > framebuffers require some additional action to trigger merging into the > device display memory. Per-Window framebuffers would probably require an > UPDATE IOCTL to determine when the Window framebuffer could be merged > into the device display memory. LVGL already supports such updates for > other cases. > > Those updates are a little awkward but on the upside guarantee > flicker-free updates. > > > On 10/4/2022 9:32 AM, Victor Suarez Rovere wrote: > > Hi Nutt thanks for the detailed description on the architecture. As far > as > > I understand, there's no client-server function like in X, am I right? > > I agree that doing a per-window framebuffer should not be hard. > > I plan to migrate other frameworks like ImGUI too since I have some > > experience with it > > > > On Tue, Oct 4, 2022 at 12:13 PM Gregory Nutt > wrote: > > > >> NxWidgets is a drawing tool in C++ that supports graphics objects. It > >> integrates naturally with NX. > >> > >> NX is the graphics server that supports multi-threaded 3D windowed > >> displays (3D in the since that X/Y windows exists in a Z plane). NX is > >> the embedded, moral equivalent of X in Linux. It is NX that supports > >> the multi-threading, not NxWidgets. > >> > >> LVGL is a drawing tool written in C. It integrates naturally with a > >> framebuffer driver. > >> > >> NX can be configured to support per-Window framebuffers. It would > >> require a small effort, but it would also be possible to create a > >> per-Window framebuffer driver that is compatible with LVGL. Then you > >> could have each thread manage a different window (but not true > >> multi-threading in a single window). > >> > >> On 10/4/2022 9:01 AM, Victor Suarez Rovere wrote: > >>> Many thanks of the links related to nxwidgets. I'm aware of LVGL and > >> other > >>> nice UI for embedded systems but I prefer a framework that would be > >> easier > >>> to manage in a client-server fashion for a project of muy own, and > >>> nxwidgets seems easier than LVGL besides less advanced. A modernization > >> of > >>> the drawing functions would be interesting toó while keeping the API. I > >>> don't know if there are some existing applications to determine the > >> impact > >>> of any change to the API > >>> > >>> Victor. > >>> > >>> El mar., 4 oct. 2022 11:54, Tomek CEDRO escribió: > >>> > >>>> On Tue, Oct 4, 2022 at 4:37 PM Alan C. Assis wrote: > >>>>> Hi Victor, > >>>>> Please see page 43 to see some nice interfaces developed using > >> NXWidgets: > >> > https://web.archive.org/web/20161019222034/http://dspace.cc.tut.fi/dpub/bitstream/handle/123456789/22051/Aimonen.pdf > >>>>> You can look the NXWM to see some examples of screens using > NXWidgets. > >>>> Thanks Alan for this detailed reference! :-) > >>>> > >>>> Victor, please note that NuttX also supports LVGL that is currently > >>>> getting a lot of traction in embedded world: > >>>> > >>>> https://lvgl.io/ > >>>> > >>>> Guys, do we have some demos ready to build out of the box on NuttX for > >>>> both NxWidgets and LVGL? > >>>> > >>>> -- > >>>> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > >>>> > >> > >
running GCC
Hi everyone! Considering that NuttX is POSIX compliant, can gcc or clang be run on NuttX?
Re: running GCC
So isn't GCC POSIX compliant? I mean a static build of gcc executable and nothing more (no make, awk or anything) The only thing that GCC does is read and write files The C library shouldn't be part of the equation since GCC can compile many C libraries Another compiler (besides clang) won't work since I expect C++ So what's the actual difficulty in running a program that just reads and writes files? On Sat, Apr 8, 2023 at 2:47 PM Gregory Nutt wrote: > On 4/7/2023 9:02 PM, Victor Suarez Rovere wrote: > > Hi everyone! > > Considering that NuttX is POSIX compliant, can gcc or clang be run on > NuttX? > > I was waiting to see if someone who has actually tried this would > respond. I haven't tried to build a GCC toolchain on NuttX and can't > say that it is impossible, but it certainly would be a big challenge! > > * *GCC Components*. GCC consists of several components including > binutils and several other prerequisite libraries (GMP, MPFR, MPC). > A Bash shell and GNU make would need needed too. > > * *Other dependencies*: awk, GNU make, Perl, Python3, Flex, Bison, > and perhaps automake. Maybe gzip, bzip2, and tar if you build from > tarballs. Documentation needs Texinfo. And lots of other things > that I forgot. > > * *GDB*. GDB is usually considered to be part of the toolchain too. > But it would not be possible to build GDB because it depends on > ptrace which not supported by NuttX. > > * *C Library*. GCC and C-libraries are very intimately entangled. > NuttX has its own C libary. I suspect that the integration with GCC > and the NuttX C library would be somewhat challenging as well. > > * *Other Unsupported Interfaces*. Several interfaces that depend on > an MMU (fork, full mmap) are not supported and could also be an issue. > > * FLAT build? Or Kernel build? Each has it own challenges. > > * *Delivery*. GCC normally comes as several Linux executables and > libraries that use several other shared libraries. How would you > package and deliver a GCC toolchain on NuttX? Would you build it > into the FLASH image or put it into a huge monolithic ELF executable > on some mounted volume? > > Although I cannot say it is impossible, I would not be optimistic > starting a GCC port to NuttX. I would think that a smaller, less > feature rich C compiler would be a reasonable job. >
Re: running GCC
Do you find any clear obstacle I'd find? I ask from the perspective of people that knows NuttX (not my case). Or are that obstacles completely unknown? What related obstacles where found when trying to compiling another tool, compatible with many Unix-like targets like the ones GCC can run on? El sáb., 8 abr. 2023 16:31, Gregory Nutt escribió: > > > Why not try it and see what obstacles you encounter? > > Maybe just the C pre-processor? Or the linker or assembler from binutils? > > Perhaps you could try a partial build using the NuttX header files > only. If you could a relocatable object with just the NuttX header > files, then you could link that in later. > > >
Re: [OT] Projects for GSoC 2024
I can certainly port NuttX to run on some FPGA boards too Is any board already supported? On Fri, Jan 26, 2024 at 4:40 PM Alan C. Assis wrote: > Hi Tomek, > > His toolchain is focused on FPGA, but he is interested in participating in > other projects for GSoC. > > Also we need NuttX mentors, I will participate, but for each project we > need two mentors, please let me know who could be interested to help. > > Best Regards, > > Alan > > On Fri, Jan 26, 2024 at 3:33 PM Tomek CEDRO wrote: > > > On Fri, Jan 26, 2024 at 2:07 PM Alan C. Assis wrote: > > > Dear NuttXers, > > > Please find below some ideas of projects to improve NuttX during the > > > GSoC2024: > > > > https://cwiki.apache.org/confluence/display/COMDEV/GSoC+2024+Ideas+list > > > If you have some other ideas, please let me know. > > > > I would like to propose Victor Suarez (CC) idea for porting toolchain > > NuttX RTOS directly to FPGA :-) > > > > > > > https://www.tomshardware.com/news/fpga-demo-shows-efficiency-gains-compared-to-x86-chip > > > > Tomek > > > > -- > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > > >
Re: [OT] Projects for GSoC 2024
Just clarifying, the idea to run NuttX on a FPGA is to instantiate a CPU and peripherals on the FPGA and then run normally as if it were a MCU Good thing is that you can change the CPU, add/remove peripherals, etc. On Sat, Jan 27, 2024 at 12:32 AM Tomek CEDRO wrote: > Hey there Victor! Thanks for your interest in NuttX port to FPGA!! :-) > > No there is no such design yet.. you would have to create everything > from scratch.. so there is some serious amount of work to do.. but > imagine the results.. there will be just one step to ASIC!! :-) > > I could reconsider my mentor position in this kind of project because > I would really love to see the internals first hand.. with a help of > more experienced NuttX'er for sure as second mentor :-) :-) > > I did a PONG on FPGA over 10 years ago but I would never dare to run > CPU-less-program directly on FPGA.. then RTOS.. then lets say Atari > emulator.. chip module player.. open source smart debug probe.. a > neural interface.. who knows.. would that even fit into the FPGA? :-) > :-) > > I have a strong feeling this may be important.. but I leave the whole > decision to the PMC :-) > > Have a good weekend my friends :-) > Tomek > > -- > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > > On Sat, Jan 27, 2024 at 2:55 AM Victor Suarez Rovere > wrote: > > > > I can certainly port NuttX to run on some FPGA boards too > > Is any board already supported? > > > > On Fri, Jan 26, 2024 at 4:40 PM Alan C. Assis wrote: > > > > > Hi Tomek, > > > > > > His toolchain is focused on FPGA, but he is interested in > participating in > > > other projects for GSoC. > > > > > > Also we need NuttX mentors, I will participate, but for each project we > > > need two mentors, please let me know who could be interested to help. > > > > > > Best Regards, > > > > > > Alan > > > > > > On Fri, Jan 26, 2024 at 3:33 PM Tomek CEDRO wrote: > > > > > > > On Fri, Jan 26, 2024 at 2:07 PM Alan C. Assis wrote: > > > > > Dear NuttXers, > > > > > Please find below some ideas of projects to improve NuttX during > the > > > > > GSoC2024: > > > > > > > > > https://cwiki.apache.org/confluence/display/COMDEV/GSoC+2024+Ideas+list > > > > > If you have some other ideas, please let me know. > > > > > > > > I would like to propose Victor Suarez (CC) idea for porting toolchain > > > > NuttX RTOS directly to FPGA :-) > > > > > > > > > > > > > > > > https://www.tomshardware.com/news/fpga-demo-shows-efficiency-gains-compared-to-x86-chip > > > > > > > > Tomek > > > > > > > > -- > > > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > > > > > > > >
Re: [OT] Projects for GSoC 2024
Tomek, as I clarified, porting NuttX to a FPGA will require a soft-core CPU. I don't envision an opertaing system without a CPU, I see that like a bad design choice if possible at all Using a soft core and custom peripherals seems more valuable, even including video output and USB host for mouse/keyboard handling. I've done that for Micropython El sáb., 27 ene. 2024 13:23, Tomek CEDRO escribió: > Okay Victor, I was thinking about toolchain that you present in > "Sphery vs. Shapes" [1] to be adopted for NuttX on FPGA conversion > without a CPU design.. could you please send your full detailed > proposal then? :-) > > [1] https://www.youtube.com/watch?v=hn3sr3VMJQU > > -- > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > > On Sat, Jan 27, 2024 at 7:22 AM Victor Suarez Rovere > wrote: > > > > Just clarifying, the idea to run NuttX on a FPGA is to instantiate a CPU > > and peripherals on the FPGA and then run normally as if it were a MCU > > Good thing is that you can change the CPU, add/remove peripherals, etc. > > > > On Sat, Jan 27, 2024 at 12:32 AM Tomek CEDRO wrote: > > > > > Hey there Victor! Thanks for your interest in NuttX port to FPGA!! :-) > > > > > > No there is no such design yet.. you would have to create everything > > > from scratch.. so there is some serious amount of work to do.. but > > > imagine the results.. there will be just one step to ASIC!! :-) > > > > > > I could reconsider my mentor position in this kind of project because > > > I would really love to see the internals first hand.. with a help of > > > more experienced NuttX'er for sure as second mentor :-) :-) > > > > > > I did a PONG on FPGA over 10 years ago but I would never dare to run > > > CPU-less-program directly on FPGA.. then RTOS.. then lets say Atari > > > emulator.. chip module player.. open source smart debug probe.. a > > > neural interface.. who knows.. would that even fit into the FPGA? :-) > > > :-) > > > > > > I have a strong feeling this may be important.. but I leave the whole > > > decision to the PMC :-) > > > > > > Have a good weekend my friends :-) > > > Tomek > > > > > > -- > > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > > > > > > On Sat, Jan 27, 2024 at 2:55 AM Victor Suarez Rovere > > > wrote: > > > > > > > > I can certainly port NuttX to run on some FPGA boards too > > > > Is any board already supported? > > > > > > > > On Fri, Jan 26, 2024 at 4:40 PM Alan C. Assis > wrote: > > > > > > > > > Hi Tomek, > > > > > > > > > > His toolchain is focused on FPGA, but he is interested in > > > participating in > > > > > other projects for GSoC. > > > > > > > > > > Also we need NuttX mentors, I will participate, but for each > project we > > > > > need two mentors, please let me know who could be interested to > help. > > > > > > > > > > Best Regards, > > > > > > > > > > Alan > > > > > > > > > > On Fri, Jan 26, 2024 at 3:33 PM Tomek CEDRO > wrote: > > > > > > > > > > > On Fri, Jan 26, 2024 at 2:07 PM Alan C. Assis wrote: > > > > > > > Dear NuttXers, > > > > > > > Please find below some ideas of projects to improve NuttX > during > > > the > > > > > > > GSoC2024: > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/display/COMDEV/GSoC+2024+Ideas+list > > > > > > > If you have some other ideas, please let me know. > > > > > > > > > > > > I would like to propose Victor Suarez (CC) idea for porting > toolchain > > > > > > NuttX RTOS directly to FPGA :-) > > > > > > > > > > > > > > > > > > > > > > > > > > > https://www.tomshardware.com/news/fpga-demo-shows-efficiency-gains-compared-to-x86-chip > > > > > > > > > > > > Tomek > > > > > > > > > > > > -- > > > > > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > > > > > > > > > > > > > > >
Re: [OT] Projects for GSoC 2024
The innovation won't be to run NuttX in a RISC-V (soft-core or not) but using a FPGA for its flexibility to add any kind of peripherals, one of the main ones to be useful in my view will be a high-resolution framebuffer and USB mouse/keyboard for a complete UI On Sat, Jan 27, 2024 at 4:31 PM Gregory Nutt wrote: > Aren't most CPUs available as soft cores? Certainly Xtensa was intended > for that purpose. ARM and MIPS have been common soft cores in ASICs for > more than a decade. As is RISC-V soft core in FPGAs. > https://en.wikipedia.org/wiki/Soft_microprocessor > > In the past, there was some interest in ports of NuttX to softcore's > like MicroBlaze. But there hasn't been that kind of interest in recent > times. > > This would have been an innovation a decade or so ago, but I wonder > about that now. > > > > On 1/27/2024 1:18 PM, Victor Suarez Rovere wrote: > > Tomek, as I clarified, porting NuttX to a FPGA will require a soft-core > > CPU. I don't envision an opertaing system without a CPU, I see that like > a > > bad design choice if possible at all > > Using a soft core and custom peripherals seems more valuable, even > > including video output and USB host for mouse/keyboard handling. I've > done > > that for Micropython > > > > El sáb., 27 ene. 2024 13:23, Tomek CEDRO escribió: > > > >> Okay Victor, I was thinking about toolchain that you present in > >> "Sphery vs. Shapes" [1] to be adopted for NuttX on FPGA conversion > >> without a CPU design.. could you please send your full detailed > >> proposal then? :-) > >> > >> [1] https://www.youtube.com/watch?v=hn3sr3VMJQU > >> > >> -- > >> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > >> > >> On Sat, Jan 27, 2024 at 7:22 AM Victor Suarez Rovere > >> wrote: > >>> Just clarifying, the idea to run NuttX on a FPGA is to instantiate a > CPU > >>> and peripherals on the FPGA and then run normally as if it were a MCU > >>> Good thing is that you can change the CPU, add/remove peripherals, etc. > >>> > >>> On Sat, Jan 27, 2024 at 12:32 AM Tomek CEDRO wrote: > >>> > >>>> Hey there Victor! Thanks for your interest in NuttX port to FPGA!! :-) > >>>> > >>>> No there is no such design yet.. you would have to create everything > >>>> from scratch.. so there is some serious amount of work to do.. but > >>>> imagine the results.. there will be just one step to ASIC!! :-) > >>>> > >>>> I could reconsider my mentor position in this kind of project because > >>>> I would really love to see the internals first hand.. with a help of > >>>> more experienced NuttX'er for sure as second mentor :-) :-) > >>>> > >>>> I did a PONG on FPGA over 10 years ago but I would never dare to run > >>>> CPU-less-program directly on FPGA.. then RTOS.. then lets say Atari > >>>> emulator.. chip module player.. open source smart debug probe.. a > >>>> neural interface.. who knows.. would that even fit into the FPGA? :-) > >>>> :-) > >>>> > >>>> I have a strong feeling this may be important.. but I leave the whole > >>>> decision to the PMC :-) > >>>> > >>>> Have a good weekend my friends :-) > >>>> Tomek > >>>> > >>>> -- > >>>> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > >>>> > >>>> On Sat, Jan 27, 2024 at 2:55 AM Victor Suarez Rovere > >>>> wrote: > >>>>> I can certainly port NuttX to run on some FPGA boards too > >>>>> Is any board already supported? > >>>>> > >>>>> On Fri, Jan 26, 2024 at 4:40 PM Alan C. Assis > >> wrote: > >>>>>> Hi Tomek, > >>>>>> > >>>>>> His toolchain is focused on FPGA, but he is interested in > >>>> participating in > >>>>>> other projects for GSoC. > >>>>>> > >>>>>> Also we need NuttX mentors, I will participate, but for each > >> project we > >>>>>> need two mentors, please let me know who could be interested to > >> help. > >>>>>> Best Regards, > >>>>>> > >>>>>> Alan > >>>>>> > >>>>>> On Fri, Jan 26, 2024 at 3:33 PM Tomek CEDRO > >> wrote: > >>>>>>> On Fri, Jan 26, 2024 at 2:07 PM Alan C. Assis wrote: > >>>>>>>> Dear NuttXers, > >>>>>>>> Please find below some ideas of projects to improve NuttX > >> during > >>>> the > >>>>>>>> GSoC2024: > >>>>>>>> > >> https://cwiki.apache.org/confluence/display/COMDEV/GSoC+2024+Ideas+list > >>>>>>>> If you have some other ideas, please let me know. > >>>>>>> I would like to propose Victor Suarez (CC) idea for porting > >> toolchain > >>>>>>> NuttX RTOS directly to FPGA :-) > >>>>>>> > >>>>>>> > >>>>>>> > >> > https://www.tomshardware.com/news/fpga-demo-shows-efficiency-gains-compared-to-x86-chip > >>>>>>> Tomek > >>>>>>> > >>>>>>> -- > >>>>>>> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > >>>>>>> > >
Re: [OT] Projects for GSoC 2024
Yes! exactly like that. But with better maintenance, being able to run on many boards, and more interesting peripherals (video, mouse, etc.) On Sat, Jan 27, 2024 at 7:11 PM Gregory Nutt wrote: > Like > > * > https://riscv.org/blog/2023/02/porting-nuttx-real-time-operating-system-on-polarfire-soc-fpga/ > * > https://www.hackster.io/lupyuen/8-risc-v-sbc-on-a-real-time-operating-system-ox64-nuttx-474358 > * https://twitter.com/btashton/status/1243699309117235200 > > On 1/27/2024 3:58 PM, Victor Suarez Rovere wrote: > > The innovation won't be to run NuttX in a RISC-V (soft-core or not) but > > using a FPGA for its flexibility to add any kind of peripherals, one of > the > > main ones to be useful in my view will be a high-resolution framebuffer > and > > USB mouse/keyboard for a complete UI > > > > On Sat, Jan 27, 2024 at 4:31 PM Gregory Nutt > wrote: > > > >> Aren't most CPUs available as soft cores? Certainly Xtensa was intended > >> for that purpose. ARM and MIPS have been common soft cores in ASICs for > >> more than a decade. As is RISC-V soft core in FPGAs. > >> https://en.wikipedia.org/wiki/Soft_microprocessor > >> > >> In the past, there was some interest in ports of NuttX to softcore's > >> like MicroBlaze. But there hasn't been that kind of interest in recent > >> times. > >> > >> This would have been an innovation a decade or so ago, but I wonder > >> about that now. > >> > >> > >> > >> On 1/27/2024 1:18 PM, Victor Suarez Rovere wrote: > >>> Tomek, as I clarified, porting NuttX to a FPGA will require a soft-core > >>> CPU. I don't envision an opertaing system without a CPU, I see that > like > >> a > >>> bad design choice if possible at all > >>> Using a soft core and custom peripherals seems more valuable, even > >>> including video output and USB host for mouse/keyboard handling. I've > >> done > >>> that for Micropython > >>> > >>> El sáb., 27 ene. 2024 13:23, Tomek CEDRO escribió: > >>> > >>>> Okay Victor, I was thinking about toolchain that you present in > >>>> "Sphery vs. Shapes" [1] to be adopted for NuttX on FPGA conversion > >>>> without a CPU design.. could you please send your full detailed > >>>> proposal then? :-) > >>>> > >>>> [1]https://www.youtube.com/watch?v=hn3sr3VMJQU > >>>> > >>>> -- > >>>> CeDeROM, SQ7MHZ,http://www.tomek.cedro.info > >>>> > >>>> On Sat, Jan 27, 2024 at 7:22 AM Victor Suarez Rovere > >>>> wrote: > >>>>> Just clarifying, the idea to run NuttX on a FPGA is to instantiate a > >> CPU > >>>>> and peripherals on the FPGA and then run normally as if it were a MCU > >>>>> Good thing is that you can change the CPU, add/remove peripherals, > etc. > >>>>> > >>>>> On Sat, Jan 27, 2024 at 12:32 AM Tomek CEDRO > wrote: > >>>>> > >>>>>> Hey there Victor! Thanks for your interest in NuttX port to FPGA!! > :-) > >>>>>> > >>>>>> No there is no such design yet.. you would have to create everything > >>>>>> from scratch.. so there is some serious amount of work to do.. but > >>>>>> imagine the results.. there will be just one step to ASIC!! :-) > >>>>>> > >>>>>> I could reconsider my mentor position in this kind of project > because > >>>>>> I would really love to see the internals first hand.. with a help of > >>>>>> more experienced NuttX'er for sure as second mentor :-) :-) > >>>>>> > >>>>>> I did a PONG on FPGA over 10 years ago but I would never dare to run > >>>>>> CPU-less-program directly on FPGA.. then RTOS.. then lets say Atari > >>>>>> emulator.. chip module player.. open source smart debug probe.. a > >>>>>> neural interface.. who knows.. would that even fit into the FPGA? > :-) > >>>>>> :-) > >>>>>> > >>>>>> I have a strong feeling this may be important.. but I leave the > whole > >>>>>> decision to the PMC :-) > >>>>>> > >>>>>> Have a good weekend my friends :-) > >>>>>> Tomek > >>>>>> > >>>>
Re: NuttX + MicroPython + ESP32 / ESP32-C3
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 >
Re: [OT] Projects for GSoC 2024
Hi I have experience doing FPGA development including graphics (micropython port, ImGUI port, USB mouse/keyboard etc.) I think the open-source tool ecosystem for FPGA development is mature enough not to depend on proprietary tools and IP, mainly related to Lattice devices but also for most Xilinx devices. And I fully agree with what Tomek said in every aspect with regards to the convenience of mailined FPGA support. Best, Victor. On Mon, Feb 19, 2024 at 11:50 AM Alan C. Assis wrote: > No, as we pointed out, it is a long term project that needs to be well > thought out. > > You listed many possibilities, we need to define a goal and focus on it. > > Let me share my (bad) experience with FPGA: > Sometime ago I bought a low cost Tang Primer 20K board expecting to start > using open-source tools to program it (many places said it was supported). > > Then when I installed the software I discovered that I need to download the > proprietary SDK and copy many files from it to get things working. > > It was a show stopper for me! > > Imagine if you wanted to compile NuttX and had to download the vendor SDK > and copy their files to inside NuttX. > > Best Regards, > > Alan > > On Sun, Feb 18, 2024 at 8:02 PM Tomek CEDRO wrote: > > > Closed, okay, and the FPGA part did not get in? > > > > -- > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > > > > On Sun, Feb 18, 2024 at 10:17 PM Alan C. Assis > wrote: > > > > > > Hi Tomek, > > > Thank you for raising these concerns. > > > > > > BTW, I suggest you change the Subject to something related to NuttX and > > > FPGA, since the GSoC 2024 proposal is already closed (on Feb 6). > > > > > > Best Regards, > > > > > > Alan > > > > > > On Sun, Feb 18, 2024 at 4:52 PM Tomek CEDRO wrote: > > > > > > > After some more considerations I am pro this "generic" NuttX@FPGA > > > > Reference Design on GSoC proposal, 10 resons below :-) > > > > > > > > I kindly ask to add this one to the proposals list :-) > > > > > > > > 1. We do not have a reference FPGA design for NuttX. > > > > 2. We do not have a reference fully Open-Source toolchain for > > FPGA+NuttX. > > > > 3. Yes someone did that before, and anyone can do that, but we can > > > > provide generic out-of-the-box solution that most people are looking > > > > for. Creating / repeating one yourself costs time. > > > > 4. We can gather smart community around NuttX that way (i.e. Victor). > > > > 5. FPGA are getting smaller and cheaper close to a price range of MCU > > > > (i.e. $5+) [1][2]. > > > > 6. FPGA has big advantage over MCU in peripheral speed (mainly GPIO > > > > nMHz vs nnnMHz). I can see unique benefit for having custom > > > > peripherals created that way. I once did an R&D on new type of ADC > > > > where MCU GPIO was not fast enough and I have to switch to FPGA + > > > > external control MCU board. > > > > 7. Using propietary tools was quite painful because I had to use big > > > > Xilinx Vivado while there are fully Open-Source toolchains already > out > > > > there we can use like Yosys / OSS CAD Suite [3] etc. > > > > 8. Scaling to bigger FPGA gives more possibilities like new > > > > architecture testing (i.e. RISC-V 128-bit or tens/hundreds of cores) > > > > [4], emulation [5], machine learning, etc. > > > > 9. My initial proposal was highly experimental and could easily fail. > > > > Victor's proposal is merit and result based. It will for sure serve > > > > many people out there for bigger and smaller projects. > > > > 10. Other ideas like Xorg port could be tested on FPGA implementation > > > > too.. I already saw Victor's working windows manager with > > > > chip-mod-player running on FPGA :-) > > > > > > > > I can be mentor of that project because I would like to grow in that > > > > field too as I have some ideas to test :-) > > > > > > > > Thanks for considering :-) > > > > Tomek > > > > > > > > [1] https://tinyfpga.com/ > > > > [2] > > > > > > > https://www.cnx-software.com/2019/10/15/5-tang-nano-fpga-board-gowin-gw1n-littlebee-fpga/ > > > > [3] https://github.com/YosysHQ/oss-cad-suite-build > > > > [4] > > > > > > > https://riscv.org/news/2021/08/esperanto-emerges-from-stealth-with-1000-core-risc-v-ai-accelerator-sally-
Re: [OT] Projects for GSoC 2024
FPGA development boards are indeed not cheap, as the chips themselves are expensive. But those of us who are in the field know some solutions. Indeed I'm working on designing a low cost FPGA board right now. Until mine is ready, a useful alternative is to reuse some mass marketed products that are cheap, like LED controllers boards. This one for example cost $11.50 and includes SDRAM and ethernet: https://www.ledcontrollercard.com/english/colorlight-n6-led-mini-receiving-card.html Best, Victor
Re: Better FPGA support on NuttX //was Re: [OT] Projects for GSoC 2024
Reference to cheap FPGA boards (< $20) were added to the new repo, more docs will follow there: https://github.com/cederom/nuttx-fpga So, FPGA is not strictly related to $$$
Re: Better FPGA support on NuttX //was Re: [OT] Projects for GSoC 2024
You have many options for LED control and some of them are not small... The colorlight i9 has a 45K device that's medium size in my view then you have the ones that were used for bitcoin mining that have large devices like the Zynq models, and are super cheap nowadays since those boards were superseded by ASICs and nobody want them On Tue, Feb 20, 2024 at 1:21 PM Alan C. Assis wrote: > Hi Victor, thank you very much for this information and this link. > > I found a nice project using that board: > > https://github.com/lucysrausch/colorlight-led-cube > > I remember also seeing some FPGA board to control LEDs panel that > could be used as ordinary FPGA dev tool. But I think these boards > don't have much LE internally, right? > > Best Regards, > > Alan > > On 2/19/24, Victor Suarez Rovere wrote: > > Reference to cheap FPGA boards (< $20) were added to the new repo, more > > docs will follow there: https://github.com/cederom/nuttx-fpga > > So, FPGA is not strictly related to $$$ > > >
Re: Better FPGA support on NuttX //was Re: [OT] Projects for GSoC 2024
Hi Andrew I'm aware of that development, the idea is to expand them. I wrote C and micropython drivers for many FPGA-implemented peripherals, including high resolution graphics, USB mouse/keyboard, audio, etc. The idea is to maintain that and to support as much peripherals/boards as possible On Wed, Feb 28, 2024 at 7:00 AM Andrew Dennison < andrew.denni...@motec.com.au> wrote: > There is a litex (https://github.com/enjoy-digital/litex) target for nuttx > and litex supports generating a soc for many fpga Dev boards. While the > nuttx docs focus on using diligent arty, none of this is arty specific. > > We are actively moving the litex support forward, with both flat and kernel > targets available and there are an expanding list of drivers for litex > peripherals. > > On Tue, 20 Feb 2024, 12:35 pm Victor Suarez Rovere, < > suarezvic...@gmail.com> > wrote: > > > Reference to cheap FPGA boards (< $20) were added to the new repo, more > > docs will follow there: https://github.com/cederom/nuttx-fpga > > So, FPGA is not strictly related to $$$ > > > > -- > *MoTeC Pty Ltd* > > 121 Merrindale Drive > Croydon South 3136 > Victoria Australia > *T: *61 3 9761 5050 > *W: *www.motec.com.au <https://www.motec.com.au/> > > > -- > <http://www.facebook.com/motec.global> > <http://www.youtube.com/user/MoTeCAustralia> > <https://www.instagram.com/motec_global/> > <https://www.linkedin.com/company/motec-global> > > > -- > <https://www.motec.com.au> > > -- > > > Disclaimer Notice: This message, including any attachments, contains > confidential information intended for a specific individual and purpose > and > is protected by law. If you are not the intended recipient you should > delete this message. Any disclosure, copying, or distribution of this > message or the taking of any action based on it is strictly prohibited. >
Re: [Article] Porting Python to NuttX
On Wed, Jan 8, 2025 at 8:35 AM Tiago Medicci Serrano < tiago.medi...@gmail.com> wrote: > > Python was recently ported to NuttX. I wrote about the technical details > of this work in the following article. > > This is great news! I was always interested in NuttX but now it can solve some real problems I need to address Congrats to all developers!!