Add a flash programming end marker and progress dots
PATCH 1/1 Add a flash programming end marker and progress dots
---
OK, how about this for a compromise for end marker and progress dots?
common/cmd_mem.c | 2 +- drivers/mtd/cfi_flash.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletions(-)
common/cmd_mem.c +1 -1
@@ -422,7 +422,7 @@ int do_mem_cp ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ) {int rc; -puts ("Copy to Flash... " ); +puts ("Copy to Flash\n" ); rc =flash_write ((char *)addr, dest, count*size);if (rc !=0 ) {
drivers/mtd/cfi_flash.c +13 -0
@@ -1188,6 +1188,7 @@ void flash_print_info (flash_info_t * info)int write_buff (flash_info_t * info,uchar * src,ulong addr,ulong cnt) {ulong wp; +ulong dots =0 ;uchar *p;int aln;cfiword_t cword;
@@ -1196,6 +1197,10 @@ int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt)#ifdef CFG_FLASH_USE_BUFFER_WRITE int buffered_size;#endif + +/* print an end marker for visible feedback */ +printf ("%*c\r" , (cnt + (1 <<14 ) -1 ) / (1 <<14 ),'|' ); +/* get lower aligned address */ wp = (addr & ~(info->portwidth -1 ));
@@ -1248,6 +1253,9 @@ int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt) wp += i; src += i; cnt -= i; + dots += i; +if ((dots % (1 <<14 )) ==0 ) + putc ('.'); }#else while (cnt >= info->portwidth) {
@@ -1259,8 +1267,13 @@ int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt)return rc; wp += info->portwidth; cnt -= info->portwidth; + dots += info->portwidth; +if ((dots % (1 <<14 )) ==0 ) + putc ('.'); }#endif /* CFG_FLASH_USE_BUFFER_WRITE */ +putc ('\n' ); +if (cnt ==0 ) {return (0 ); }
Signature · 1 line
1.5.4.1
PATCH 1/1 Add a flash programming end marker and progress dots
Quoted 4 lines · Jerry Van Baren
Signed-off-by Gerald Van Baren <[email protected]>---
OK, how about this for a compromise for end marker and progress dots?
Thanks. Nice work. But I see some problems on my PPC4xx system:
a) Crashes upon flashing 16MBytes
=> cp.b 100000 fe000000 1000000
Copy to Flash
Bad trap at PC: 20202020, SR: 29000, vector=1400
NIP: 20202020 XER: 0000005F LR: 20202020 REGS: 0ff15950 TRAP: 1400 DEAR:
7F7F7FEF
MSR: 00029000 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 00
b) Strange output upon "saveenv" with redundant env sectors:
=> saveenv
Saving Environment to Flash...
. done
Un-Protected 1 sectors
. done
Un-Protected 1 sectors
Erasing Flash...
. done
Erased 1 sectors
Writing to Flash... |
| | |
done
.......|
. done
Protected 1 sectors
. done
Protected 1 sectors
It seems we have to restrict the output length somehow for this 16MByte problem. Or perhaps use a fixed length for all sizes.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
PATCH 1/1 Add a flash programming end marker and progress dots
Quoted 2 lines · In message <[email protected]> you wrote:
a) Crashes upon flashing 16MBytes
Nice :-(
Quoted 1 line
b) Strange output upon "saveenv" with redundant env sectors:
...
Quoted 2 lines
It seems we have to restrict the output length somehow for this 16MByte problem. Or perhaps use a fixed length for all sizes.
The important thing is that the string printed...
- must make no assumptions about starting in a specific column (i. e. \r will not work)
- must not emit any newlines (i. e. must be single-line).
A fixed (precalculated) length of the string should be used indeed (if at all).
Best regards,
Wolfgang Denk
Signature · 7 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies and the other is to make it so complicated that there are no obvious defi- ciencies. - Charles Anthony Richard Hoare