Re: STM32F427 nefukèní HAL_Delay()

Jan Waclawek konfera na efton.sk
Neděle Duben 7 15:55:00 CEST 2024


Nemali by ste nekriticky verit vsetkemu, co najdete na webe.

Ten #define USER_VECT_TAB_ADDRESS nerobi nic ine nez sposobi nastavenie
registra SCB_VTOR. U 'F4 pre normalny beh normalnej aplikacie, ktora je na
zaciatku FLASH, to urcite nie je potrebne ('L4 je uplne ina vec; navyse
nie je 'L4 ako 'L4). Je v tom nieco ine - ako to tam aj niekto z ST pisal,
napriklad pouzitie bootloadera.

Pouzivate bootloader (ci uz systemovy alebo svoj)? Ak nie, mate spravne
zapojeny pin BOOT0?

> Je tam pravděpodobně i další chyba, používám HSI, ale pro SysTick si to 
> nastaví jako zdroj hodin HSE 0x01 bity CLKSOURCE

SysTick ma zdroj hodin bud identicky so systemovymi hodinami, alebo to iste
deleno 8 (to je uloha toho SysTick_CTRL.CLKSOURCE). V SysTicku neexistuje
moznost si vybrat *zdroj* systemovych hodin (t.j. HSI/HSE/PLL), to sa deje
este predtym v RCC_CFGR.SW, vid diagram hodin v kapitole RCC v RM0090.

wek


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

Zdravím,
tak po dlouhém zkoumání i googlení jsem zjistil, že se jedná o chybu, 
která je známá už 2 roky viz: 
https://github.com/STMicroelectronics/STM32CubeF4/issues/113

stačilo v *system_stm32f4xx.c* odkomentovat *#define 
USER_VECT_TAB_ADDRESS *potom vše běží jak má... podle popisu se to týká 
všech L4 i F4 procesorů ikdyž mě to na F446 v nucleu běželo...

Je tam pravděpodobně i další chyba, používám HSI, ale pro SysTick si to 
nastaví jako zdroj hodin HSE 0x01 bity CLKSOURCE, ale krystal mám osazen 
a asi běží, zatím jsem to více nezkoumal...

Asi pro příště udělám u ST několik černých puntíků, pokud za 2 roky 
nedokázali opravit takto zásadní chybu, tak to o něčem vypovídá...

Jen pro zajímavost jsem si chtěl včera nainstalovat 
https://www.st.com/en/development-tools/st-link-server.html, bohužel ani 
jedna z verzí se mi celkem na 3 PC nenainstalovala, jen si to řeklo o 
admin práva a potom nic. Takže vzdálený debug nevyzkouším, jedině to 
zkusit rozjet na Raspberry a Linuxu, když Win verze nejde ani 
nainstalovat...

Tak děkuji všem za rady.

Libor

Dne 05.04.2024 v 16:36 Josef Kopal napsal(a):
> Zdravím,
>
> je nadefinovany systimer v projektu ?
>
> Pepa
>
> On Fri, Apr 5, 2024, 16:25 Libor <xlibor na tiscali.cz> wrote:
>
>     *.c
>     C++ nepoužívám.
>     Libor
>     Dne 05.04.2024 v 15:21 Kaliciak, Richard napsal(a):
>     > Dobry den,
>     >
>     > a zdrojovy kod ma priponu *.c alebo *.cpp?
>     > V pripade CPP to volanie treba zabalit do
>     >
>     > extern "C" void SysTick_Handler()
>     > {
>     >     RkSysTick::tick();
>     > }
>     >
>     >
>     > Richard Kaliciak
>     >
>     > Am 05.04.2024 um 15:03 schrieb Jan Waclawek:
>     > ...
>     >>
>     >>> SystinckHandler() a v něm se volá HAL_IncTick(), jak píšete v
>     dalším
>     >>> mailu.
>     >>
>     >> Ak sa ta funkcia naozaj vola SystinckHandler() tak to je problem.
>     >> Musi sa
>     >> volat presne tak, ako je uvedena v startup kode, s najvacsou
>     >> pravdepodobnostou
>     >> void SysTick_Handler(void)
>     >>
>     >>
>     >>
>     >> wek
>     >>




Další informace o konferenci Hw-list