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