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.