aboutsummaryrefslogtreecommitdiffstats
path: root/firmware/microblaze/usrp2p/bootloader_utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/microblaze/usrp2p/bootloader_utils.c')
-rw-r--r--firmware/microblaze/usrp2p/bootloader_utils.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/firmware/microblaze/usrp2p/bootloader_utils.c b/firmware/microblaze/usrp2p/bootloader_utils.c
index fadd225bb..d68fafcb3 100644
--- a/firmware/microblaze/usrp2p/bootloader_utils.c
+++ b/firmware/microblaze/usrp2p/bootloader_utils.c
@@ -25,7 +25,7 @@ int is_valid_fpga_image(uint32_t addr) {
}
int is_valid_fw_image(uint32_t addr) {
- static const uint8_t fwheader[] = {0xB0, 0x00, 0x00, 0x00, 0xB8, 0x08}; //just lookin for a jump to anywhere located at the reset vector
+ static const uint8_t fwheader[] = {0x0b 0x0b 0x0b 0x0b 0x80 0x70}; //just lookin for a jump to anywhere located at the reset vector
uint8_t buf[12];
spi_flash_read(addr, 6, buf);
return memcmp(buf, fwheader, 6) == 0;
@@ -33,7 +33,7 @@ int is_valid_fw_image(uint32_t addr) {
void start_program(uint32_t addr)
{
- memcpy(0x00000000, addr+0x00000000, 36); //copy the whole vector table, with the reset vector, into boot RAM
+ memcpy(0x00000000, addr+0x00000000, 0x3f); //copy the reset vector and interrupt vector
typedef void (*fptr_t)(void);
(*(fptr_t) 0x00000000)(); // most likely no return
}