Hallo,
ich habe gestern versucht in einem HILO ALL-07 Eprommer ein 27C4100er
Eprom mit einer 512 KByte großen Datei zu beschreiben.
Was mir schon aufgefallen ist, war das der Chip von der HILO ALL-07
Eprommer-Software als 00000 - 3FFFF groß angegeben wurde. Das sind doch
aber nur 256 KByte. Der 27C4100er hat aber 512 KByte Kapazität ... Also
mal schnell nachgedacht; ja: offensichtlich spricht die Software den
Chip WORD-wide an! Dann passt das mit den 256 KByte.
Meine Frage: Wie kann ich den Chip am HILO ALL-07 Eprommer BYTE-wide,
also mit 512 KByte, ansprechen? Ich habe da in der Software keine
Umschaltmöglichkeit gefunden ...
Wer kann mir helfen?
der
GALier
Der Chip kann nur mit 16 Bit beschrieben werden.
Das Auslesen kann allerdings auch in 8-Bit erfolgen.
Deswegen muß das Datenfile für den Brenner entsprechend angepasst
werden.
Was für ein Format braucht der überhaupt? Hex-Intel?
mfg.
Ich denke wenn das EPROM 16-Bit hat muss auch das Intel Hex File
entsprechend 16-bit weit erstellt worden sein.
Es gibt Tools bei Access (ALL07 Software) im Hauptmenu mit denen man
EPROMs splitten kann eventuell ist es auch möglich welche zu mergen !
Intel-HEX und Moterola S-Record Dateien können erheblich kleiner sein
da nur der Programmcode geschrieben wird.
Hallo,
danke erstmal für die Antworten. Bisher komme ich damit aber irgendwie
nicht weiter. Also, das sagt das Datenblatt:
"The AT27C400 can be organized as either word-wide or
byte-wide. The organization is selected via the BYTE/VPP
pin. When BYTE/VPP is asserted high (VIH), the word-wide
organization is selected and the O15/A-1 pin is used for
O15 data output. When BYTE/VPP is asserted low (VIL), the
byte-wide organization is selected and the O15/A-1 pin is
used for the address pin A-1. When the AT27C400 is logically
regarded as x16 (word-wide), but read in the bytewide
mode, then with A-1 = VIL the lower 8 bits of the 16-bit
word are selected and with A-1 = VIH the upper 8 bits of the
16-bit word are selected."
- das file ist ein .bin und 512 KByte groß, passt also genau auf den
Chip
- die Programmiersoftware hat den Chip als "00000 bis 3FFFF" groß
gespeichert, also nur halb so groß wie der Chip eigentlich ist. Daher
habe ich vermutet, daß die Software den Chip word-wide anspricht.
- wenn ich nur odd oder nur even brenne, schreibt die Software im
Bereich 00000 bis 3FFFF nur jede zweite Adresse; das hilft aber ja nicht
weiter
Meine Frage ist: Wie bringe ich die Datei in den Chip?
Kann ich die Software so einstellen, daß sie die vollen 512 KByte in den
Chip schreibt, also von 00000 bis 7FFFF?
der
GALier
Hallo,
danke erstmal für die Antworten. Bisher komme ich damit aber irgendwie
nicht weiter. Also, das sagt das Datenblatt (27C400 = 27C4100):
"The AT27C400 can be organized as either word-wide or
byte-wide. The organization is selected via the BYTE/VPP
pin. When BYTE/VPP is asserted high (VIH), the word-wide
organization is selected and the O15/A-1 pin is used for
O15 data output. When BYTE/VPP is asserted low (VIL), the
byte-wide organization is selected and the O15/A-1 pin is
used for the address pin A-1. When the AT27C400 is logically
regarded as x16 (word-wide), but read in the bytewide
mode, then with A-1 = VIL the lower 8 bits of the 16-bit
word are selected and with A-1 = VIH the upper 8 bits of the
16-bit word are selected."
- das file ist ein .bin und 512 KByte groß, passt also genau auf den
Chip
- die Programmiersoftware hat den Chip als "00000 bis 3FFFF" groß
gespeichert, also nur halb so groß wie der Chip eigentlich ist. Daher
habe ich vermutet, daß die Software den Chip word-wide anspricht.
- wenn ich nur odd oder nur even brenne, schreibt die Software im
Bereich 00000 bis 3FFFF nur jede zweite Adresse; das hilft aber ja nicht
weiter
Meine Frage ist: Wie bringe ich die Datei in den Chip?
Kann ich die Software so einstellen, daß sie die vollen 512 KByte in den
Chip schreibt, also von 00000 bis 7FFFF?
der
GALier
Hm,
aber was für einen Sinn macht es dann, wenn man byte-wide auslesen, aber
nur word-wide schreiben kann?
Also, wie bekommt man 512 KByte auf den Chip?
der
GALier
word-wide heisst, daß man zwei Byte gleichzeitig am Datenbus anlegen
muß. Da kümmert sich der Brenner drum.
Im Hexfile stehen die Bytes üblicherweise hintereinander. Ob Du Intel
oder Motorolaformat anliefern mußt (also 0x1234 als 34 12 oder als 12
34) steht in der Doku, sonst hilft ausprobieren.
Falls die bytebezogenen Adressen in einem Intelhex- oder S37-File
stören, kannst Du auch straight binary übertragen. Dann merkt keiner, ob
das 500 Worte oder 1000 Bytes sind.
Patrick
OK,
ich habe einfach mal `drauflosprogrammiert. Das Verify ist zwar
fehlgeschlagen, aber das EPROM macht, was es soll. Wieso es
funktioniert, habe ich zwar nicht ganz verstanden, aber nun läuft alles
wie es soll.
Vielen Dank nochmal an alle Helfer!
der
GALier