Hallo, ich bin zur Zeit dabei, dises Projekt hier Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen Beitrag "Re: Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen" einmal nachzubauen und für meine Belage anzupassen. Die Schaltung mit angeschlossenem LCM5430 display funktioniert bereits mit der vorgegebenen hex-Datei. Startbild erscheint und es lassen sich Zeichen und Befehle über die serielle Schnittstelle übertragen. Um nun etwas ändern zu können, wollte ich die Quelldateien compilieren und bin sofort auf Probleme gestoßen: Es fehlt das Unterprogramm "lcd_writebyteex", das sich anscheinend in der Datei "binout.bin" versteckt. z.B. diese Version hier: http://www.mikrocontroller.net/attachment/34395/lcd_con_320x240.zip Bindet man "binout.bin" ins Projekt mit ein im AVR-Studio, erscheint trotzdem folgender Fehler: Build started 1.9.2014 at 03:51:17 avr-gcc -mmcu=atmega8515 -Wl,-Map=LCM5430.map uart.o lcd.o LCM5430.o main.o binout.o -o LCM5430.elf avr-gcc: binout.o: No such file or directory make: *** [LCM5430.elf] Error 1 Build failed with 1 errors and 0 warnings... In "lcdcon.S" befindet sich der Assembler-code. Kann mir jemand bitte mit Tipps helfen oder mitteilen, wo man darüber nachlesen kann? Der eine Teil scheint in Assembler programmiert zu sein und muß natürlich zum Projekt mit dazu. danke schon mal im Voraus und mit freundlichem Gruß
roehrenvorheizer schrieb: > Es fehlt das Unterprogramm "lcd_writebyteex", das sich anscheinend in > der Datei "binout.bin" versteckt. Das halte ich für ein Gerücht. Was immer auch in binout.bin drinnen ist, lcd_writebyteex ist es offenbar nicht. Ohne jetzt mit einem Hex-Editor reingeschaut zu haben, könnte da irgendein Bild in der Datei drinnen sein. Wie auch immer, binout.bin ist nicht im makefile aufgeführt. Im Source Code Baum vom AVR-Studio hat es auf jeden Fall nichts verloren. > Bindet man "binout.bin" ins Projekt mit ein im AVR-Studio, erscheint > trotzdem folgender Fehler: > > Build started 1.9.2014 at 03:51:17 > avr-gcc -mmcu=atmega8515 -Wl,-Map=LCM5430.map uart.o lcd.o LCM5430.o > main.o binout.o -o LCM5430.elf logisch. Es gibt ja kein binout.o > avr-gcc: binout.o: No such file or directory und das teilt einem der Linker dann auch mit. > In "lcdcon.S" befindet sich der Assembler-code. Dann solltest du das mal mit in den Source Code Baum vom AVR Studio mit aufnehmen. > Kann mir jemand bitte mit Tipps helfen oder mitteilen, wo man darüber > nachlesen kann? Da brauchst du incht viel nachlesen. Zur Not geht man zb mit Notepad oder einem sonstigen Text-Editor an eine unbekannte Datei ran. Wenn man sie öffnet und da kein lesbarer Text erscheint, der halbwegs vernünftig aussieht, dann kann man davon ausgehen, dass es sich nicht um Source Code handelt, der daher auch nicht compiliert werden kann. Als solcher hat er daher auch in der Liste der zu compilierenden (oder zu assemblierenden) Files in irgendeiner IDE nichts verloren.
Hallo, danke für die Zuschrift. Das fehlende Unterprogramm befindet sich in "lcdcon.S". Ich hatte es dort übersehen. Bindet man diese Datei ins Projekt im AVR-Studio mit ein, klappt das compilieren direkt erfolgreich. Mit solchen aus ASM und C kombinierten Projekten war ich noch in keiner Weise vertraut. rm -rf uart.o lcd.o LCM5430.o main.o binout.o LCM5430.elf dep/* LCM5430.hex LCM5430.eep LCM5430.lss LCM5430.map Build succeeded with 0 Warnings... avr-gcc -mmcu=atmega8515 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT uart.o -MF dep/uart.o.d -c ../uart.c avr-gcc -mmcu=atmega8515 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT lcd.o -MF dep/lcd.o.d -c ../lcd.c avr-gcc -mmcu=atmega8515 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT LCM5430.o -MF dep/LCM5430.o.d -c ../LCM5430.c avr-gcc -mmcu=atmega8515 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT main.o -MF dep/main.o.d -c ../main.c avr-gcc -mmcu=atmega8515 -mmcu=atmega8515 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT lcdcon.o -MF dep/lcdcon.o.d -x assembler-with-cpp -Wa,-gdwarf2 -c ../lcdcon.S avr-gcc -mmcu=atmega8515 -Wl,-Map=LCM5430.map uart.o lcd.o LCM5430.o main.o lcdcon.o -o LCM5430.elf avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature LCM5430.elf LCM5430.hex avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex LCM5430.elf LCM5430.eep || exit 0 avr-objdump -h -S LCM5430.elf > LCM5430.lss AVR Memory Usage ---------------- Device: atmega8515 Program: 7394 bytes (90.3% Full) (.text + .data + .bootloader) Data: 396 bytes (77.3% Full) (.data + .bss + .noinit) Build succeeded with 0 Warnings... mit freundlichem Gruß
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.