Hallo. ICh habe mir ein Actel 8051 EvalBoard zugelegt um ein bisschen mit dem Core8051 rumzuspielen. Jetzt bin ich gerade dabei ein Design aufzusetzen, und da stellen sich mir ein paar Fragen. Auf dem Board hab ich einen SRAM (128Kx36) und ein 32MB Flashmemory zur Verfügung. Der 8051 hat ja die verschiedenen Speicher CODE, XDATA, DATA usw. Der CODE und XDATA unterstützen jeweils bis zu 64kBytes und liegen Adressparallel. Der DATA wird intern im FPGA realisiert. CODE und XDATA haben jeweils ein eigenes Schreibe & Lesesignal. Aber mit dem Keil Debugger kann ich das Programm nicht in den Flash laden. Über einen Adressdecoder würde ich jetzt die einzelenen Speicher einteilen, was mir ja ein zusätzliches Enable-Signal bringt. Jetzt hab ich in den UserGuides gelesen das CODE und XDATA in den selben Speicher gelegt werden können. Wie soll das funktionieren, denn beide sind ja Adressparallel und würde sich gegenseitig überschreiben? Mit den Enable & SChreibsignalen kann ich ja nur den Baustein oder die Bank aktivieren, aber ohne gebankten Speicher ist das ganze für mich ein Rätsel. Vielleicht habt ihr ne Idee. Danke, gruß
Hallo, der 8051 benutzt als Speicherstruktur eine Harward Architektur. d.h. Programmspeicher und Datenspeicher sind zugriffsmäßig getrennt, belegen aber physikalisch den gleichen Adressraum (0000-FFFF). Zu Unterscheidung gibt es das zusätzliche Signal PSEN. Dies Kennzeichnet bei L den Zugriff auf den Programmspeicher. Die Signale RD und WR sind während des Programmspeicherzugriffs H. Soll auf den Datenspeicher zugegriffen werden, muß PSEN H sein und RD oder WR L, je nach Lese- oder Schreibzugriff. Der Bereich 0000-FFFF steht hierbei 2x zur Verfügung. Nun kann man die 3 Signale so kombinieren, das sowohl PSEN, als auch RD und WR auf den gleichen Speicherbereich zugreifen. Es ensteht die klassische Neumann-Architektur. Allerdings steht dann der Bereich 0000-FFFF nur noch einmal zur Verfügung. Du musst also wenigstens PSEN, RD, WR für die Selektion heranziehen. Das sich Daten und Programm nicht überschreiben mus Deine Software sicherstellen! Gruß Matthias
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.