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
Eigentlich habe ich daran nichts gemacht,werde aber trotzdem da mal nachschauen. Ich melde mich wieder. Danke mfg, Adrian
ä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 hast du auch ein *.mot file erzeugt im Toolmanager erzeugt? lmc308 <filename> Gruß Dietmar
Hallo Dietmar das habe ich nicht, ich dachte die lmc30 wird von nc30 zur verfügung gestellt, oder? 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
Hallo Dietmar, so jetzt habe ich es endlich. Es läuft. Danke euch allen für die erfolgreiche Unterstützung. Gruß Adrian
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.