Hi,
I have a few questions on arm926 initialization code, located in
${U_BOOT}/cpu/arm926ejs/start.S:
1) what is the point of deliberately setting up SVC mode, as it's
already in this mode right upon the reset?
What if the target board has a custom bootmonitor you use U-Boot as
secondary bootloader. This is a precautionary measure.
2) I can't quite understand what 'CONFIG_USE_IRQ' is used for. It is
defined on just a few targets.
Generally bootloader doesnt use IRQ for running. But if u need to use
IRQ/FIQ u need to setup stacks for the Same. And also When Interrupt occurs
you need to set sp to pint to proper stacks, save registers then jump to
irq handler. U_Boot provides a common envelope for all interrupt related
functions.
3) The stack set up -- commonly startup code initializes stacks for
all modes, but it's not clear how it's done in 'start.S'. Seems like
somehow stacks are run-time configured, but I didn't perceive how.
U-boot Initially sets up Stack for SVC Mode.
Upon Interrupt Triggers, Stacks are setup for the IRQ/FIQ Modes.
This is done in the ${U_BOOT}/cpu/arm926ejs/start.S
for SVC Mode --- @ line 173
for IRQ Mode --- @ line 327
for FIQ Mode --- @ line 331
Hope this would clear your doubts.
Regards
Gururaja
--
View this message in context:
http://www.nabble.com/-U-Boot--U-Boot-on-ARM9-tp19602930p19604726.html
Sent from the Uboot - Users mailing list archive at Nabble.com.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot