m.combut with no luck so far. Probably this is chipn ,
The processor always starts at the reset vector. This may depend on the boot pins. The MMU is off when the processor is reset.
Following is the typical sequence of initialization: (assuming that the bootloader is burned on and is running from a non-volatile memory like NOR flash.)
- Initialize the SDRAM controller.
- Set up the stacks for various (ARM) processor modes. (undef, irq, fiq ... )
- Clear up the BSS space. (uninitialized variables)
- Relocate the code to run from RAM (not always necessary).
- Copy the .data section (initialized variables) to RAM.
- Jump to C code.
- Initialize the external bus controller for various address spaces (chip selects). This depends on what devices you have connected to the bus and what are their timing parameters.
- Initialize various devices. (by calling their init functions)
- Load the filesystem driver.
- Search for the kernel.
- Copy kernel to RAM. Set up command line parameters for the kernel.
Depending on the kernel requirements the bootloader may also init the MMU before calling the kernel.