Software(probleme) bei Installation, mit Compiler, Debugger

Postby jennic » Wed May 30, 2007 12:00 am

Hinweise zur Installation der R8C Software unter Windows 2003 --> Fehler -5006 ...
Dieser Beitrag ist für Leute gedacht, die bei der Installation der R8C Software unter Windows 2003 in folgenden Fehler "reinlaufen": Programme lassen sich nicht installieren: Error Code: -5006 : 0x80070002
Abhilfe schaffte nur das Kopieren der Installationsdateien auf die lokale Festplatte und das Umbenennen dieser in setup.exe.
Danach ließ sich die Software einwandfrei installieren.
Das zusätzliche Fenster, das "aufpoppt", wenn man die setup.exe startet ist von Windows und darf erst nach der Installation geschlossen werden. Unter Windows 2003 hat sich wahrscheinlich der interne Installer geändert!
Micha

Programm lief nur ein mal
Unter Options muss in FTD angeklickt sein:
Erase Program Before Program und AutoDisconnect, damit die RS232 beim nächsten Mal wieder frei ist. Sonst muss man FDT erst ganz verlassen und neu starten. Das ist überhaupt das Mittel der Wahl, wenn es mal klemmt.

R8C - ID Check Fehler
Die meisten Fehler werden durch das Betriebssystem verursacht. So melden z.B. Windows NT und Windows 2000 durch eine fehlerhafte Ausgabe-API versendete Zeichen, obwohl diese noch gar nicht draußen sind. Je schneller der Rechner ist, desto eher treten Probleme auf. Der Flashstart läuft deshalb z.B. unter Windows98 und Windows XP einwandfrei, während er unter NT und 2000 Probleme hat.
Der FDT wurde neu überarbeitet und läuft jetzt nur noch unter Windows XP problemlos.
Zum ID-Problem:
Der Bootloader des R8C lädt nach dem Kontakt mit dem Flashstart, FDT, HEW (mit E8) oder KD30 einen erweiterten Loader bzw. Mini-Monitor in das SRAM des R8C.
Beim Einschalten des R8c oder Reset prüft der Bootloader bestimmte Speicherstellen, ob sich ein ausführbares Programm im SRAM befindet und springt dort hinein. Der KD30 sowie auch der Flashstart (wahrscheinlich auch der FDT) führen im Betrieb öfter Software Resets aus um den Ursprungszustand der Register wieder herzustellen.
Hat das Programm im SRAM durch Betriebsspannungsprobleme oder durch fehlerhafte User-Programme (Debuggen mit dem KD30) einen fehlerhaften Inhalt, so kommt es zu seltsamen Effekten. Der R8C kommuniziert plötzlich nicht mehr mit dem FDT oder Flashstart; ID-Errors werden gemeldet usw.. Auch wenn man ständig zwischen KD30 und Flashstart wechselt, tritt dieses Problem auf.
So bekommt man das Problem wieder in den Griff: Einfach die MCU mal einige Minuten spannungslos machen. Am besten das Board auf ein Moosgummi stecken. Nach kurzer Zeit ist der Inhalt vom SRAM wieder schön durcheinander und der Bootloader möchte dieses wieder laden. Plötzlich funktionieren KD30, Flashstart und der FDT wieder.
Auch hier gibt es auch noch ein Problem mit dem ID:
Hat man sein eigenes Programm geflasht und möchte danach wieder den KD30 verwenden, so muss der ID des geladenen Programms "FF FF FF FF FF FF FF" sein.
Ist der ID anders, so kann der KD30 das User-Programm nicht automatisch löschen. Das gilt auch für den E8.
Abhilfe: Den R8C mit dem Flashstart oder FDT vorher löschen.
Übrigens, der KD30 flasht den R8C bei jedem Download. Wenn man im eigenen Programm darauf geachtet hat, dass der interne 8MHz Oszillator läuft, oder dass der externe 20MHz Quarz schwingt, braucht man nicht einmal ein Flash-Programm....
Gunther

