FermiOS: An OS development for Raspi 3

Yeah. Oh in fact before I do all this:

I actually was planning to write a SerialBoot. because taking the SD writing, and then putting it back into Pi is annoying. So I am gonna write a bootloader that on boots gonna read a file over serial and load it up into memory, than just jump into it. :wink:

1 Like

I understand the desire to keep work closed until it is polished to a state you’re happy with,

But it sounds like you have a useful base platform already, opening it up now would allow people to reproduce your results and start their own experiments.

Any chances of opening it up early, and allowing some community collaboration?

1 Like

:thinking:

Okay, I’ll open it up, but I won’t merge pull requests since the whole point is to do it myself.

Will do this a bit later today.

engagement

2 Likes

Engagement!

2 Likes

Engagement!!!

2 Likes

The repo is public now. (Updated the main post)

You can go nuts @SIGSEGV

2 Likes

Now that’s what I call a Makefile… impressive…

Many thanks

1 Like

GNU Autoconf can go die in a fire. Custom written Makefiles that assume sane config that is documented in README is the way to go IMO.

Also said Makefiles should make editing them (at least the flags and stuff) easy.

1 Like

What made you go with BitBucket? I’ve never used it, so I’m not talking shit, just curious.

The fact that am too poor to self-host and they allow free private repos. Also the fact that I hate how social github is lol

1 Like

I hear that… wish there were more people with that mindset

1 Like

I think I could make the var names in the Makefile bit easier to read. I am just in this habit of making them short. :man_shrugging:

Might rewrite it and try to fix the jobs problem.

@redgek
Umm… I just realised something scary and cool while starting at your source… this is the tools needed to use the Raspberry Pi as a fucking microcontroller…

Its a fucking Quad Core 1GHz stm32 blue pill rn…

With USB and Ethernet, assuming someone writes a barebones driver for it…

This opens so many opportunities…

The first thing I feel like doing is writing an Arduino target for it!


Thank you for opening this up… I know your project is to build an OS, but I am thinking I could build a real time system from this, by dedicating a core to handling the USB and network IO, there are 3 cores left to running a real time application.

1 Like

I plan to write drivers :wink: It’s gonna take some time, especially with uni.

Some resources (will add to top too):


1: AFAIK BCM2837 has same peripherals as BCM2835. The difference between them are ARM core and more clocked VideoCore.
2: You probs want ARM® Architecture Reference Manual ARMv8, for ARMv8-A architecture profile
and Arm Cortex-A53 MPCore Processor Technical Reference Manual

1 Like

I have been looking at the peripherals to see what toys are hidden in silicon.

the Triple I2C controller and 15(!!) Software configurable DMA channels look fun :smiling_imp:

How experienced are you in this kind of stuff? Coz looks like a lot :stuck_out_tongue:
I am one helluva noob, just tryina learn shit.

@redgek Im half way through an EEE degree, so I understand most of the theory, but never get to play with this stuff…

My experience with embedded development starts at Arduinos and ends at trying to build rust programs for STMF103xx parts.

I am excited by this cos I feel like someone has just handed me the worlds fanciest microcontroller and said “have fun, don’t break it”. But instead of being a $300 dev board from ST or Xilinx its a $35 PC that I already own!

2 Likes

@redgek did you find any information on talking to the GPU?

Yeah, I used that to get the board serial. You talk with the VideoCore via the mailbox.

I just skimmed it to implement basic stuff. Still need to read on it.

1 Like