Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Visitor
your-godfather
Posts: 7
Registered: ‎05-27-2008
0

bootloader problems Virtex-4

I am having problems getting a 'hello world' bootloader to work.  I don't think the reset vector is getting initialized in BRAM correctly. 

 

System info:

 

Virtex-4 XC4VFX20

64k of BRAM @ 0xFFFF0000

 

I am using the default linker, and the linker is putting the boot & reset vectors in BRAM

.boot0 @ 0xFFFFFFEC

.boot @ 0xFFFFFFFC

 

I made the following specifications for the linker

Program Start Address: 0xFFFF1000

Stack Size: 0x1000

Heap Size: 0x1000

 

bootloader project is marked to Initialize BRAMs

 

 

I have been doing the following steps.

 

1. Generate Bitstream

2. Build libraries and bsp

3. Build bootloader application

4. Update bitstream (Device Configuration -> Update Bitstream)

5. Download bitstream

 

When downloading the bitstream the hardware controlled leds go off, and once the download completes they start blinking so I think the hardware is loaded correctly.

 

 

If I load the bootloader.elf through the jtag debugger it runs like i expect it to.  But when I use the debugger and inspect the memory at 0xFFFFFFF0 (the reset vector) does not look correct.  If everything was working correctly I would expect the reset vector to be 0xFFFF1000, the program start address I specified on the 'Compiler Options' screen.

 

 

So what am I doing wrong?