IAR startup code

Gast #4184519
Lesenswert?
• ▲
▼
Hallo,

Ich verwende z.Z. die IAR Embedded Workbench IDE V 7.40

Kann mir jemand sagen, wie man bei der IAR Embedded Workbench die 
startup Dateien für einen Kinetis uC automatisch einbinden kann? Nachdem 
ich ein C Projekt für meinen Controller (MK10DX128VLH7) angelegt habe, 
erscheint lediglich eine "nackte" main() Funktion. Diese enthält 
keinerlei Include Dateinen wie z.B. startup.h oder eine Interrupt Vektor 
Tabelle. Gibt es eine einfache Möglichkeit diese Dateien zu integrieren? 
Das sollte doch eigentlich ein Standartproblem prozessor- und 
fabrikatsübergreifend sein?!



Vielen Dank für eure Hilfe!
Gast #4184539
Lesenswert?
• ▲
▼
Was sollte der Startup code auch in main?
Er wird vor der Main gebarucht.

Bei der EWARM findest du bei Project settings -> Linker die Runtime 
Library Configuration und Default Program Entry (default: 
__iar_program_start)

Das ist der Startup, der sich um die grundsätzliche Einrichtung 
(Segmente kopieren, pointer setzen, etc) kümmert. Danach wird deine Main 
aufgerufen wenn alles schön läuft.

In dem Linker-Script sollten auch Interrupt Vektoren schon auftauchen, 
die, sollte dein Programm sie nicht überschreiben benutzt werden (weak 
link) Einfach die Interrupt Funktion mit diesen vorbereiteten Namen an 
der Stelle definieren, wie du sie brauchst und gut ist.
Gast #4184557
Lesenswert?
• ▲
▼
Hi danke für die Antwort!

Ich bin deiner Beschreibung gefolgt und konnte die Daten nachvollziehen. 
Jedoch waren diese Einstellungen bereits als "default Einstellungen" 
aktiviert. Muss ich die dort angegebenen Daten denn niergendwo 
includieren? Das kommt mir etwas komische vor...

p.s. Das Problem äußert sich übrigens beim debuggen. Sobald ich ein 
miniatur Programm auf den Controller flashe und dann versuche zu 
debuggen, erreiche ich meine main Funktion schon gar nicht. Vorher 
bricht der Debugger ab und macht einen reset.


Danke!
Gast #4184616
Lesenswert?
• ▲
▼
Es ändert natürlich nichts im Ablauf des Programms, aber du siehst nun 
wo es abbricht / resettet und den dann so erkannten Fehler beseitigen. 
(irgendwelche Zugriffe ausserhalb des Speichers? Sprung nach 0? etc)

Bricht es immer woanders ab, würd ich die HW mal prüfen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.