UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
2,320 Views
Registered: ‎05-27-2008

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?  

 

0 Kudos