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
> 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
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
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
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.
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.