How to do upgrade of the u-boot into mmc flash through tftp for jetson-tk1?

We want to implement upgrade u-boot code to mmc flash through tftp.
But if we updated of the different u-boot through tftp (u-boot discrepancies has be only one compile timestamp)
and then restart jetson-tk1, it will be auto switch to recovery mode.

Has anyone knows how to download the u-boot correctly by tftp?
Have any suggestions for solve this issue?

Let me explain my situation.

I write the u-boot(A) by nvflash in recovery mode, the following is the command.
./bootloader/nvflash --bl ./bootloader/fastboot.bin --download EBT ./tftpboot/u-boot.bin --go
Then, the u-boot can work correctly.

Then I use the tftp to download the same u-boot(A) binary to EBT Partition, it work well too.
mw 0x80500000 0xFF 0x100000;tftp 0x80500000 u-boot.bin;mmc erase 2000 2000;mmc write 0x80500000 2000 2000

But if I rebuild the u-boot(B), and download it by tftp to the EBT Partition.
mw 0x80500000 0xFF 0x100000;tftp 0x80500000 u-boot.bin; mmc erase 2000 2000;mmc write 0x80500000 2000 2000
then restart jetson-tk1,
It will be auto switch to recovery mode.

I surmise the nvflash may be to create check code to u-boot and write into mmc flash, so I try the following steps.

1. Erase the partitions after EBT.
   mmc erase 0x4000 0x1D56000
   then restart jetson-tk1, the u-boot works

2. Read the data from mmc (PPT, PT, and EBT) –u-boot(A) can work.
   Read the data from mmc (PPT, PT, and EBT) –u-boot(B) cannot work(download by tftp).
   Compare PPT,PT,and EBT

   Result:
   PPT ---> the same.
   PT  ---> the same
   EBT ---> only the u-boot Date/Time different.

3. Because the result of 1. And 2. We surmise the check code for u-boot is not in the mmc.

==================================================================================================
We also trying the tegra-uboot-flasher-scripts, but we can’t find any helpful clue.
http://http.download.nvidia.com/tegra-public-appnotes/flashing-tools.html#_tegra_uboot_flasher

We following as below files to download u-boot in tegra-uboot-flasher-scripts
1. README-developer.txt
2. README-user.txt

The result:
1. tegra-uboot-flasher exec jetson-tk1 —> u-boot work well, but the code only in the DDR, if the board restart again, the data missing.
2. tegra-uboot-flasher flash jetson-tk1 —> u-boot still work in the DDR, but write to mmc fail, if the board restart again, the data missing.

Hi JaisonWu,

We’re investigating this issue, status will be updated to you once clarified.
And, are you on r21.4 or r21.5?

Thanks

Hi kayccc:

Thanks for your reply, now we are to use r21.4.
Have any possible solution, please let me know, we will try it.

Hello, JaisonWu:
Please download the document @ http://developer.nvidia.com/embedded/dlc/l4t-Jetson-TK1-Driver-Package-Documents-R21-5 . There’s a PDF called ‘Tegra_Linux_Driver_Package_Boot_Loader_Update_Process.pdf’. It may help.

br
ChenJian

FYI, the URL has an extraneous “.” on the end. Directly clicking on the link will fail, just remove that trailing “.” and it will work.

Thanks for pointing out that.
URL corrected.

br
ChenJian

To jachen:
Thanks your information, I will research and try it, have any result will feedback to you.

Hi jachen:
Your provided document can be help me to solve this issue, thanks your information again.

Hello jachen,

I can’t download the document.
It said

Access Denied

You don’t have permission to access “http://developer.nvidia.com/embedded/dlc/l4t-Jetson-TK1-Driver-Package-Documents-R21-5” on this server.
Reference #18.b1c3b9cd.1475273038.11ee47f9

Can you check please?

That URL links directly to the document file, but normally you’d go through the web page which lists R21.5 files…which means you’d be logged in (it’s a free login).

It looks like getting to the links to register for login may be failing unless already logged in…I’m trying to find a URL which allows access to creating a login if not already logged in. It seems a cached page may let you in once without login if you already had been there successfully, but then goes away.

See if this URL works to get you to where you can attempt login:
https://developer.nvidia.com/embedded/linux-tegra-archive

NOTE: The URL which works keeps going away after one refresh. If you switch to another URL and can see the link to login or register hit that before doing anything else.