Some background
##Some background##
TheThe most important thing you should know is that the RaspberryPi is a strange beast where the ARM CPU
is the not main CPU - it's only a co-processor to the VideoCore GPU
. When the RaspberryPi starts, a GPU blob is read from the SD card to the L2 cache and executed. This code then brings up all the important peripherals (RAM, clocks etc) and starts the ARM CPU
. Then the 2nd stage bootloader or some operating system itself can be run on ARM CPU
.