Add to 11U68 11E68
Dependencies: DirectoryList MODSERIAL mbed
Fork of ika_shouyu_poppoyaki by
Diff: writing.cpp
- Revision:
- 44:568799eac6df
- Parent:
- 41:74b9ff21098f
- Child:
- 47:e7d395119a63
--- a/writing.cpp Sat Oct 18 09:44:43 2014 +0000 +++ b/writing.cpp Wed Dec 10 09:24:00 2014 +0000 @@ -7,7 +7,7 @@ #include "isp.h" -int write_uuencoded_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start, int *total_size_p ); +int write_uuencoded_data( FILE *fp, target_param *tpp, 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 ); @@ -15,13 +15,16 @@ 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, transferred_size_p ) ); + 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, transferred_size_p ) ); + return ( write_uuencoded_data( fp, tpp, transferred_size_p ) ); } -int write_uuencoded_data( FILE *fp, int ram_size, int sector_size, unsigned int ram_start, int *total_size_p ) + + + +int write_uuencoded_data( FILE *fp, target_param *tpp, int *total_size_p ) { #define BYTES_PER_LINE 45 @@ -29,13 +32,16 @@ long checksum = 0; int size; int total_size = 0; + int sector_number; int flash_writing_size; int lines_per_transfer; int transfer_size; char *b; - + + int ram_size = tpp->ram_size; + unsigned int ram_start = tpp->ram_start_address; initialize_uue_table(); @@ -84,7 +90,11 @@ checksum = 0; - sprintf( command_str, "P %d %d\r\n", total_size / sector_size, total_size / sector_size ); +// sprintf( command_str, "P %d %d\r\n", total_size / sector_size, total_size / sector_size ); + + sector_number = find_sector( total_size, tpp ); + sprintf( command_str, "P %d %d\r\n", sector_number, sector_number ); + if ( try_and_check( command_str, "0" ) ) return ( ERROR_AT_PREPARE_COMMAND );