Strana 1 z 1

STM32F0 nejde TIM6, nejde HSE

Napísané: 22 Máj 2018, 18:51
od používateľa maskrtnik01
Dobrý deň,

Mám takéto problémy s MCU STM32F0. Spájkoval som ho trafospájkou, pretože som nemal na výber. Keď do neho napálim program, GPIOx fungujú - dokážem blikať LEDkou. Avšak akonáhle sa pokúsim to časovať cez TIM6, narazím. Čo som debugoval, riadky kde nastavujem TIM6->CR1 a pod. zbehnú, ale aj napriek tomu mi debugger hlási, že sú registre TIM6 vynulované - podľa RCC->APB1RSTR nie sú v resete.
Ďalej prišiel som na to, že sa startup code(používam VisualGDB for embedded) pokúša prepnúť na HSE, ale neúspešne (zrejme timeout). Zapojený mám 8MHz kryštál a 18pF kondenzátory. Keď som zatrigroval osciloskop na OSCI/OSCO, nedokázal som ani počas pripojenia napájania nič namerať.

Vedel by mi niekto poradiť ako z tohto von? Alebo čo merať, debugovať? Je MCU poškodený?

Re: STM32F0 nejde TIM6, nejde HSE

Napísané: 22 Máj 2018, 20:28
od používateľa jirka.jirka.
Nooooo, dobrá otázka.

Máš druhou desku?
1. Osadit (tj. adekvátně k ESD....)
2 nahrát stejný program
3. vyzkoušet.

Nebo:
1.Vzít vývojový kitík (se stejným MCU)
2. Adekvátně upravit pro kitík
3. vyzkoušet.

A jako poslední volba:
Dej sem zdrojové kódy. Protože věšteckou kouli ani já, ani nikdo jiný nemá. Máš osciloskop? dej průběhy, kde jsi co měřil a kdy.... :thumbup:

Víc takhle od stolu s lahváčem ti neporadím. :finga:

Re: STM32F0 nejde TIM6, nejde HSE

Napísané: 22 Máj 2018, 20:48
od používateľa maskrtnik01
Ďakujem za odpoveď.
1)Súčiastky by sa našli, aj dps. Bohužial som "šťastným" majiteľom Tipa ZDčky...a aj tá trafospájka momentálne nepočúva.
2)Vývojový kit, mám jeden ale s F411RE, blink demo na tom pobeží, aj na HSE.
3)Zdrojové kódy môžem poskytnúť, nie je tam nič extra. Bohužial nepredpokladám že máte VisualGDB licenciu(mne zase nesadol Keil tak preto takto). V mojom kóde nie je vlastne nič ohľadom hodín, nastavuje to startup code zo šablóny. Mám tam akurát inicializáciu TIM6, to je prebraté z tohto návodu: http://joudove.8u.cz/index.php?option=c ... Itemid=152

Osciloskop, meral som len na OSCI/OSCO, a to tak, že som zatriggroval na OSCI, a vtedy pripojil napájanie. Chcel som zachytiť pulzy, keď sa snažilo HSE nabehnúť(teda podľa startup code by malo). Vlastne ani nemám čo zverejniť, trigger sa mi nespustil. Keď som s rovnakým nastavením triggra ďobol sondou do interného generátora na kompenzáciu, trigger sa spustil, takže predpokladám že osciloskop bol nastavený správne.

Re: STM32F0 nejde TIM6, nejde HSE

Napísané: 22 Máj 2018, 20:53
od používateľa jirka.jirka.
Omyl v bodě 3. :agree:
Zdrojové kódy môžem poskytnúť, nie je tam nič extra. Bohužial nepredpokladám že máte VisualGDB licenciu(mne zase nesadol Keil tak preto takto).
Nejde o licenci, jde o to, co kde a jak inicializujete. Co když jste třeba zapomněl povolit periferii?? To se bez zdrojáků nedozvíme. A to nemluvě o tom, že já programuju pomocí eclipce.

Proč by eclipse neměl přebuildit tvůj kód (ovšem s úpravama)??

Licence je pouze něco :finga: :finga: :finga: :finga:

Re: STM32F0 nejde TIM6, nejde HSE

Napísané: 22 Máj 2018, 21:02
od používateľa maskrtnik01
Nech sa páči. Startup code je trošku netradične v C.....avšak nie je to môj kód, a viem že funguje. Inak by mi môj kód nenabehol, a on v podstate nabehne, LEDky keď nesynchronizujem s timerom blikajú.

Re: STM32F0 nejde TIM6, nejde HSE

Napísané: 23 Máj 2018, 00:25
od používateľa Tribec Zacks
maskrtnik, spusti na mcu kod ktory ide, pomocou debugera ho stopni, manualne povol clock pre timer v rcc_apb1enr (nemusis resetovat v rstr registri nic), do registrov timeru zapis manualne nastavenie ake chces, nechaj ho pak chvilu bezat (aj single instructions zopar mozes urobit) precitaj tie registre naspat, ak budu vynulovane tak moze byt ze bude poskodeny, skonroluj ci sa ti to cele niekde nejak neresetuje, napajanie etc.

na skontrolovanie externeho krystaly si nastav si breakpoint (popripade sleduj watchpointom zmeny) na rcc_cr registri (funkcia systeminit) a sleduj ci ti to chce povolit hseon bit a sleduj ci sa sam nastavi hserdy bit, ak ano tak externy oscillator je ok, za predpokladu ze krystal je ok. (sry nechce sa mi moc lustit ten konfiguacny vygenerovany paskvil)

na osc_in/out nenameras nic, je to debug featura, musis priviest externy clock z fun. generatora na osc_in, a na osc_out meras osciloskopom pri zapnuti hsebyp a hseon bitov.


btw za visualgdb si zbytocne platil, eclipse+gdb funguje vyborne len to treba na zaciatku poriadne nastavit pre mcu projekt (jj je to trochu o drzku pre cloveka co to nepozna), popripade attolic studio je uz zadarmo cele.

Re: STM32F0 nejde TIM6, nejde HSE

Napísané: 23 Máj 2018, 09:35
od používateľa maskrtnik01
Ďakujem obom za odpovede. Najpravdepodobnejšia ostáva teória častočne odpáleného MCU. Toto som spustil na nucleo doske s F411RE.
Kód viacmenej rovnaký, zmeny len tie, ktoré boli nutné. LEDka sa rozblikala.

Re: STM32F0 nejde TIM6, nejde HSE

Napísané: 26 Máj 2018, 15:20
od používateľa maskrtnik01
Takže záhada timeru vyriešená. Až teraz som si detailne pozrel, ktoré timery vlastne má presne môj MCU. Podarilo sa mi trafiť timer, ktorý sa síce v STM32F0xx vyskytuje, takže kód skompilovalo. Ale potom som zapisoval hodnoty "do blba". Prepísal som to na iný timer, a funguje.