Fehler beim Compilieren nach HEW Installation
Ich habe die HEW samt Compiler und FDT mit den Standardeinstellungen auf C: installiert und dann mal versucht ein kleines Testprogramm zu compilieren. Das hat soweit auch alles funktioniert. Die Programmierung mit FDT funktionierte auch und der Controller hat das getan was er sollte. Am nächsten Tag wollte ich dann das gleiche noch mal machen und da fing dann das Problem an. Der Compiler spuckte immer drei Fehlermeldungen aus obwohl ich das gleiche Programm übersetzen wollte.
Die Lösung des ganzen war dann, dass ich bei der Installation Administratorrechte auf C: hatte, die ich am nächsten Tag nicht mehr besaß. Der NC30-Compiler versucht beim Übersetzungsvorgang temporäre Dateien anzulegen (Variable TMP30). Wenn er das nicht kann, gibt es eine Fehlermeldung. Es empfiehlt sich also nach der Installation die Variable TMP30 auf einen Pfad zu setzen, auf dem man Schreibzugriff hat. Die entsprechende Einstellung findet man in der HEW unter Tools->Administration->Toolchain->Properties... ->Registerkarte 'Environment'-> TMP30
Ralf

Installation des FDT: Probleme mit dem Temp-Verzeichnis
Um Probleme mit angeblichem Speichermangel im Temp-Verzeichnis, sowie seltsame Zeichen bei der Installation zu beseitigen geht man so vor: Im Windows den "Start"-Button anklicken und dann auf "Ausführen..." klicken. Jetzt %temp% eingeben und dann die angezeigten Dateien löschen. Danach sollte die Installation funktionieren.
Gunther

Meldung: License expires in 60 days
Keine Sorge, bei mir sind die 60 Tage schon um. Bei mir steht jetzt:
Warning (ln30): License has expired, code limited to 64K (10000H) Byte(s)
Also 64 K darf ich noch, aber in den R8C/13 passen ja nur 16 K rein. Also geht alles weiter wie bisher.
Burkhard

Problem R8C und Debugger KD30
Ich vermute, bei meiner Testschaltung reagiert der 20MHz Quarz auf dem Board empfindlich. Ist die Unterseite der Lochrasterplatine zu nah am Labortisch stürzt der KD30 ab (reproduzierbar). Die Fingerspitze in der Nähe von Pin4 und Pin6 provoziert den gleichen Effekt.
Jens
Der KD30 verwendet immer den Quarz. Also wenn irgendwas den Quarz bremst, bricht die Kommunikation zusammen. Mit dem Finger müsste man es auch schaffen.
Dass der KD30 nicht mehr will, habe ich auch schon erlebt. Ursache war bisher z.B., dass der Pfad auf die Eingabedatei nicht stimmte. Und dann gibt es auch jede Menge Programme, die den KD30 stören, weil sie die Debug-Schnittstelle verwenden. Ganz wichtig ist auch, niemals Reset zu drücken. Burkhard
Ein Problem sind oft auch Virenscanner, die die Schnittstellen überwachen. Bitte nicht alle die Virenscanner ausschalten sondern nur besser Die Verbindung zum Netz trennen, wenn man debuggen will.
Alex
Ich habe die Versorgungsspannung (3,3V) besser abgeblockt (10uF) und die Leitungsführung auf der Rasterplatte geändert (TXD11) verlief nahe am Pin6 (Xin). Jetzt arbeitet der R8C deutlich besser mit dem KD30 zusammen.
Jens

R8C/13 Speicherbelegung
Wenn Du dich mal fragst, wo dein Speicher geblieben ist dann kannst du das nachschauen.
Es gibt in den Verzeichnissen Debug und Release eine Datei mit dem Namen deines Projekts und der Endung .map. Darin steht genau wo jedes einzelne Byte geblieben ist.
Du kannst dort z.B einen Bereich HEAP sehen. Den fragt die Oberfläche bei der Erstellung eines neuen Projekts ab und gibt 0x300 vor. Wenn man das übernimmt dann ist fast dein gesamter Speicher nur Heap. Nun brauchen wir aber bei unseren Programmen eigentlich keinen Heap. Der ist nur für malloc gedacht. Also am besten wieder verkleinern. Das muss man in den Einstellungen für Debug und Release getrennt vornehmen!
Olaf

