Ika Shouyu Poppoyaki - LPC82x supported
Fork of ika_shouyu_poppoyaki by
Diff: writing.cpp
- Revision:
- 29:96e28bc1bd99
- Parent:
- 28:689c3880e0e4
- Child:
- 30:e0d7524661ca
--- a/writing.cpp Fri Sep 20 00:40:08 2013 +0000 +++ b/writing.cpp Fri Sep 20 01:48:26 2013 +0000 @@ -8,28 +8,28 @@ #include "error_code.h" -int write_uuencoded_data( FILE *fp, int ram_size, int sector_size, unsigned int ); -int write_binary_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start ); +int write_uuencoded_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start, int *total_size_p ); +int write_binary_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start, int *total_size_p ); int get_flash_writing_size( int ram_size, unsigned int ram_start ); -int write_flash( FILE *fp, target_param *tpp ) +int write_flash( FILE *fp, target_param *tpp, int *transferred_size_p ) { if ( tpp->write_type == BINARY ) - return ( write_binary_data( fp, tpp->ram_size, tpp->sector_size, tpp->ram_start_address ) ); + return ( write_binary_data( fp, tpp->ram_size, tpp->sector_size, tpp->ram_start_address, transferred_size_p ) ); else // UUENCODE - return ( write_uuencoded_data( fp, tpp->ram_size, tpp->sector_size, tpp->ram_start_address ) ); + return ( write_uuencoded_data( fp, tpp->ram_size, tpp->sector_size, tpp->ram_start_address, transferred_size_p ) ); } -int write_uuencoded_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start ) +int write_uuencoded_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start, int *total_size_p ) { #define BYTES_PER_LINE 45 char command_str[ STR_BUFF_SIZE ]; long checksum = 0; + int size; int total_size = 0; - int size; int flash_writing_size; int lines_per_transfer; @@ -37,6 +37,7 @@ char *b; + initialize_uue_table(); flash_writing_size = get_flash_writing_size( ram_size, ram_start ); @@ -96,19 +97,21 @@ } free( b ); + *total_size_p = total_size; return ( NO_ERROR ); } -int write_binary_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start ) +int write_binary_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start, int *total_size_p ) { char command_str[ STR_BUFF_SIZE ]; - int total_size = 0; + int total_size = 0; int size; int flash_writing_size; char *b; + flash_writing_size = 256; if ( NULL == (b = (char *)malloc( flash_writing_size * sizeof( char ) )) ) @@ -143,6 +146,7 @@ } free( b ); + *total_size_p = total_size; return ( NO_ERROR ); }