Forum: Mikrocontroller und Digitale Elektronik Flash-Problem mit STM32F1 China Board


von Stm M. (stmfresser)


Lesenswert?

Hallo,

ich versuch eine .bin auf einem China Board STM32F1 zu flashen mit
1
st-flash write prog.bin 0x8000000
2
2017-01-24T18:44:14 INFO src/stlink-common.c: Loading device parameters....
3
2017-01-24T18:44:14 INFO src/stlink-common.c: Device connected is: F1 High-density device, id 0x10036414
4
2017-01-24T18:44:14 INFO src/stlink-common.c: SRAM size: 0x10000 bytes (64 KiB), Flash: 0 bytes (0 KiB) in pages of 2048 bytes

Die Ausgabe scheint dass es nix geschrieben wurde.

Ist der China Board schreibgeschützt?

Wenn ja, wie behebt man das Problem?

Danke!

: Bearbeitet durch User
von hp-freund (Gast)


Lesenswert?

Stm M. schrieb:
> Ist der China Board schreibgeschützt?

Vermutlich.

Stm M. schrieb:
> Wenn ja, wie behebt man das Problem?

st-flash erase

von Stm M. (stmfresser)


Angehängte Dateien:

Lesenswert?

hp-freund schrieb:
> Stm M. schrieb:
>> Ist der China Board schreibgeschützt?
>
> Vermutlich.
>
> Stm M. schrieb:
>> Wenn ja, wie behebt man das Problem?
>
> st-flash erase

Danke, das funktioniert bei STM32F4 Board und den Erase-Verlauf sieht 
man, aber bei dem F1 nicht, nur das
1
19:26:42
2
> st-flash erase
3
2017-01-24T19:26:53 INFO src/stlink-common.c: Loading device parameters....
4
2017-01-24T19:26:53 INFO src/stlink-common.c: Device connected is: F1 High-density device, id 0x10036414
5
2017-01-24T19:26:53 INFO src/stlink-common.c: SRAM size: 0x10000 bytes (64 KiB), Flash: 0 bytes (0 KiB) in pages of 2048 bytes
6
Mass erasing

: Bearbeitet durch User
von hp-freund (Gast)


Lesenswert?

Stm M. schrieb:
> SRAM size: 0x10000 bytes (64 KiB), Flash: 0 bytes (0 KiB)

Das sagt eigentlich das er ihn nicht richtig erkannt hat.
Habe mein STM32F103 blaues China Board probiert, funktioniert.

Hast Du versucht noch mal neu zu stecken und die neueste Version von 
st-flash?

von Stm M. (stmfresser)


Lesenswert?

hp-freund schrieb:
> Stm M. schrieb:
>> SRAM size: 0x10000 bytes (64 KiB), Flash: 0 bytes (0 KiB)
>
> Das sagt eigentlich das er ihn nicht richtig erkannt hat.
> Habe mein STM32F103 blaues China Board probiert, funktioniert.
>
> Hast Du versucht noch mal neu zu stecken und die neueste Version von
> st-flash?

Ich hab mehrmals versucht, ging nicht. st-flash ist neu.

von hp-freund (Gast)


Lesenswert?

Dann musst Du wohl mit ST-Link Utility unter Windows ran.

von Johannes S. (Gast)


Lesenswert?


von Stm M. (stmfresser)


Lesenswert?

hp-freund schrieb:
> Dann musst Du wohl mit ST-Link Utility unter Windows ran.

Ne, bin osx-freund

von hp-freund (Gast)


Lesenswert?

Ich liebe meinen Pinguin, habe aber auch ein XP in die Virtual Box 
gesperrt
;-)

von hp-freund (Gast)


Lesenswert?

Dann gibt es auch noch openocd / gdb.

von grundschüler (Gast)


Lesenswert?


von Stm M. (stmfresser)


Lesenswert?

hp-freund schrieb:
> Dann gibt es auch noch openocd / gdb.

mit gdb versucht ohne erfolg
1
> st-util -p 4242
2
2017-01-24T23:32:46 INFO src/stlink-usb.c: -- exit_dfu_mode
3
2017-01-24T23:32:46 INFO src/stlink-common.c: Loading device parameters....
4
2017-01-24T23:32:46 INFO src/stlink-common.c: Device connected is: F1 High-density device, id 0x10036414
5
2017-01-24T23:32:46 INFO src/stlink-common.c: SRAM size: 0x10000 bytes (64 KiB), Flash: 0 bytes (0 KiB) in pages of 2048 bytes
6
2017-01-24T23:32:46 INFO gdbserver/gdb-server.c: Chip ID is 00000414, Core ID is  1ba01477.
7
2017-01-24T23:32:46 INFO gdbserver/gdb-server.c: Target voltage is 2905 mV.
8
2017-01-24T23:32:46 INFO gdbserver/gdb-server.c: Listening at *:4242...
9
2017-01-24T23:33:04 INFO gdbserver/gdb-server.c: GDB connected.
1
> arm-none-eabi-gdb prog.hex
2
GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.1.20141128-cvs
3
Copyright (C) 2014 Free Software Foundation, Inc.
4
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
5
This is free software: you are free to change and redistribute it.
6
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
7
and "show warranty" for details.
8
This GDB was configured as "--host=x86_64-apple-darwin10 --target=arm-none-eabi".
9
Type "show configuration" for configuration details.
10
For bug reporting instructions, please see:
11
<http://www.gnu.org/software/gdb/bugs/>.
12
Find the GDB manual and other documentation resources online at:
13
<http://www.gnu.org/software/gdb/documentation/>.
14
For help, type "help".
15
Type "apropos word" to search for commands related to "word"...
16
Reading symbols from prog.hex...(no debugging symbols found)...done.
17
(gdb) tar extended-remote :4242
18
Remote debugging using :4242
19
0xfffffffe in ?? ()
20
(gdb) load
21
Loading section .sec1, size 0x8a28 lma 0x8000000
22
Load failed