Dateien des Compilers
Die sect30.inc Datei ist eine Include-Datei für das Assembler File ncrt0.a30. Also eine Definitionsdatei die ähnlich wie eine *.h-Datei für eine C-Quelle funktioniert. In der sect0.inc werden alle Speicherbereiche für den R8C festgelegt. D.h. es wird definiert wo Variablen und Code im fertigen Programm abgelegt werden. Weiterhin werden hier auch die Interrupt-Vektoren festgelegt. Die ncrt0.a30-Datei stellt den Startup-Code dar. Das bedeutet, dass diese Assembler-Datei den Einsprungpunkt für das spätere Programm darstellt. Hier werden z.B. bestimmte Variablenbereiche genullt und andere mit den Initialisierungswerten belegt. Zu guter Letzt ruft diese Datei die main()-Funktion auf.
Ralf
In r8csm_rev100.pdf findest Du eine Menge Befehle.
Oder zu C: rej10j0820_m16ccompiler_s.pdf und nc30wane.pdf auch auf der CD, was aber keine Kenntnisse in C ersetzt. Über die HEW bekommt man auch noch ne Menge zu lesen.
M16C-User





jennic
 
Posts: 226
Joined: Fri Jan 03, 2014 1:48 pm

Postby burkhard kainka » Wed May 30, 2007 12:00 am

Zum Debugger K30
Die Seite zum Debugger wurde gestern noch mal berichtigt. Das steht jetzt genauer, wie man den Debugger in der Entwicklungsumgebung verwendet.
http://www.elektor.de/Default.aspx?tabid=118
burkhard kainka
 
Posts: 736
Joined: Thu Jan 02, 2014 10:41 am

Postby diehol » Wed May 30, 2007 12:00 am

Original von jennic vom 01.12.2005 13:27:27
Hinweise zur Installation der R8C Software unter Windows 2003 --> Fehler -5006 ...
Dieser Beitrag ist für Leute gedacht, die bei der Installation der R8C Software unter Windows 2003 in folgenden Fehler "reinlaufen": Programme lassen sich nicht installieren: Error Code: -5006 : 0x80070002
Abhilfe schaffte nur das Kopieren der Installationsdateien auf die lokale Festplatte und das Umbenennen dieser in setup.exe.
Danach ließ sich die Software einwandfrei installieren.
Das zusätzliche Fenster, das "aufpoppt", wenn man die setup.exe startet ist von Windows und darf erst nach der Installation geschlossen werden. Unter Windows 2003 hat sich wahrscheinlich der interne Installer geändert!
Micha

Programm lief nur ein mal
Unter Options muss in FTD angeklickt sein:
Erase Program Before Program und AutoDisconnect, damit die RS232 beim nächsten Mal wieder frei ist. Sonst muss man FDT erst ganz verlassen und neu starten. Das ist überhaupt das Mittel der Wahl, wenn es mal klemmt.

