TI C2000 und MatLAB Target Link: Interruptproblem

OP #1218012
Lesenswert?
• ▲
▼
Hallo,


ich muss mit dem C2000 von TI (genauer dem TMS320F28335) arbeiten. Dafür 
verwende ich das CodeComposerStudio v3.3 von TI zusammen mit 
MatLAB/Simulink und dem Target Link für den C2000.

Ein Projekt in reinem C-Code geschrieben und direkt im 
CodeComposerStudio kompiliert lief auf anhieb (einfach den PWM-Block, 
ADC-Block und GPIO-Ports angesteuert).

Jetzt wollte ich MatLAB/Simulink verwenden und konstruierte entsprechend 
die Blöcke. Kompiliert wird alles und es wird auch in den C2000 geladen 
und ausgeführt. Leider läuft das Programm nur wenige µs (PWM Blöcke 
laufen kurz an - sieht man am Oszi) und läuft sich dann in einem 
Interrupt fest (hab es durch Kommentierung der einzelnen Funktionen im 
erstellten C-Code herausgefunden). Der Interrupt kommt aber nicht von 
mir, da ich in dem einfachen Beispiel keine Interrupts verwenden wollte.
Selbst die mitgelieferten Demo-Beispiele zeigen das gleiche Verhalten. 
Muss man irgendwo noch Dateien im Simulink-Modell einbinden, dass die 
Interrupt-Vektoren anders initialisiert werden? Ich komme leider nicht 
weiter. Wäre nett, wenn hier jemand einen Tipp hätte. Auch einfache 
Modelle ohne Interrupts erzeugen diesen "Festlauf"-Interrupt.



Also nochmal kurz:

manueller C-Code: läuft

C-Code aus MatLAB/Simulink über TargetLink: startet und läuft in 
Interrupt fest - Kommentierung von "enable_interrupts();" in 
main-Funktion lässt Programm normal ausführen, allerdings brauche ich 
später die Interrupts (für PWM-gesteuerte ADC-Wandlung).


Warum erstellt Simulink diesen zusätzlichen Interrupt überhaupt 
automatisch?


Vielen Dank!
OP #1219916
Lesenswert?
• ▲
▼
Habs selber rausgefunden. War ein Bug in TargetLink für C2000 DSPs. Wer 
das gleiche Problem hat:

Die Datei 
"%MATLABINSTALLDIR%\R2009a\toolbox\rtw\targets\ccslink\ccslink\c2000\c28 
33xPeripherals.cmd"  öffnen und die Zeile "PieVectTableFile : > 
PIE_VECT,   PAGE = 1" als Zeile 79 einfügen. Danach kompiliert das 
Simulink- Modell und es wird hervorragend ausgeführt.

Naja, die Software kostet ja auch nix - da kann man ja schonmal so einen 
"kleinen" Bug erwarten.

ciao!

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.