- speed up flash load

git-svn-id: http://moon:8086/svn/mips@56 a8ebac50-d88d-4704-bea3-6648445a41b3
This commit is contained in:
2015-06-15 16:38:32 +00:00
parent 256cc79c07
commit f986c8829d
+10 -11
View File
@@ -213,9 +213,8 @@ int main(int argc, char *argv[])
volatile uint8_t *pMem;
haddr = 0;
flash_img_hdr_t *pImg_hdr;
flash_img_hdr_t img_hdr;
volatile uint32_t *pFlashIO = (uint32_t*)(FLASH_BASE_IO + 0x00100000); // Flash in uncached area
volatile uint32_t *pFlashMem = (uint32_t*)(FLASH_BASE_MEM + 0x00100000); // Flash in cached area
volatile uint32_t *pSdram32 = (uint32_t*)SDRAM_BASE;
@@ -223,28 +222,28 @@ int main(int argc, char *argv[])
// ----------------------------------------------------------
sputs("Loading image from flash at ");print_word((int)pFlashMem);sputs("\n");
pImg_hdr = (flash_img_hdr_t*)pFlashIO;
if ((pImg_hdr->magic != MAGIC_EL) && (pImg_hdr->magic != MAGIC_EB))
img_hdr = *((flash_img_hdr_t*)pFlashMem);
if ((img_hdr.magic != MAGIC_EL) && (img_hdr.magic != MAGIC_EB))
{
sputs("\n\n");
sputs("Invalid image found at ");print_word((int)pFlashMem); sputs(". Abort.\n");
return 1;
}
sputs("target_base = ");print_word(pImg_hdr->target_base);sputs("\n");
sputs("img_base = ");print_word(pImg_hdr->img_base);sputs("\n");
sputs("img_size = ");print_word(pImg_hdr->img_size);sputs("\n");
sputs("target_base = ");print_word(img_hdr.target_base);sputs("\n");
sputs("img_base = ");print_word(img_hdr.img_base);sputs("\n");
sputs("img_size = ");print_word(img_hdr.img_size);sputs("\n");
pSdram32 = (uint32_t*)pImg_hdr->target_base;
pSdram32 = (uint32_t*)img_hdr.target_base;
// It's safe to use cached Flash,
// because D-Cache was invalidated during execution of start code
pFlashMem += pImg_hdr->img_base/4;
pFlashMem += img_hdr.img_base/4;
for (i=0; i < pImg_hdr->img_size/4; i++)
for (i=0; i < img_hdr.img_size/4; i++)
pSdram32[i] = pFlashMem[i];
sputs("Booting from ");print_word(pImg_hdr->target_base);sputs("\n\n");
sputs("Booting from ");print_word(img_hdr.target_base);sputs("\n\n");
Exec_at((void*)pSdram32);
// ----------------------------------------------------------