R8C - ID Check Fehler
Die meisten Fehler werden durch das Betriebssystem verursacht. So melden z.B. Windows NT und Windows 2000 durch eine fehlerhafte Ausgabe-API versendete Zeichen, obwohl diese noch gar nicht draußen sind. Je schneller der Rechner ist, desto eher treten Probleme auf. Der Flashstart läuft deshalb z.B. unter Windows98 und Windows XP einwandfrei, während er unter NT und 2000 Probleme hat.
Der FDT wurde neu überarbeitet und läuft jetzt nur noch unter Windows XP problemlos.
Zum ID-Problem:
Der Bootloader des R8C lädt nach dem Kontakt mit dem Flashstart, FDT, HEW (mit E8) oder KD30 einen erweiterten Loader bzw. Mini-Monitor in das SRAM des R8C.
Beim Einschalten des R8c oder Reset prüft der Bootloader bestimmte Speicherstellen, ob sich ein ausführbares Programm im SRAM befindet und springt dort hinein. Der KD30 sowie auch der Flashstart (wahrscheinlich auch der FDT) führen im Betrieb öfter Software Resets aus um den Ursprungszustand der Register wieder herzustellen.
Hat das Programm im SRAM durch Betriebsspannungsprobleme oder durch fehlerhafte User-Programme (Debuggen mit dem KD30) einen fehlerhaften Inhalt, so kommt es zu seltsamen Effekten. Der R8C kommuniziert plötzlich nicht mehr mit dem FDT oder Flashstart; ID-Errors werden gemeldet usw.. Auch wenn man ständig zwischen KD30 und Flashstart wechselt, tritt dieses Problem auf.
So bekommt man das Problem wieder in den Griff: Einfach die MCU mal einige Minuten spannungslos machen. Am besten das Board auf ein Moosgummi stecken. Nach kurzer Zeit ist der Inhalt vom SRAM wieder schön durcheinander und der Bootloader möchte dieses wieder laden. Plötzlich funktionieren KD30, Flashstart und der FDT wieder.
Auch hier gibt es auch noch ein Problem mit dem ID:
Hat man sein eigenes Programm geflasht und möchte danach wieder den KD30 verwenden, so muss der ID des geladenen Programms "FF FF FF FF FF FF FF" sein.
Ist der ID anders, so kann der KD30 das User-Programm nicht automatisch löschen. Das gilt auch für den E8.
Abhilfe: Den R8C mit dem Flashstart oder FDT vorher löschen.
Übrigens, der KD30 flasht den R8C bei jedem Download. Wenn man im eigenen Programm darauf geachtet hat, dass der interne 8MHz Oszillator läuft, oder dass der externe 20MHz Quarz schwingt, braucht man nicht einmal ein Flash-Programm....
Gunther

Fehler beim Compilieren nach HEW Installation
Ich habe die HEW samt Compiler und FDT mit den Standardeinstellungen auf C: installiert und dann mal versucht ein kleines Testprogramm zu compilieren. Das hat soweit auch alles funktioniert. Die Programmierung mit FDT funktionierte auch und der Controller hat das getan was er sollte. Am nächsten Tag wollte ich dann das gleiche noch mal machen und da fing dann das Problem an. Der Compiler spuckte immer drei Fehlermeldungen aus obwohl ich das gleiche Programm übersetzen wollte.
Die Lösung des ganzen war dann, dass ich bei der Installation Administratorrechte auf C: hatte, die ich am nächsten Tag nicht mehr besaß. Der NC30-Compiler versucht beim Übersetzungsvorgang temporäre Dateien anzulegen (Variable TMP30). Wenn er das nicht kann, gibt es eine Fehlermeldung. Es empfiehlt sich also nach der Installation die Variable TMP30 auf einen Pfad zu setzen, auf dem man Schreibzugriff hat. Die entsprechende Einstellung findet man in der HEW unter Tools->Administration->Toolchain->Properties... ->Registerkarte 'Environment'-> TMP30
Ralf

Installation des FDT: Probleme mit dem Temp-Verzeichnis
Um Probleme mit angeblichem Speichermangel im Temp-Verzeichnis, sowie seltsame Zeichen bei der Installation zu beseitigen geht man so vor: Im Windows den "Start"-Button anklicken und dann auf "Ausführen..." klicken. Jetzt %temp% eingeben und dann die angezeigten Dateien löschen. Danach sollte die Installation funktionieren.
Gunther

Meldung: License expires in 60 days
Keine Sorge, bei mir sind die 60 Tage schon um. Bei mir steht jetzt:
Warning (ln30): License has expired, code limited to 64K (10000H) Byte(s)
Also 64 K darf ich noch, aber in den R8C/13 passen ja nur 16 K rein. Also geht alles weiter wie bisher.
Burkhard

