Ich habe übersehen das du Studio5 hast. Es wird aber auch hier einen Button oder einen Menuepunkt mit Build oder Compile geben.
Ich habe übersehen das du Studio5 hast. Es wird aber auch hier einen Button oder einen Menuepunkt mit Build oder Compile geben.
Einen Schritt bin ich schon weitergekommen:
Ich erstelle ein neues Projekt (executable project, Suche den Atmega8, o.k.). Dann erscheint ein AVRGCC2.c im Fenster.
Zu diesem Fenster dazu öffne ich die anderen files (werden auch alle in unterschiedlichen Fenstern geöffnet).
Ich lösche nun das Fenster AVRGCC2.c und das makefile fenster.
Dann gehe ich auf "build solution".
Offensichtich kompiliert er jetzt, nur weiß ich nicht wo ich dann das .hex file finden kann.
Stimmt der Weg eigentlich?
In einem build-Fenster erscheint übrigens folgender text:
------ Build started: Project: AVRGCC2, Configuration: Debug AVR ------
Build started.
Project "AVRGCC2.avrgccproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\AVR Studio 5.0\Vs\AvrGCC.targets" from project "D:\Eigene Dateien Acer\__Daten\_Holger\_Hobby\elektronik\sensorboard \avr studio dateien\AVRGCC2\AVRGCC2\AVRGCC2.avrgccproj" (target "Build" depends on it):
Using "RunAvrGCC" task from assembly "C:\Program Files (x86)\Atmel\AVR Studio 5.0\Vs\AvrGCCLib.dll".
Task "RunAvrGCC"
C:\Program Files (x86)\Atmel\AVR Studio 5.0\AVR ToolChain\bin\make.exe all
AVRGCC2.c
Invoking: AVR/GNU C Compiler
"C:/Program Files (x86)/Atmel/AVR Studio 5.0/AVR ToolChain/bin/avr-gcc.exe" -funsigned-char -funsigned-bitfields -O0 -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -mmcu=atmega8 -MD -MP -MF"AVRGCC2.d" -MT"AVRGCC2.d" -o"AVRGCC2.o" ".././AVRGCC2.c"
Finished building: .././AVRGCC2.c
Building target: AVRGCC2.elf
Invoking: AVR/GNU C/C++ Linker
"C:/Program Files (x86)/Atmel/AVR Studio 5.0/AVR ToolChain/bin/avr-gcc.exe" -mmcu=atmega8 -Wl,-Map=AVRGCC2.map -o AVRGCC2.elf AVRGCC2.o
Finished building target: AVRGCC2.elf
"C:/Program Files (x86)/Atmel/AVR Studio 5.0/AVR ToolChain/bin/avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature "AVRGCC2.elf" "AVRGCC2.hex"
"C:/Program Files (x86)/Atmel/AVR Studio 5.0/AVR ToolChain/bin/avr-objdump.exe" -h -S "AVRGCC2.elf" > "AVRGCC2.lss"
"C:/Program Files (x86)/Atmel/AVR Studio 5.0/AVR ToolChain/bin/avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "AVRGCC2.elf" "AVRGCC2.eep" || exit 0
AVR Memory Usage
----------------
Device: atmega8
Program: 70 bytes (0.9% Full)
(.text + .data + .bootloader)
Data: 0 bytes (0.0% Full)
(.data + .bss + .noinit)
Done executing task "RunAvrGCC".
Done building target "CoreBuild" in project "AVRGCC2.avrgccproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files (x86)\Atmel\AVR Studio 5.0\Vs\Avr.common.targets" from project "D:\Eigene Dateien Acer\__Daten\_Holger\_Hobby\elektronik\sensorboard \avr studio dateien\AVRGCC2\AVRGCC2\AVRGCC2.avrgccproj" (entry point):
Done building target "Build" in project "AVRGCC2.avrgccproj".
Done building project "AVRGCC2.avrgccproj".
Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
So, ich hab das jetzt mal mit WinAVR compiliert. Ging einwandfrei bei mir.
Hier die .hex: http://www.mediafire.com/?9onssvqjp1nmhu4
mfg
Jep, deine hex datei funktioniert einwandfrei, hab sie schon draufgeflashed.
Ich möchte das aber selber können, das gibts doch nicht!
Die Programmiersprache C scheint es wohl nicht gut mit mir zu meinen, liegt sicherlich daran, dass ich erst mit Bascom begonnen habe
Ich hab zwischenzeitlich herausbekommen, wo die .hex datei meines neu angelegten und kompilierten projektes steckt, allerdings ist sie zu klein und funktioniert nicht
Was kann denn bei mir nicht stimmen?
Wsk8, kannst du mir sagen welche Schritte ich mit WinAVR (...hab ich ja auch installiert...) machen muss für die .hex file?
Vielleicht geht das besser.
So wie es ausssieht wurde hier nur das eine mehr oder weniger Leere File übersetzt. Die 70 Bytes sind halt etwa der Code zur initialisierung bzw. die Interruptvektoren.
Zumindest bei AVRstudio 4 muss man noch eintragen das die Files auch zum Projekt gehören. Damit stellt man auch ein welches File das Hauptprogramm enthält.
Check PN!
War bei mir auchso. Bei C braucht man halt viiieeel mehr einarbeitungszeit um das alles zu checken. Basic wurde ja dafür ausgelegt dass jeder damit zu recht kommt.Die Programmiersprache C scheint es wohl nicht gut mit mir zu meinen, liegt sicherlich daran, dass ich erst mit Bascom begonnen habe
mfg
Also jetzt geht es!!!
Ich benutze nun Win AVR - Notepad, lade das Makefile und gehe auf "make all".
Hex Datei wird dann im gleichen Verzeichnis der makefile-Datei erstellt.
Vielen Dank für die Hilfe für ein - im Nachhinein betrachtet - doch sehr triviales Problem.
Vielleicht sollte ich ganz die Finger von C lassen. Der Einstieg war ja mehr als katastrophal.
Neinneinnein! Ich kann Dir nur raten: bleib dran! Alle C-Leute mussten durch sowas durch
C ist immer noch Standard bei allem Möglichen - nicht nur µC. Und mit C bekommst Du kleinere und schnellere Programme als mit Basic; noch kleiner und schneller geht's nur mit Assembler - aber das ist wirklich hartes Zeugs, mit dem man das letzte bisschen aus seinem Prozesser rausholt. (Alter Informatiker-Spruch: "Wer Basic kann, ist fürs Programmieren verloren")
viele Grüße
Andreas
#define true ('/'/'/')
#define false ('-'-'-')
Lesezeichen