krzysztof.dziuba Gazeta.pl <krzysztof.dziuba@gazeta.pl> - to add support for flashing...
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Thu, 13 Nov 2008 08:09:40 +0000 (08:09 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Thu, 13 Nov 2008 08:09:40 +0000 (08:09 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1166 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/flash/tms470.c

index c7107b86e7d4cc4036e28f47a4e09a74e75d7042..0c992a1e51d728c7ae57d98283c0ca536b596e63 100644 (file)
@@ -95,6 +95,42 @@ const flash_sector_t TMS470R1A288_BANK1_SECTORS[] = {
 #define TMS470R1A288_BANK1_NUM_SECTORS \
   (sizeof(TMS470R1A288_BANK1_SECTORS)/sizeof(TMS470R1A288_BANK1_SECTORS[0]))
 
+const flash_sector_t TMS470R1A384_BANK0_SECTORS[] = {
+    {0x00000000, 0x00002000, -1, -1},
+    {0x00002000, 0x00002000, -1, -1},
+    {0x00004000, 0x00004000, -1, -1},
+    {0x00008000, 0x00004000, -1, -1},
+    {0x0000C000, 0x00004000, -1, -1},
+    {0x00010000, 0x00004000, -1, -1},
+    {0x00014000, 0x00004000, -1, -1},
+    {0x00018000, 0x00002000, -1, -1},
+    {0x0001C000, 0x00002000, -1, -1},
+    {0x0001E000, 0x00002000, -1, -1},
+};
+
+#define TMS470R1A384_BANK0_NUM_SECTORS \
+  (sizeof(TMS470R1A384_BANK0_SECTORS)/sizeof(TMS470R1A384_BANK0_SECTORS[0]))
+
+const flash_sector_t TMS470R1A384_BANK1_SECTORS[] = {
+    {0x00020000, 0x00008000, -1, -1},
+    {0x00028000, 0x00008000, -1, -1},
+    {0x00030000, 0x00008000, -1, -1},
+    {0x00038000, 0x00008000, -1, -1},
+};
+
+#define TMS470R1A384_BANK1_NUM_SECTORS \
+  (sizeof(TMS470R1A384_BANK1_SECTORS)/sizeof(TMS470R1A384_BANK1_SECTORS[0]))
+
+const flash_sector_t TMS470R1A384_BANK2_SECTORS[] = {
+    {0x00040000, 0x00008000, -1, -1},
+    {0x00048000, 0x00008000, -1, -1},
+    {0x00050000, 0x00008000, -1, -1},
+    {0x00058000, 0x00008000, -1, -1},
+};
+
+#define TMS470R1A384_BANK2_NUM_SECTORS \
+  (sizeof(TMS470R1A384_BANK2_SECTORS)/sizeof(TMS470R1A384_BANK2_SECTORS[0]))
+
 /* ---------------------------------------------------------------------- */
 
 int tms470_read_part_info(struct flash_bank_s *bank)
@@ -193,7 +229,56 @@ int tms470_read_part_info(struct flash_bank_s *bank)
                }
                break;
 
-       default:
+    case 0x2d:
+        part_name = "TMS470R1A384";
+
+        if ((bank->base >= 0x00000000) && (bank->base < 0x00020000))
+        {
+            tms470_info->ordinal = 0;
+            bank->base = 0x00000000;
+            bank->size = 128 * 1024;
+            bank->num_sectors = TMS470R1A384_BANK0_NUM_SECTORS;
+            bank->sectors = malloc(sizeof(TMS470R1A384_BANK0_SECTORS));
+            if (!bank->sectors)
+            {
+                return ERROR_FLASH_OPERATION_FAILED;
+            }
+            (void)memcpy(bank->sectors, TMS470R1A384_BANK0_SECTORS, sizeof(TMS470R1A384_BANK0_SECTORS));
+        }
+        else if ((bank->base >= 0x00020000) && (bank->base < 0x00040000))
+        {
+            tms470_info->ordinal = 1;
+            bank->base = 0x00020000;
+            bank->size = 128 * 1024;
+            bank->num_sectors = TMS470R1A384_BANK1_NUM_SECTORS;
+            bank->sectors = malloc(sizeof(TMS470R1A384_BANK1_SECTORS));
+            if (!bank->sectors)
+            {
+                return ERROR_FLASH_OPERATION_FAILED;
+            }
+            (void)memcpy(bank->sectors, TMS470R1A384_BANK1_SECTORS, sizeof(TMS470R1A384_BANK1_SECTORS));
+        }
+        else if ((bank->base >= 0x00040000) && (bank->base < 0x00060000))
+        {
+            tms470_info->ordinal = 2;
+            bank->base = 0x00040000;
+            bank->size = 128 * 1024;
+            bank->num_sectors = TMS470R1A384_BANK2_NUM_SECTORS;
+            bank->sectors = malloc(sizeof(TMS470R1A384_BANK2_SECTORS));
+            if (!bank->sectors)
+            {
+                return ERROR_FLASH_OPERATION_FAILED;
+            }
+            (void)memcpy(bank->sectors, TMS470R1A384_BANK2_SECTORS, sizeof(TMS470R1A384_BANK2_SECTORS));
+        }
+        else
+        {
+            LOG_ERROR("No %s flash bank contains base address 0x%08x.", part_name, bank->base);
+            return ERROR_FLASH_OPERATION_FAILED;
+        }
+        break;
+
+    default:
                LOG_WARNING("Could not identify part 0x%02x as a member of the TMS470 family.", part_number);
                return ERROR_FLASH_OPERATION_FAILED;
        }

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)