Forum: Compiler & IDEs wie "binout.bin" ins Grafikcontroller-Projekt einbinden im AVR-Studio?


von roehrenvorheizer (Gast)


Angehängte Dateien:

Lesenswert?

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ß

von Karl H. (kbuchegg)


Lesenswert?

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.

von roehrenvorheizer (Gast)


Lesenswert?

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