SWD in GPIO

programski jeziki in programiranje

Moderator: tilz0R

SWD in GPIO

OdgovorNapisal/-a krko » 15 Avg 2017, 13:50

Torej zanima me, če lahko na STM32F1 SWD pine uporabljam kot debug in kot normalen GPIO pin?

Če se da, kaj moram storiti?

Manjka mi namreč samo en pin in nebi rad delal celoten re-design vezja, vključno z večjim MCUjem.
krko
 
Prispevkov: 1018
Pridružen: 18 Jan 2015, 12:56
Kraj: Cerknica/Postojna
Zahvalil se je: 71 krat
Prejel zahvalo: 92 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 10

Re: SWD in GPIO

OdgovorNapisal/-a borisz » 15 Avg 2017, 21:04

Lahko. Pazi le. da ne GPIO funkcija motila SWDja.
It's never too late to have a happy childhood.
Uporabniški avatar
borisz
 
Prispevkov: 3580
Pridružen: 18 Jan 2015, 13:05
Zahvalil se je: 859 krat
Prejel zahvalo: 799 krat
Uporabnika povabil: Marholt
Število neizkoriščenih povabil: 154

Re: SWD in GPIO

OdgovorNapisal/-a krko » 15 Avg 2017, 22:24

Kako pa to lahko naredim? pač samo fizično povežem in je to to, ali je treba dodati kakšno tipko za reset?
Ste že kdaj delali to?
krko
 
Prispevkov: 1018
Pridružen: 18 Jan 2015, 12:56
Kraj: Cerknica/Postojna
Zahvalil se je: 71 krat
Prejel zahvalo: 92 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 10

Re: SWD in GPIO

OdgovorNapisal/-a borisz » 16 Avg 2017, 00:05

Npr. Lahko uporabiš isti pin za tipko, ali kot priklop za LCD itd.
It's never too late to have a happy childhood.
Uporabniški avatar
borisz
 
Prispevkov: 3580
Pridružen: 18 Jan 2015, 13:05
Zahvalil se je: 859 krat
Prejel zahvalo: 799 krat
Uporabnika povabil: Marholt
Število neizkoriščenih povabil: 154

Re: SWD in GPIO

OdgovorNapisal/-a s54mtb » 16 Avg 2017, 09:32

To lahko brez težav narediš. Pazi pa na dvoje:
1. zunanji hardver, ki je na SWD pinih ne sme ovirati signalov SWD (npr. če je pin GPIO vhod in daš gor tipko, ki ti veže ta pin na GND ti SWD seveda ne bo deloval, ko bo tipka pritisnjena).
2. Od trenutka, ko v softveru spremeniš funkcijo SWD pinov ne boš mogel več debugirati. Dobro je torej, da na te pine daš nekaj, kar ne rabi debugiranja in za čas razvoja tisti del kode enostavno ne uporabljaš v času debugiranja.
Uporabniški avatar
s54mtb
 
Prispevkov: 10897
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1507 krat
Prejel zahvalo: 3874 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: SWD in GPIO

OdgovorNapisal/-a krko » 16 Avg 2017, 18:07

V bistvu rabim samo en SYNC signal za en ADC, katerega je treba za nekaj us ali ms postaviti na 1 (ali na 0, nevem na pamet), Ta del sem že debugiral s pomočjo enega drugega pina (dvojna funkcija pina, pač kabelček) tako da potem ne bo problema.
krko
 
Prispevkov: 1018
Pridružen: 18 Jan 2015, 12:56
Kraj: Cerknica/Postojna
Zahvalil se je: 71 krat
Prejel zahvalo: 92 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 10

Re: SWD in GPIO

OdgovorNapisal/-a tilz0R » 16 Avg 2017, 20:57

Če boš v debugu, tudi če boš le za kratek čas (10us) spremenil konfiguracijo pina, boš izpadel iz debug session-a in boš moral ponoviti.

Si prepričan, da drugega pina ni mogoče uporabiti? Vsaj v času debuga oz. razvoja?

SWD pini so v reset stanju na drugačnih nastavitvah kot vsi ostali.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1790
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 225 krat
Prejel zahvalo: 474 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: SWD in GPIO

OdgovorNapisal/-a krko » 16 Avg 2017, 21:11

Saj pravim, funkcija SYNC signala, za katerega mi manjka pin je že preverjena in deluje. (sem si pomagal s drugim pinom, ki sem ga uporabil s pomočjo žičke)
Sedaj pa bi rad, da ko bom dal delati novo iteracijo vezja, da bo vse tako kot mora biti, torej brez žičk itd...

Ta pin bom potreboval samo v "resnem" delovanju, ko bo vse že zdebugirano.

Rdeča črta na sliki predstavlja manjkajočo povezavo.
Priponke
forum mppt.JPG
krko
 
Prispevkov: 1018
Pridružen: 18 Jan 2015, 12:56
Kraj: Cerknica/Postojna
Zahvalil se je: 71 krat
Prejel zahvalo: 92 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 10

Re: SWD in GPIO

OdgovorNapisal/-a borisz » 16 Avg 2017, 21:18

Vrzi ven U7 in U8, ter uporabi PWM, ki je že v mikrokontrolerju.
Prihraniš nekaj denarja in prostora na PCB, pa še pini ti ostanejo ;)
It's never too late to have a happy childhood.
Uporabniški avatar
borisz
 
Prispevkov: 3580
Pridružen: 18 Jan 2015, 13:05
Zahvalil se je: 859 krat
Prejel zahvalo: 799 krat
Uporabnika povabil: Marholt
Število neizkoriščenih povabil: 154

Re: SWD in GPIO

OdgovorNapisal/-a tilz0R » 16 Avg 2017, 21:19

Slej kot prej boš imel težave pri ozživljanju nove plate (izkušnje).

Vsaj en upor dodaj med SYNC in SWDIO, da lahko prekineš povezavo v času debug-a.

Poslušaj Borisove nasvete ;)
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1790
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 225 krat
Prejel zahvalo: 474 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: SWD in GPIO

OdgovorNapisal/-a krko » 16 Avg 2017, 21:28

Bi uporabil PWM v uC, vendar je problem potem v glavni switching tuljavi (to je MPPT converter). Ker je frekvenca PWMja u uC lahko največ 187500 Hz s 8 bitnim timerjem (48MHz/2^8), mora biti tuljava posledično fizično večja, kar pa zna biti pri nekje 8ih A problem. Stvar mora biti dokaj majhna, lahka in se ne sme preveč greti. Tako sem prišel na frekvenco 700 kHz (lahko do 1 MHz).

Plata, taka kot je, že deluje, tako da kasneje nebi smelo biti problemov.

Torej dodati je treba samo tole povezavo.

Če povežem tako kot sem narisal, in dodam en 0R0 serijsko bi moralo delovati? No, če je moje sklepanje pravilno, potem med debuganjem ne bom mogel uporabljati ADC-ja.
krko
 
Prispevkov: 1018
Pridružen: 18 Jan 2015, 12:56
Kraj: Cerknica/Postojna
Zahvalil se je: 71 krat
Prejel zahvalo: 92 krat
Uporabnika povabil: gumby
Število neizkoriščenih povabil: 10


Vrni se na Software

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 2 gostov