von Stm M. (stmfresser)


Angehängte Dateien:

Lesenswert?

wie auf dem Schaltplan sieht, ist BOOT0 geerdet.

Ich versuch es über SWD zu programmieren mittels eines Discovery Boards.

von hp-freund (Gast)


Lesenswert?

Du müsstest in deinem arm-none-eabi-gdb das mass_erase unterbringen.

Es ist aber wieder st-util als Server aktiv, da kann es sein das er den 
µC auch wieder nicht erkennt.

Deshalb meinte ich openocd als Server.
Ist die bin von irgendwo, oder hast Du die selbst erstellt?
Falls selbst erstellt, womit?

eclipse gibt es auch für OSX, dazu das AC6 Plugin und alles ist 
komplett.

von Stm M. (stmfresser)


Lesenswert?

OpenOcd unterstützt den stm32f1 nicht
1
> ls stm32f*
2
stm32f0discovery.cfg  stm32f3discovery.cfg  stm32f4discovery.cfg
3
stm32f334discovery.cfg  stm32f429discovery.cfg
4
/usr/local/share/openocd/scripts/board 
5
01:06:50
6
>

von Stm M. (stmfresser)


Lesenswert?

hp-freund schrieb:
> Du müsstest in deinem arm-none-eabi-gdb das mass_erase unterbringen.
>
> Es ist aber wieder st-util als Server aktiv, da kann es sein das er den
> µC auch wieder nicht erkennt.
>
> Deshalb meinte ich openocd als Server.
> Ist die bin von irgendwo, oder hast Du die selbst erstellt?
> Falls selbst erstellt, womit?

Die bin habe ich mit objcopy erstellt.

von hp-freund (Gast)


Lesenswert?

Stm M. schrieb:
> OpenOcd unterstützt den stm32f1 nicht

Welcher ist es genau?
Ich habe hier den STM32F103C8T6.
Mit dem gibt es keine Probleme.

Habe das Programm aus dem Video oben unter wine getestet, läuft fast, 
man muss aber die linux/osx Schnittstelle auf COMx legen.

von hp-freund (Gast)


Lesenswert?


von Stm M. (stmfresser)


Lesenswert?

hp-freund schrieb:
> Stm M. schrieb:
>> OpenOcd unterstützt den stm32f1 nicht
>
> Welcher ist es genau?
> Ich habe hier den STM32F103C8T6.
> Mit dem gibt es keine Probleme.
1
> openocd --v
2
Open On-Chip Debugger 0.9.0 (2015-05-28-12:05)
3
Licensed under GNU GPL v2
4
For bug reports, read
5
  http://openocd.org/doc/doxygen/bugs.html

das Board finde ich nicht bei /usr/local/share/openocd/scripts/board
1
> ls stm32f*
2
stm32f0discovery.cfg  stm32f3discovery.cfg  stm32f4discovery.cfg
3
stm32f334discovery.cfg  stm32f429discovery.cfg

https://github.com/texane/stlink/issues/543

: Bearbeitet durch User
von hp-freund (Gast)


Lesenswert?

Na ja, neu ist relativ.

Open On-Chip Debugger 0.10.0-dev-00274-g2ee83e0 (2017-01-12-17:06)

./st-flash --version
v1.2.0-166-g77acc50

Ich würde vorschlagen wenn Du bei st-flash bleiben willst, baue das aus 
meinem letzten link:

git://github.com:UweBonnes/stlink.git

Aber erst mal:

Gute Nacht.

von Stm M. (stmfresser)


Lesenswert?

hp-freund schrieb:
> Na ja, neu ist relativ.
>
> Open On-Chip Debugger 0.10.0-dev-00274-g2ee83e0 (2017-01-12-17:06)
>
> ./st-flash --version
> v1.2.0-166-g77acc50
>
> Ich würde vorschlagen wenn Du bei st-flash bleiben willst, baue das aus
> meinem letzten link:
>
> git://github.com:UweBonnes/stlink.git
>
> Aber erst mal:
>
> Gute Nacht.

Mit ST Link Utility hat es geklappt. Es war schreibgeschützt

von hp-freund (Gast)


Lesenswert?

Sehr schön.
Jetzt funktioniert es auch mit st-flash?

von Bernd K. (prof7bit)


Lesenswert?

Übrigens: Beim flashen mit openocd muss man nicht über den gdb gehen, 
das geht mit openocd alleine.

von Stm M. (stmfresser)


Lesenswert?

hp-freund schrieb:
> Sehr schön.
> Jetzt funktioniert es auch mit st-flash?

Ja ^^

von Stm M. (stmfresser)


Lesenswert?

Bernd K. schrieb:
> Übrigens: Beim flashen mit openocd muss man nicht über den gdb gehen,
> das geht mit openocd alleine.

Ja,

In openocd/scripts/board hab ich immer die stm32vldiscovery.cfg 
übersehen, Das Board hat die stm32f1 Controller. :D

von Rechtsklick (Gast)


Lesenswert?

Stm M. schrieb:
> Bernd K. schrieb:
>> Übrigens: Beim flashen mit openocd muss man nicht über den gdb gehen,
>> das geht mit openocd alleine.
>
> Ja,
>
> In openocd/scripts/board hab ich immer die stm32vldiscovery.cfg
> übersehen, Das Board hat die stm32f1 Controller. :D

Das ist nicht das Einzigae, das Du übersehen hast.

Die STM3210xx und ähnliche sind ebenfalls mit F1 bestückt.

$ grep stm32f1x.cfg

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.