Hallo, Ich möchte für ein µP System das ich basteln möchte einen FLASH als ROM einsetzen, das wurde mir empfohlen da es leicht zu programmieren ist über diverse schnittstellen. Kann mir jemand Infos und Tipps geben wo ich Informationen finde wie man solche FLASH Bausteien programmieren kann, ob man die auch günstig bekommt, muss ich mir da einen "Brenner" bauen mit nem µC oder so? Ich habe leider (noch) nicht viel Ahnung mit externen Speicherbausteinen wie FLASH, habe mich bisher nur mit AVR's eingehend beschäftigt. Würde mich freunen wenn mir da wer weiterhelfen kann. Sonsnt würd ic hwider auf meien alte Idee mit nem Batteriegestützen RAM als ROM kommen, EEPROM's mag ich mir ncith antun ^^ mfg
zum programmieren hilft datenblatt lesen avrs kannst du nicht mit externem flash als programmspeicher nutzen evtl solltest du mal beschreiben, wasfu genau machen willst
"das wurde mir empfohlen da es leicht zu programmieren ist" Derartige Empfehlungen hatten vielleicht vor 10 Jahren noch Gültigkeit. Bei älteren Büchern muß man immer vorsichtig sein, was damals Stand der Technik war. Flash an AVR geht nicht ! Flash kann man an 8051 anschließen, bloß wozu ? Nimm nen 8051 mit UART-Bootloader, einfacher gehts nicht. Oder nen ATmega und brenne nen Bootloader rein. Peter
Ich möche mir ein kleines Z80 system zum experimentieren bauen, das ist alles schön gut und leicht, nur das Problem ist wie bekomm ich nen ROM her den ich imemr wieder schnell Programmieren kann, am besten ohne das ding da rauszunehmen, ich will ja damit experimentieren. Mit EEPROMs ist es mir zu aufwendig, dann wurde mir hier im Forum empfohlen einfach einen FLASH zu nehmen den ich mit I²C oder SPI programmieren kann, nur weiß ich nicht ob das so einfach geht, mit externen Speicher hab ich noch keine Erfahreung, bisher nur mit AVR's gearbeitet. Hab mir aus dem Problem heraus gedacht nen AVR EEPROM-Emulator zu bauen/coden, aber ich will das das system schon auch mal eigenständig laufen kann halbwegs ordenlich, darum kam meien 2. Idee als ROM einfach RAM zu nehmen, daten mit ner AVR Schaltung reinladen und mit Batterie zu stützen um non-volatile zu sein, nur scheint das mit normalem RAM wieder problematisch zu sein... :( Das mit diesen Bootloadern check ich nicht was das sein soll, hab ich schon oft gehört aber ich hab das nicht so ganz verstanden.. Also einfachgesagt ich will mir erst einmal ein minimal-z80-system bauen mit ner CPU, nem RAM und nem ROM, erstmal nichs weiter ^^
Ein Bootloader ist ein Programm, welches eine Schreibroutine für einen Flash beinhaltet und eine Empfangsroutine z.B. über die UART, um die zu schreibendden Daten zu empfangen. Da ein Flash während des Schreibens nicht lesbar ist, ist der Bootloader in einem extra ROM/Flash-Bereich untergebracht. Bei den 8051 ist er ab Werk drin, bei den AVRs muß man ihn erst reinbrennen, z.B. über SPI. Willst Du aber eine ROM-less CPU mit Bootloader ausrüsten, dann mußt Du also 2 Flash-ICs dranpappen, wovon einer irgendwie mit dem Bootloader in einem Programmiergerät gefüttert werden muß. Da sich aber die Flashhersteller 1000 verschiedene Programmieralgorithmen ausgedacht haben, mußt Du erstmal einen Bootloader schreiben, für genau den Flash, den Du später einsetzen willst. Alternativ könntest Du einen EEPROM nehmen, die sind alle ähnlich zu beschreiben (wie SRAM und dann Ready-Polling) und unterscheiden sich nur in der Größe einer Page. Peter
Danke für die gute erläuterung! Hm, also werd ich um nen EEPROM ncith rumkommen, einfahc ist es schon so ein EEPROM nur hald aufwendig weil ic hmir erst nen Programmer Bauen muss udn das ding jedesmal raus/rein tun muss :/ Ich denke ich werde mir für das experimentieren einen ROM-Emulator mit nem mega16 basteln über rs232 und schick dem dann immer den Programmcode so, der Z80 läuft mit 1MHz eh viel langsamer, da sollte der AVR mit 8 oder 16Mhz schon mitkommen zum datensampeln, das geht wohl am schnellsten fürs erste rumspielen solange ich alle 30sec das Programm verbessere :)
Hi, das EEPROM ist eigentlich ne praktische Sache, wenn du ein Bootloader hast: Du kannst wie bei einem SRAM einfach die Programme reinschreiben und mit einem Jumper den Bootloader aus dem Speicher ausblenden. So hab ich das mit meinem 8051-Board gemacht. Du must halt nur einmal den Bootloader in ein ROM schreiben. Gruss, SIGINT
So wild ist die Brennerei auch wieder nicht. OK, am Anfang brennt man schon ein paar mal das EPROM. Aber dann hat man ganz schnell einen 'Monitor' (*) im System, mit dem der Z80 über die Serielle empfangen und ins RAM schreiben kann. (*) Ein Monitor ist in diesem Zusammenhang nicht das Teil das vor dir steht und in das du stundenlang reinglotzen kannst. Unter Monitor versteht man ein 'Minimal-Betriebssystem' das beim Einschalten die Kontrolle kriegt. Normale Befehle an so einen Monitor sind: Hex-Dump, Byte editieren, Sprung an eine bestimmte Adresse, I/O Port ansprechen und eben auch: Bytes von der Seriellen an eine bestimmte Adresse schreiben. Gute Monitore haben auch so was wie einen Debugger eingebaut, mit dem man ein Program auf Assembler-Ebene durchsteppen, bzw. disassemblieren kann. Hast du so einen Monitor erst mal im EPROM, reduziert sich die EPROM-Brennfrequenz drastisch.
ich würde auch ein z80 system mit sram anstelle von eeprom machen (wenn es zum experimentieren ist) und dann nen AVR zusätzlich ranbauen, der ein programm hat, dass über uart den sram beschreibt. vorteil dabei ist das der eeprom/flash nicht irgendwann kaputt ist.
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.