[U-Boot-Users] Need help booting an unsupported OS on ARM

I am trying to use U-Boot to start up a home grown OS. How can I make my OS a little more U-Boot friendly, or visa-versa? The specific problem I'm having is that when I issue a SWI on the arm, the U-Boot interrupt routines get used instead of mine.
I can see why that is happening because the vectors in the flash address point to the U-Boot routines, but I'm wondering if there is a way to set a secondary jump so that my routines are used.
Thanks,
Rod Landers

In message 2da76b6505021215452596cc8a@mail.gmail.com you wrote:
I am trying to use U-Boot to start up a home grown OS. How can I make my OS a little more U-Boot friendly, or visa-versa? The specific
You can do both, but in general you don't have to.
The most trivial thing is to start your OS using the "go" command - assuming that the OS does not require to receive any information from the boot loader. Or, assuming the OS uses ELF files, you can use the "bootelf" copmmand, too.
problem I'm having is that when I issue a SWI on the arm, the U-Boot interrupt routines get used instead of mine.
Your OS is expected to install it's own interrupt handlers, of course.
I can see why that is happening because the vectors in the flash address point to the U-Boot routines, but I'm wondering if there is a
This is only before relocation.
way to set a secondary jump so that my routines are used.
You may want to peek for example at the Linux kernel code how to install your own interrupt handlers.
Best regards,
Wolfgang Denk

Thanks Wolfgang,
That only seems logical. I'm not exactly sure why I didn't think of checking out Linux for examples.
-Rod
On Sun, 13 Feb 2005 01:15:12 +0100, Wolfgang Denk wd@denx.de wrote:
In message 2da76b6505021215452596cc8a@mail.gmail.com you wrote:
I am trying to use U-Boot to start up a home grown OS. How can I make my OS a little more U-Boot friendly, or visa-versa? The specific
You can do both, but in general you don't have to.
The most trivial thing is to start your OS using the "go" command - assuming that the OS does not require to receive any information from the boot loader. Or, assuming the OS uses ELF files, you can use the "bootelf" copmmand, too.
problem I'm having is that when I issue a SWI on the arm, the U-Boot interrupt routines get used instead of mine.
Your OS is expected to install it's own interrupt handlers, of course.
I can see why that is happening because the vectors in the flash address point to the U-Boot routines, but I'm wondering if there is a
This is only before relocation.
way to set a secondary jump so that my routines are used.
You may want to peek for example at the Linux kernel code how to install your own interrupt handlers.
Best regards,
Wolfgang Denk
-- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de In accord with UNIX philosophy, Perl gives you enough rope to hang yourself. - L. Wall & R. L. Schwartz, _Programming Perl_

On Sunday 13 February 2005 19.36, Rod Landers wrote:
Thanks Wolfgang,
That only seems logical. I'm not exactly sure why I didn't think of checking out Linux for examples.
Maybe because Linux code is GPL:ed? And that after you have fixed all your OS problems by copying code from Linux you might en up in a questionable licensing situation... But of cause that is no problem if your OS is GPLed too.
/RogerL
participants (3)
-
Rod Landers
-
Roger Larsson
-
Wolfgang Denk