Forum: Mikrocontroller und Digitale Elektronik C167 Flashen


von Semperit (Gast)


Lesenswert?

Hallo, ich habe einen C167CR-LM mit einem AMD29F800B ( 1MB Flash ) habe
schon viel ausprobiert Flashit, und auch Minimon Flashit hat ein paar
Probleme mit dem Brennen, da bin ich auf MiniMon ausgewichen. Das Lesen
geht ohne Probleme, nur das Schreiben bekomme ich nicht hin. Kennt sich
hier jemand mit Minimon von Hr Perschl aus oder hat einen Treiber für
den 29F800B ?

von Max Murks (Gast)


Lesenswert?

Hallo Flashit geht problemlos!

Warscheinlich hast Du nur eine Demo, die eine Codebegrenzung hat.

Tipp
Versuche einfach dein Hex-File zu splitten.

von Semperit (Gast)


Lesenswert?

Hmm, du hast recht ich habe eine Demo, hab die Hexfiles auch schon
gesplitt, nur hab ich das problem das ich den Speicherbereich FE00 -
FFFF nicht schreiben kann, da ja dort der Flashit - Bootloader liegt.
Nachdem ich das Programm kommplett hochgeladen hatte ( ohne diesen
Speicherbereich, da tat sich nix auf dem Conroller :-( deshalb wollte
ich es mit Minimon probieren.

von T. Stütz (Gast)


Lesenswert?

Du denkst aber schon daran das der Prozessor ein internes RAM hat,
in dem seine Register + SFR etc. liegen. Dieser Speicherbereich ist
normalerweise von F000h bis FFFFh. Mann kann diesen Speicherbereich
auch um ein Segment verschieben auf 1F000h bis 1FFFFh (nur bis EINIT).


Zum Brennen/Lesen/Verwenden bleibt dir nur eines übrig, Auf Adressen
zugreifen die nicht dort sind.

Bsp: (Annahme)
Adr     Beschreibung

000000h Flash-Eprom (128KByte) == CS0
01FFFFh

080000h RAM (128KByte) == CS1 (ADRSEL=8000)
09FFFFh

Wenn du jetzt auf 100000h+FE00h=010FE00h zugreifst bist du nicht im
internen RAM aber auch nicht im RAM(CS1). Nach Datenblatt (und auch
meine Erfahrung) wird wenn ADRSELx+ADRSIZEx nicht gefunden wird CS0
verwendet => Flash-Eprom.

Achtung beim Verwenden als Programmspeicher auf jeden Fall als far oder
huge ansprechen.

Gruss

von Semperit (Gast)


Lesenswert?

Hi,

wenn ich es richtig verstehe müsste doch dann Flashit auch den
Flash-Speicher bescreiben wenn ich nichts angebe. Aber warum weigert er
sich dann den Bereich FE00 - FFFF zu schreiben, das Programm sollte doch
dann im RAM liegen oder ? Kann es sein das ich dann doch die
Startadresee 10000h angeben muss ?

thx.

von Max Murks (Gast)


Lesenswert?

Wo welche Daten stehen gibst Du dem Copiler bzw. Linker an. Entsprechend
müssen die CS-Leitungen konfiguriert sein.

Die genauen Adressen sind Bestandteil des Hex-Files! Hat also nicht
umbedingt etwas mit FlashIt zu tun. Flashit hat aber recht, wennh es
den Bereich FE00-FFFF (RAM (SFR) und kein ROM!) sperrt - siehe
Datenblatt!

von Daniel (Gast)


Lesenswert?

die demo von minimon beschreibt nur interne speicher...

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
Noch kein Account? Hier anmelden.