diff --git a/src/bootloader/bootloader.c b/src/bootloader/bootloader.c index 1ba915f..5eff98a 100644 --- a/src/bootloader/bootloader.c +++ b/src/bootloader/bootloader.c @@ -240,8 +240,21 @@ int main(int argc, char *argv[]) // because D-Cache was invalidated during execution of start code pFlashMem += img_hdr.img_base/4; - for (i=0; i < img_hdr.img_size/4; i++) + for (i=0; i < img_hdr.img_size/4; i += 8) + { + pSdram32[i+0] = pFlashMem[i+0]; + pSdram32[i+1] = pFlashMem[i+1]; + pSdram32[i+2] = pFlashMem[i+2]; + pSdram32[i+3] = pFlashMem[i+3]; + pSdram32[i+4] = pFlashMem[i+4]; + pSdram32[i+5] = pFlashMem[i+5]; + pSdram32[i+6] = pFlashMem[i+6]; + pSdram32[i+7] = pFlashMem[i+7]; + } + for (i; i < img_hdr.img_size/4; i++) + { pSdram32[i] = pFlashMem[i]; + } sputs("Booting from ");print_word(img_hdr.target_base);sputs("\n\n"); Exec_at((void*)pSdram32);