diff options
author | Juergen Beisert <jbe@isonoe.(none)> | 2007-10-19 16:35:25 +0200 |
---|---|---|
committer | Juergen Beisert <jbe@isonoe.(none)> | 2007-10-19 16:35:25 +0200 |
commit | be65b56a89151a784283376e932a4801f38c4f33 (patch) | |
tree | 9ccfb515b2e1a0758ff92e4416f42e9ff19addc1 /arch/arm | |
parent | 578433a5a825928d6414654fb0836813dc2443a8 (diff) | |
download | barebox-be65b56a89151a784283376e932a4801f38c4f33.tar.gz barebox-be65b56a89151a784283376e932a4801f38c4f33.tar.xz |
reset doc added for ARM
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-arm.dox | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-arm.dox b/arch/arm/mach-arm.dox index 9d311a82f9..4c810956ce 100644 --- a/arch/arm/mach-arm.dox +++ b/arch/arm/mach-arm.dox @@ -6,4 +6,28 @@ FIXME +@par What's happens when the reset signal is gone + +@note Code running immediately after reset runs at an address it is not linked + to: "runtime address != link address". You should only use branches and + do not refer to fixed data. This implies the use of assembler code only. + +The ARM CPU starts at lable <reset> in one of the corresponding start-*.S +files. After some basic hardware setup it can call a function +<arch_init_lowlevel> if not disabled. This call is intended to give all +developers a chance to use a standard reset vector file, but also do some +special things required only on their specific CPU. + +After handling some MMU related things <board_init_lowlevel> can be called (if +not disabled). This is a board specific function for SDRAM setup for example. +As its board specific, your can do whatever you need to bring your board up. + +When <board_init_lowlevel> returns it will be assumed there is now a working +RAM that can be used for all further steps. + +Next step is relocation of UBoot itself. It gets copied to RAM and the last +assembler instruction is a jump into <start_uboot>. This target address is +the first C instruction in UBoot. At this point of time: +"runtime address == link address". + */ |