Writing flash-burnner program for my own board?

Hello,

I am writing the flash burnner program for my own board. I can debug it by using ARM SDT2.51, i.e. load my program to RAM (0x0c000000) and execute it. "Hello World" (LED-blinking) is working. Currently I try to burn the "hello world" to flash (0x00000000). My method is to load the flash burnner to RAM and run it and copy "hello world" to flash.

But when I want writing the sequence to flash, like following, I always failed. The debugger told me "This instruction refer to memory "0x00000000" ... that memory is read only...". (This similiar error imformation is got when uninitialized pointer is refered. But I don't refer an uninitialized pointer)

What could be the problem?

/* Erase the whole chip SST39VF160*/ WRITEREGW(0x5555, 0xaaaa); WRITEREGW(0x2aaa, 0x5555); WRITEREGW(0x5555, 0x8080); WRITEREGW(0x5555, 0xaaaa); WRITEREGW(0x2aaa, 0x5555); WRITEREGW(0x5555, 0x1010);

Thanks,

Adrian

Reply to
Lee
Loading thread data ...

Nobody help me? //Cry

Reply to
Lee

Your problems may be missing startup code for the Flash start.

When running from RAM, the Flash monitor has initialized certain parts of the hardware, but you do not show that the same is done for the burned-in code.

Which ARM-based chip you're using?

What kind of start-up code there is (Angel) ?

How is the address space divided to different uses?

Tauno Voipio tauno voipio (at) iki fi

Reply to
Tauno Voipio

ARM (samsung S3C44B0X) Flash (SST39VF160Q) Debugger is ARM SDT2.51 or ARM ADS1.2

The debugger is connected to Angel and Angel is connected to target board. I initialized the memory control register by using Angel. I didn't have any memory initialization code in my program. I thought it is done by Angel.

Someone told me debugger cannot be used to burn flash, maybe this is due to debugger protect readonly memory. Is it true?

Thank a lot.

Reply to
Lee

OK.

So is the Angel on a separate processor or on a Flash chip on the target board? You say that Angel is connected to the target board. Is it using the JTAG connection to the target board processor?

In principle, the Flash write using JTAG goes:

- initialize the memory control registers, both RAM and Flash,

- load into RAM the code to be written,

- load Flash writer code into free area of RAM

- run the Flash writer to program the target code into Flash

HTH

Tauno Voipio tauno voipio (at) iki fi

Tauno Voipio tauno voipio (at) iki fi

Reply to
Tauno Voipio

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.