mchlmmc / CirnOS

Bringing the workflow of Arduino to the Raspberry Pi
GNU General Public License v3.0
102 stars 6 forks source link

is this still developed? #19

Open jeanahelver opened 4 years ago

jeanahelver commented 4 years ago

wasn't sure if this project is dead or not, its a bit unclear what it can and cant do tried building it but i only have a pi2 to test on so im not sure if anything is working. also wasn't clear if the current version had hdmi output or not.

really interested in this os idea.

mchlmmc commented 4 years ago

I'd say that it is dead. While working on it I became quite unsatisfied with the state of low level programming as a whole, and I am investigating how that workflow can be improved before continuing this project's progress. There is a possibility that I continue developing it in the future, but by the time that happens there could be a better alternative. We'll see.

It doesn't work on a pi2 currently, but does work for the original Raspberry Pi and the Raspberry Pi mini. HDMI output is working on these models.

jeanahelver commented 4 years ago

could you explain what parts of the low level system/structure your unsatisfied about? this looked just what i wanted for a pico-8 like system, not sure why the pi2 and 3 are absent from the compatibilaty

tilkinsc commented 4 years ago

It was never developed on initially.

mchlmmc commented 4 years ago

In order to support the pi2 and pi3 all that needs to change in the actual OS binary is the address of a few peripherals, and then building for either could be determined with make pi3 or make zero. It's not a difficult feature to add in this way, it just hasn't been done yet. I have a pi3 model to test with now so I suppose I could try this.

As for the low level system/structure, I felt that the OS was just too tedious to develop on its own. The documentation on the pi's peripherals is scarce, so developing drivers for it is basically an act of trial and error or reverse engineering Raspbian and fitting it to my own needs. When I developed this project I was familiar with assembly but new to C so I gradually got to know the language better. I felt it could be improved a lot then and feel that it can definitely be improved now, having now studied the official specification. One of the goals for this OS is for it to be extremely stable and operational even during driver updates, and the regular tools that OS developers use are increasingly unsuitable for the task.

So right now my priority is not in developing CirnOS, but in designing tools that will make CirnOS easier to develop.

tilkinsc commented 4 years ago

The hardware also changes, so https://github.com/Mikestylz/CirnOS/blob/master/SRC/bcm2835.c will be thrown out of later pi builds.

jeanahelver commented 4 years ago

I see so the problem lays on the hardware and it's inconsistency? the thing is with a lua based os would be program portibilaty. so why not use a different architectures like mips (esp32) or risc-v.

tilkinsc commented 4 years ago

This is a specific use case.

mchlmmc commented 4 years ago

The goal of CirnOS is not to be a Lua operating system primarily, but to allow a Raspberry Pi owner to use their device as a glorified microcontroller. Lua is used because it fits this domain very well, although Scheme or even Forth could be used just as well.

tilkinsc commented 4 years ago

Python not to mention.