STM32F427 nefunkcni HAL_Delay()

Jan Waclawek konfera na efton.sk
Neděle Duben 7 22:26:33 CEST 2024


Som rad, ze sa zahada odzahadnila :-)

> Takµe, jestli jsem to správně pochopil se mi přesunuli vektory přeru±ení 
> někam jinam, 

Ten mechanizmus je trocha iny.

Tabulka vektorov v ARM Cortex-M4 je na adrese urcenej registrom SCB_VTOR,
ktory je po resete 0. 

V STM32F4xx sa pri resete sa navzorkuju piny BOOT0 a BOOT1, a na zaklade
ich stavu sa na adresu 0x0000'0000 namapuje (na-aliasuje) bud uzivatelska
FLASH (co je "standardny stav" ked je BOOT0 uzemneny), alebo tzv. System
memory (co je FLASH naprogramovana a zamknuta pri vyrobe a obsahuje
bootloader), alebo RAM. Takze prerusovacie rutiny su pouzite bud z
bootloadera alebo nejaka "nahodna" vec z RAM.

wek

PS. Ten STLink server nepoznam, ale na ladenie pouzivam gdb+OpenOCD, nie
sice dialkovo, ale nevidim dovod, preco by sa nemal takto dat pouzit.


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

Tak nakonec chyba byla na mém přijímači, BOOT0 mám přes 10k na zem, ale 
bohuµel to bylo blbě zapájené (0402), takµe tam bylo 10k + (>10M) :-(

Okometricky jsem to opakovaně kontroloval s pozitivním výsledkem, ale 
elektrometricky to bohuµel dopadlo jinak :-(

Takµe, jestli jsem to správně pochopil se mi přesunuli vektory přeru±ení 
někam jinam, tudíµ přeru±ení volalo někam úplně jinam neµ bylo 
očekáváno, tudíµ se nikdy nevrátilo.

Tak je±tě jednou děkuji za Vá± čas, na tohle bych asi nikdy sám 
nepři±el, moµná aµ bych z nouze sáhnul po druhém kuse, který tu mám a je 
trochu jinak variantně osazený. Ale v±e se zdálo po HW stránce funkční, 
takµe jsem podezříval FW, ale bylo mi divné, µe by tohle nikdo nezkusil 
a někde nehlásil...

Tak maµu ST černé puntíky, zůstává jen jeden malý za ten ST-link server, 
který mi nejde nainstalovat, ale bez toho dokáµu asi µít, chtěl jsem to 
jen zkusit. Chodí to někomu?

Libor
Dne 07.04.2024 v 15:55 Jan Waclawek napsal(a):
> 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



Další informace o konferenci Hw-list