Problem R8C und Debugger KD30
Ich vermute, bei meiner Testschaltung reagiert der 20MHz Quarz auf dem Board empfindlich. Ist die Unterseite der Lochrasterplatine zu nah am Labortisch stürzt der KD30 ab (reproduzierbar). Die Fingerspitze in der Nähe von Pin4 und Pin6 provoziert den gleichen Effekt.
Jens
Der KD30 verwendet immer den Quarz. Also wenn irgendwas den Quarz bremst, bricht die Kommunikation zusammen. Mit dem Finger müsste man es auch schaffen.
Dass der KD30 nicht mehr will, habe ich auch schon erlebt. Ursache war bisher z.B., dass der Pfad auf die Eingabedatei nicht stimmte. Und dann gibt es auch jede Menge Programme, die den KD30 stören, weil sie die Debug-Schnittstelle verwenden. Ganz wichtig ist auch, niemals Reset zu drücken. Burkhard
Ein Problem sind oft auch Virenscanner, die die Schnittstellen überwachen. Bitte nicht alle die Virenscanner ausschalten sondern nur besser Die Verbindung zum Netz trennen, wenn man debuggen will.
Alex
Ich habe die Versorgungsspannung (3,3V) besser abgeblockt (10uF) und die Leitungsführung auf der Rasterplatte geändert (TXD11) verlief nahe am Pin6 (Xin). Jetzt arbeitet der R8C deutlich besser mit dem KD30 zusammen.
Jens

R8C/13 Speicherbelegung
Wenn Du dich mal fragst, wo dein Speicher geblieben ist dann kannst du das nachschauen.
Es gibt in den Verzeichnissen Debug und Release eine Datei mit dem Namen deines Projekts und der Endung .map. Darin steht genau wo jedes einzelne Byte geblieben ist.
Du kannst dort z.B einen Bereich HEAP sehen. Den fragt die Oberfläche bei der Erstellung eines neuen Projekts ab und gibt 0x300 vor. Wenn man das übernimmt dann ist fast dein gesamter Speicher nur Heap. Nun brauchen wir aber bei unseren Programmen eigentlich keinen Heap. Der ist nur für malloc gedacht. Also am besten wieder verkleinern. Das muss man in den Einstellungen für Debug und Release getrennt vornehmen!
Olaf

Dateien des Compilers
Die sect30.inc Datei ist eine Include-Datei für das Assembler File ncrt0.a30. Also eine Definitionsdatei die ähnlich wie eine *.h-Datei für eine C-Quelle funktioniert. In der sect0.inc werden alle Speicherbereiche für den R8C festgelegt. D.h. es wird definiert wo Variablen und Code im fertigen Programm abgelegt werden. Weiterhin werden hier auch die Interrupt-Vektoren festgelegt. Die ncrt0.a30-Datei stellt den Startup-Code dar. Das bedeutet, dass diese Assembler-Datei den Einsprungpunkt für das spätere Programm darstellt. Hier werden z.B. bestimmte Variablenbereiche genullt und andere mit den Initialisierungswerten belegt. Zu guter Letzt ruft diese Datei die main()-Funktion auf.
Ralf
In r8csm_rev100.pdf findest Du eine Menge Befehle.
Oder zu C: rej10j0820_m16ccompiler_s.pdf und nc30wane.pdf auch auf der CD, was aber keine Kenntnisse in C ersetzt. Über die HEW bekommt man auch noch ne Menge zu lesen.
M16C-User








diehol
 
Posts: 2
Joined: Fri Jan 03, 2014 1:49 pm

Postby diehol » Wed May 30, 2007 12:00 am


Projektdatei ungültig??

Zunächst: Sorry, wegen des unbedachten Klicks zuvor.
Mein Problem: HEW lehnt das Öffnen jedes geladenen Projektes mit dem Hinweis ab, die Datei *.hws sei ungültig. Es ist auf die Dauer lästig, immer neue Projekte zu erzeugen und die Dateien der geladenen dorthin zu kopieren.
diehol
 
Posts: 2
Joined: Fri Jan 03, 2014 1:49 pm

