Hallo, auf meinem mega644 soll ein Programm laufen, welches 2 Hauptfunktionen hat: 1. Kamera auslesen 2. Bild auf SD-Karte speichern Der verbleibenden SRAM wird mit der Routine von: http://www.rn-wissen.de/index.php/Speicherverbrauch_bestimmen_mit_avr-gcc berechnet (mem-check). Debuggen kann ich über ein LCD. Was funktioniert: -Kamera auslesen ohne das Bild zu speichern oder -Daten auf die SD-Karte schreiben ohne die Kamerafunktionen Problem: Sobald beides zusammen laufen soll, bleibt der µC beim öffnen der Datei stehen, obwohl laut mem-check noch über 1600 Byte RAM frei sind. Wie würdet Ihr hier vorgehen, um den Fehler zu finden?
Im Debugger nachsehen, was geschieht.
Gast
#1945403
Hast Du denn schon mal geschaut, wie groß die Bilddatei denn ist? 1.6 MB bringen heutige Digitalkameras leicht zusammen. Vielleicht geht es ja, die Datei Stückchenweise auszulesen und dann Stückchenweise auf der SD-Card wieder zusammenzuschreiben.
@Rufus Leider kennt simulavr als backend für avr-gdb keinen atmega644. Außerdem müsste ich dann die ganze Kommunikation der Kamera über UART per Hand simulieren. Das ist unmöglich. Also kann ich nur über JTAG debuggen. Ist das so korrekt? @hubert Es handelt sich um eine alte Handycam MCA25. Das Problem ist, dass das Programm schon beim öffnen der Datei auf der sd-Karte hängen bleibt und gar nicht bis zum auslesen der Kamera kommt.
Rufus Τ. Firefly schrieb: > Im Debugger nachsehen, was geschieht. Ich habe mir jetzt einen AVR-Dragon zum debuggen gekauft. Leider bleibt das Programm aber immer bei der Kommunikation mit der sd-Karte über spi stehen. Es werden keine Daten empfangen trotz richtiger Frequenzeinstellungen im AVR-Studio:-(
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.