mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Speicherbrereich At89C51CC03


Autor: Chris Tof (bonito)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

jetzt wo ich endlich mein Board ferig habe wälze ich in den ganzen PDFs 
um den µC auch richtig zu programmieren. Und zwar komm ich mit den 
Speicherbereichen durcheinander.

Wo ich "Angst" vor habe ist unabsichtlich den Bootloader zu 
überschreiben der ja im externen Speicher abgelegt ist (wenn ich das 
richtig verstanden habe ab F800h).
Auf der anderen Seite könnte ich einfach ab Speicheradresse 0000h den 
AWcode ablegen, damit würde ich mir aber ziemlich viel Speicherplatz 
verbauen da ich ja nicht weiß wie viel Speicher gerade benutzt wird. -> 
in unserem Schulcontroller haben wir den AWcode z.B. ab der Adresse 
8000h - FFFFh abgelegt und den Speicher davor noch effektiv genutzt.

Was sollen die Bezeichnungen FM0 und FM1? Sind das nur Label für die 2 
Speicherbereiche oder kann ich die noch effektiv im Programm 
unterscheiden? Die 2 Begriffe verwirren mich jetzt etwas.

Kann mir dabei jemand weiterhelfen?

Danke

MFG
Christof

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Chris Tof wrote:

> Wo ich "Angst" vor habe ist unabsichtlich den Bootloader zu
> überschreiben der ja im externen Speicher abgelegt ist (wenn ich das
> richtig verstanden habe ab F800h).

Die Angst ist unbegründed.
Der Bootloader ist nur mit nem richtigen Programmiergerät (VPP=12V) 
änderbar.


> Auf der anderen Seite könnte ich einfach ab Speicheradresse 0000h den
> AWcode ablegen, damit würde ich mir aber ziemlich viel Speicherplatz
> verbauen da ich ja nicht weiß wie viel Speicher gerade benutzt wird. ->
> in unserem Schulcontroller haben wir den AWcode z.B. ab der Adresse
> 8000h - FFFFh abgelegt und den Speicher davor noch effektiv genutzt.

Genau umgekehrt.
Wenn Du bei 8000h startest, ist doch der Platz davor verschwendet.
Fang einfach bei 0000h an.

Der 8051 ist ne Harward-Architektur, d.h. Daten-SRAM ist nicht 
Code-Flash !
Im Daten-SRAM kann kein Code ausgeführt werden.


Peter

Autor: Chris Tof (bonito)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgndwie bekomm ich den µC nicht programmiert.
Schon mal vorweg: ich hab alles kontrolliert, keine Kurzschlüsse, die
Ports richtig angelötet, usw. -> elektrisch ist alles in Ordnung.
Mit Flip bekomm ich auch ne verbidung, d.h. ich kann mit Flip den µC
auslesen.

Nachdem ich gestern erstmal an diversen Assemblern (vor allem an den
völlig bescheuerten DOS Dingern) verzweifelt bin hab ich mir jetzt den
Batronix Prog Studio genommen. Die Anschlusseinstellungen hab ich
gemacht, aber als µC denn CC01 angegeben weil der CCO3 noch nicht in der
Auswahl ist. Das ist aber egal weil dadurch nur der Speicher halbiert
ist, sonst sind die ja gleich soweit ich weiß.

Aber egal was ich mache, am µC passiert nichts. Ich habs erstmal mit clr
Px.x und setb x.x versucht und mitm Multimeter nachgemessen->nichts!
Im Statusfenster von Prog Studio wird aber alles als Ok bzw. "Pass"
angezeigt.Und die Portpins (alle!!!) sind ständig auf High Pegel.

Ich weiß langsam echt nicht mehr weiter.

MFG
Christof

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du mußt das Programm auch ausführen.

Also entweder aus dem Flip heraus oder Bootjumpbit oder Bootvektor auf 
00 setzen.

In den Bootloader kommst Du dann nur wieder mit dem Jumper PSEN-GND.


Peter

Autor: Chris Tof (bonito)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie mach ich das?


MFG
Christof

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Chris Tof wrote:
> Wie mach ich das?

In Flip.


Peter

Autor: Bernd (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christof,
im Anhang findest Du eine gute Beschreibung, wie Du mit FLIP einen 
HEX-File auf den CC03er bringst.
Da Du nicht in ´C´ programmierst, vergiß die ersten Seiten und fang 
einfach ab S. 29 an zu lesen. Dort ist der Download gut beschrieben.

Denk dran, wenn Du die Ports hin und her schaltest, wirst Du mit einem 
Multimeter nicht viel sehen, weils einfach zu schnell ist. Ein 
Oszilloskop ist dann unerläßlich.

Wenn Du in C programmieren willst, nimm einfach den Compiler uC51 von 
Wickenhäuser.

Viele Grüße


Bernd

Autor: Chris Tof (bonito)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd wrote:

> Denk dran, wenn Du die Ports hin und her schaltest, wirst Du mit einem
> Multimeter nicht viel sehen, weils einfach zu schnell ist. Ein
> Oszilloskop ist dann unerläßlich.
>
> Wenn Du in C programmieren willst, nimm einfach den Compiler uC51 von
> Wickenhäuser.
>
> Viele Grüße
>
>
> Bernd


Danke, die Anleitung ist echt gut.

Zum Port schalten: ich wollte ja nur mit setb und clr 4 bits an und 4 
bits ausschalten mit ner Scheife drum , da ändert sich ja nichts mehr 
beim 2. Durchlauf. Das geht dann auch mit Multimeter.
Für alles andere hab ich mein schönes Fluke 100 MHz 2+2 Kanal Oszi, 
ganz Stolz :-)

Autor: Chris Tof (bonito)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, endlich hat alles geklappt. Ich kann den µC Beschreiben, Resetten 
und dann wiederbeschreiben, wie es halt sein soll.
Danke euch für die Hife.


Fehler waren:
1. Ich bin von Batronix Prog Studio 2007 Community Edition auf Prod 
Studio 6 umgestiegen und hab dann die .hex mit Flip hochgeladen.

2. Die Schaltung für die PSEN-Gnd Verbindung mußte modifiziert werden.
  (in der Bauanleitung für mein Board war noch ein BC547 drin der nicht 
durchgeschaltet hat, jetzt liegt PSEN über nen DIP Schalter direkt auf 
GND)


MFG
Christof

Autor: Chris Tof (bonito)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab da nochmal ne Allgemeine Frage zu dem Controller.
Ich hab ja jetzt nen 22 MHz Quarz davor gesetzt, aber mit welchem 
maximalen Takt könnte ich den Controller theoretisch betreiben? Würde 
auch ein 80 MHz Quarz funktionieren?


Danke

MFG
Christof

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck doch mal auf die erste Seite des Datenblatts

Autor: Chris Tof (bonito)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uups, hätte man sehen können :-/

Ok, Danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.