Flash-Problem mit STM32F1 China Board

OP #4876930
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!
OP #4876965
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
Angehängte Dateien:
Gast #4876968
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?
OP #4877282
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
Gast #4877324
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.
OP #4877332
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.
Gast #4877334
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.
OP #4877340
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
Gast #4877343
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.
OP #4878168
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
Gast #4878252
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren