Add to 11U68 11E68
Dependencies: DirectoryList MODSERIAL mbed
Fork of ika_shouyu_poppoyaki by
target_table.cpp
00001 #include "mbed.h" 00002 #include "target_table.h" 00003 00004 #define SECTOR_SIZE_VALIABLE4Kx16_AND_32KxN 1 00005 #define SECTOR_SIZE_VALIABLE4Kx24_AND_32KxN 2 00006 target_param target_table[] = { 00007 { "unknown ttarget", 0xFFFFFFFF, 1024, 4096, 4096, UUENCODE, 0x10000200 }, 00008 { "LPC1114FN28(FDH28)/102", 0x0A40902B, 4096, 32768, 4096, UUENCODE, 0x10000200 }, 00009 { "LPC1114FN28(FDH28)/102", 0x1A40902B, 4096, 32768, 4096, UUENCODE, 0x10000200 }, 00010 { "LPC810M021FN8", 0x00008100, 1024, 4096, 1024, BINARY, 0x10000300 }, 00011 { "LPC811M001JDH16", 0x00008110, 2048, 8192, 1024, BINARY, 0x10000300 }, 00012 { "LPC812M101JDH16", 0x00008120, 4096, 16384, 1024, BINARY, 0x10000300 }, 00013 { "LPC812M101JD20", 0x00008121, 4096, 16384, 1024, BINARY, 0x10000300 }, 00014 { "LPC812M101JDH20", 0x00008122, 4096, 16384, 1024, BINARY, 0x10000300 }, 00015 ///added for LPC82x series 00016 { "LPC824M201JHI33", 0x00008241, 8192, 32768, 1024, BINARY, 0x10000300 }, 00017 { "LPC822M101JHI33", 0x00008221, 4096, 16384, 1024, BINARY, 0x10000300 }, 00018 { "LPC824M201JDH20", 0x00008242, 8192, 32768, 1024, BINARY, 0x10000300 }, 00019 { "LPC822M101JDH20", 0x00008222, 4096, 16384, 1024, BINARY, 0x10000300 }, 00020 ///added for LPC176x series 00021 { "LPC1769FBD100", 0x26113F37, 65536, 524288, SECTOR_SIZE_VALIABLE4Kx16_AND_32KxN, UUENCODE, 0x10000200 }, 00022 { "LPC1768FBD100", 0x26013F37, 65536, 524288, SECTOR_SIZE_VALIABLE4Kx16_AND_32KxN, UUENCODE, 0x10000200 }, 00023 ///added for LPC11U(E)68x series 00024 { "LPC11U68JBD100", 0x00007C00, 36864, 262144, SECTOR_SIZE_VALIABLE4Kx24_AND_32KxN, UUENCODE, 0x10000300 }, 00025 { "LPC11E68JBD100", 0x00007C01, 36864, 262144, SECTOR_SIZE_VALIABLE4Kx24_AND_32KxN, UUENCODE, 0x10000300 }, 00026 }; 00027 00028 target_param *find_target_param( char *device_id_string ) 00029 { 00030 int id; 00031 00032 id = atoi( device_id_string ); 00033 00034 for ( int i = 1; i < (sizeof( target_table ) / sizeof( target_param )); i++ ) { 00035 if ( id == target_table[ i ].id ) 00036 return ( &(target_table[ i ]) ); 00037 } 00038 00039 // return ( target_table ); 00040 return ( NULL ); 00041 } 00042 00043 int find_sector( int data_size, target_param *tpp ) 00044 { 00045 int result; 00046 switch ( tpp->sector_size ) { 00047 case SECTOR_SIZE_VALIABLE4Kx16_AND_32KxN : 00048 if ( data_size <= (4096 * 16) ) { 00049 result = ( data_size / 4096 ); 00050 } else { 00051 data_size -= (4096 * 16); 00052 result = ( (data_size / (4096 * 8)) + 16 ); 00053 } 00054 break; 00055 case SECTOR_SIZE_VALIABLE4Kx24_AND_32KxN : 00056 if ( data_size <= (4096 * 24) ) { 00057 result = ( data_size / 4096 ); 00058 } else { 00059 data_size -= (4096 * 24); 00060 result = ( (data_size / (4096 * 12)) + 24 ); 00061 } 00062 break; 00063 00064 00065 default : 00066 result = ( data_size / tpp->sector_size ); 00067 //break; 00068 } 00069 return (result); 00070 } 00071
Generated on Wed Jul 13 2022 04:54:23 by 1.7.2