Pocket PC Forum / Developers / Platform Builder / July 2008
OMAP bootloader build.
|
|
Thread rating:  |
Seehwan - 28 Dec 2007 08:44 GMT Dears,
I am currently working with bootloader of OMAP 2420, 2430.
it seems that x-loader should be started at Internal SRAM before starting the EBOOT loader.
How can I build x-loader image?
As to flashnand.bib, flashnand starts from 0x40206000, where is secure Internal SRAM area, but who let it start the code to here?
Secondly, exactly what image should I have to burn into flash?
other posting says unclear and vague description, msdn also says that I have to follow the document from TI, but there is no file named with 'eboot.raw'. Current build tools seems not provide it.
Raj - 02 Jan 2008 18:19 GMT > Dears, > [quoted text clipped - 13 lines] > I have to follow the document from TI, but there is no file named with > 'eboot.raw'. Current build tools seems not provide it. Hi Seehwan,
Well I have worked a little on Bootloader for OMAP2430 and I can tell you that you don't have a file called EBOOT.RAW already in the directory structure. Now this RAW image format is required when you want your bootloader which is there in NAND Flash to start executing when you reset ur target with NAND settings.
You need a tool called CSST to create a RAW file for you from EBOOTNAND.BIN.
The second concept for X-Loader is that you have to store ur X-loader in FLASH and when you reset your target the X-Loader will pick the ebootnand.bin and will copy it to internal SRAM to run from it.Again you will have to convert your x-loader into RAW format through CSST tool.
I hope it should work for you.
Seehwan - 03 Jan 2008 08:31 GMT I see. Thanks for the helpful comment.
As you guess, I have CSST. from EBOOTNAND.BIN to EBOOT.raw can be an easy work.
(but why they have different name? Is there any difference between them? it is very confusing.)
For X-Loader, did you mean nandflash.exe is a X-loader?
If it is, I can build it, but how can I run it from the exact place 0x40206000?
As far as I understand, only the first 512 bytes are automatically copied from nand flash, and it should hold the bootloader code which copies rest of the loader.
Raj - 03 Jan 2008 20:07 GMT The very difference between these two files in that if you want your bootloader to start executing in NAND flash as soon as RESET your target. For that to happen it needs a RAW image coz NAND is not XIP as the NOR.So you have to convert your .BIN to .RAW format.
This RAW image is nothing but your x-loader {imagesize+ SRAM loadaddress(0x40206000)}
The second issue is that the nandflash.bin(x-loader) only copies your bootloader code from NAND flash to SRAM. That is the only purpose of X-loader apart from you can configure your pads for GPIOs.
I hope this will clear you somewhat more.
Raj Pandey
> I see. Thanks for the helpful comment. > [quoted text clipped - 13 lines] > and it should hold the bootloader code which copies rest of the > loader. Seehwan - 08 Jan 2008 16:46 GMT Thanks raj, for invaluable comment.
I am not quite understand the meaning of your comments.
I have built EBOOT.raw from ebootnand.bin coz I have CSST tool from TI.
However, I don't know where to put it (EBOOT.raw)
As far as I understand, at the first part of NAND flash, x-loader should be located.
Thus, I have built XLDR.raw from nandflash.bin using CSST tools in the same way of EBOOT.raw.
nandflash.bib says that nandflash should be located at 0x40206000 - the load address.
As to the bib file, I have modified signing tool option, and convert the XLDR.raw into XLDR.raw.ift.
and burn it on the NAND flash.
At least, at this stage, I should be able to see the print out message from the console.
However, it never displays anythings.
In addition, I don't know where to put the EBOOT.raw, which I have built from CSST tool.
Because the XLDR should be located at the first several blocks, EBOOT seems to be located after the XLDR.
However, no documents say about the location of EBOOT.
EBOOT.raw in the TI's documents seems like a raw binary image (like .nb0 files) which includes xloader and eboot.
Can I combine two files together and generate raw file and burn it on the NAND after signing process?
Thanks in advance. !
Raj - 08 Jan 2008 18:45 GMT The location 0x40206000 that you are saying is the SRAM location and you don't need to specify it coz when you make your .raw image the CSST automatically knows what is the load address. The concept of X-loader is basically pick up the bootloader from NAND flash and copy it to SRAM. The address of ur NAND flash if I am not wrong starts from 0xC0000000.
I don't know for sure but we did some calculation and placed the x- loader in NAND flash then ebootnand.bin after the x-loader in the same NAND flash.Give me some time.
What is the size of your x-loader and ebootnand.bin. Can you show me your ebbotnand.bib file?
Regards, Raj
Seehwan - 09 Jan 2008 01:49 GMT Thanks,
Followings are from my bib files:
In ebootnand.bib:
MEMORY
; Name Start Size Type ; ------- -------- -------- ---- EBOOTNAND a1B40000 00030000 RAMIMAGE RAM a1B70000 00040000 RAM STACK a1BB0000 0001F800 RESERVED ARGS a1BCF800 00000800 RESERVED
because of the eboot size, I sligtly modified the starting addr. The size is 192KB as following:
IF IMGFLASHNB ROMSTART=a1B40000 ROMWIDTH=32 ROMSIZE=30000 ENDIF
for the combined NB0 file, I adjust the romstart address.
My flashnand.bib tells tat it runs in Internal SRAM area. (the address is SRAM area) MEMORY ; Name Start Size Type ; ------- -------- -------- ---- FLASHNAND 40206000 0000C000 RAMIMAGE RAM 40212000 00004000 RAM STACK 40216000 00010000 RESERVED
The size is 48KB from the following config section:
CONFIG COMPRESSION=OFF PROFILE=OFF KERNELFIXUPS=ON ROMSTART=40206000 ROMWIDTH=32 ROMSIZE=0000C000
Thanks for any kind of help!
Raj - 10 Jan 2008 22:43 GMT I don't see any problem with your bib files.
I hope it should work perfectly.
The diff I m seeing is that
our x-loader starting address is 40204000 instead of 40206000.
Do u find this memory region A1B40000?Which part of the memory region it is?I mean SDRAM or other part of memory on the CHIP?
Our x-loader is only 28k. Tell me what all the things you r doing in ur x-loader like any other initialisation or pad configuration.
Seehwan - 15 Jan 2008 04:30 GMT Well, my x-loader does basic chip settings including gpmc, gpio with clock settings.
The address A1b40000 is a physical address of second bank of sdram.
btw, how did you find out your x-loader size? did you cofigured by yourself or pre-configured setting?
In addition, did you burn the image of .ift file? or .raw file?
sumil - 05 Feb 2008 16:43 GMT I have worked on TI bootloader, may be I can help you. I would like to define Xload in the term of TI bootloader. Xload is a basic bootloader which gets loaded by TI Bootrom in to the SRAM from nand flash. Once it gets loaded, it loads secondory bootloader(eboot) in to the external RAM (SD/DDR RAM) from the nand flash. I dont know whether you have souce code of Xload or not? But if you are using TI given Xload then you need to find out where it expects eboot in the flash. Probably it should be 4th block of the flash. Xload probably resides in the first four block. Size of the Xload must not be more than SRAM size( must be in Kb). I dont know how CSST tool works? but when you build you xload it must be built against SRAM memory space, eboot must be built against SDRAM memory space.
My Idea is you are able to see Xload running,so for the eboot you need to make sure that 1)It must be built for external RAM space. 2)Load Address >= build address + size of eboot. 3)It should be flashed in Nand where Xload expects it.
I can give you better idea if I knew the flash, start address of SRAM and SDRAM.
> Well, my x-loader does basic chip settings including gpmc, gpio with > clock settings. [quoted text clipped - 5 lines] > > In addition, did you burn the image of .ift file? or .raw file? sumil - 05 Feb 2008 17:06 GMT One more thing, If you want know where eboot resides in the flash, find out where u-bot resides in the flash for linux from linux web repositories. You have to flash the eboot in the same way U-boot is flashed.
vishalbhoj - 31 Jul 2008 14:08 GMT im trying to modify 2420 sample bsp to 2430 , is it possible ? i have done few changes in eboot code and tried it but it did not work. why is the flashnand.bin needed?
>One more thing, >If you want know where eboot resides in the flash, find out where u-bot >resides in the flash for linux from linux web repositories. >You have to flash the eboot in the same way U-boot is flashed.
|
|
|