diff options
author | Nick Foster <nick@nerdnetworks.org> | 2010-12-16 15:41:52 -0800 |
---|---|---|
committer | Nick Foster <nick@nerdnetworks.org> | 2010-12-16 15:41:52 -0800 |
commit | afd21d0a3e4a62c64a74368b34af2ae689c76f89 (patch) | |
tree | 076784673a248373ab59d17d94c715a498c6ad13 /firmware/microblaze/usrp2p/bootloader | |
parent | 62338938a07123841f9622d69f0f07e4ab9cfcdb (diff) | |
download | uhd-afd21d0a3e4a62c64a74368b34af2ae689c76f89.tar.gz uhd-afd21d0a3e4a62c64a74368b34af2ae689c76f89.tar.bz2 uhd-afd21d0a3e4a62c64a74368b34af2ae689c76f89.zip |
N210: ZPU firmware bootloader changes
Diffstat (limited to 'firmware/microblaze/usrp2p/bootloader')
-rw-r--r-- | firmware/microblaze/usrp2p/bootloader/init_bootloader.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/firmware/microblaze/usrp2p/bootloader/init_bootloader.c b/firmware/microblaze/usrp2p/bootloader/init_bootloader.c index 53b50e34e..dc22ef8d0 100644 --- a/firmware/microblaze/usrp2p/bootloader/init_bootloader.c +++ b/firmware/microblaze/usrp2p/bootloader/init_bootloader.c @@ -61,7 +61,7 @@ int main(int argc, char *argv[]) { hal_uart_init(); spif_init(); i2c_init(); //for EEPROM - puts("USRP2+ bootloader\n"); + puts("USRP2+ bootloader super ultra ZPU edition\n"); bool production_image = find_safe_booted_flag(); set_safe_booted_flag(0); //haven't booted yet @@ -93,17 +93,23 @@ int main(int argc, char *argv[]) { if(is_valid_fw_image(PROD_FW_IMAGE_LOCATION_ADDR)) { puts("Valid production firmware found. Loading..."); spi_flash_read(PROD_FW_IMAGE_LOCATION_ADDR, FW_IMAGE_SIZE_BYTES, (void *)RAM_BASE); + puts("Finished loading. Starting image."); + delay(300); start_program(); puts("ERROR: Return from main program! This should never happen!"); //if this happens, though, the safest thing to do is reboot the whole FPGA and start over. + delay(300); icap_reload_fpga(SAFE_FPGA_IMAGE_LOCATION_ADDR); return 1; } puts("No valid production firmware found. Trying safe firmware..."); if(is_valid_fw_image(SAFE_FW_IMAGE_LOCATION_ADDR)) { spi_flash_read(SAFE_FW_IMAGE_LOCATION_ADDR, FW_IMAGE_SIZE_BYTES, (void *)RAM_BASE); + puts("Finished loading. Starting image."); + delay(300); start_program(); puts("ERROR: return from main program! This should never happen!"); + delay(300); icap_reload_fpga(SAFE_FPGA_IMAGE_LOCATION_ADDR); return 1; } |