Postby stefan102 » Wed May 30, 2007 12:00 am

Hallo Leute!

Habe Probleme beim compilieren:
Ich habe versucht die Programm-Beispiele welche in den Application-Notes aufgeführt sind auszuprobieren.
Mit "Build All" habe ich dann versucht das Projekt fertigzustellen und bekam null Fehler und ein paar Warnungen als Resultat genannt.
Es erscheint eine Meldung das eine Datei mit Endung .x30 erstellt wurde, anschliessend kann aber auf diese nicht zugegriffen werden.
Diese Meldung stammt vermutlich vom Compiler.
Im Endeffekt bekommt man kein fertiges Programm welches man mit dem FDT in den Controller laden könnte...???
Woran könnte dies liegen?
Wäre nett wenn mir jemand von Euch helfen könnte!

MfG.
stefan102
 
Posts: 29
Joined: Fri Jan 03, 2014 1:48 pm

Postby Guest » Wed May 30, 2007 12:00 am

Mögliche Probleme bei den Beispielen:
Nachdem man von der CD kopiert hat kann es sein das alle Dateien schreibgeschützt sind, also prüfen und Schreibschutz aufheben.
Die Projektdatei für die HEW hat die Endung .hws und wird mit "File" -> "Open Workspace" geöffnet.
beim Ersten öffnen meckert HEW das die Dateien verschoben wurden, den Dialog einfach mit "Ja" quittieren, einmal Speichern dann sollte wieder alles stimmen.
Leerzeichen im Pfad sollen auch Probleme bereiten.

Warnungen und Errors sollten bei den Beispielen überhaupt nicht erscheinen, wenn doch dann mal genau lesen was da steht, da sollte schon ein erster Hinweis auf das Problem hindeuten.
Guest
 

Postby rabe » Wed May 30, 2007 12:00 am

Hallo

ich bekomme den KD30 nicht zum laufen ,entweder er meckert, das er eine .scr _Datei nicht findet oder er bricht mit einem Fehler 16221 ab.
Hat jemand eine Idee wie ich das in den Griff bekomme ?


Danke
Gruß
RaBe
rabe
 
Posts: 15
Joined: Fri Jan 03, 2014 1:49 pm

Postby andreas2048 » Wed May 30, 2007 12:00 am

Hallo,
habe ähnliches Problem.Der start von KD30 läuft normal.Nachdem ich die Anwendung über Download/load Module lade so kommt bei den auf der CD vorhandenen Beispielen (z.B. Toogle) die Meldung ERROR401 Can´t find source file ncrt0.a30. Die Datei ist natürlich vorhanden. Als Folge davon kann ich die Source Schaltfläche nicht öffnen (gleiche Fehlermeldung)

Wer macht hier den Fehlerß? Computer oder Mensch?

Viele Grüsse Andreas
andreas2048
 
Posts: 110
Joined: Fri Jan 03, 2014 1:47 pm

Postby burkhard kainka » Wed May 30, 2007 12:00 am

Mir ist dazu folgendes aufgefallen: Wenn man ein neues Projekt anfängt, stimmen das Hauptverzeichnis, das Unterverzeichnis, der Projektname und das C-File exakt überein. Dann findet der KD30 alles, was er sucht. Sobald ich z.B. das Gundverzeichnis umbenenne, ist es damit vorbei. Anscheinend leitet der KD30 aus dem Projektnamen alle gesuchten Dateinamen ab.
burkhard kainka
 
Posts: 736
Joined: Thu Jan 02, 2014 10:41 am

Postby -ernesto- » Wed May 30, 2007 12:00 am

Hallo,
in der .x30 Datei die vom KD30 geladen wird , sind alle
Unterverzeichnisse gespeichert.
Von da holt sich der KD30 die Informationen, werden die Verzeichnisse geänder, so kommt der Emulator ins Schleudern
-ernesto-
 
Posts: 13
Joined: Fri Jan 03, 2014 1:49 pm

Next

Return to Das R8C-Projekt

Who is online

Users browsing this forum: No registered users and 1 guest