stm32x_flash_bank_t -> struct stm32x_flash_bank
[openocd.git] / src / flash / stm32x.h
index ad189ac495f212753de36455994e6fe94baded70..471b633f96255d4700e2f917168b7b236f08a7df 100644 (file)
@@ -2,6 +2,9 @@
  *   Copyright (C) 2005 by Dominic Rath                                    *
  *   Dominic.Rath@gmx.de                                                   *
  *                                                                         *
+ *   Copyright (C) 2008 by Spencer Oliver                                  *
+ *   spen@spen-soft.co.uk                                                  *
+ *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  *   the Free Software Foundation; either version 2 of the License, or     *
 #define STM32X_H
 
 #include "flash.h"
-#include "target.h"
 
-typedef struct stm32x_flash_bank_s
+struct stm32x_options
+{
+       uint16_t RDP;
+       uint16_t user_options;
+       uint16_t protection[4];
+};
+
+struct stm32x_flash_bank
 {
-       struct target_s *target;
+       struct stm32x_options option_bytes;
        working_area_t *write_algorithm;
-} stm32x_flash_bank_t;
+       int ppage_size;
+       int probed;
+};
 
 /* stm32x register locations */
 
@@ -42,25 +53,32 @@ typedef struct stm32x_flash_bank_s
 
 /* option byte location */
 
-#define STM32_OB_ADR           0x1FFFF800
+#define STM32_OB_RDP           0x1FFFF800
+#define STM32_OB_USER          0x1FFFF802
+#define STM32_OB_DATA0         0x1FFFF804
+#define STM32_OB_DATA1         0x1FFFF806
+#define STM32_OB_WRP0          0x1FFFF808
+#define STM32_OB_WRP1          0x1FFFF80A
+#define STM32_OB_WRP2          0x1FFFF80C
+#define STM32_OB_WRP3          0x1FFFF80E
 
 /* FLASH_CR register bits */
 
-#define FLASH_PG               (1<<0)
-#define FLASH_PER              (1<<1)
-#define FLASH_MER      (1<<2)
-#define FLASH_OPTPG            (1<<4)
-#define FLASH_OPTER            (1<<5)
-#define FLASH_STRT             (1<<6)
-#define FLASH_LOCK             (1<<7)
-#define FLASH_OPTWRE   (1<<9)
+#define FLASH_PG               (1 << 0)
+#define FLASH_PER              (1 << 1)
+#define FLASH_MER              (1 << 2)
+#define FLASH_OPTPG            (1 << 4)
+#define FLASH_OPTER            (1 << 5)
+#define FLASH_STRT             (1 << 6)
+#define FLASH_LOCK             (1 << 7)
+#define FLASH_OPTWRE   (1 << 9)
 
-/* FLASH_SR regsiter bits */
+/* FLASH_SR register bits */
 
-#define FLASH_BSY              (1<<0)
-#define FLASH_PGERR    (1<<2)
-#define FLASH_WRPRTERR (1<<4)
-#define FLASH_EOP              (1<<5)
+#define FLASH_BSY              (1 << 0)
+#define FLASH_PGERR            (1 << 2)
+#define FLASH_WRPRTERR (1 << 4)
+#define FLASH_EOP              (1 << 5)
 
 /* STM32_FLASH_OBR bit definitions (reading) */
 
@@ -76,9 +94,8 @@ typedef struct stm32x_flash_bank_s
 #define KEY2                   0xCDEF89AB
 
 typedef struct stm32x_mem_layout_s {
-       u32 sector_start;
-       u32 sector_size;
+       uint32_t sector_start;
+       uint32_t sector_size;
 } stm32x_mem_layout_t;
 
 #endif /* STM32X_H */
-

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)