Forum: Mikrocontroller und Digitale Elektronik Absturz M16C62 im stanalone-Betrieb


von seicke (Gast)


Lesenswert?

Hallo Leute,
ich habe ein relative komplexes Programm auf dem M16C62P geschrieben.
Dieses habe ich wärend der Programmierphase immer mit dem KD30 Debugger 
getestet. Das Programm läuft auch super stabil wenn ich es über den KD30 
laufen lasse. Sobald ich es aber auf den Controller flashe, stürzt es 
immer ab. Kommischer Weise springt es dann immer auf den gleichen Punkt 
im Hauptmenü. Ich habe keine Ahnung warum, das Programm gerade an diese 
Stelle springt. Es es ist halt das erste Unterprogramm mit A was in der 
Renesas EDE ganz oben steht. Eventuell tut das der Linker auch in der 
Reihenfolge zusammen bauen.

Kennt jemand die Initilisierungseinstellungen vom KD30 oder hat Jemand 
eine INI-Datei um dem Controller die identischen Einstellungen zu 
verpassen?

von Obelix (Gast)


Lesenswert?

Für den KD30 müsse die Interruptvectoren für die Debug-Schnittstelle auf 
den Debugger zeigen. Flashst du das jetzt ohne Debugger, musst du diese 
Interruptvectoren evtl wieder ändern.

von seicke (Gast)


Lesenswert?

Danke für deine Antwort.

Ich glaube auch, dass das mit dem Fehlenden Debugger zusammen hängt.
Aber ich weiß nicht wie?
Ich mach das ja über die serielle Schnittstelle und da ist in 
standalone-Betrieb ja überhaupt nichts angeschlossen. Also dürfte auch 
kein Interrupt ausgelöst werden.
Aber ich gebe dir Recht, dass irgend etwas einen Sprung auf immer die 
selbe Programmstelle auslöst.

Ich verstehe auchnicht was die EDE da schon von alleine für Code erzeugt 
um mit dem vordefinierten M16C62P zu kommunizieren. Mann stellt da ja 
sogar die Größe der Speicher genau ein.

Kann mann sie die jeweiligen Einstellunge anzeigen lassen? Am besten in 
C, da ich mit dem AssemblerCode nicht so klar komm.

von Obelix (Gast)


Lesenswert?

Alle Voreinstellungen liegen normalerweise in der ncrt9.a30 und 
sect30.inc.

von seicke (Gast)


Lesenswert?

Kann mir da noch Jemand was Genaueres sagen?

Die Dateien habe ich wohl. Was im Einzelnen aber was bedeutet weiß ich 
leider auch nicht.
Kann mir Jemand den Unterschied zu den Startdateien vom KD30 sagen?

Bin schon etwas verzeifelt und mach damit auch schon Wochen rum.
Danke für Eure Hilfe.

von Obelix (Gast)


Lesenswert?

Eine Erklärung für die beiden Dateinen findest du auf eu.renesas.com . 
Ich mach das bei solchen Problemen immer so, ich kürze das Programm bis 
zum geht nicht mehr, also das nur noch ein Grundgerüst übrig bleibt und 
teste dann noch einmal. Geht es, wird ein Teil des Codes hinzugefügt und 
wieder getestet, usw.

von M16C Fan (Gast)


Lesenswert?

Haste Du auch diee Prozessormoderegister/ Clockregister in Deinem 
Programm gesetzt ???
PLL evtl eingeschaltet ???

Dies wird nämlich durch das Monitorprogramm gemacht und man vergisst 
schnell das man im Release diese Grundeinstellungen selber vornehmen 
muss.

Auch solltest Du mal überprüfen ob Du den INTB richtig setzt (INTB ist 
die Basisadresse der Int-Vec-Tabelle).

Findest Du im KD30 im Register-Fenster.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.