pomoc s STM32F1xx

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

pomoc s STM32F1xx

Príspevok od používateľa xmilos » 04 Máj 2011, 10:07

Nazdar pani, potrebujem pomoc s STM32F102 v spojeni s Keil. Pri spusteni simulacie STM32F103 s jednoduchym, programom sa nastavi pociatocna adresa podla vektora tak ako ma. Pri tom samom programe, ale procesore STM32F102 sa pociatocna adresa nenastavi, zacina 0x0, co je samozrejme nanic a skonci s chybou.
Diky Milos.
0

Používateľov profilový obrázok
Washu
Power user
Power user
Príspevky: 4521
Dátum registrácie: 15 Apr 2010, 00:00
Bydlisko: Multiverse
Vek: -1998
Kontaktovať používateľa:

Príspevok od používateľa Washu » 04 Máj 2011, 10:41

Mas v projekte start-up kod?
Robi ti to aj niektory z examples?
Aky JTAG pouzivas?
0
It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong
(Richard Feynman)

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Príspevok od používateľa xmilos » 04 Máj 2011, 11:20

Dik za reakciu.
Mno tak onen startup kod bz mal byt, len neviem v ktorej komponente. Predpokladam, ze to nie je riesene samostatnym *.asm kodom, ale v niektorej z kniznic *.o
Navyse, analyzujem stav tesne po resete, ked este nezbehol startup kod, pocet cyklov a cas procaka je 0.
Mno a neladim cez JTAG, ale simulujem v prostredi K-l..
Prave ze hladam v com sa lisia tieto procesory, bo v x103 po resete (cas = 0) je PC nastavene spravne, F11 sa da krokovat. Pri x102 je po resete (cas = 0) PC nastavene na 0.
Mno datasheet nieco pise o reset vektore na 0x08...4. Po resete je nastaveny spravne v oboch pripadoch. Ale PC je nastavene inak.
Ano, robi to aj s examples.
Dik za akukolvek info.
0

Používateľov profilový obrázok
Washu
Power user
Power user
Príspevky: 4521
Dátum registrácie: 15 Apr 2010, 00:00
Bydlisko: Multiverse
Vek: -1998
Kontaktovať používateľa:

Príspevok od používateľa Washu » 04 Máj 2011, 11:58

Obiekt mas akurat kniznice ST, mozes pouzit bud .o alebo aj ciste zdrojaky. Je tam oboje.
Startup je ASM kod a priponou .s a keil ma knemu aj wizard. Pozor tabulka interruptov nieje pre niektore typy STM32 kompletna.
Ak otvoris nejaky example projekt tak to tam uvidis. Minimalne examples ktore su tam simulovat MUSIA ist. Inak vrelo odporucam zohnat si poriadny JTAG a ladit snim. Aj samotny STM32 discovery co stoji par euro ma vsebe SWD a vie debugovat.
Problem ktory popisujes naznacuje ze ti chyba start-up kod...
0
It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong
(Richard Feynman)

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Príspevok od používateľa xmilos » 04 Máj 2011, 12:23

Mno tak som sa domakol na *.ru, ze k..l ma problem so simulaciou niektorych STM, spominaju 107, co potvrdzujem, bo sa prava rovnako ako 102.
Mno a examples pre 107 nejde simulovat.
Mozes dat link na one debug nastroje?
Kde sa da skontrolovat tabulka vektorov pre jednotlive STM?
Mas s STM kami nake skusenosti?

//Automatické spojenie príspevkov. Pridané po 6 minútach:

Tak sa to potvrdilo, pre 102 a 107 nefunguje korektne simulator, zatial zabralo rucne nastavenie PC, SP, XPSR.
Uvidime co ma pocka dalej.
0

Používateľov profilový obrázok
Washu
Power user
Power user
Príspevky: 4521
Dátum registrácie: 15 Apr 2010, 00:00
Bydlisko: Multiverse
Vek: -1998
Kontaktovať používateľa:

Príspevok od používateľa Washu » 04 Máj 2011, 12:31

Aku verziu keila mas?
S STM32 len zacinam, viac skusenosti mam s SAM7S rodinou, to ja vsak uplne ine jadro. Nieje ARM ako ARM :D)
Ak mozes hod sem projekt takto to nevyriesime.
BTW: simulator viacmenej nepouzivam, debugujem cez JTAG. Beztak esterne periferie sa simuluju dost komplikovane a pisat si vlastne modely simulovaneho HW myslim ze nema zmysel. Tak ci tak na realnom HW sa to musi odladit simulacia nieje dokonala.
Tabulka vektorov je v start-upe, pozri si ho. BTW: aj ked tymto sa prave vyeobcovia nechvalia, pokial si nenastudujes dane jadro MCU, mas smolu, nebudes vediet co vlastne robis.
0
It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong
(Richard Feynman)

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Príspevok od používateľa xmilos » 04 Máj 2011, 12:47

