- apal blogja
- A hozzászóláshoz be kell jelentkezni
- 138 megtekintés
Hozzászólások
Nem biztos, hogy segít és nem Cortex-M0, hanem Cortex-M3 és M4, valamint STM32 és a saját konfigurátora, de van benne a SYS rész alatt egy Debug beállítás, ez "Serial Wire" érték mellett resetelhetővé teszi SWD-vel.
Ha korábban volt másként konfigurált projekt az MCU-ban, akkor le kell húzni akár kézzel a reset lábat a programozás során, de utána resetelhető lesz SWD-n és az is marad.
Első felprogramozáskor felmegy a szoftver a reset láb piszkálása nélkül is.
Közelebb vihet a megoldáshoz, ha generálsz vele két projektet és összehasonlítod, mit csinál másként initkor.
- A hozzászóláshoz be kell jelentkezni
Jó gondolat, köszi! Konkrétan ez STM32F0, szoval lehet tenyleg van valami ST specifikus periferiaja ahol ez engedelyezhető. Megnezem ezeket.
- A hozzászóláshoz be kell jelentkezni
egyaltalan nem ismerem azt az arch-ot, de x86-nal is vannak olyan cpu vezerlo regiszterek, amit a bios letilt az hw init folyamat vegen, tehat az OS alol mar nem mukodnek. nem lehet itt is ilyesmi, hogy a bootloader letiltja, de ha valahogy raveszed menet kozben hw-esen egy resetre utana mar azert mukodik mert nem fut le ujra a letilto kod? (es pl. x86-nal voltak olyan erdekessegek bugok, hogy sleep-eles utan maskepp viselkedett, mert a cpu ujraindult de a bios nem futott le megegyszer ugye)
- A hozzászóláshoz be kell jelentkezni
Igenigen, azt siman el tudnam kepzelni hogy valami letiltja az 0xe000ed0c (SCB->AIRCR) regiszter irasat es/vagy az iras soran aktivalodott reset pulse-t. Csak ugye kerdes hogy mi. Ha csak ugy hasznalom az MCU-t akkor semmi ilyen nincs, cold start es/vagy hw reset utan irhato ez a regiszter, azaz a NVIC_SystemReset() mukodik. Ha rajta van a debugger es utana van hw reset akkor azutan is mukodik. Szoval marad az hogy a debugger racsatlakoztatasa (ott valami SWD aktivitas) valtja ki.
Hm... megnezem, hatha az mww maga tiltott... de nem valoszinu, kismillioszor hasznaltam. Vagy hatha kell egy mdw az mww elott... Mindemellett a debugger hw is sajat takolmany, de ez nagyon nem kene hogy gond legyen.
Őő... sleepelés utan miert kene ujraindulnia a biosznak? Vagyis ugy sleepeles hogy WFI vagy ugy mint a hibernalas? Na, ehhez sem ertek, pedig x86 (x <= 3) assemblyn nottem fel... de jo ilyeneket tanulni :)
- A hozzászóláshoz be kell jelentkezni
sleepelés utan miert kene ujraindulnia a biosznak?
hat pont ez az hogy nem kell es nem is indul ujra, de a cpu viszont igen, igy amit esetleg eredetileg letiltott az ilyenkor esetleg feloldohat :)
Vagyis ugy sleepeles hogy WFI vagy ugy mint a hibernalas?
wifi??? ugy ertem elaltatod a gepet (gyakorlatilag a memorian kivul minden off), kb mint a hibernalas, de nem annyira melyen (hibernalasnal a memoriatartalmat kiirja diskre es a ram is off). de ennyire en se ertek hozza csak olvasgattam errol sok eve. pedig en is x86 assemblyn nottem fel de meg a 286-386 idejen :)
- A hozzászóláshoz be kell jelentkezni
Ah, rosszul irtam a relaciot, nekem is x <= 3, persze...
WFI: wait for interrupt, de sok arch szereti sleep-nek hivni. Hogy az x86 minek hivja azt nem tudom :] [...] Ah, HLT, igen... de reg volt... Nem mintha anno az event driven dolgoknak olyan nagy divatja lett volna, ld még valodi operacios rendszerek hianya azokbol (x <= 2 ... 3) az idokbol...
ja hogy a context nem mentodik... de jo lehet...
- A hozzászóláshoz be kell jelentkezni