Something else I forgot.  If your image is binary the magic number in
this second header/table should be 0xA1ACED11.  If your image is an
S-record then the magic number should be 0xA1ACED00.  This is an
unfortunate misuse of the 
0xA1ACED11 number by the person who wrote the UBL, since that number was
defined already to mean something different in sprue14 document.  

Regards,

Daniel

Daniel J. Allred
Software Applications
Catalog DSP / End Emerging Equipment

-----Original Message-----
From: Allred, Daniel 
Sent: Tuesday, October 03, 2006 8:47 AM
To: Allred, Daniel; Carlos Ojea;
[email protected]
Subject: RE: Writing UBL and UBOOT in NAND

That table didn't quite format correctly in my reply.  It should be

magic number: 0xA1ACED00
Entry address of U-boot: 0x81080000
pages in U-boot: 0x000000B4 (0xB4=180 pages, (180*512bytes) = 90 kBytes
(it will be something around this size) 
starting block of U-boot: 0x00000006 
starting page of U-boot: 0x00000001 
load address of U-boot: 0x81080000  (where to copy data to in memory)

Notice the addition of the load address field -  this is not in the UBL
header, but is critical here if your U-boot is placed in memory as a
binary image.

Daniel J. Allred
Software Applications
Catalog DSP / End Emerging Equipment

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of Allred, Daniel
Sent: Tuesday, October 03, 2006 8:32 AM
To: Carlos Ojea; [email protected]
Subject: RE: Writing UBL and UBOOT in NAND

Carlos,

The ubl_nand is written so that it looks for a header table almost
identical to the one the RBL looks for in page 0 of block 1.  But in
this case the table describes the location and size of the u-boot
binary, not the ubl.  This table would probably go in page 0 of block 6
and then the binary would be placed starting in page 1 of block 6.  So
this second table might look like this

magic number: 0xA1ACED00
Entry address of U-boot: 0x81080000
pages in U-boot: 0x000000B4 (0xB4=180 pages, (180*512bytes) = 90 kBytes
(it will be something around this size)
starting block of U-boot: 0x00000006
starting page of U-boot: 0x00000001
load address of U-boot: 0x81080000  (where to copy data to in memory)

This isn't really documented anywhere.  Hopefully we will get an appnote
out soon about writing your own UBL and also giving out the source to a
complete UBL (if possible).  For those who care, you can also place an
S-record of the U-boot in the NAND, except in this case your application
entry address must match the start address given in your S-record, and
the load address must be somewhere in RAM where the S-record can be
copied so that it won't overlap with where the application will run
from.  In this case the UBL_nand will copy the S-record to the load
address, decode the S-record to a binary using the address info embedded
in the S-record, and then it will pass execution control to whatever
code is at the specified application entry address (which again should
match the start address embedded in the S-record).  That's probably more
info than you wanted or needed, but that is a complete description of
what can be done.

Regards,
Daniel



Daniel J. Allred
Software Applications
Catalog DSP / End Emerging Equipment

-----Original Message-----
From:
[EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
sp.com] On Behalf Of Carlos Ojea
Sent: Tuesday, October 03, 2006 5:03 AM
To: [email protected]
Subject: Writing UBL and UBOOT in NAND

Hello,
Thank you all for your kind replies. I wish to ask if I am doing
something wrong, since my DVEVM doesn't boot from nand yet:

1.- To use the NAND to boot, I put S3 positions 1 and 0 to 00. I also
put J4 in NAND.

2.- I made a UBL descriptor in a hex editor, sent it to uboot using
tftp and write it to nand. My descriptor is :
a1 ac ed 00 00 00 00 20 00 00 00 1c 00 00 00 01 00 00 00 01
That is:
magic number: 0xA1ACED00
Entry address: 0x00000020
pages in ubl: 0x0000001C (0x1C=28 pages, (28*512bytes) = 0x3800, ubl's
size)
starting block of UBL: 0x00000001
starting page of UBL: 0x00000001

3.- In sprue14.pdf 12.2.1 it says RBL searches for UBL descriptor in
page 0 of the block after CIS/IDI block (block1). So I wrote my UBL
descriptor at 0x4000 (page 0 of block 1)

4.- I wrote ubl_nand.bin at 0x4200 (page 1 of block 1)

5.- Reading spraaa0.pdf, it uses an offset of '6' for
u-boot-567-nand.bin, so I wrote u-boot-567-nand.bin at 6*0x4000 =
0x24000.

Thank you and regards,
Carlos
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to