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?
Gast
#5404651
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.