U–Boot on imx6 without usb and gpio strapping

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

U–Boot on imx6 without usb and gpio strapping

962 Views
claudio1
Contributor II

hello

i have created an own board with a imx6ull processor.

now i have ported uboot for my board.

after compilation ive got a 150kb large .bin file.

i thought that i can download this by jtag into the imx6 internal ram.

unfortunately, the internal ram has only 68kb.

i dont have usb ond my board. I also dont have strapped the gpios for the boot process selection.

i only habe boot0 and boot1 pins and uart1–3 and jtag and a sd–card slot at sd port 0.

how can i start u–boot?

would you reccomend to burn the efuses?

thanks

Labels (1)
0 Kudos
3 Replies

795 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello claudio,

    I was very surprised at the design. These two functions are very important features of I. MX processors.
Their purpose is to provide convenient debugging and mass production for customers. In fact, before making PCB boards, you should send us your schematic and let's check the design for you.

    now for your questions, I can only give you some advice, see below, please!

--how can i start u–boot?

(1) UART port doesn't support to download u-boot to Flash on board. so don't consider UART, please!

(2) JTAG interface

In theory, u-boot can be downloaded into DDR3 memory(not internal ram) via JTAG interface, after u-boot run in memory, on u-boot command line, you can use related commands, like mmc write, etc to write u-boot in memory to eMMC or SD card. This means u-boot will be written to eMMC(or other falsh) by itself.

---would you reccomend to burn the efuses?

You didn't design Boot Configuration Select circuit, so I also don't know which device will be used for booting system. If there is no way to select a boot device, you will have to burn eFUSE to select a fixed device for booting. But this requires that u-boot should be run in memory at first, then burn eFUSE on u-boot command line by related commands.

So in brief, you should try your best to run u-boot in memory at first.

Hope above information is helpful for you.

Have a nice day!

BR,

Weidong

0 Kudos

795 Views
claudio1
Contributor II

HI Weidong

Thanks for your answer.

Yes, i know, its a pitty that i didnt designed these functions.

I was able to load u-boot via jtag into the external DDR3.

For that i have configured the DDR3 with jlink using w4 commands.

I have written all neccessary registers with the w4 command.

From now on, the DDR3 was accessible from addres 0x80000000 and further.

I have written u-boot into it using GDB. For some unknonwn reason it was not possible to load the bin file using jlink commander, set the PC and run with CMD g.

Only the download of the elf file with GDB and then jump *0x87800000 was successfull.

0 Kudos

795 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello claudio,

  Anyway , it is good news.

yes, right.

  "elf" is used for debugging, which includes binary machine code/loading address/running address/relocating table/symbal table etc. but for u-boot.bin only includes binary machine code, which doesn't include i.MX IVT table.

   If you want to burn u-boot image into flash on board(emmc/sd/qspi etc), you should compile it like this:

# make u-boot.imx  /*  ivt table and boot data, etc will be added to the header of u-boot  by mkimage tool*/

u-boot.imx is the image you will use, instead of u-boot.bin

[Pay attention to it, please! just remind you.]

Have a nice day!

BR,

Weidong

0 Kudos