Hallo,
ich arbeite seit kurzem mit dem Evaluationboard M16C von Glyn und habe
noch wennig Erfahrung. Ich benutze den NC30 Compiler und den KD30
Debugger. Nachdem ich ein Programm in den KD30 geladen habe, und step
by step durchlaufen möchte bleibt das Programm bei der Datei ncrt30
nach dem letzten Aufruf "ldintb #VECTOR_ADR" hängen und die
Verbindung zum EVB bricht ab.
Hat jemand eine Ahnung woran es liegen kann damit ich die Fehlersuche
einschränken kann? ( Ein anderes Programm (first.c aus dem example von
Tasking C-Compiler) lief jedoch einwandfrei.)
mfg,
Adrian
Der Debugger benutzt die Interruptvektoren für die UART1
Receive/Transmit. Vermutlich stimmt da Deine neue Vektortabelle nicht
mit der des Debuggers überein (hast Du daran herumgespielt?). Wenn Du
den KD30(8) nutzen willst und die Vektortabelle veränderst, solltest Du
darauf achten das die nötigen Einträge für den UART1 erhalten bleiben.
MooseC
ändere mal in ncrt0.a30 die adresse der vectortabelle,
weil der monitor jetzt dort wohnt.
z.b.
VECTOR_ADR .equ 0fbd00h ; vorher wars die 0ffd00h
vergiss den eintrag inder sect30.inc nicht.
.lword 0FF900h ; uart1 transmit(for user)(vector 19)
.lword 0FF900h ; uart1 receive(for user)(vector 20)
ralf
So habe jetzt beides wie oben beschrieben geändert. Leider konnte der
Fehler nicht behoben werden. Das merkwürdige dabei ist, dass der nc30
meiner Meinung nach ohne Fehler compiliert, sobald ich aber den Tool
Manager einsetze erscheint jedes mal die Fehlermeldung
ncrt0.a30 193 Error (ln30): .\ncrt0.r30 : '_main' value is
undefined.
Der KD30 bleibt wie im ersten Beitrag beschrieben weiterhin hängen und
bricht die Verbindung ab.
Da ich noch ein Anfänger bin, habe ich Probleme einige Programme zum
laufen zu bringen. Kann mir vielleicht jemand Schritt für Schritt
erklären wie ich ein Programm z.B das LED_Toggle welches sich auf der
GLYN CD-ROM befindet, erfolgreich in das EVB laden und simulieren kann?
Sobald ich das Programm(LED_Toggle) komplett von der CD übernehme incl.
der ncrta30 und sect30 Dateien, gibt es keine Probleme beim compilieren
und debuggen. Sobald ich aber nur die C -und H-Dateien übernehme mekert
der Compiler schon. Was muss ich tun um die Dateien zum laufen bringen.
Muss ich die ncrta30 und sect30 sowie die Batch-Datei selbst erzeugen
oder wird es automatisch erzeugt?
mfg,
Adrian
Hallo Adrian,
ich denke auf deiner Demo CD sind auch einige Programme, die laufen.
Wenn du den TM benutzt dann lad doch mal ein *.tmk file (Projektfile)
dann siehst du alle files, die der compiler benötigt.
Außerdem hast du dei Möglichkeit bei Erstellung eines Projektes
entweder die default ncrt0.a30 oder eine selbst gewählte ncrt0.a30
bestimmen. Dies solltest du machen, wenn du ein Projekt ordnungsgemäß
compiliert hast. Dann kopierst du diese STartdateien in das neu
erstellte Verzeichnis . Beim Projekt erstellen mußt du dann alle
Dateien die für dieses Projket gelten sollen auch im Toolmangager
auswählen. Nicht zu vergessen den Befehl lmc30 0der lmc308 (den lmc308
gibt es für die M32C MCU, ich nehme an, daß bei deiner MCU ein anderer
file notwendig ist).
Jedenfalls erstellt dieser ein *.mot file im Anschluß an den
Compiliervorgang. Damit kannst du dann deine cpu flashen.
Im TM auf all gehen, mit der rechten Maustaste
"edit item " , dann add command und im Fenster dann ein neues
KOmmando erstellen.
New: lmc308 <projektname> ( oder lmc30 <projektname> )eintragen.
lmc30 sollte bei dir im selben bin Verzeichnis stehen, wo der Compiler
steht.
Gruß
DIetmar
> ncrt0.a30 193 Error (ln30): .\ncrt0.r30 : '_main' value is> undefined.
hier fehlt die main() funktion. mach mal eine.
> hast du auch ein *.mot file erzeugt im Toolmanager erzeugt?> lmc308 <filename>
für das debuggen braucht er das noch nicht, später schon.
unter command steht anfangs nur:
$(LN) @$(ODINCMD)\$(LNLIST)
hinzufügen tust du das:
$(LMC) $(OUTDIR)\$(ABSFILE)
ralf
HAllo,
so habe jetzt endlich den KD30 zum laufen gebracht. Es lag doch an der
Vector Adresse (Danke Ralf). Die habe ich jetzt geändert und es läuft.
Jetzt muss ich noch den TM zum laufen bringen. Ich melde mich sobald es
läuft oder ich nicht weiter komme.
Gruß
Adrian
Da bin ich wieder,
so jetzt kann ich auch endlich mit dem TM compilen, muss aber noch die
*mot Datei erstellen.
Muss ich jetzt im project editor auf "all" rechte Maustaste und dann
auf Command um die $(LMC) $(OUTDIR)\$(ABSFILE) hinzufügen?
mfg,
Adrian
@Adrian,
es gibt viele Wege.
Geh mit der rechten MAustaste auf all, dann edit item
add command und dort ein neues Kommando erstellen(new).
lmc projektname.
Dietmar
PS: Ich weiß jetzt nicht genau wie der file bei dir heißt:
lmc oder lmc30, bei mir lmc308 aber für M32C83,
Schau doch mal im bin verzeichnis nach
@ Adrian,
Variante von Ralf ist besser.
Also auf <projekt>.x30 gehen, rechte maustaste,
edit item, add command, new command
und $(LMC) $(OUTDIR)\$(ABSFILE) eintragen.
Anhand der Variablen $LMC weiß dein compiler, welchen
file er nehmen muß.
Gruß
Dietmar