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!