On Wed, Jan 20, 2021, at 2:00 PM, fy rgjut wrote:
> @hiro @Ethan Gardener
>
> > this is a great reason to use inferno on embedded devices
>
> i would also like to see inferno as a platform for small devices. but for this it needs:
>
> 1) it must work on the basis of FreeRTOS (or have external system functions, interface-adapters for filling with real functions of the desired OS).
I hope the porting work gets easier or someone joins you in it. :)
> 2) inferno has a lot of assembler and processor- and OS-dependent places. they should be replaced with universal to hardware/OS code. even if they are a little worse. (stm32f7 is not popular as a platform for iot. high price and lack of wireless interfaces make them uncompetitive).
Thanks for the note on stm32f7. I might look around for another device, but for what I want stm32f7 seems about right.
> 3) inferno should support SPIFFS/littleFS or has a configurable FS interface.
So... you need a bridge too? Inferno has had filesystem bridges before. Op for example.
> 4) inferno should has simply way to change fisical media/basic protocol to interchange with external world by 9p (WiFi, bluetooth, uart, i2c, spi etc)
If Inferno's dial strings are like Plan 9's, (I think they are,) then the "simple way" exists; it just needs some drivers. A full Plan 9 dial string may be 'tcp!
foo.net!8643', or formerly 'il!
foo.net!8643' to use Plan 9's own replacement for tcp. It's a flexible syntax. The first part, the protocol, may imply other parts. For example, 'http!
bar.com' is the same as 'tcp!
bar.com!80'. I'm sure drivers could be written so that you could use dial strings like 'uart!0' or 'spi!3'.
> 5) jit compiler only takes the the place. it don't support for example esp32 and in future risc-V. i think riscV will be the most popular IoT platform in future.
Sounds like programmers are needed... except riscv is done? idk
> it has other necessary things like
>
> void fooo(int some_params) {
> ...
> char buff[ 100 ]; <-- buffers as local variables are very dangerous in embedded systems. they should be malloced
> ...
I assume you're concerned about stack smashing? It's good to think of that, but it could be avoided if the code makes sure never to over-fill the buffer. In fact, code should always make sure never to overfill the buffer and not rely on the uncertain security of just putting the buffer somewhere else.
> ..or good GUI system for embedded terminals. with Tk bell labs was wrong.
Tk was an excellent choice at the time - the 90s - and still has good points. It's very easy to work with, as traditional toolkits go. I'm almost sure you could make a full mobile-style UI with it; I was impressed with the flexibility of its packers (layout tools). You can build widgets out of the (extremely powerful) canvas widget to replace buttons and things.
> but all these possible. these only need programmers who want to do. as for me alone i have too little free time. i ported 9p driver to lua as lua is highly and easy portable and embedable.
> also i tryed to port full inferno OS to freeRTOS/SPIFFS. buut i have too low time to this.
Good stuff. Limited time is everyone's enemy, except for ones like me who have limited energy and focus instead.
> today inferno is not ready to run on IoT device. and have no future on Mac (and other todays desktop) because of very not good look of its GUI.
Have you seen bhgv's inferno for Android? (Should also build on other systems.) It's not a complete change of look, but some details are changed.
> so is here someone who want and will do inferno ready to be IoT OS?
Oh I'd help with lots of projects if I could, but I'm struggling with my own stuff. Sorry. ;)