From where does the DCD is taken when loading uboot via serial downloader?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

From where does the DCD is taken when loading uboot via serial downloader?

4,653件の閲覧回数
carlobarbaro
Contributor III

Hello,

I know that the iMX6 rom loader when booting from a device (SD, MMC, NAND, etc...) loads an image vector table containing a DCD table used to configure other on chip pheripherals (typically the DDR memory controller).

My question is: from where does the image vector table + DCD is taken when the USB serial boot is selected by bootpins?

For example, the MFG Tool loads in DDR SDRAM the u-boot + kernel image + ramdisk using the USB serial interface, so the DDR controller should be intialized in some way.

I'm asking this because I need to change the DDR controller initialization due to differences between the rams used in our custom board and ram used in SabreSD reference board.

Thank you in advance, any explanation will be appreciated.

Carlo

ラベル(1)
タグ(4)
6 返答(返信)

2,383件の閲覧回数
Yuri
NXP Employee
NXP Employee

In addition :

For internal serial ROM bootloader, the (corresponding) flash header should be

sent before an application, and the flash header contains DCD pointer.


Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 件の賞賛
返信

2,383件の閲覧回数
carlobarbaro
Contributor III

Hi Yuri,

sorry, I don't understand: you tell me that when serial ROM bootloader is used, the flash header (containing DCD) is sent before an application.

Who send it, MFGTool2.exe?

And from where does this flash header is taken?

Thank you and great day to you.

Carlo

0 件の賞賛
返信

2,383件の閲覧回数
Yuri
NXP Employee
NXP Employee

The MFG can send the (embedded in file) flashheader automatically.

2,383件の閲覧回数
wallyyeh
Contributor V

recently I'm facing this, if you are using SDK_4.1.0, this answer might be useful for you:

uboot DDR initialization is on uboot/board/freescale/mx6q_sabresd/flash_header.S

and you need fill the i.MX6Q DDR3 script aid, then modified your flash_header.S to fit your custom DDR.

here is the URL about  i.MX6Q DDR3 script aid:

   i.Mx6DQSDL DDR3 Script Aid

And don't for get fill the calibration value obtained from i.MX6 DDR Stress Test Tool : i.MX6 DDR Stress Test Tool V1.0.2

0 件の賞賛
返信

2,383件の閲覧回数
carlobarbaro
Contributor III

Hi,

I already found it at the path you indicate, and I have modified it for my u-boot stored in eMMC.

But to write my u-boot in eMMC I have to use the MFGTools and they use their u-boot + kernel + ramdisk.

All this stuff is loaded in DDRAM by romloader via USB serial.

My question is: how does the DDRAM get initialized?

Should I modify also the u-boot used by MFGTools?

0 件の賞賛
返信

2,383件の閲覧回数
wallyyeh
Contributor V

Hi, Carlo:

    one thing need confirm first, did you attach serial comport and see what it outputs?

    DCD table seems build into u-boot, so using MFGtools will send a magic words to cpu, then sending u-boot and kernel to whatever cpu can load(since RAM not initailized)

   then rom code start to execute u-boot, then initiallze RAM.(or init DDR first then execute u-boot?)

   this post also ask the same question:

imx6: memory controller initialization in uboot?

    there is a linux cmdline version tool like MFGtool.exe:

i.MX USB Loader

    this tool will using serial download mode send only u-boot. and once it done, you cat stay in u-boot prompt and load your kernel by nfs or tftp.

   but if serial comport didn't output anything when you passing u-boot by imx usb loader, this might because wrong modification of flash_header.S

0 件の賞賛
返信