DSPRelated.com
Forums

Re: Flashburn on DM642 EVM board

Started by keigo October 20, 2006
Hi,

I am having difficulties trying to flashburn led.hex (created from
led.out) onto DM642 EVM board.

From my understanding,
it is only after the FPGA is programmed via the fpga_loader program that I
will be able to modify the FPGA Flash Page Register to boot my application
code from PAGE1.

So if I were to flashburn my application onto DM642 EVM board,I would 
have to:
1.) flashburn my application to 0x9008 0000 (Page 1)
is the following configuration sufficient?

Debug\led.out
-a
-memwidth  8
-bootorg 0x90080000
-o Debug\led.hex
ROMS
{
    FLASH:  org = 0x90000000, len = 0x400000, romwidth = 8, files =
{Debug\led.hex}
}

2.) modify fpga_loader.pjt such that after initialize the FPGA, it will
start copying data from 0x9008 0000 to SDRAM. 

However I have no idea on how to go about doing the above.
Was unable to find any documents/example which does the above. 
Or it there a simpler method to flashburn my application onto DM642 EVM
board?
Any suggestion is much appreciated
Thanks. 


Hi all,

Finally, I managed to get it done. Below are some of the modifications I
made to fpga_loader.c and led_ahex.cmd (for led.pjt). In fpga_loader.c,
flashpage is set to 0x2 so that the boot() function will start reading at
0x9010 0000. In led_ahex.cmd, address is changed so that the application
will be flashburn to 0x9010 0000.

fpga_loader.c

main()
{
    /* Call BSL init */
    EVMDM642_init();

    /* Load FPGA from Flash */
/*    EVMDM642_fpgaLoad(0x90040000);*/

	EVMDM642_rset(EVMDM642_FLASHPAGE, 0x02);
    
	boot();

    /* Disable interrupts */
/*    IRQ_globalDisable();

    while(1);*/
}

led_ahex.cmd

Debug\led.out
-a
-memwidth  8
-map .\Debug\led_hex.map
-boot
-bootorg 0x90100400
-bootsection .boot_load 0x90100000
-o Debug\led.hex

ROMS
{
    FLASH:  org = 0x90100000, len = 0x400000, romwidth = 8, files =
{Debug\led.hex}
}