Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not applicable

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
0 Replies