mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Compact Flash Steuern in Assembler


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leuts!
Hab mal nach Ralf Hochhausens Doku "Ansteuerung einer CF im Memory
Mapped Mode"
die Ansteuerung in Assembler geschrieben, da ich leider kein C
beherrsche.
Habe die Schaltung auf der letzten Seite seiner Doku mit einem 90S8515
aufgebaut...
Das 32KB externe SRAM funktioniert, hab einmal ein Programm geschrieben
dass das externe
SRAM verwendet... (Push & Pop, sts & lds ab 0x7ff)
In einem 2. Schritt hab ich nach Ralfs Doku mein Progi geschrieben,
läuft aber nicht, es bleibt
bei "Unterprogramm CF_CHECK_READY_0x58" hängen, CF  gibt kein
Ready... evtl. hats sonst noch Fehler?!
Ich finde einfach den Fehler nicht!
Hat jemad schon mal ne CF erfolgreich in Assembler ausgelesen und oder
beschrieben und könnte mir sein Code
zur Inspiration zur Verfügung stellen?!
Ich finde einfach den Fehler nicht. Habe alles nett kommentiert, inkl.
Struktogramme.
Hat jemand ne Ahnung was ich falsch mache?
Hardware sollte in Ordnung sein, habs 2mal geprüft.
Ich versuche nur einen Sektor auszulesen, Schreibroutine hab ich noch
nicht gemacht da ich
den "Wert" den ich ins Command Register fürs "schreiben" noch nicht
kenne.
Ich habe Vorher die Gesamte CF Karte mit einem PC und Winhex mit 0xAA
beschrieben und möchte dies auslesen.
Bitte helft mir, bin am Anschlag, Misserfolg der frustet mich :-)
Wenn das ganze läuft, werde ichs Opensourcen, Komplette CF-Ansteuerung
in Assembler hab ich nämlich noch nie gesehen!

Asm File ist im .txt-Format -->bessere Uebersicht.

Ich wäre sehr dankbar wenn ich ein paar nützliche Tipps bekäme!

Greets, Erik.

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dnkeschön für die Hilfe :-)
Kann oder will mir keiner helfen?!

Autor: fury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du 8051-Assembler verstehst wirst du hier fündig:

http://www.mikrocontroller.net/forum/read-4-106761.html#new

Ich kann leider mit dem (AVR?) Assembler nix anfangen

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dankeschön!
Ich habe mittlerweile herausgefunden dass irgendwas mit meinem externen
Bus nicht in Ordnung ist.
Ich habe versucht die LBA-Register zu beschreiben und wieder auszu
lesen. Die reingeschriebenen Werte kommen nicht mehr richtig heraus.
Wahrscheindlich stimmt das Timing nicht, mein Bus ist wohl trotz der
Waitstates zu schnell und die Cf die ich verwende ist schon x Jahre alt
und wahrscheindlch zu alt.
Ich werde jetzt die CF direkt an den uC anschliessen ohne externes
Businterface und alles lngsam "Manuel" ansteuern. Mal sehen was dan
heraus kommt...
Das externe Ram funzt, aber die CF nicht...

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe immer noch probleme mit der CF Karte zu kommunizieren.
Da ich immer noch nicht genau herausgefunden habe woran es liegt, habe
ich versucht die Lese / Schreib Routinen manuell zu steuern, dass
heisst ich habe das Adresslatch Enable auf den PortC.4 umgelötet und
ein proggrammchen geschrieben in dem ich die ganzen Lese-
Schreibroutinen manuell mache. Es funktioniert, ich konnte das identify
auslesen!
Nun weiss ich das die CF und meine Hardware 100% ok sind.
Ich möchte aber weiterhin unbedingt das externe businterface benützen
da ich möglichst schnell ca. 80 KB/s lesen oder schreiben will unds so
viel schneller geht.

Nun zu meiner Frage:

Weshalb funktionierts nicht mit folgenden Befehlen:

sts 0xE007, 0xEC    ;Identifiywert ins Kommandoregister schreiben
warten....
lds work, 0xE000    ;Indentify aus CF Datenregister ins work laden.

vorgängig habe ich noch das externe Ram aktiviert und den Stack auf
0x7FFF gesetzt.

Es will einfach nicht :-(
Mit sts lds kann ich nicht mit der CF kommunizieren, weshalb nicht???!

Wäre für Hilfe dankbar!

Autor: Breti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Erik,

ich kann Dir leider momentan nicht direkt helfen. Allerdings wird in
den nächsten 3-4 Wochen das Gleiche Problem bei mir auftauchen, da ich
ebenfalls eine CF Karte im Memory Mapped Mode ansprechen möchte. Evt.
soll dann sogar noch ein Fat darauf folgen (das wird dann aber evt.
gekauft - weil einfacher).
Wenn Du Interesse hast, so biete ich Dir an, dass wir uns bezüglich der
CF Karten mal austauschen können. Schreib mir einfach ne Mail.
Habe bisher schon nahezu alles an Doku gelesen, aber die Hardware gibts
erst Mitte November :)

Gruß,
       Thomas

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.