Forum: Mikrocontroller und Digitale Elektronik Q: STM32H743 External Interrupts HAL bindings


von Markus W. (dl8mby)


Angehängte Dateien:

Lesenswert?

Hallo Forum,
und
insbesondere STM32 Experten.

Ich habe ein Verständnisfrage zum Startcode von ST
(siehe startup_stm32h743xx.s) und den Header-Files
in STM32H7xx_HAL_Driver.

Ich habe mir in kleines bash Skript erstellt, das für
jede .word Zeile der "External Interrupts Tabelle" aus
dem o.g. .s-File ab Zeile 140 schaut, ob es einen zugehörigen
Eintarg in irgend einer .h Datei aus dem STM32H7xx_HAL_Driver\Inc
findet.

Wie Ihr meinem Output-File entnehmen könnt, gibt es
zu vielen Handler-Namen (aus dem .s Startcode) keine
Übereinstimmungen im STM32H7xx_HAL_Driver Verzeichnis.

Z.B. für

TIM1_TRG_COM_IRQHandler
TIM1_CC_IRQHandler
TIM2_IRQHandler
TIM3_IRQHandler

Kein Treffer im STM32H7xx_HAL_Driver\INC Verzeichnis.


Kann mir das jemand bitte erklären.

Habe ich noch im meiner Abfrage noch einen Wurm, oder
werden Tatsächlich nicht alle Vektoren der Interrupt-
Tabelle von der HAL bedient.


Danke schon mal im Vorrauch für die Mühe.

Markus
DL8MBY



PS.: Ich habe die H7 HAL aus dem git des micropython Projekts
https://github.com/micropython/stm32lib
gezogen und nicht aus der STM32CubeMX Software. Könnte es daran
liegen?

von A. B. (Gast)


Lesenswert?

Ein bisschen weiter in der Startup-Datei steht aber z. B.

   .weak      TIM1_TRG_COM_IRQHandler
   .thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler

   .weak      TIM1_CC_IRQHandler
   .thumb_set TIM1_CC_IRQHandler,Default_Handler

   .weak      TIM2_IRQHandler
   .thumb_set TIM2_IRQHandler,Default_Handler

   .weak      TIM3_IRQHandler
   .thumb_set TIM3_IRQHandler,Default_Handler

Diese Vektoren werden also alle auf den Default_Handler gesetzt, können 
aber bei Bedarf überschrieben werden (dazu das ".weak"). Ansonsten 
findet man die natürlich nicht irgendwo, denn diese Handler muss man 
schließlich selbst anlegen, wenn man sie denn braucht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.