Add to 11U68 11E68

Dependencies:   DirectoryList MODSERIAL mbed

Fork of ika_shouyu_poppoyaki by Tedd OKANO

Committer:
Hapi_Tech
Date:
Sat Jul 04 05:29:32 2015 +0000
Revision:
50:57ad8e04f063
Parent:
44:568799eac6df
Adding LPC11U68,11E68.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okano 5:ff30f5b58617 1 #include "mbed.h"
okano 5:ff30f5b58617 2 #include "target_table.h"
okano 5:ff30f5b58617 3
okano 44:568799eac6df 4 #define SECTOR_SIZE_VALIABLE4Kx16_AND_32KxN 1
Hapi_Tech 50:57ad8e04f063 5 #define SECTOR_SIZE_VALIABLE4Kx24_AND_32KxN 2
okano 5:ff30f5b58617 6 target_param target_table[] = {
okano 12:5a33b5d39792 7 { "unknown ttarget", 0xFFFFFFFF, 1024, 4096, 4096, UUENCODE, 0x10000200 },
okano 12:5a33b5d39792 8 { "LPC1114FN28(FDH28)/102", 0x0A40902B, 4096, 32768, 4096, UUENCODE, 0x10000200 },
okano 12:5a33b5d39792 9 { "LPC1114FN28(FDH28)/102", 0x1A40902B, 4096, 32768, 4096, UUENCODE, 0x10000200 },
okano 12:5a33b5d39792 10 { "LPC810M021FN8", 0x00008100, 1024, 4096, 1024, BINARY, 0x10000300 },
okano 12:5a33b5d39792 11 { "LPC811M001JDH16", 0x00008110, 2048, 8192, 1024, BINARY, 0x10000300 },
okano 12:5a33b5d39792 12 { "LPC812M101JDH16", 0x00008120, 4096, 16384, 1024, BINARY, 0x10000300 },
okano 12:5a33b5d39792 13 { "LPC812M101JD20", 0x00008121, 4096, 16384, 1024, BINARY, 0x10000300 },
okano 12:5a33b5d39792 14 { "LPC812M101JDH20", 0x00008122, 4096, 16384, 1024, BINARY, 0x10000300 },
k4zuki 42:2b40666d8177 15 ///added for LPC82x series
k4zuki 42:2b40666d8177 16 { "LPC824M201JHI33", 0x00008241, 8192, 32768, 1024, BINARY, 0x10000300 },
k4zuki 42:2b40666d8177 17 { "LPC822M101JHI33", 0x00008221, 4096, 16384, 1024, BINARY, 0x10000300 },
k4zuki 42:2b40666d8177 18 { "LPC824M201JDH20", 0x00008242, 8192, 32768, 1024, BINARY, 0x10000300 },
k4zuki 42:2b40666d8177 19 { "LPC822M101JDH20", 0x00008222, 4096, 16384, 1024, BINARY, 0x10000300 },
okano 44:568799eac6df 20 ///added for LPC176x series
okano 44:568799eac6df 21 { "LPC1769FBD100", 0x26113F37, 65536, 524288, SECTOR_SIZE_VALIABLE4Kx16_AND_32KxN, UUENCODE, 0x10000200 },
okano 44:568799eac6df 22 { "LPC1768FBD100", 0x26013F37, 65536, 524288, SECTOR_SIZE_VALIABLE4Kx16_AND_32KxN, UUENCODE, 0x10000200 },
Hapi_Tech 50:57ad8e04f063 23 ///added for LPC11U(E)68x series
Hapi_Tech 50:57ad8e04f063 24 { "LPC11U68JBD100", 0x00007C00, 36864, 262144, SECTOR_SIZE_VALIABLE4Kx24_AND_32KxN, UUENCODE, 0x10000300 },
Hapi_Tech 50:57ad8e04f063 25 { "LPC11E68JBD100", 0x00007C01, 36864, 262144, SECTOR_SIZE_VALIABLE4Kx24_AND_32KxN, UUENCODE, 0x10000300 },
okano 5:ff30f5b58617 26 };
okano 5:ff30f5b58617 27
okano 5:ff30f5b58617 28 target_param *find_target_param( char *device_id_string )
okano 5:ff30f5b58617 29 {
okano 5:ff30f5b58617 30 int id;
okano 44:568799eac6df 31
okano 5:ff30f5b58617 32 id = atoi( device_id_string );
okano 44:568799eac6df 33
okano 44:568799eac6df 34 for ( int i = 1; i < (sizeof( target_table ) / sizeof( target_param )); i++ ) {
okano 5:ff30f5b58617 35 if ( id == target_table[ i ].id )
okano 5:ff30f5b58617 36 return ( &(target_table[ i ]) );
okano 5:ff30f5b58617 37 }
okano 44:568799eac6df 38
okano 28:689c3880e0e4 39 // return ( target_table );
okano 28:689c3880e0e4 40 return ( NULL );
okano 5:ff30f5b58617 41 }
okano 26:a63e73885b21 42
okano 44:568799eac6df 43 int find_sector( int data_size, target_param *tpp )
okano 44:568799eac6df 44 {
Hapi_Tech 50:57ad8e04f063 45 int result;
okano 44:568799eac6df 46 switch ( tpp->sector_size ) {
okano 44:568799eac6df 47 case SECTOR_SIZE_VALIABLE4Kx16_AND_32KxN :
okano 44:568799eac6df 48 if ( data_size <= (4096 * 16) ) {
Hapi_Tech 50:57ad8e04f063 49 result = ( data_size / 4096 );
okano 44:568799eac6df 50 } else {
okano 44:568799eac6df 51 data_size -= (4096 * 16);
Hapi_Tech 50:57ad8e04f063 52 result = ( (data_size / (4096 * 8)) + 16 );
okano 44:568799eac6df 53 }
Hapi_Tech 50:57ad8e04f063 54 break;
Hapi_Tech 50:57ad8e04f063 55 case SECTOR_SIZE_VALIABLE4Kx24_AND_32KxN :
Hapi_Tech 50:57ad8e04f063 56 if ( data_size <= (4096 * 24) ) {
Hapi_Tech 50:57ad8e04f063 57 result = ( data_size / 4096 );
Hapi_Tech 50:57ad8e04f063 58 } else {
Hapi_Tech 50:57ad8e04f063 59 data_size -= (4096 * 24);
Hapi_Tech 50:57ad8e04f063 60 result = ( (data_size / (4096 * 12)) + 24 );
Hapi_Tech 50:57ad8e04f063 61 }
Hapi_Tech 50:57ad8e04f063 62 break;
Hapi_Tech 50:57ad8e04f063 63
Hapi_Tech 50:57ad8e04f063 64
okano 44:568799eac6df 65 default :
Hapi_Tech 50:57ad8e04f063 66 result = ( data_size / tpp->sector_size );
okano 44:568799eac6df 67 //break;
okano 44:568799eac6df 68 }
Hapi_Tech 50:57ad8e04f063 69 return (result);
okano 44:568799eac6df 70 }
okano 44:568799eac6df 71