
Hi Marco,
I looked updater.c and and I take that code as example.
Well, I removed all function as same as do_... (do_fat_fsload, do_protect, do_flerase, do_mem_cp). In this way, I could remove also strcpy() and sprintf() needed to made their parameters and the result is that I cleaned and emproved all code.
Now all works correctly. I think that the rewrite of the code, indirectly solve some bugs of memory corruption.
In attach, the code... and if anyone try it, I'm interesting to feedback or opinions.
Thanks at all. Matteo.
Marco wrote:
Hi Matteo,
in my opinion you should follow the "philosophy" of updater.c under the tools folder to erase the flash. This command is very interesting, let me know if you fix your problem.
Regards,
Marco
Matteo Facchinetti ha scritto:
Hi,
I have add the possibility to automatic update entire flash using a USB pendrive.
To make it, need the following steps:
- insert usb pendrive. In pendrive must be present these files:
install.dat and the files we want to copy. 2) from uboot console: => usb_system_autoupdate 3) the system update start, reading information from install.dat file.
The install.dat file raws has this syntax: <file_type> "<file_name>" <star_flash_addr_partition>
<end_flash_addr_partition>
file_type values: kernel, uboot, fdt, rootfs.
In attachment there's an example of install.dat and the source code.
Now using it on my system (mpc5200, uboot_1.3.1) but there's a problem that I can't fix: if try to update uboot partition, it freeze in line 211 when call do_flerase().
debugging I can see that it freeze in: cmd_flash.c 434: printf ("Erased %d sectors\n", erased); after uboot partition erasing.
Can you help me?
Thanks in advance. Matteo Facchinetti
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot