Smazat příspěvek

 Chystáte se smazat zprávu (se všemi případnými odpověďmi) z kategorie Hlavní diskuze:


25.11.2021 (09:29:47)
antibalda obalka (web) :
Nemá někdo větší zkušenosti s STM32F373CC a jeho hodinami ?
V jednom projektu tento procesor používám a když přelezu 48MHz fCPU (maximální deklarovaný hodiny jsou 72MHz), tak procesor ani nenaběhne (skočí v paměti na náhodné místo, většinou na konec FLASH paměti), případně skončí v HF. Nejdříve jsem si myslel, že bude problém v HSI a jeho stabilitě, takže jsem to chtěl vyřešit krystalem a HSE, ale ani to to nevyřešilo.
Když nastavím hodiny na 40MHz, procesor běží tak jak má. Hodiny jsou získávány pomocí PLL z krystalu 8MHz (předtím byly z HSI).
Procesory jsou sice starší (rok cca 2016), ale byly kupovány na RS components, takže by to pajc být nemusel. Zkoušel jsem už 3ks a všechny se chovají stejně.
Setkal se s tím někdo ? Co jsem si tam všiml, problémy mám pouze s touto F373 (všechny ostatní řady STM jsou bez problémů).
25.11.2021 (10:09:11)
VroutekB:
A co waitcykly na fleši, ty zkonfigurovane mame?
25.11.2021 (10:31:32)
antibalda obalka (web) :
Zkoušel jsem FLASH_LATENCY_0, 1 i 2. Stále stejné - beze změny.
25.11.2021 (11:14:44)
VroutekB:
To jak se ti to ale chová, se těžko dá vysvětlit nějak jinak, protože tohle sou přesně symptomy čtení sraček z overclocknutý flashky.
Jenže když seš okolo zbytku tajemnej jak hrad v karpatech, těžko něco radit. Knihovny nějký? Kdo psal startup/int code? Jak? Co se kde všecko nastavuje?
Napadá mě eště tak leda, že F373 možná má svojí extra variantu STPL driverů, který nejsou kompatibilní s F3xx. (měla svojí sadu F37x, hledej STSW-STM32115). Takže pokud to honíš tím pro F3xx, tak možná zapisuješ do registrů taky pěkný sračky a dělá to psí kusy.
25.11.2021 (12:15:53)
antibalda obalka (web) :
Ano, používám SPL přímo pro tu 373 (jojo, všiml jsem si, že pro 373 jsou jiné než pro řadu F3). Zoufalost v podobě kontroly registrů už proběhla taky ... kontroloval jsem nastavené registry s daty z datašitu - nenašel jsem problém ...
StartUp používám ten z SPL ... jako v tom jsem se nehrabal, ani nekontroloval, takže pokud tam je chyba, je to možné vysvětlení ...
25.11.2021 (18:37:05)
VroutekB:
Dál už mě nenapadá co s tím. Vim toho moc málo, to už bych věštil fakt moc.
Leda si zkus kód nacpat do SRAMky debuggerem a pustit ho ztama, jestli poběží rychle. Pokud jo, tak máš zprdelenej konfig flešky **22
25.11.2021 (19:46:48)
ms-boss obalka (web) :
Já bych nepředbíhal. Nejprve zjisti, na jaký operaci přesně to umře - krokovat po řádcích inicializace.
Je zapnuta detekce vypadlýho clocku? Je indikováno zavěšení PLL?
25.11.2021 (20:23:12)
VroutekB:
S nezavěšenou PLL se ti nepovede přepnout SWS bity, as far as I know. Takže tudy ne.
26.11.2021 (02:48:43)
RayeR (web) :
A nebude problem v tom, ze kdyz to budes krokovat, ze to casovani pobezi jinak, nez kdyz to krokovat nebudes?
26.11.2021 (09:05:47)
antibalda obalka (web) :
Takto vypadá ta inicializační funkce :
https://www.imgup.cz/images/2021/11/26/373CC_clock.png
Zde je to nastavený na 40MHz (8MHz krystal HSE, PLL s násobkem 5). Takto to je stabilní a vždy to naběhne.

Při krokování na vyšší frekvenci (nad těch 48MHz - tam je to krajní), tak to chcípá náhodně - někdy na nastavení Latency flešky, jindy při nastavení PLL, někdy při nastavení tabulky vektorů přerušení, je to nepravidelné, ale nejčastější na nastavení latency.
26.11.2021 (10:39:04)
ms-boss obalka (web) :
To je nějaký divný, ne? Všechny tyhle kroky by měly bejt shodný pro 40 MHz i 48 MHz, spadnout by to mělo až po přepnutí systémovýho clocku na PLL, kdy je všechno už nakonfigurovaný a pak se na to už nesahá (pokud nějak dynamicky neměníš rychlost procáku). Nenastavuješ latenci nebo parametry PLL až potom, cos přepnul systémovej clock na těch 48 MHz?
26.11.2021 (10:44:04)
antibalda obalka (web) :
Právě, že ne. Funkce/inicializace je pořád stejná, akorát měním multiplikaci PLL. Takto to používám napříč všemi řadami STM (G0, H7, F1, L0 atd), nikdy problém nebyl ...
26.11.2021 (11:15:24)
VroutekB:
Tak začni tim, že hodíš do prdele ty přímý zápisy do registrů nahoře. Nekontroloval sem to celý, ale při pohledu na reset hodnoty těch registrů v manuálu je jasný, že tam zapisuješ nějaký sračky.

A bez povolenýho prefetch bufferu to bude teda potěš koště výpočetní výkon, s těma waitstavama na flešce. Zapnout!
26.11.2021 (11:27:47)
VroutekB:
Začni tim, že okopíruješ init sekvenci z examplu z toho balíku knihoven. Máš tam přímo, jak z HSE vyjet na 72 MHz HCLK.

Jinak v tom tvym žádnou chybu vyloženě nevidim, jen mě tam dráždí to clearování registrů magickýma konstantama na začátku, který nejspíš nemáš dobře. V tom examplu mylsim taky měli jiný hodnoty.
26.11.2021 (11:59:17)
antibalda obalka (web) :
Ok, díky. Prolezu to ještě jednou, ale když jsem to kdysi kontroloval, chybu jsem tam nenašel - krokoval jsem to a kontroloval registry oproti datašitu (default value) ...
26.11.2021 (20:11:43)
RayeR (web) :
Ty magicky konstanty tam uz sou primo z tech system_xxx fajlu od ST (cube), to si tam asi balada nevymyslel. No taky se mi to zrovna nelibi, kdyz existujou v hedrech symbolicke nazvy vsech bitu vsech registru, ale tenle mrdnik je snad v kazdym systeminitu...
26.11.2021 (22:23:40)
antibalda obalka (web) :
Tak jsem vzal origo init file z SPL (pro jistotu jsem si stáhnul i verzi z ST) a je to pořád stejné. Nastavená v defaultu je HSE (8MHz) a PLL na 72MHz.
V tomto projektu naštěstí nepotřebuji žádný závratný výkon, takže mi 40MHz bude stačit. Jen mě trochu sere, že se to tak chová ...
28.11.2021 (11:07:11)
VroutekB:
No to je teda reseni jak noha, vysrat se na to. Pak se ti trochu hne treba teplota a nepude to ani s tema 40MHz. Skoda, ze nemam po ruce doma zadnou desku s F373, bych to vyzkousel. Podivam se aspon, jestli mam nekde nejakej kus svyho kodu pro nejakej 373 projekt, pravdepodobne ale ne.
29.11.2021 (13:51:29)
antibalda obalka (web) :
A co s tím teda mám dělat ? S přestávkama se s tím seru téměř měsíc a stále nic ... registry i kód jsem kontroloval 3x ...
29.11.2021 (14:03:48)
VroutekB:
Tak mi pošli nějakou desku s F373, kam se můžu připojit debagrem a ja se na to možná podívám. **13


Přezdívka:*
Heslo:*

███   ███   █ █   
█     █     █ █   
███   ███   ███   
█ █     █     █   
███   ███     █   
Opiš:*

Zde můžete smazat vlastní vlákno nebo kteroukoliv odpověď v něm. Můžete smazat vlastní odpověď v cizím vlákně, pokud na ni ještě nikdo jiný nereagoval. Mazat cizí vlákna a odpovědi v nich mohou pouze admini. Smazání příspěvku je nevratná operace! Smazáním vzkazu se smažou i odpovědi na něj.
Seznam uživatelů
Zpět na knihu