tiny6410 boot sequence

I am trying to understand the s3c6410 booting process(IROM method) and here
what I believe is happening:

1) The pc is set to address 0x0 where the Internal ROM is mapped at this
2) The Internal ROM is unmodifiable and contains some manufacturer's
firmware with defined initialisation sequence (BL0).
3) The BL0 fetches first 4KB of the boot device (NAND or SD) and copies it
to the 0x0C000000 address (on-chip RAM - SteppingStone), and sets pc to
that address.
4) The Steppingstone code is written by the programmer, and actually can
perform any task fitting within these 4Kb.

 Correct me if I am wrong. If not, I conclude that if I am burning my
testing program (linked at address 0) to the beginning of the NAND flash,
setting breakpoint on the address 0x0C000000 and resetting the processor,
the execution should break exactly at the beginning of my program ? I've
tested that, but the execution never breaks.
 I would appreciate any comments and corrections.

* Sorry if my English is not as perfect as you expect

OK. Read in the Application Note that the BL1 on the NAND should have some
kind of signature for integrity check. But I can't figure out how the
signature is calculated.

Juergen Beisert
Any progress how to calculate the signature?

Attachment: man-6410-apn.pdf (0 Byte)
The booting sequence is explained quite clearly in the App notes as
attached. See the section 2. Operation for booting sequence.

Juergen Beisert
Here "man-6410-apn.pdf (0 Byte)" is shown. Very short... ;-)


/* ------------------------------------------------- */

So the format of the SD card is on page 602? Which one do I use?

Roger Wolff
Thanks for the pointers. Took me a long while to figure out. Now I can
write a script that does this. 

I use Linux, so "just run sdflasher.exe" doesn't work for me. 

Does anybody know what the "signature" is? I've found a
block-with-all-zeroes just beyond the 8k BL1 block.... 

And... I've taken an image of a bootable 2G SD card, and put it on an 8G SD
card. As the signature and BL1 code is now in the wrong spot (referenced to
the LAST block of the device) it should not be bootable. But it is: It
boots just fine.... 

So still there is something we don't know!