AnsweredAssumed Answered

Upload and run code in Blackfin memory

Question asked by Ddav on Feb 27, 2010
Latest reply on Mar 25, 2010 by Ddav

Hi,

 

I’ve developed a Loader tool (ldr file) for my ADSP-BF537 EZ-KIT.

The start address of Loader code is 0xFFA00000.

Using LdrViewer tool I send the Loader to Blackfin.

After that Loader activates CLI and XMODEM Receiver.

 

Using appropriate CLI command I can send my own Boot code

to Loader to save it on flash. Because Boot program is linked

for 0x20000000 address it works fine after switching to BMODE=000 and resetting.

 

But when I change the Boot program start address to 0x00080000 (SDRAM)

to run it in memory by calling from Loader after uploading the Boot program

cannot be executed though Loader receives the Boot code and keeps them

memory starting 0x00080000.

 

The Boot code entry point can be called like mentioned in EE-239:

 

void (*program)(void) = (void (*)(void))(BOOT_START_ADDR);

(*program)();

 

This code works fine for flash version of Boot when BOOT_START_ADDR is 0x20000000

but hangs for in-memory version (BOOT_START_ADDR  is 0x00080000).

 

Changing the Boot program section by Instruction Bank B SRAM (0xFFA08000 - 0xFFA0BFFF)

have not solved the problem

 

I guess the similar code is present in adsp-bf537-rom-v03.asm (Boot ROM for the Blackfin)

for UART slave mode (BMODE=111) but Loader need to run uploaded program and return to

CLI processing.

 

How can I fix this issue?

 

The only difference between flash and in-memory versions of Boot is the start address.

 

Best,

David.

Outcomes