www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik M16c und IAR Problem


Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich bin dabei, von ATMEL auf M16c unzusteigen. Zur Einarbeitung habe
ich das GLYN Board und die aktuelle 30 Tage Version von IAR Workbench.

Mein Problem ist, dass ich nicht das simpelste Programm auf dem Board
zum Laufen bringe, z.B. Port Pins als Ausgang zu konfigurieren und auf
High zu setzen. Mit C-Spy sieht alles wunderbar aus. Und der
Flashvorgang verläuft auch ohne Probleme.

Ich denke, ich mache was in den Einstellungen für die Release Version
was falsch. Sehe ich es richtig, dass man für ein so einfaches Projekt
weder die Startup Datei noch das Linker File anpassen bzw. per Hand
einbinden muss?

Ich flashe mit dem M16c Flasher. Als Output Format habe ich Motorola
gewählt. Ist das korrekt?

Gibt es sonst irgendwelche typischen Fallstricke, über die Anfänger
gerne stolpern?

Ich bin für jeden Tip sehr dankbar!!!!

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind denn hier keine M16c und IAR Entwickler?

Autor: Judge (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne den IAR Workbench zwar nicht...

Mögliche Fehler:
- Adress-Definitionen in den Startup-Dateien passen nicht
- Du schreibst auf einen "Protected Port" (P9) ohne das prc-Bit zu
setzen
- ...

Kannst Du die betreffenden Dateien mal posten und den genauen
Controller-Typ nennen?

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, ich habe die Lösung inzwischen gefunden.

Ich habe das Derivat M30624FGM mit 256k ROM.
Der Programmspeicher beginnt daher bei 0xC0000. Dies ist
auch im Linker File so definiert.

Problem ist, dass der Controller an diese Adresse nicht ohne weiteres
springen kann, sondern standardmäßig sein ROM bei E0000 beginnt und
dann nur 128k ROM zur Verfügung stehen.
Damit man die anderen 128k verwenden kann (also auch die Adresse
0xC0000) muss zunächst im Processor Mode Register 1 das Internal
Reserved Area Expansion Bit (PM13) während der Startup Phase gesetzt
werden. Wird es gesetzt, beginnt das CODE Segment bei 0xC0000 und schon
läuft auch mein Programm :-)!!

Allerdings wäre ein Hinweis auf diesen Sachverhalt von IAR oder Renesas
ziemlich nützlich gewesen...

Autor: Joachim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Sind denn hier keine M16c und IAR Entwickler?"

Zumindest M16C-Entwickler dürfte es hier bald einige geben.
Die Devkits haben ja etlich, wie ich auch, bei Renesas abgegriffen ;)

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann können wir uns ja bald alle gegenseitig unterstützen und
weiterhelfen :-)

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.