I have been searching on internet for overview of BCM SoC of raspberry pi but can't find something
I've put relevant public diagrams (from Broadcom's patents) here:
https://github.com/hermanhermitage/vide ... 5-Overview
Will add more information over time. Go up a few levels for more information.
I saw that raspberry pi firmware is now open-sourced, but there is still some BLOB as closed source.
And my question is where is this blob?. Also for OpenGL this libGLES is passing commands to GPU and some fimware in GPU is taking this commands and executing them. Can I get access to this firmware? Can this firmware be somehow downloaded and reverse-enginered?
What about BLOB that is loaded at boot of PI?
The Bcm2835 contains a boot loader/rom image that loads bootcode.bin from SD (there are other paths as well).
The Blob is start.elf which contains ThreadX OS and interrupt handlers, services and drivers which run on the VideoCore Scalar+Vector core and expose themselves via a mailbox and bulk data transfer interface to the host CPU (ie ARM v6).
Can be reverse engineered, however a pragmatic approach is to leverage and extend whatever is already there.