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 separate > > implementation of drivers for each SoC or will it use existing > > drivers? > > > Since all above functionality is exposed to userspace through the standard > interface. MicroPython port can be done in a general way which means that > once you finish the porting, all boards supported by NuttX will get the > same functionality freely. > BTW, since NuttX is very similar to Unix/Linux, it's very easy to start the > porting from the Unix/Linux version. Actually, My colleague(Chao An) > finished MicroPython initial NuttX porting in one week three years ago. But > since we switch to JavaScript as our high level language later, our porting > stops the maintenance after that. Good news thank you! One port to rule them all :-) I start to love NuttX even more! Can't wait the day when it runs on my 8-bit Atari :-) :-) >From what I can see the current MicroPython port is initial, needs to be able to run test suite as the current task, will look into it in my free time, duty noted :-) I just need to make some working prototype in few days quickly, I thought that MicroPython could be the way, but it will require more work / time with ESP32-C3 + NuttX, however I believe it will be worth working on it :-) I got MicroPython working on ESP32 boards out of the box, so that would be good place to learn it and get some experience in the first place before porting :-) I have allergy to JavaScript and any framework related to it to the point that I am considering porting (Micro)Python + LVGL as the cross platform mobile development framework. Thus my research into MicroPython. We have lost so much time and effort and heart to build on React Native + Expo. I never would have even guess such slow heavy self-incompatible thing with a life cycle shorter than yogurt could get so much world wide traction. On the other hand we have web backend written in Python Django that is clean small elegant efficient scalable and can run even on a small networked embedded system. Maybe "Apples and Oranges"^TM but I am definitely a Python fan :-P Thank you for all the hints folks! :-) Tomek -- CeDeROM, SQ7MHZ, http://www.tomek.cedro.info