From 977aa614ba4d6a5515a8b0bb8353772f7e883397 Mon Sep 17 00:00:00 2001 From: Jörg Hohensohn Date: Wed, 31 Aug 2005 23:50:40 +0000 Subject: we have to use the new ROMbox link address here, too git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7437 a1c6a512-1295-4272-9138-f99709370657 --- flash/make_firmware/make_firmware.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/flash/make_firmware/make_firmware.c b/flash/make_firmware/make_firmware.c index ffc366fe5e..05cb3322ea 100644 --- a/flash/make_firmware/make_firmware.c +++ b/flash/make_firmware/make_firmware.c @@ -169,10 +169,17 @@ UINT32 PlaceImage(char* filename, UINT32 pos, UINT8* pFirmware, UINT32 limit) if (ucl_header[12] == 0x2B) // uncompressed means "ROMbox", for direct flash execution { + UINT8 start_addr[4]; UINT8 reset_vec[4]; + fread(start_addr, 1, sizeof(start_addr), pFile); // read the link address from image fread(reset_vec, 1, sizeof(reset_vec), pFile); // read the reset vector from image - fseek(pFile, 0-sizeof(reset_vec), SEEK_CUR); // wind back - load_addr = FLASH_START + pos + 16; // behind 16 byte header + fseek(pFile, 0-sizeof(start_addr)-sizeof(reset_vec), SEEK_CUR); // wind back + load_addr = Read32(start_addr); + if (load_addr != FLASH_START + pos + 16) // behind 16 byte header + { + printf("Error: Rombox .ucl file is linked to 0x%08X instead of 0x%08X\n", load_addr, FLASH_START + pos + 16); + exit(11); + } exec_addr = Read32(reset_vec); } } -- cgit v1.2.3