sd-Karte über spi mit jtag debuggen

OP #1977822
Hallo,
an meinem mega644 hängt eine sd-Karte, die ich problemlos mit den 
sd-Karten Routinen von U. Radig beschreiben kann. In der Main werden nur 
ein paar Zeichen aus einem Buffer auf die Karte übertragen. Da das 
Programm aber später noch erweitert werden soll, möchte ich mit einem 
AVR-Dragon über JTAG debuggen.
Erst wird die Karte initialisiert und dann eine Datei geöffnet. Für 
beides wird die unten stehende Funktion verwendet. Bei der 
Initialisierung läuft alles prima nur beim öffnen der Datei bleibt das 
Programm in dieser Funktion hängen:
1
uint8_t spi_rec_byte(void)
2
{
3
    /* send dummy data for receiving some */
4
    SPDR = 0xff;
5
    while(!(SPSR & (1 << SPIF)));
6

7
    return SPDR;
8
}
Scheinbar werden keine Daten mehr von der SPI-Schnittstelle empfangen. 
Wie kann das sein? Die spi- Initialisierung funktioniert ja auch mit 
dieser Funktion + jtag.

Gruß
Andi
OP
Ich habe jetzt festgestellt, dass der Mikrocontroller auch schon in der 
Initialisierungsphase der sd-Karte in dieser Funktion hängen bleibt. 
Kann man denn spi generell nicht per jtag debuggen oder könnte es an der 
geringeren Geschwindigkeit beim debuggen liegen?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.