Hello Everyone,
I am using mcimx6g3 chip which comes under IMX6UL. I want to know how can I just program u-boot into RAM. I dont have SD-Card connection, no eMMC, no Flash anything.
I have setup yocto and bitbake following user guides. And I have got many binaries generated in tmp/deploy/images.
Which uboot binary I can use to put into RAM and boot.
so summarizing my requirements:
1. How can I program only u-boot into RAM ?
2. which binary is used to put into RAM( .imx, .bin etc)?
Thanks,
Asma
Hi Asma
unfortunately such use case is not supported in nxp bsps, in general
one can try to use usb_loader utility developed by boundary devices:
https://community.nxp.com/docs/DOC-94117
GitHub - boundarydevices/imx_usb_loader: USB & UART loader for i.MX5/6/7/8 series
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Ok, I will try that tool.
I have 2 questions from this.
1. In this documenthttps://community.nxp.com/docs/DOC-332776 , it is mentioned only to download uboot and then go to uboot command line to burn fuses. So my question is where does this uboot is downloaded and run from?
2. Suppose I have custom board which supports serial downloader, but I dont have gpio's to configure it to boot from eMMC like imx6ul eval kit. So when I download Image(uboot+kernel) for the first time through MFGTOOL, will it go to eMMC or not? or I will have to configure through hardware or software to boot it from eMMC?.
Dont ask me to read about System Boot, I have already read about boot modes and Pin configuration and fuse burning. Right now I am not able to boot from my custom board. It supports serial download mode and does not have pins like imx6ul evaluation kit to set it to eMMC.
regards,
asma
in general MFG Tool also can be used, uboot images in MFG2 Tool folder are images
with offset - written for programming on external boot devices. For USB
load one needs the same images, but without offset.
For example for i.MX6Q Sabre SD (for i.MX6UL steps will be similar):
below modified ucl2.xml (also one can create new Profile, check with MFG2 Tool documentation).
u-boot-mx6q-sabresd_nopad.bin is Uboot image without offset (0x400).
Changed "SabreSD-SD" profile:
<LIST name="SabreSD-SD" desc="USB SDP">
<CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot-mx6q-sabresd_nopad.bin" >Loading image</CMD>
<CMD state="BootStrap" type="jump" > Jumping to image. </CMD>
<CMD state="Updater" type="push" body="$ echo Load Complete!">Done</CMD>
</LIST>
Best regards
igor
igorpadykov OK. So how can I remove the offset in my imx6ul uboot code?
On windows platform one can try "dd" utility
http://www.chrysocome.net/dd
dd.exe if=u-boot-mx6q-sabresd.bin of=u-boot-mx6q-sabresd_nopad.bin bs=1024 skip=1
Best regards
igor
Are you saying this dd command will directly download into my RAM memory?
I am not able to do it. It is not detecting on my board.
Regards,
Asma
dd command only remove offset, it does not "download" anything.
Best regards
igor
I tried as you said it is giving me error.
<!-- Load U-Boot only -->
<LIST name="uboot" desc="Load U-Boot">
<CMD state=BootStrap type=boot body="BootStrap" file ="mfg/u-boot.bin">Load U-Boot</CMD>
<CMD state=BootStrap type=jump>Jump to OS image</CMD>
<CMD state=Updater type=push body="$ echo Update Complete!">Done</CMD>
</LIST>
DLL version: 2.7.0
Tuesday, June 11, 2019 15:42:10 Start new logging
ModuleID[2] LevelID[10]: CMyExceptionHandler thread is running
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[10]: new MxHidDevice[001FF388]
ModuleID[2] LevelID[10]: Device Manager thread is running
ModuleID[2] LevelID[1]: Can't set m_hStopEvent before it initialized or it already stop
ModuleID[2] LevelID[10]: CmdOperation[0] device chagned and reset to state 0
ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is C:\Users\asmaa\Desktop\Original_QT850\Profiles\nexus\OS Firmware\mfg\u-boot.bin
ModuleID[2] LevelID[1]: PortMgrDlg(0)--MxHidDevice--Command Boot excute failed
ModuleID[2] LevelID[10]: CmdOperation[0], current command executed failed, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CCmdOpreation[0] thread is Closed
ModuleID[2] LevelID[10]: CCmdOpreation[0] thread is Closed
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - EVENT_KILL
ModuleID[2] LevelID[10]: CMyExceptionHandler::OnMsgExceptionEvent() - KillExceptionHandlerThread
ModuleID[2] LevelID[10]: Exception Handler thread is closed
ModuleID[2] LevelID[1]: delete MxHidDeviceClass
ModuleID[2] LevelID[10]: delete MxHidDevice[001FF388]
ModuleID[2] LevelID[10]: Device Manager thread is closed