aboutsummaryrefslogtreecommitdiffstats
path: root/firmware/microblaze/usrp2p/bootloader
diff options
context:
space:
mode:
authorNick Foster <nick@nerdnetworks.org>2010-12-16 15:41:52 -0800
committerNick Foster <nick@nerdnetworks.org>2010-12-16 15:41:52 -0800
commitafd21d0a3e4a62c64a74368b34af2ae689c76f89 (patch)
tree076784673a248373ab59d17d94c715a498c6ad13 /firmware/microblaze/usrp2p/bootloader
parent62338938a07123841f9622d69f0f07e4ab9cfcdb (diff)
downloaduhd-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.c8
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;
}