Code to load a LPC1114 over tx/rx. I have only tested with a 1114 chip but it should work with other LPC uControllers
Dependencies: DirectoryList MODSERIAL mbed
Fork of ika_shouyu_poppoyaki by
Diff: verification.cpp
- Revision:
- 38:cb95bfe0546a
- Parent:
- 35:0b434ef4af49
- Child:
- 39:f68f9fa1e88e
diff -r 4cd12c9c1cc2 -r cb95bfe0546a verification.cpp --- a/verification.cpp Thu Sep 26 12:58:51 2013 +0000 +++ b/verification.cpp Fri Sep 27 14:48:17 2013 +0000 @@ -63,8 +63,7 @@ } - sprintf( command_str, "R %ld %ld\r\n", read_size, size ); -// try_and_check( command_str, "0", MODE_SILENT ); + sprintf( command_str, "R %ld %ld\r\n", read_size, (size + 3) & ~0x3 ); // reading size must be 4*N if ( try_and_check( command_str, "0" ) ) return ( ERROR_AT_READ_COMMAND ); @@ -129,7 +128,7 @@ add_isp_checksum( bf ); } - sprintf( command_str, "R %ld %ld\r\n", read_size, size ); + sprintf( command_str, "R %ld %ld\r\n", read_size, (size + 3) & ~0x3 ); // reading size must be 4*N if ( try_and_check( command_str, "0" ) ) return ( ERROR_AT_READ_COMMAND ); @@ -138,7 +137,7 @@ for ( int i = 0; i < size; i++ ) { // printf( " %s 0x%02X --- 0x%02X\r\n", (*(bf + i) != *(br + i)) ? "***" : " ", *(bf + i), *(br + i) ); if ( (*(bf + i) != *(br + i)) ) { - printf( " %s 0x%02X --- 0x%02X\r\n", (*(bf + i) != *(br + i)) ? "***" : " ", *(bf + i), *(br + i) ); +// printf( " %s 0x%02X --- 0x%02X\r\n", (*(bf + i) != *(br + i)) ? "***" : " ", *(bf + i), *(br + i) ); error_flag++; } } @@ -167,10 +166,10 @@ int read_size = 0; int retry_count = 3; + size = (size + 3) & ~0x3; while ( retry_count-- ) { -// for ( int i = 0; i < N_OF_LINES; i++ ) for ( int i = 0; i < ((READ_SIZE < size) ? N_OF_LINES : ((size - 1) / LINE_BYTES) + 1) ; i++ ) get_string( s[ i ] );