Forum: Compiler & IDEs Flashspeicher im STM32F207


von Leon (Gast)


Lesenswert?

Guten Morgen,

ich bin auf der Suche nach ein Möglichkeit, wie man den internen Flash 
des STM32F207 nicht sektorweise sondern pageweise beschreiben und lesen 
kann.
Kann man auf eine Untermenge eines Sektor zugreifen ?
1
#define ADDR_FLASH_SECTOR_0     ((uint32_t)0x08000000) /* Base @ of Sector 0, 16 Kbytes */
2
#define ADDR_FLASH_SECTOR_1     ((uint32_t)0x08004000) /* Base @ of Sector 1, 16 Kbytes */
3
#define ADDR_FLASH_SECTOR_2     ((uint32_t)0x08008000) /* Base @ of Sector 2, 16 Kbytes */
4
#define ADDR_FLASH_SECTOR_3     ((uint32_t)0x0800C000) /* Base @ of Sector 3, 16 Kbytes */
5
#define ADDR_FLASH_SECTOR_4     ((uint32_t)0x08010000) /* Base @ of Sector 4, 64 Kbytes */
6
#define ADDR_FLASH_SECTOR_5     ((uint32_t)0x08020000) /* Base @ of Sector 5, 128 Kbytes */
7
#define ADDR_FLASH_SECTOR_6     ((uint32_t)0x08040000) /* Base @ of Sector 6, 128 Kbytes */
8
#define ADDR_FLASH_SECTOR_7     ((uint32_t)0x08060000) /* Base @ of Sector 7, 128 Kbytes */
9
#define ADDR_FLASH_SECTOR_8     ((uint32_t)0x08080000) /* Base @ of Sector 8, 128 Kbytes */
10
#define ADDR_FLASH_SECTOR_9     ((uint32_t)0x080A0000) /* Base @ of Sector 9, 128 Kbytes */
11
#define ADDR_FLASH_SECTOR_10    ((uint32_t)0x080C0000) /* Base @ of Sector 10, 128 Kbytes */
12
#define ADDR_FLASH_SECTOR_11    ((uint32_t)0x080E0000) /* Base @ of Sector 11, 128 Kbytes */

von WeP (Gast)


Lesenswert?

Das ist wie es bei flash eben ist, beschreiben kannst du ihn Byteweise 
indem du einfach auf die Adresse zugreiffst. Löschen soweit ich weiß nur 
Block indem fall sectorweise. Da hat aber stm aber immer sehr schöne 
bibliotheken indenen du da einiges nachschaun kannst, auch wenn sich 
diese, für anspruchsvolle programmierung, nicht unbedingt zum verwenden 
eignen.

MIt dem Flsch hatte ich auchml nen nettes Problem, zuml man bits im 
speicher setzen und nicht einfach rücksetzen kann. Mehrfach auf eine 
speicherstelle schreiben gibt komische werte im Speicher ;).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.