<div dir="auto">August:<div dir="auto">Gcc is a big beast and full of deceit, but there are an awful lot of people working on it. As a result Gcc generally knows about the latest hardware available. Also crosscompiler tool chain building is pretty well standarized. So provided it has the input language you want to use, you generally can rig up a tool chain almost semi automatically. It just takes some time recompiling the beast and the utilities.</div><div dir="auto"><br></div><div dir="auto">Guy:</div><div dir="auto">Linux on a fast Arm chip works reasonably well, but for slow Arm controllers and small fry a bare metal solution works much much better. </div><div dir="auto">For hi level peripherals one can use the manufacturer provided libraries via a binding if needed. Just as you are trying to do, except that in your case the library is proprietary. </div><div dir="auto"><br></div><div dir="auto">J. </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 30 Apr 2020, 23:29 Guy T., <<a href="mailto:turgu666@gmail.com">turgu666@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I’m following this thread with great interest… I was not expecting this but it is a very interesting discussion.<br>
<br>
For me, the fundamental question is: What is the community trying to achieve?<br>
<br>
Some partial answers:<br>
<br>
- Attract other peoples in the realm of Project Oberon and/or the Oberon language.<br>
- Continue the development of Project Oberon in a niche RISC5/fpga based environment.<br>
- Extend the Project Oberon to get it run on many different hardware platforms.<br>
- Extend the Project Oberon to supply other useful tools to the end user.<br>
- Other aspects (like convergence of Oberon dialects, etc.)<br>
- All of the above<br>
<br>
My current personal requirement is to use the Oberon language as a mean to develop IOT applications on a chip that was not looked at by the community up to now. At first, I expected to use it in a “bare metal” manner, but I found impossible to do without taking into account the complexity/lack of openness of some hardware related aspects of the targeted chip (ESP32) and the need to interface the de-facto framework. That framework (ESP-IDF) can be seen as an abstraction layer to the hardware.<br>
<br>
I would like to see the Oberon OS available on other platforms than the RISC5, not because it’s not a nice idea, but it limits the availability of a functioning platform as the hardware is rather limited in availability. For sure, there is the RISC5 emulator that can be used on many platforms, but I would prefer to see it runs as a main alternative to Windows/Linux/Whatever. Getting it run on a very cheap platform like the Raspberry Pi would be a bonus. It can help attract peoples to the community.<br>
<br>
To limit the effort of porting the Oberon Project to other platforms, abstracting the hardware is a key aspect, both for the OS and for the compiler. Both aspects need to be resolved. Building an abstraction layer from scratch would be an important challenge. Think about USB, Ethernet, WiFi, Disks Format, etc. The compiler is the easiest portion of porting the project, as long as the community converge to a solution.<br>
<br>
A first step toward abstracting the hardware could be to use the Linux kernel. Just the kernel, and then build on top of it. You then gain all the drivers for almost every piece of kit available, transforming the OS only once. For the compiler, depending on the choice taken, GCC and its dependencies would be also required.<br>
<br>
But first, there is a need to converge toward a vision to where, as a community, you/we see the future of this project.<br>
<br>
Cheers!<br>
<br>
Guy<br>
--<br>
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank" rel="noreferrer">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer noreferrer" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
</blockquote></div>