Forum: Mikrocontroller und Digitale Elektronik Probleme bei der SD-Karten Init


von Geep (Gast)


Lesenswert?

Morgen Leute,
hab leider in der SuFu nix passendes gefunden, deswegen eröffne ich mal 
den Thread hier. Zu meinem Problem:
Ich hatte bereits eine funktionierende Applikation mit einem AT90USB128 
und einer SD-Karte die über SPI angesprochen wurde. Die Lib dazu habe 
ich mir selber geschrieben und hat auch alles wunderbar funktioniert.
Jetz hab ich mich letztens drüber gemacht meine bisherige Software ein 
wenig zu optimieren und zu tunen, da ich schon n bißchen an die Grenzen 
des Speicherplatzes im Controller gestoßen bin ^^. Diesen 
Code-Optimierungen sind auchn paar Routinen der SD-Karte zum Opfer 
gefallen.
So jetzt hab ich das Teil wieder an meinen MKII gehängt mit AVR Studio 
das Prog zum Debuggen draufgejagt und Freude Freude es funktioniert 
alles.
Dann hab ich den Debugger beendet zur Sicherheit nochmal das .hex File 
rübergespielt und es hat nichts funktioniert :(.
Die genaue Problembeschreibung ist also folgende:
Führe ich mein Programm mit dem AVR Debugger aus funktioniert alles ohne 
Probleme. Es reicht aber schon den Debugger zu stoppen, die 
Betriebsspannung vom Board zu nehmen, wieder draufzugeben und den 
Debugger weiterlaufen zu lassen dann bringt er mir in der SD-Init einen 
Fehler. Auf den ersten Command den ich sende lese ich nur 0en (r1 also 
!= 0x01). Wenn ich das Gerät ohne MKII betreibe genau der gleiche 
Fehler.
Ich bin da jetzt ein wenig ratlos, bisher hatte ich die Probleme nur 
andersrum, dass meine Programme mit Debugger nich funktionieren aber 
ohne ^^. Jetz isses so das meine SD-Karte sich nur initialisieren lässt 
wenn sie am JTAG hängt und die Spannungsversorgung schon längere Zeit an 
ist.

Was ich bisher erfolglos versucht habe:
- an Breakpoints liegts nich (is ja auch gern mal n Fehler)
- auch Warte-Routinen am Anfang des Programms bringen nix
- das alte Programm läuft noch
- die Hardware ist unverändert

Ich kann mir nur irgendwie nich vorstellen das mein Programmaufräumen 
dazu führt das das Prog nur noch im Debugmodus funktioniert...

Grüße,
Geep

von Benedikt K. (benedikt)


Lesenswert?

Ist ein Pullup am Datenausgang der SD Karte?

von Geep (Gast)


Lesenswert?

Nich wirklich, aber es hat ja schon über n halbes Jahr ohne funktioniert 
^^. Ich werds aber mal ausprobieren.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ohne Pullup wird die erste Init, nämlich die Einstellung des SPI-Mode, 
nicht zuverlässig funktionieren.

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
Noch kein Account? Hier anmelden.