Tak s STM tiez zacinam.
Podla pred tym uvedeneho to slape. Akorat som sa sekol PC, SP = _RDWORD(0x08...)
Mno a stojim na dalsom
Wait for HSERDY = 1
to dufam je len vlastnost jadra, nie nefunkcnost simulatora.
Mno pokial si simulator dobre nastavis, vela sa da odladit aj v simulatore.
Pre X51 jadro (tam som viac doma) som si presne odladil casove udalosti a uz len potvrdil na scope.
ver 4.1
Mno dufam, ze sa mi podari to jadro skoro pobrat, je dost komplikovane.
0

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Príspevok od používateľa xmilos » 06 Máj 2011, 06:06

Tak doska sa vcera ozvala, na ladenie si budem musiet vystacit s print(). K..l simulator jaksi nesimuluje spravanie ani USART ani SPI rozhrania.
Ma ma niekto skusenosti so zapisom na SD karty?
0

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1538
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: pomoc s STM32F1xx

Príspevok od používateľa jirka.jirka. » 26 Júl 2017, 10:42

Zdravím přátelé.
Nechci zakládat nové téma, když je zde toto a kupodivu se mi hodí.

Koupil jsem si STM32F103 blue pill. A ST-Link V2 clone. A snažím se pomocí eclipse nějak do něj nalít FW. A vůbec se mi nedaří. Tak se chci zeptat, jestli se tímto někdo nezabýval. Popř. co potřebuju.

Propojil jsem dané piny (3V3, GND, SWDIO, SWCLK). Vyzkoušel jsem, zda se dá naprogramovat pomocí:

Kód: Vybrať všetko

STM32 ST-LINK Utility
Zde vše proběhlo jak má. Takže vím, že chipešek a programátor komunikuje.

Přešel jsem do eclipse, ale zde se mi to nedaří. A už mě nic nenapadá. Tak třeba někdo bude mít jednoduchý návod. Nebo mě navede. Jenom dodám, zkoušel jsem editovat cfg soubor, Ještě mě napadlo, jestli bych neměl zapojit RESET, ale nejsem si moc jistý. programování pomocí OpenOCD. Díky moc

Obrázok

Obrázok
0

StavJi
Okoloidúci
Okoloidúci
Príspevky: 42
Dátum registrácie: 22 Jan 2014, 14:01
Bydlisko: Olomouc

Re: pomoc s STM32F1xx

Príspevok od používateľa StavJi » 26 Júl 2017, 11:07

Minimálně musíš připojit piny NRST, GND, SWDIO, SWCLK někdy i Vcc (zde by Vcc nemělo být potřeba). Jestli ten STlink je novej a používáš nejnovější verzi vývojového nástroje budeš muset nejspíš aktualizovat FW STlinku (k dostání free od ST).

Jinak používám stejnej STlink v kombinaci s Atollic TrueSDUDIO a vše funguje. A ještě bych doporučil dávej si bacha na připojení GND, když ti upadne máš po STlinku.
0

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1538
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: pomoc s STM32F1xx

Príspevok od používateľa jirka.jirka. » 26 Júl 2017, 11:40

Tady přidám výpis z Console. Jinak jsem si správně myslel, že reset bude potřeba. zkusím to a dám vědět. A FW v ST-Linku mám aktualizován, to mě napadlo hned jako první.

A jenom se ještě zeptám, proč pokud upadne GND odejde ST-LINK?
  • GNU ARM Eclipse 64-bits Open On-Chip Debugger 0.10.0-00114-g8419536 (2017-04-18-21:56)
    Licensed under GNU GPL v2
    For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
    WARNING: target/stm32f1x_stlink.cfg is deprecated, please switch to target/stm32f1x.cfg
    Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
    Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
    adapter speed: 1000 kHz
    adapter_nsrst_delay: 100
    none separate
    srst_only separate srst_nogate srst_open_drain connect_deassert_srst
    Started by GNU ARM Eclipse
    Info : Unable to match requested speed 1000 kHz, using 950 kHz
    Info : Unable to match requested speed 1000 kHz, using 950 kHz
    Info : clock speed 950 kHz
    Info : STLINK v2 JTAG v27 API v2 SWIM v6 VID 0x0483 PID 0x3748
    Info : using stlink api v2
    Info : Target voltage: 3.242300
    Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
    Info : accepting 'gdb' connection on tcp/3333
    Info : device id = 0x20036410
    Info : flash size = 64kbytes
    undefined debug reason 7 - target needs reset
    Error: timed out while waiting for target halted
    TARGET: stm32f1x.cpu - Not halted
    in procedure 'reset'
    in procedure 'ocd_bouncer'


    target halted due to debug-request, current mode: Thread
    xPSR: 0x81000000 pc: 0x080001c4 msp: 0x20004fe8
    semihosting is enabled
    Info : dropped 'gdb' connection
0

