Es ist ja nun kein wirkliches Geheimnis, dass sich in einigen (bei mir allen) STM32F103C8T6 statt der wie im Datenblatt beschriebenen 64 kByte 128 Byte befinden. Sei es mal dahin gestellt, wie zuverlässig dieser weitere Flashspeicher ist, mir stellt sich folgende Situation: Ich möchte diesen erweiterten Flash-Speicher nutzen, aaaaaaaaaber ich kann diese nur über den Bootloader (ich verwende stm32flash) beschreiben. Versuche ich das ganze über einen ST-LINK (mittels Programm st-flash) erkennt der ST-LINK den Chip korrekterweise als STM32F103C8T6 und lässt nur die 64 kByte zu. Gibt es eine Möglichkeit den texane / st-flash zu überreden, dennoch die 128 kByte zu schreiben ?
Du könntest den ST-Link durch Firmware-Upgrade dazu überreden, ein Black Magic Probe zu sein, der kennt keine Beschränkungen bzgl. der Flash-Größe.
Gast
#5864367
Ich habe die openocd cfg angepasst. Damit erscheinen die 128k direkt in SW4STM32. Ab Minute 3 im Video: https://www.youtube.com/watch?v=0eHpoPZvI3U STM32CubeProg kann auch den oberen Bereich beschreiben.
pegel schrieb: > Ich habe die openocd cfg angepasst. > Damit erscheinen die 128k direkt in SW4STM32. > Ab Minute 3 im Video: > Youtube-Video "#013: Unlock the Hidden Flash of STM32F103C8" > > STM32CubeProg kann auch den oberen Bereich beschreiben. Es ging mir darum, eine einfache Möglichkeit mit ST-Link als ST-FLASH zu haben. openocd hab ich bisher auch als einziges gefunden.
https://github.com/texane/stlink
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
Gast
#5864545
Also das lesen funktioniert. Ich habe etwas im oberen 64kB Bereich und konnte es auslesen. ./st-flash --debug --format binary --flash=128k read x.bin 0x08000000 0x20000 Schreiben sollte auch funktionieren mit --flash=128k.
Gast
#5864592
pegel schrieb: > Schreiben sollte auch funktionieren mit --flash=128k. Geht auch, habe ich vor ein paar Wochen mit einem Katzenbild ausprobiert :-)
Leo C. schrieb: > OPTIONS > --flash=size > Override the device's normal flash size, where size is > the > flash size in bytes. It can be specified in decimal, > octal > or hexadecimal. The size argument can optionally be > followed by 'k' for KB or 'm' for MB. Examples > --flash=128k > or --flash=0x080k. Das ist genau das, was ich wissen wollte. Vielen Dank dafür
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.