cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Anonymous
Not applicable
2,395 Views

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