StavJi
Okoloidúci
Okoloidúci
Príspevky: 42
Dátum registrácie: 22 Jan 2014, 14:01
Bydlisko: Olomouc

Re: pomoc s STM32F1xx

Príspevok od používateľa StavJi » 26 Júl 2017, 11:52

No ono to asi nebude platit úplně obecně, ale záleží jak to napájíš. Třebá já napájím své bastly z malého zdroje, který má svoje trafo a protože GND počítače je spojená s kolíkem sítě a bastl deska má oddělenou zem, tak ti vzníká měkké napětí napětí cca 120V pokud nejsou země spojeny. Pokud napájíš vše z PC (což bude nejspíš tvůj případ), tak by to vadit nemělo.

Proto i když připojuješ osciloskop do obvodu vždycky se připojuje prvni zem a zem se jako poslední odpojuje.
0

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1538
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: pomoc s STM32F1xx

Príspevok od používateľa jirka.jirka. » 26 Júl 2017, 13:58

nuž zapojil jsem RESET a nic. Už mě nic nenapadá, co bych mohl dělat špatně.

Snad jedině to, že používám programátor CLONE ST-Link V2 z Číny. :D

CFG soubor, kterým volám desku vypadá takto:

Kód: Vybrať všetko

# This is a SPARK-CORE board with a single STM32F103MD chip.
source [find interface/stlink-v2.cfg]
set WORKAREASIZE 0x4000
source [find target/stm32f1x.cfg]
# use hardware reset, connect under reset
reset_config srst_only srst_nogate
Přikládám i výpis z konzole.

Kód: Vybrať všetko

GNU ARM Eclipse 64-bits Open On-Chip Debugger 0.10.0-00114-g8419536 (2017-04-18-21:56)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
none separate
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Started by GNU ARM Eclipse
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Info : STLINK v2 JTAG v27 API v2 SWIM v6 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 3.250693
Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : accepting 'gdb' connection on tcp/3333
Info : device id = 0x20036410
Info : flash size = 64kbytes
undefined debug reason 7 - target needs reset
Error: timed out while waiting for target halted
TARGET: stm32f1x.cpu - Not halted
in procedure 'reset' 
in procedure 'ocd_bouncer'


target halted due to debug-request, current mode: Thread 
xPSR: 0x81000000 pc: 0x080001dc msp: 0x20004fe8
semihosting is enabled
Info : dropped 'gdb' connection

0

StavJi
Okoloidúci
Okoloidúci
Príspevky: 42
Dátum registrácie: 22 Jan 2014, 14:01
Bydlisko: Olomouc

Re: pomoc s STM32F1xx

Príspevok od používateľa StavJi » 26 Júl 2017, 18:05

Z číny ho mám taky a jede normálně.

Jestli to dobře chápu, tak ty chceš do toho MCU nahrát program pomocí eclipsu jo? Ono bude možná problém v tom, že eclipse přímo nepodporuje STlink a musí se to nastavit (to jsi asi udělal, ale asi špatně). Tady by měl být návod jak to nastavit https://community.particle.io/t/tutoria ... ebug/10042 ale nikdy jsem to nedělal.

BTW ve správci zařízení vidíš STlink? Máš ovladače?
0

alidedko
Ultimate člen
Ultimate člen
Príspevky: 3963
Dátum registrácie: 04 Feb 2013, 22:04
Bydlisko: U alibabky v Poprade
Vek: 32

Re: pomoc s STM32F1xx

Príspevok od používateľa alidedko » 26 Júl 2017, 22:47

Ked som dobre cital a pochopil:

ST-Link utility funguje a napaluje, ale Eclipse nie. Tak je?
0
Motto: Nikto nie je tak velky, aby sa nevosiel do truhly.

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1538
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: pomoc s STM32F1xx

Príspevok od používateľa jirka.jirka. » 27 Júl 2017, 06:16

alidedko napísal:Ked som dobre cital a pochopil:

ST-Link utility funguje a napaluje, ale Eclipse nie. Tak je?
Přesně tak.

Ovladače mám.
Jinak ten toturiál jsem zkoušel. Ale od bodu: 3.2 Creating a Debug Configuration
Protože základní program mám vytvořený pomocí STM32CobeMX.

Jinak to openOCD jsem otestoval v cmd pomocí příkazu

Kód: Vybrať všetko

openocd.exe -f board\sparkcore.cfg
kde spartcore.cfg

Kód: Vybrať všetko

# This is a SPARK-CORE board with a single STM32F103MD chip.
source [find interface/stlink-v2.cfg]
#set WORKAREASIZE 0x4000
transport select hla_swd
source [find target/stm32f1x.cfg]
# use hardware reset, connect under reset
reset_config srst_only srst_nogate
Tady je výpis v cmd. Podle tohoto je vše OK. Takže te'ď musím nastavit ten eclipse.
Prílohy
CMD.JPG
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok