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: target_table.cpp
- Revision:
- 44:568799eac6df
- Parent:
- 42:2b40666d8177
- Child:
- 50:57ad8e04f063
--- a/target_table.cpp Sat Oct 18 09:44:43 2014 +0000 +++ b/target_table.cpp Wed Dec 10 09:24:00 2014 +0000 @@ -1,6 +1,8 @@ #include "mbed.h" #include "target_table.h" +#define SECTOR_SIZE_VALIABLE4Kx16_AND_32KxN 1 + target_param target_table[] = { { "unknown ttarget", 0xFFFFFFFF, 1024, 4096, 4096, UUENCODE, 0x10000200 }, { "LPC1114FN28(FDH28)/102", 0x0A40902B, 4096, 32768, 4096, UUENCODE, 0x10000200 }, @@ -15,22 +17,40 @@ { "LPC822M101JHI33", 0x00008221, 4096, 16384, 1024, BINARY, 0x10000300 }, { "LPC824M201JDH20", 0x00008242, 8192, 32768, 1024, BINARY, 0x10000300 }, { "LPC822M101JDH20", 0x00008222, 4096, 16384, 1024, BINARY, 0x10000300 }, - +///added for LPC176x series + { "LPC1769FBD100", 0x26113F37, 65536, 524288, SECTOR_SIZE_VALIABLE4Kx16_AND_32KxN, UUENCODE, 0x10000200 }, + { "LPC1768FBD100", 0x26013F37, 65536, 524288, SECTOR_SIZE_VALIABLE4Kx16_AND_32KxN, UUENCODE, 0x10000200 }, }; target_param *find_target_param( char *device_id_string ) { int id; - + id = atoi( device_id_string ); - - for ( int i = 1; i < (sizeof( target_table ) / sizeof( target_param )); i++ ) - { + + for ( int i = 1; i < (sizeof( target_table ) / sizeof( target_param )); i++ ) { if ( id == target_table[ i ].id ) return ( &(target_table[ i ]) ); } - + // return ( target_table ); return ( NULL ); } +int find_sector( int data_size, target_param *tpp ) +{ + switch ( tpp->sector_size ) { + case SECTOR_SIZE_VALIABLE4Kx16_AND_32KxN : + if ( data_size <= (4096 * 16) ) { + return ( data_size / 4096 ); + } else { + data_size -= (4096 * 16); + return ( (data_size / (4096 * 8)) + 16 ); + } + //break; + default : + return ( data_size / tpp->sector_size ); + //break; + } +} +