mikrocontroller.net

Forum: Compiler & IDEs STM32 Vector Table IAR


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Leopold N. (leo_n)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich benutze IAR, um den STM32F103 zu programmieren.
Ich benutze keine StdPeriphal, HAL oder sonst eine Lib.
Man kann in IAR ja das Target angeben. Daraufhin generiert mir die IDE 
eine Vector Table, die aber nur die Vektoren vom Cortex M3 und nicht 
alle Vektoren des µCs enthält.
Wie kann ich das ändern?

Grüße

Autor: Lars F. (flemmy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Leopold,

Schau dazu doch mal in die Dokumentation des uC. Vielleicht gibt es da 
ja ein Kapitel zum Thema Interrupts. Das Kapitel könnte dann auch eine 
Vector Table beinhalten.
Damit könnte dann die Tabelle der IAR ergänzt werden.

Gruß

Autor: mal schauen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder ein screenshot von der Targetauswahl und von der 
Projektkonfiguration. Damit man sieht, welche header eingebunden sind.

Autor: Michael F. (michaelfu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

die Embedded Workbench generiert keine Vektortabelle, sondern nimmt per 
default eine minimale Startup Config, in der nur die "normalen" Cortex-M 
Interrupts definiert sind.

Man kann aber eines der Beispielprojekte als Vorlage nehmen:

Help => Information Center => Example Projects => ST => Download... => 
ST => STM32F1xx => STM32CubeF1 Embedded Software => STM32F103RB-Nucleo 
=> GPIO => Open Project => Speicherort auswählen

Wenn Du den Standard-Pfad für das Beispielprojekt belässt, dann findet 
sich in den Tiefen der Unterverzeichnisse ein startup_stm32f103xb.s, in 
dem die komplette Vektortabelle des µC drin sein sollte:

c:\Users{[Benutzername]\Documents\IAR Embedded 
Workbench\arm\8.32.3\ST\STM32F1xx\STM32Cube_FW_F1\Projects\STM32F103RB-N 
ucleo\Examples\GPIO\GPIO_IOToggle\EWARM

Dieses *.s einfach als Startpunkt ins eigene Projekt kopieren, wobei es 
natürlich nicht schadet, wenn man de Code von ST noch mal anschaut, ob 
er den eigenen Erwartungen entspricht ;-)

Autor: m.n. (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Leopold N. schrieb:
> Daraufhin generiert mir die IDE
> eine Vector Table, die aber nur die Vektoren vom Cortex M3 und nicht
> alle Vektoren des µCs enthält.

Dann sieh noch einmal genauer hin! In der startup_stm32F103xx.s sind 
alle Vectoren des betreffenden µC vorhanden.

Autor: Leopold N. (leo_n)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah ja dankeschön,

mit der startup_....s datei funzt es prima.

Danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.