FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 11-25-2003, 02:04 PM
Frank
Guest
 
Posts: n/a
Default running from external memory (microblaze)

Hello,

I have build a bootloader which is located in block ram. Now I want to
download my final application to sdram and execute it. If I'm correct, I've
to make a linker script in order to make this possible. Besides this, I want
to use the xilkernel in my application, but not in the bootloader, is this
possible? I guess I have to convert the application.elf file to a binary
file in order to be placed into sdram by the bootloader?! How are the
interrupts handled? Is the interrupt handler from the bootloader used
(because it default jumps to address 0x18)? Can I install a new interrupt
handler which is located in my application?!

a lot of questions, I searched at the forums, but there are not much
examples available. I'm sure there a people who already did this before.

Please help,
thanks


Reply With Quote
  #2 (permalink)  
Old 11-25-2003, 05:46 PM
mohan
Guest
 
Posts: n/a
Default Re: running from external memory (microblaze)

 

Frank wrote: Hello,

I have build a bootloader which is located in block ram. Now I want to
download my final application to sdram and execute it. If I'm correct, I've
to make a linker script in order to make this possible. Not necessarily. You can simply specify a different start address for your boot loader and your application on the mb-gcc command line. See the Makefile_mb.sh and other Makefile*.* files related to MicroBlaze in the Xilkernel install area. Besides this, I want
to use the xilkernel in my application, but not in the bootloader, is this
possible? Yes. I guess I have to convert the application.elf file to a binary
file in order to be placed into sdram by the bootloader?! Depends on your bootloader. If your bootloader expects binary then you have to. I have seen bootloaders  that use other formats as well, such as SREC or some application specific encoding. How are the
interrupts handled? Is the interrupt handler from the bootloader used
(because it default jumps to address 0x18)? Can I install a new interrupt
handler which is located in my application?!

a lot of questions, I searched at the forums, but there are not much
examples available. I'm sure there a people who already did this before.
  There are some examples of Xilkernel usage in the install area itself (search for print_thread.c).  
Please help,
thanks
Reply With Quote
  #3 (permalink)  
Old 11-26-2003, 04:15 PM
Frank
Guest
 
Posts: n/a
Default Re: running from external memory (microblaze)

Thank you for your information, I am busy with getting XMK working and building an application with his own makefile (which specifies another start address as the bootloader). At this moment one thing is not clear to me: how are interrupts handled? The microblaze jumps to address 0x18, but in my case that's the bootloader in block ram. And I want to handle the interrupts in my application of coarse. Is that possible and if so, how?

TIA,
Frank

"mohan" <[email protected]> wrote in message news:[email protected]

Frank wrote:

Hello,
I have build a bootloader which is located in block ram. Now I want to
download my final application to sdram and execute it. If I'm correct, I've
to make a linker script in order to make this possible.

Not necessarily. You can simply specify a different start address for your boot loader and your application on the mb-gcc command line. See the Makefile_mb.sh and other Makefile*.* files related to MicroBlaze in the Xilkernel install area.
Besides this, I want
to use the xilkernel in my application, but not in the bootloader, is this
possible?
Yes.
I guess I have to convert the application.elf file to a binary
file in order to be placed into sdram by the bootloader?!
Depends on your bootloader. If your bootloader expects binary then you have to. I have seen bootloaders that use other formats as well, such as SREC or some application specific encoding.
How are the
interrupts handled? Is the interrupt handler from the bootloader used
(because it default jumps to address 0x18)? Can I install a new interrupt
handler which is located in my application?!
a lot of questions, I searched at the forums, but there are not much
examples available. I'm sure there a people who already did this before.


There are some examples of Xilkernel usage in the install area itself (search for print_thread.c).

Please help,
thanks
Reply With Quote
  #4 (permalink)  
Old 11-26-2003, 06:24 PM
mohan
Guest
 
Posts: n/a
Default Re: running from external memory (microblaze)

MicroBlaze always jumps to 0x8 or something like that on interrupt. The initialization code for your application writes the address of your interrupt handler into this low memory so that when an interrupt occurs, MicroBlaze jumps to the fixed low address and from there to your interrupt handler.

Frank wrote: At this moment one thing is not clear to me: how are interrupts handled? The microblaze jumps to address 0x18, but in my case that's the bootloader in block ram. And I want to handle the interrupts in my application of coarse.
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
MICROBLAZE: executing program from external memory arkaitz FPGA 3 10-20-2003 11:33 PM
MICROBLAZE: Using external instruction memory Arkaitz FPGA 11 10-10-2003 10:58 AM


All times are GMT +1. The time now is 10:06 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved