[U-Boot] USB fatload fails to load rootfs

I am trying to load rootfs.ext2.gz.uboot from usb using fatload but when it reaches a point in writing the file to memory a reset occurs of the CPU. If I load this file using tftp it works fine. Here are the commands I am using:
loadaddr=0x21000000
tftp $(loadaddr) rootfs.ext2.gz.uboot
usb start fatload usb 0 $(loadaddr) rootfs.ext2.gz.uboot
The version of U-Boot used is 2009.11.1 and upgrading at this point may be an issue. Before a bunch of questions are asked I inherited this project, it is mature and works, I have no documentation, and I am simply trying to copy a file from usb to memory. Nothing more, nothing fancy.
My searches on the web have not yielded any possible solutions or good explanations of the usb subsystem in U-Boot so I am hoping someone can provide some possible solutions or information I can read.
Thanks!
Chuck

On 2013-08-28, Chuck Wical chuck.wical@amanomcgann.com wrote:
I am trying to load rootfs.ext2.gz.uboot from usb using fatload but when it reaches a point in writing the file to memory a reset occurs of the CPU. If I load this file using tftp it works fine. Here are the commands I am using:
loadaddr=0x21000000
tftp $(loadaddr) rootfs.ext2.gz.uboot
usb start fatload usb 0 $(loadaddr) rootfs.ext2.gz.uboot
The version of U-Boot used is 2009.11.1 and upgrading at this point may be an issue. Before a bunch of questions are asked I inherited this project, it is mature and works, I have no documentation, and I am simply trying to copy a file from usb to memory. Nothing more, nothing fancy.
My searches on the web have not yielded any possible solutions or good explanations of the usb subsystem in U-Boot so I am hoping someone can provide some possible solutions or information I can read.
The FAT reading code in old versions of U-Boot is quite sensitive to external conditions. In my experience, changing the compiler for a source tree based on the 2007 U-Boot code from GCC 4.3.3 to GCC 4.7.3 produced the same issue as the one you described. Surprisingly, the issue only occurred for the rootfs, and not the kernel, which was a smaller file.
Unfortunately for you, our answer to this issue was the finalization of the porting of our platform to the U-Boot mainline, which does not has those problems.
Best regards,

Romain Izard <romain.izard.pro <at> gmail.com> writes:
On 2013-08-28, Chuck Wical <chuck.wical <at> amanomcgann.com> wrote:
I am trying to load rootfs.ext2.gz.uboot from usb using fatload but when it reaches a point in writing the file to memory a reset occurs of the CPU. If I load this file using tftp it works fine. Here are the commands I am using:
loadaddr=0x21000000
tftp $(loadaddr) rootfs.ext2.gz.uboot
usb start fatload usb 0 $(loadaddr) rootfs.ext2.gz.uboot
The version of U-Boot used is 2009.11.1 and upgrading at this point may be an issue. Before a bunch of questions are asked I inherited this project, it is mature and works, I have no documentation, and I am simply trying to copy a file from usb to memory. Nothing more, nothing fancy.
My searches on the web have not yielded any possible solutions or good explanations of the usb subsystem in U-Boot so I am hoping someone can provide some possible solutions or information I can read.
The FAT reading code in old versions of U-Boot is quite sensitive to external conditions. In my experience, changing the compiler for a source tree based on the 2007 U-Boot code from GCC 4.3.3 to GCC 4.7.3 produced the same issue as the one you described. Surprisingly, the issue only occurred for the rootfs, and not the kernel, which was a smaller file.
Unfortunately for you, our answer to this issue was the finalization of the porting of our platform to the U-Boot mainline, which does not has those problems.
Best regards,
Thank you Roman for the response. You stated exactly what I am seeing, it is only the rootfs file that fails while the uImage and etc.jffs2 files copy and write to nand with no problem.
You will have to forgive my lack of knowledge on U-Boot since I have only been working on this specific task that involves U-Boot for about a week now so I have been on a steep learning curve. You mentioned U-Boot mainline not having this issue. Could you direct me to where I can find this so I can take a look?
My concern is the cross-compiler that was created by a third party may not be compatible with newer versions of U-Boot and I would need to go through the patches to see if there was anything custom created. As you probably understand this is time consuming work, especially with the learning curve I am on.
Again many thanks for the response!
Chuck

Hi Chuck,
On 29/08/2013 15:32, Chuck Wical wrote:
My concern is the cross-compiler that was created by a third party may not be compatible with newer versions of U-Boot and I would need to go through the patches to see if there was anything custom created. As you probably understand this is time consuming work, especially with the learning curve I am on.
Do you really need some special cross-compiler ? Which is your platform ? What about, at least to compile u-boot, to take one ready-to-use cross-compiler ?
Best regards, Stefano Babic
participants (3)
-
Chuck Wical
-
Romain Izard
-
Stefano Babic