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.
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 | NAME |
2 | st-flash - Flash binary files to STM32 device |
3 | |
4 | SYNOPSIS |
5 | st-flash [OPTIONS] {read|write|erase} [FILE] <ADDR> <SIZE> |
6 | |
7 | ... |
8 | |
9 | OPTIONS |
10 | --flash=size |
11 | Override the device's normal flash size, where size is the |
12 | flash size in bytes. It can be specified in decimal, octal |
13 | or hexadecimal. The size argument can optionally be |
14 | followed by 'k' for KB or 'm' for MB. Examples --flash=128k |
15 | or --flash=0x080k. |
16 | ... |
17 | |
18 | COPYRIGHT |
19 | This work is copyrighted. Stlink contributors. See LICENSE file in |
20 | the stlink source distribution. |
21 | |
22 | Open Source STMicroelectronics Stlink Tools Sep 2016 ST-FLASH(1) |
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.