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