Hallo liebes Forum, Ich arbeite momentan an einem MP3 Player. Ich habe dazu eine tolle Dokumentation gefunden und wollte das 1 : 1 Nachbauen. Habe dieselbe Hardware gebaut und Software heruntergeladen. Mein Problem ist das die Software nicht funktioniert. Ich Programmier- auf AVR 6.2 und vermute das es auf einer älteren Version programmiert wurde und deshalb nicht funktioniert. Ich wäre froh wen mir jemand sagen kann was ich verändern muss das es funktioniert. Der MP3 Player besteht aus einem Decoder (VS1011e) einem Atmega644 und einem Grafikdisplay von Siemens S65 (LS020xxx) und einer SD Karte. Also ich weiß das AVR bei irgend einem Update was an der delay.h Funktion verändert hat. Und an dem liegt glaube ich auch das Problem. Wenn es nur das eine Problem ist :/ Das Projekt ist von @steffen1337. Hier zu dem Projekt: Beitrag "AVR MP3-Player mit ganz neuer Siemens S65-LCD-Bibliothek" Ich habe in meinem AVR6.2 genau die gleiche Software geladen und bei mir kam eine Fehlermeldung nach dem anderen. Bitte hier um Hilfe ich habe schon im ganzen Internet nach Hilfe gesucht und bin etwas weiter gekommen aber hab trotzdem noch viele Fehler. Bitte um Hilfe Danke im Voraus, LG Andy
:
Verschoben durch User
Andy schrieb: > Ich habe dazu eine tolle > Dokumentation gefunden und wollte das 1 : 1 Nachbauen. Andy schrieb: > Ich habe in meinem AVR6.2 genau die gleiche Software geladen und bei mir > kam eine Fehlermeldung nach dem anderen. Warum flashst Du nicht erst einmal einfach das HEX-File? Wenn das dann läuft, kannst Du Dir um eigenmächtighe Eingriffe in das Programm Sorgen machen.
Andy schrieb: > Ich habe in meinem AVR6.2 genau die gleiche Software geladen und bei mir > kam eine Fehlermeldung nach dem anderen. und welche?
LSB schrieb: > Warum flashst Du nicht erst einmal einfach das HEX-File? Wenn das dann > läuft, kannst Du Dir um eigenmächtighe Eingriffe in das Programm Sorgen > machen. Weil ich erst Flashen kann wenn ich die HEX-File habe und die HEX-File erstelt das AVR erst dann wenn es keine Error melungen mehr bringt. Peter II schrieb: > und welche? "__builtin_avr_delay_cycles expects a compile time integer constant" Soweit diesen ... mit dem hab ich das Internet durchforstet und noch nichts gefunden wo mir wirklich weitergeholfen hat.
Andy schrieb: > Weil ich erst Flashen kann wenn ich die HEX-File habe und die HEX-File > erstelt das AVR erst dann wenn es keine Error melungen mehr bringt. Dann lad dir das HEX-File von der Webseite runter und flashe erstmal das!
Andy schrieb: > "__builtin_avr_delay_cycles expects a compile time integer constant" > > Soweit diesen ... mit dem hab ich das Internet durchforstet und noch > nichts gefunden wo mir wirklich weitergeholfen hat. was willst du da noch suchen? dalay muss mit einer Konstanten aufgerufen werden damit es richtig arbeitet - das wird scheinbar hier nicht gemacht. Vermutlich hat das früher einfach zu keine Fehlermeldung geführt - richtig war es aber noch nie. Fehler beheben und gut ist.
Peter II schrieb: > Fehler beheben und gut ist. Ja Fehler Beheben und gut ist aber das Problem ist wen ich doppelklick drauf mache und er mir den Fehler anzeigen soll wirft er mich in die delay.h von AVR
Andy schrieb: > Ja Fehler Beheben und gut ist aber das Problem ist wen ich doppelklick > drauf mache und er mir den Fehler anzeigen soll wirft er mich in die > delay.h von AVR dann suche einfach im quellcode nach delay
Hab jetzt im AVR versucht die HEX-File zu flashen aber es kommt immer die Fehlermeldung "Unable to open file" und "File does not exist" Hab einfach avr gestartet und dan auf "Tools" "Device Programming" und dan File laden und "Programm".
Hast du versucht das aus dem Internet heruntergeladene HEX-File zu flashen? Wo liegt denn die Datei auf dem rechner? Darf das AVR-Studio in dem Verzeichnis vielleicht nicht lesen?
Chris L. schrieb: > Hast du versucht das aus dem Internet heruntergeladene HEX-File zu > flashen? Ja die Hex-File von seiner Seite. Chris L. schrieb: > Wo liegt denn die Datei auf dem rechner? Beim Ersten versuch auf dem USB-Stick und beim zweiten versuch auf einem Server. Chris L. schrieb: > Darf das AVR-Studio in > dem Verzeichnis vielleicht nicht lesen? Normalerweise schon wüsste nicht wiso…
Andy schrieb: > Hab jetzt im AVR versucht die HEX-File zu flashen aber es kommt immer > die Fehlermeldung "Unable to open file" und "File does not exist" > Hab einfach avr gestartet und dan auf "Tools" "Device Programming" und > dan File laden und "Programm". Hallo Andy hasst du auch den Programmer eingesteckt ?
Günter schrieb: > Hallo Andy hasst du auch den Programmer eingesteckt ? ^^ Ja sonst könnte ich die spannung ja nich auslesen auf dem Atmega...
Andy schrieb: > Hab einfach avr gestartet und dan auf "Tools" "Device Programming" und > dan File laden und "Programm". Wenn du 'File laden' anklickst, dann wird er dich ja wohl fragen, welches HEX-File du haben möchtest. Da wählst du dann das heruntergeladene aus (egal wo es liegt) und dann wird geflasht. Wie kann ein 'File does not exist' kommen, wenn du doch selbst in der Datei-Auswahlbox die Datei ausgewählt hast? Wenn dich der im AVR-Studio integrierte Brenner die Datei nicht auswählen lässt, dann verwende eben ein anderes Brennprogramm. Das kommt manchmal schon vor, dass eine in eine IDE integrierte Software zu sehr eingeschränkt wird, so dass man zwar die Standardfälle damit wunderbar abarbeiten kann, aber eben in Ausnahmefällen nichts mehr damit anfangen kann. Der Standardfall ist eben: das Programm wird im Studio übersetzt, dort wird ein HEX-File erstellt und genau dieses HEX-File wird im Normalfall dann auch gebrannt. Will man insbesondere von der letzten Annahme abweichen, dann muss das Brennprogramm eine Möglichkeit haben, selbst abweichend von der Standardannahme ein HEX-File auswählen zu können. Disclaimer: Ich verwende 6.2 nicht wirklich, weil mir die IDE zu überladen ist. Daher weiss ich nicht mit Sicherheit, wie sich hier das Brennmodul verhält.
:
Bearbeitet durch User
Karl H. schrieb: > ein anderes Brennprogramm Hast du ein Tipp für ein gutes? Das ich ohne Probleme installieren kann?
Andy schrieb: > Karl H. schrieb: >> ein anderes Brennprogramm > > Hast du ein Tipp für ein gutes? Das ich ohne Probleme installieren kann? Ich verwende den 'extreme Burner'. Aber es gibt auch noch viele andere. http://extremeelectronics.co.in/avr-tutorials/gui-software-for-usbasp-based-usb-avr-programmers/
1. Installation von WinAVR Du musst unter http://sourceforge.net/projects/winavr/?source=typ_redirect die Datei "WinAVR-20100110-install.exe" runterladen und installieren. Bei der Installation solltest du am Besten auswählen: [x] Install Files und [x] Add Directories to PATH. Das "Programmers Notepad" benötigst du nicht. 2. Quellcode kompilieren Den Quellcode bekommst du unter http://my404.de/download.php?id=atmusic_sources.zip und entpackst ihn an einen beliebigen Ort. Dann musst du die Windows Eingabeaufforderung öffnen (Win+R und cmd eingeben). Dort wechselst du per
1 | cd <PFAD> |
in den Ordner, wohin du den Quellcode entpackt hast. Anschließend mit
1 | cd "Software Quelltext" |
in den Unterordner, in dem der Quellcode ist. Dann gibst du
1 | make |
ein und drückst die Eingabetaste. Die Ausgabe sollte wie folgt aussehen:
1 | Compile uart/uart.c: |
2 | avr-gcc -std=gnu99 -Wall -pedantic-errors -Os -mmcu=atmega644 -DF_CPU=20000000UL |
3 | -DUART_BAUD=115200 -MMD -MP -MT build/obj/uart.o -MF build/dep/uart.o.d -ffunct |
4 | ion-sections -c -o build/obj/uart.o uart/uart.c |
5 | |
6 | ....... |
7 | |
8 | Link: |
9 | avr-gcc -mmcu=atmega644 -Wl,-gc-sections -o build/mp3-player.elf -Wl,-Map,build/ |
10 | mp3-player.map build/obj/uart.o build/obj/gui.o build/obj/gui_elements.o build/o |
11 | bj/gui_elements_input.o build/obj/logo.o build/obj/themes.o build/obj/player.o b |
12 | uild/obj/player_gui.o build/obj/vs1011.o build/obj/fat_file_browser.o build/obj/ |
13 | byteordering.o build/obj/fat.o build/obj/partition.o build/obj/sd_raw.o build/ob |
14 | j/id3.o build/obj/id3v2.o build/obj/unicode.o build/obj/eeprom.o build/obj/file_ |
15 | browser.o build/obj/global.o build/obj/main.o -l:lcd/liblcd.a |
16 | |
17 | Create hex file: |
18 | avr-objcopy -R .eeprom -R .fuse -R .lock -R .signature -O ihex build/mp3-player. |
19 | elf build/mp3-player.hex |
20 | |
21 | Build succeeded. |
22 | |
23 | AVR Memory Usage |
24 | ---------------- |
25 | Device: atmega644 |
26 | |
27 | Program: 64102 bytes (97.8% Full) |
28 | (.text + .data + .bootloader) |
29 | |
30 | Data: 1950 bytes (47.6% Full) |
31 | (.data + .bss + .noinit) |
32 | |
33 | EEPROM: 8 bytes (0.4% Full) |
34 | (.eeprom) |
3. Hex-Datei flashen Die HEX-Datei gibt es bereits vorkompiliert unter http://my404.de/download.php?id=atmusic.hex Diese sollte auf dem Board mit einem ATMega644 sofort laufen. Wenn du den Quellcode selbst kompilierst, solltest du nach dem Kompilieren im Order "Software Quelltext" einen Unterorder "build" haben mit der Datei "mp3-player.hex". Diese ist normalerweise die selbe Datei, wie sie oben zum Download bereitsteht. Geflasht hatten wir die HEX-Dateien damals mit einem Bootloader, weils schneller war. Aber normalerweise sollte es auch mit PonyProg gehen, welches man hier runterladen kann: http://downloads.sourceforge.net/ponyprog/PonyProg_V207c.zip
Hallo Andy, lege das Hex-File einfach auf C (oder eine andere lokale! Platte!). Das Atmel Studio kann die Dateien zum Flashen nicht von einem Server laden und bricht dann mit deiner Fehlermeldung ab. Ich habe die Erfahrung schon mit meinem NAS gemacht, da hat das auch nicht funktioniert. Gruß Basti
Hab's mal noch auf die Webseite geschrieben. :-) http://my404.de/?dir=002_Software&file=010_ATmusic.htm Werde es bei Gelegenheit auch noch um eine Anleitung mit PonyProg erweitern. Das ganze Mikrocontroller-Zeugs ist allerdings momentan in Kartons verstaut, deshalb ist das mit etwas Mehraufwand verbunden. Gruß, Steffen
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.