mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik M16C/62P ID Probleme


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe eine kleine Testplatine aufgebaut wo ein M16C/62p M30622F8PFP 
drauf ist. Heute wollte ich das ding zum ersten mal mit dem Tool 
Flashsta.exe flashen. Das Tool hat mich nach dem Pfad der .mot gefragt 
und nach der Id. Für die ID hab ich 7 mal FF eingegeben. Auf Ok gedrückt 
und mit Blank-Check, Program, Read (verify) geflasht. Alles super und 
hat geklappt.
Beim 2.Versuch das Ding zu flashen konnte ich mich mit der ID 7 mal FF 
nicht mehr am Controller anmelden . Es erscheint immer "ID not matched".
Also muss ich irgendwie die ID unbewusst geändert haben. Aber ich weis 
nicht wie und wo . Vielleicht hat die .mot die ich geflasht hab in den 
falschen Speicherbereich geschrieben, weil vielleicht beim kompilieren 
was falsch eingestellt war.

Falls jemand mehr weis als ich Bitte melden

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Vielleicht hat die .mot die ich geflasht hab in den
> falschen Speicherbereich geschrieben,

Das ist zumindest theoretisch denkbar weil ja die IDs
im Flashrom liegen. Wenn ich mich richtig erinnere kann
man das ganz gut schaffen wenn man die Tabelle fuer IRQs
an die aeh 'richtige' Stelle liegen hat.

> Aber ich weis nicht wie und wo

Das darfst du jetzt rausfinden. :-) Wenn dir klar ist was du
da wo reingebrannt hast dann kannst du ja die richtige ID
aus deinem mot-file auslesen.
Vorher kannst du es ja mal mit 7x 0x00 als ID probieren.
Danach ist wohl denken angesagt, oder ein neuer Prozessor.

Aber nicht aufgeben, der Prozessor ist schoen wenn man den
ID-Unsinn erst mal im Griff hat.

Olaf

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super Olaf,

mit ID 7 mal 0x00 hats hingehauen weis nur nicht
warum aber jetzt kann ich mich wieder anmelden.
Und das erste Programm führt der Controller auch aus.

Super, Danke

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schon erwaehnt, die IDs liegen im Flashrom. Und ganz da in der Naehe 
liegen die Vektoren fuer die Interrupts. Jedenfalls per 
Defaulteinstellung.
Ich koennte mir vorstellen das du dir die IDs uebergebraten hast wenn 
dein Programm eine solche Tabelle enthaelt.

Olaf

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die Lösung ist ganz einfach:

M16 im Urzustand = LEER = 0xFFFF

Die IDs liegen im letzten Block und teieln sich mit verschieden INTs den 
Speicherplatz (z.B. NMI, RESET,...).

Programmiert man ein neues Programm hinein, wird die Speicehrstelle der 
IDs mit der Vektoradresse desd jeweiligen INTs überschrieben (mit 0x00). 
Will man eine eigene ID generieren, kann das z.b. im Compiler mit 
vorgegeben werden. Man kann auch eine Datei mit xx.id generieren (id 
steht für den gleichen Name wie das Programmfile) in der die IDs 
eingetragen sind. Soll 0xFF bestehen bleiben, einfach in der Startup bei 
den entsprechenden Vektoren mit FF odern.

Mit dem Flash-Tool M16C-Flasher geht das übrigens deutlich einfacher und 
komfortabler.

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.