Add to 11U68 11E68

Dependencies:   DirectoryList MODSERIAL mbed

Fork of ika_shouyu_poppoyaki by Tedd OKANO

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;
+    }
+}
+