www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik M16C mit KPIT GNU Compiler


Autor: Michael H. (stronzo83)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich habe hier ein Evalboard von Glyn mit einem M16C/62A Mikrocontroller 
von Renesas (M30624FGAFP). Das habe ich schon erfolgreich mit dem 
(leider auf 64kB begrenzen) Renesas Compiler verwendet und wollte jetzt 
auf den KPIT GNU Compiler (mit Renesas HEW) umsteigen.
Für den Einstieg habe ich ein einfaches Testprogramm, das ein paar 
Portpins toggelt und mit dem NC30 Compiler wie gewollt läuft mit dem Gnu 
Compiler übersetzt. Das ging, ich konnte es auch auf den Controller 
laden, nur leider war der herzlich wenig beeindruckt und hat keinen 
Mucks von sich gegeben.

Der Startup Code sieht für mich stimmig aus, so dass ich etwas ratlos 
bin. Hatte schon jemand ähnliche Probleme und konnte sie lösen? Oder hat 
sonst jemand einen Tipp für mich? Dafür wäre ich wirklich dankbar!

Viele Grüße
Michael

Autor: nixKönner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vllt. hilft eher einer, wenn du den code postest; oder das projekt als 
zip file?

Autor: Michael H. (stronzo83)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Code ist alles andere als spannend, wie gesagt werden lediglich ein 
paar Portpins getoggelt.
Mir ist allerdings aufgefallen, dass beim NC30 ein 3kB großes mot File 
erzeugt wird, beim GNU kommt nur 1kB heraus...

Gruß
Michael

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Glaskugel kaputt.

Autor: Günther (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur am Rande: die 64 KB Grenze konnte man zumindest früher beim KPIT 
Compiler auc nicht überschreiten. Vielleicht gehts mit neueren Versionen 
ja.

Autor: Northernhessian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann mich nur 'nixKönner' anschließen, und Dich bitten, das Projekt 
als *.zip Datei mal hier reinzustellen. Dann kann man schauen, was Du wo 
in der HEW verstellt, bzw. nicht eingestellt hast.

Autor: Michael H. (stronzo83)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,
hier also ein Minimalbeispiel als zip.

Dasselbe mit dem NC 30 toggelt brav den Port.
Konfigurieren der System Clock Register usw. (ja an die protect bits 
habe ich gedacht) bringt leider nichts.

Hat jemand eine Idee?

Gruß
Michael

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der main() steht:

  pd10.byte=0xff;

  while (1)
  {
    p10_0=~p10_0;
  }

Probier mal statt der ersten Zeile dies hier:

  pd10_0 = 1;

Und in der while Schleife entweder nur

  p10_0 = 1;

oder

  p10_0 = 0;

Wenn eine von beiden Zeilen die LED zum Leuchten bringt, dann ist der 
Wechsel zwischen on/off einfach zu schnell und du brauchst ein delay in 
der Schleife. Wenn nicht hast du evtl. den falschen Pin erwischt? Oder 
es fehlt ein weiterer Hardware-Init irgendwo (kenn mich mit M16C nicht 
wirklich aus).

Funktioniert eines der Beispiele von hier?

http://www.kpitgnutools.com/Sample_Tutorials.html

Autor: Volker Zabe (vza)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,
ein blick in die MAP-Datei verrät mir das die Fixed-vektor-table am 
Anfang deines Flashbereiches liegt. Sie muss aber an das Ende (0x0FFFDC) 
des Flasches stehen.

Mit deinen Speichersegmanten stimmt was nicht.

Da ich NC30 (ohne HEW) benutze kann ich dir hier nicht weiter helfen.

Volker

Autor: Michael H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Volker,
sowas in der Art hatte ich schon vermutet bzw. befürchtet. Mal sehen ob 
ich das hinbiegen kann :(
Oder hat jemand mit Erfahrung einen Tipp?
Danke jedenfalls für den Hinweis.

@ Peter
Danke für deine Mühe, aber daran liegt es nicht. Ob ich alle Portpins 
auf Ausgang setze oder nur einen ändert nichts und da keine LED sondern 
ein Oszi am Pin hängt sehe ich in jedem Fall, ob sich was tut oder 
nicht.
Ich bin kein Renesas oder Controller Anfänger, lediglich mit dem GNU 
Compiler hatte ich noch nicht zu tun.

Gruß
Michael

Autor: Michael H. (stronzo83)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerade habe ich mal wieder Zeit gefunden, dem Problem weiter auf den 
Grund zu gehen. Dabei habe ich gemerkt, dass das vom NC30 Compiler 
erzeugte map File die fixed vector Tabelle auch am Ende zeigt:

# SECTION    ATR TYPE    START  LENGTH
fvector      ABS ROMDATA 0FFFFC 000004

Hat noch jemand eine Idee? Irgendetwas muss ich wohl noch grundsätzlich 
falsch machen.
Mit den Standardeinstellungen der Toolchain sollte doch ein lauffähiges 
Programm zu erstellen sein!?

Bin für jeden Tipp dankbar.

Gruß
Michael

Autor: Ludger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe zwar keine 62A sondern nur noch 62P Prozessoren auf meinen 
Boards, jedoch der Angehaengte Blinker aus den Samples von KPIT geht :-)

Meine GLYN Boards haben aber die LED an Port 5 Bit 0.

Autor: Michael H. (stronzo83)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, werde ich mir ansehen sobald ich dazukomme.
Momentan bin ich erstmal beim NC30 geblieben, mit dem ich bestens 
zurechtkomme.
Falls mich das mit dem M16C in Verbindung mit dem KPIT noch weiter 
ärgert, werde ich vielleicht auch mal einen meiner R8C damit versuchen.

Gruß
Michael

Autor: Michael H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einer neuen Version der KPIT toolchain lief jetzt alles auf Anhieb 
ohne Probleme - wahrscheinlich war in der alten Installation irgendwo 
der Wurm drin. Mit dem Renesas Compilter programmiert es sich zwar 
komfortabler, aber da ich mit Gnu die volle Codegröße meines M16C nutzen 
kann, bleibe ich jetzt auch dabei.

Gruß,
Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.