Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
mikk36
HV Guru
liitunud: 21.02.2004
|
01.02.2016 14:22:21
STM32 Watchdogi reset |
|
|
On ehk kellelgi aimu, mis võib häda olla, kui peale Watchdogi poolt välja kutsutud reseti programm enam tööle ei hakka?
Serialis väljastatakse ainult real 30 olev tekst ja edasi tuleb vaid [00] spämm.
Kood ise: https://developer.mbed.org/users/Mikk36/code/btGPS/file/2771afa123a2/main.cpp
Seriali väljund:
Hello World !
Watchdog caused reset.
[00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00] |
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
jnt
HV Guru
liitunud: 10.05.2005
|
01.02.2016 14:28:24
|
|
|
mikk36, Kus see WATCHDOG_TIMEOUT defineeritud on? Kuskil sisse tõmmatud headeris?
Üldiselt võiks sellised loop'id interrupt'i tasemele viia, aga ma pole STM32'ga väga kursis, kas taimeri interruptid seal on ja kuidas täpselt toimivad.
_________________ Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda.
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt |
|
Kommentaarid: 106 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
0 :: |
99 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
01.02.2016 14:32:49
|
|
|
jnt, settings.h'st tuleb see sisse.
Mis loopi silmas pead?
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
jnt
HV Guru
liitunud: 10.05.2005
|
01.02.2016 14:36:48
|
|
|
Hmm, väike kahtlus oli, et äkki sinna tuleb mingi umbluu väärtus sisse ja siis hakkab ka watchdog imelikult käituma.
See loop ei lõppe kunagi ja ei jäta mingit aega ühelegi kõrvalprotsessile. (Nt watchdog)
_________________ Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda.
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt |
|
Kommentaarid: 106 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
0 :: |
99 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
01.02.2016 14:38:08
|
|
|
jnt kirjutas: |
Hmm, väike kahtlus oli, et äkki sinna tuleb mingi umbluu väärtus sisse ja siis hakkab ka watchdog imelikult käituma.
See loop ei lõppe kunagi ja ei jäta mingit aega ühelegi kõrvalprotsessile. (Nt watchdog) |
Seda mõtlesin ajutiselt koodi kindlaks seiskamiseks välja kutsuda. Ilmselt halb viis, kuna segab ka Watchdogi rakendumist?
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
jnt
HV Guru
liitunud: 10.05.2005
|
01.02.2016 14:39:27
|
|
|
mikk36, watchdog'i mõte ise-enesest ongi see, et kui mingi kood sul pikalt käima jääb (sinu loop siis igavesti), siis ta kutsub välja reset'i, kuna arvab, et midagi on koodis nihu läinud.
Aga see on üles-ehituse teema. Probleem on sellegi poolest see, et chip ei ärka peale reset'i normaalselt üles.
_________________ Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda.
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt |
|
Kommentaarid: 106 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
0 :: |
99 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
01.02.2016 14:41:17
|
|
|
Isegi, kui selle while(1) sealt ära korjan, siis:
Hello World !
Slower rate
Watchdog caused reset.
[00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00] |
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
jnt
HV Guru
liitunud: 10.05.2005
|
01.02.2016 14:45:52
|
|
|
Hmm...
Ega see watchdog, mida kasutad, et nõua ise hoopis sellist lähenemist, et sul küll on see igavene loop, aga selle loopi sees igas tsüklis pead ise koodist ütlema, et "ma olen elus ja terve"?
_________________ Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda.
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt |
|
Kommentaarid: 106 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
0 :: |
99 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
jnt
HV Guru
liitunud: 10.05.2005
|
|
Kommentaarid: 106 loe/lisa |
Kasutajad arvavad: |
|
:: |
2 :: |
0 :: |
99 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
DoS
HV veteran
liitunud: 19.08.2002
|
01.02.2016 22:00:36
|
|
|
Mõned mõtted:
1) Ega sealt "enable" pinilt mingit jama peale ei tule? See oleks üks variant, mille pärast LED aeglasemalt vilgub.
2) Ma ei tea küll, mis konkreetne kivi su plaadi peal on, aga näiteks STM32F0x1/2/8 manuaali järgi tuleks watchdogi veidi teistmoodi intsialiseerida, st su Watchdog.cpp'st võib asju puudu olla (punkt 1 ja 5):
tsitaat: |
Configuring the IWDG when the window option is disabled
When the window option it is not used, the IWDG can be configured as follows:
1. Enable the IWDG by writing 0x0000 CCCC in the IWDG_KR register.
2. Enable register access by writing 0x0000 5555 in the IWDG_KR register.
3. Write the IWDG prescaler by programming IWDG_PR from 0 to 7.
4. Write the reload register (IWDG_RLR).
5. Wait for the registers to be updated (IWDG_SR = 0x0000 0000).
6. Refresh the counter value with IWDG_RLR (IWDG_KR = 0x0000 AAAA)
|
|
|
Kommentaarid: 50 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
47 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
02.02.2016 00:27:35
|
|
|
STM32F103-RBT6
Testkoodis enable pin jäi vanast ajast kogemata sisse, kuid mingit jama ei tohiks sisse tulla, kuna see pole kuhugi ühendatud ja on internal pullupiga üles tõmmatud.
Kontrollib üle täpsemalt selle IWDG initsialiseerimise, hetkel võtsin lihtsalt mingit libraryst selle koodi.
http://www.st.com/web/en/resource/technical/document/reference_manual/CD00171190.pdf
See peaks antud kivi manuaal olema, lehekülg 496 algab IWDG sektsioon.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
DoS
HV veteran
liitunud: 19.08.2002
|
02.02.2016 11:17:35
|
|
|
Kivi intsialiseerimise koodis võib ka buge olla.
|
|
Kommentaarid: 50 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
47 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
DoS
HV veteran
liitunud: 19.08.2002
|
02.02.2016 12:06:48
|
|
|
Ma mõtlesin seda, et kusagilt mbedi sügavustest (ei ole ise seda kasutanud, täpsemalt ei tea) peab tulema kood, mis kohe pärast reseti jookseb ja kus konfitakse kellad ja muu säärane ja lõpuks su main välja kutsutakse. Kui seal midagi valesti tehakse, siis võib põhimõtteliselt juhtuda, et kivi hakkab aeglasemalt tööle või ei tööta üldse.
|
|
Kommentaarid: 50 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
47 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
02.02.2016 12:13:23
|
|
|
Saan aru, mis silmas pead, lihtsalt mõtlen, et see ei tohiks määrata, et mul pole sama Nucleo plaat, vaid Olimexi analoog.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
DoS
HV veteran
liitunud: 19.08.2002
|
02.02.2016 12:31:32
|
|
|
Ses mõttes ei tohiks jah vahet olla.
|
|
Kommentaarid: 50 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
47 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
10.02.2016 23:27:49
|
|
|
Vahepeal olen niipalju edasi saanud, et Watchdogi reset on nüüd alati korrektselt toimiv, kui see välja arvata, et miskipärast paneb üsna kiirelt pange kogu programm (umbes minutiga lihtsalt hangub main loop, eelmine lõpetab ära, aga uus ei hakka pihta) ja peale reseti ei kuule enam BufferedSerial GPS'ist midagi.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
DoS
HV veteran
liitunud: 19.08.2002
|
11.02.2016 11:07:07
|
|
|
Kui sul Serial Wire Debug võimalus on, siis kasuta seda. Kui ei ole, siis osta mõni Nucleo või Discovery plaat, nendel on vastav riistvara olemas ja saad oma plaadi külge ühendada.
|
|
Kommentaarid: 50 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
47 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
11.02.2016 19:00:18
|
|
|
Teoreetiline võimalus on, aga see eeldaks jällegi mitmekümne euro jagu kulutust.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
mikk36
HV Guru
liitunud: 21.02.2004
|
12.02.2016 14:17:08
|
|
|
Sai kulutus ära tehtud, tellisin ühe Nucleo plaadi ja sobiva ülemineku selle veidra pisikese 0,5 tollise headeri jaoks, kokku 25 eurot (9,5 € üleminek, 15,5 € Nucleo plaat).
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
|
|