Re: Dotazy k STM32F103C8T6 a multiplexované řw616ZW7DrSBMRUQgZGlzcGxlamUu

Jan Waclawek konfera na efton.sk
Čtvrtek Březen 11 09:43:26 CET 2021


> V HAL je na to funkce NVIC_SystemReset()


Nie, to je funkcia CMSIS (t.j. netreba mat Cube/HAL).

V skutocnosti, v Cube/HAL na toto mate pouzivat funkciu
HAL_NVIC_SystemReset() , ta nerobi nic ine iba vola NVIC_SystemReset(),
ale poriadok je poriadok, ak raz Cubujete mali by ste sa toho drzat.

CMSIS je vec ARMu, preto je to "zakerne" schovane v tom Programming
Manuali, co je skratena verzia ARMovskej dokumentacie. (K tomuto by chcelo
odkaz na nejaky popis toho ze ktore vsetky dokumenty si treba nastudovat,
myslim, ze prave Vy ste to tu raz popisovali ale neviem to teraz narychlo
najst.)

wek


----- Original Message ---------------

Subject: Re: Dotazy k STM32F103C8T6 a multiplexované
řw616ZW7DrSBMRUQgZGlzcGxlamUu
   From: Jaroslav Buchta <jaroslav.buchta at hascomp.cz>
   Date: Thu, 11 Mar 2021 09:30:54 +0100
     To: hw-list at list.hw.cz

>Neni potreba WD, v CortexM jadrecg je registr s bitem, kterym se HW 
>reset přímo vyvolá. V HAL je na to funkce NVIC_SystemReset()
>ktera pro treba M0+ vypada takto:
>
>__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
>{
>__DSB(); /* Ensure all outstanding memory accesses included
>buffered write are completed before reset */
>   SCB->AIRCR  = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
>                  SCB_AIRCR_SYSRESETREQ_Msk);
>__DSB(); /* Ensure completion of memory access */
>
>for(;;) /* wait until reset */
>   {
>     __NOP();
>   }
>}
>
>Je to zakerne schovano v programming manualu.



Další informace o konferenci Hw-list