Forum: Mikrocontroller und Digitale Elektronik STM32F103C8T6 und 128kByte


von Ralph S. (jjflash)


Lesenswert?

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 ?

von R. M. (rmax)


Lesenswert?

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.

von pegel (Gast)


Lesenswert?

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.

von Ralph S. (jjflash)


Lesenswert?

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.

von Leo C. (rapid)


Lesenswert?

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)

von pegel (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

pegel schrieb:
> Schreiben sollte auch funktionieren mit --flash=128k.

Geht auch, habe ich vor ein paar Wochen mit einem Katzenbild ausprobiert 
:-)

von Ralph S. (jjflash)


Lesenswert?

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
Noch kein Account? Hier anmelden.