znawców WinAVR

Witam.

Mam pytanie czy można jakoś uruchomić make.exe plus wszystkie opcje do kompilacji projektu z WinAvr w innym edytorze np. VisualStudio 6.0. Edytor WinAvr nie jest doskonały stąd ten pomysł. Czy da się więc podglądnąć jaki program (programy) i z jakimi parametrami po kolei są wołane po wybraniu z menu 'Tools' opcji 'Make All'. Z tego co widzę to make.exe ale nie wiem z jakimi dokładnie flagami, podejrzewam że na końcu jest plik make.

Proszę o jakieś wskazówki.

Reply to
Viki
Loading thread data ...

Viki snipped-for-privacy@poczta.onet.pl> napisał(a):

Sprawdź w ustawieniach tego "niedoskonałego" edytora , z jakim parametrem jest wywoływany make.exe dla menu "Tools->[WinAvr]Make All".Ja obstawiam , że opcja brzmi "all" ;)

Piotrek

PS Poza PN-em , istnieją inne edytory dedykowane avrgcc.

Reply to
Piotrek Sz.

probowalem uruchomic make z taka opcja i nic, nie jej tez w helpie.

Reply to
Viki

Viki napisał/a:

musisz się znajdować w katalogu z projektem, w którym jest makefile oraz mieć ustawione ścieżki w systemie do katalogu w którym znajduje się make.exe avr-gcc.exe itp. (instalka winavr ustawia zmienną PATH ale możesz to sprawdzić na wszelki wypadek)

pozdrawiam czerstwy

Reply to
czerstwy

Zobacz plik makefile, w nim znajdziesz opcje i co kazda wywoluje. Popularne opcje to 'make all' 'make clean' 'make program'... Makefile w winavr ma duzo komentarzy.

Tomek

Reply to
Tom

czerstwy snipped-for-privacy@o2.pl napisał(a):

Na potwierdzenie słów kolegi i swoich: C:\WinAVR\ds18x20_demo>make.exe clean

-------- begin --------

Cleaning project: rm -f main.hex rm -f main.eep rm -f main.obj rm -f main.cof rm -f main.elf rm -f main.map rm -f main.obj rm -f main.a90 rm -f main.sym rm -f main.lnk rm -f main.lss rm -f main.o onewire.o delay.o ds18x20.o uart.o crc8.o rm -f main.lst onewire.lst delay.lst ds18x20.lst uart.lst crc8.lst rm -f main.s onewire.s delay.s ds18x20.s uart.s crc8.s rm -f main.d onewire.d delay.d ds18x20.d uart.d crc8.d rm -f .dep/* Errors: none

-------- end --------

C:\WinAVR\ds18x20_demo>make.exe all

-------- begin -------- avr-gcc (GCC) 3.4.4 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiling: main.c avr-gcc -c -mmcu=atmega8515 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfi elds -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.lst -std=gnu99 -DF_OSC=8000000 -MD -MP -MF .dep/main.o.d main.c -o main.o

Compiling: onewire.c avr-gcc -c -mmcu=atmega8515 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfi elds -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=onewire.l st -std=gnu99 -DF_OSC=8000000 -MD -MP -MF .dep/onewire.o.d onewire.c -o onewire o

Compiling: delay.c avr-gcc -c -mmcu=atmega8515 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfi elds -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=delay.lst -std=gnu99 -DF_OSC=8000000 -MD -MP -MF .dep/delay.o.d delay.c -o delay.o

Compiling: ds18x20.c avr-gcc -c -mmcu=atmega8515 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfi elds -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=ds18x20.l st -std=gnu99 -DF_OSC=8000000 -MD -MP -MF .dep/ds18x20.o.d ds18x20.c -o ds18x20 o

Compiling: uart.c avr-gcc -c -mmcu=atmega8515 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfi elds -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=uart.lst -std=gnu99 -DF_OSC=8000000 -MD -MP -MF .dep/uart.o.d uart.c -o uart.o

Compiling: crc8.c avr-gcc -c -mmcu=atmega8515 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfi elds -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=crc8.lst -std=gnu99 -DF_OSC=8000000 -MD -MP -MF .dep/crc8.o.d crc8.c -o crc8.o

Linking: main.elf avr-gcc -mmcu=atmega8515 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfield s -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.o -std =gnu99 -DF_OSC=8000000 -MD -MP -MF .dep/main.elf.d main.o onewire.o delay.o ds18 x20.o uart.o crc8.o --output main.elf -Wl,-Map=main.map,--cref -lm

Creating load file for Flash: main.hex avr-objcopy -O ihex -R .eeprom main.elf main.hex

Creating load file for EEPROM: main.eep avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \

--change-section-lma .eeprom=0 -O ihex main.elf main.eep

Creating Extended Listing: main.lss avr-objdump -h -S main.elf > main.lss

Creating Symbol Table: main.sym avr-nm -n main.elf > main.sym

Size after: main.elf : section size addr text 5854 0 data 10 8388704 bss 116 8388714 noinit 0 8388830 eeprom 0 8454144 debug_aranges 120 0 debug_pubnames 987 0 debug_info 5018 0 debug_abbrev 1435 0 debug_line 4050 0 debug_str 1260 0 debug_ranges 12 5854 Total 18862

Errors: none

-------- end --------

Pozdrawiam Piotrek

PS Myślałem ,że "Current Directory" na projekt i make.exe w PATH to się rozumie samo przez się, jednak się pomyliłem ;-)

Reply to
Piotrek Sz.

Bo to nie jest opcja programu make ale obiekt docelowy do utworzenia. Podobnie mozesz napisac np. "make abcd.hex" albo "make main.elf" - wszystko zalezy od zawartosci makefile'a.

Reply to
Adam Dybkowski

Adam Dybkowski snipped-for-privacy@amwaw.edu.pl> napisał(a):

Ja bym to porównał do DOS-owego batch'a , gdzie parametr jest nazwą etykiety , od której należy wykonać instrukcje . Nooo... , cos w tym guscie ;-)

Piotrek

Reply to
Piotrek Sz.

Proponuje Ci edytor Ultraedit. Jest to zawansowany edytor umozliwiajacy uruchamianie zewnetrznych programow np. *.batch wywolujacych make z odpowiednim parametrem. Poza edycja plikow zrodlowych, kasowania plikow wynikowych i kompilowania projektu masz mozliwosc ogladania efektu kompilacji w oknie "Output Window", czyli to o co Ci chodzi. Kiedys uzywalem w taki sposob tego edytora ale niestety nie pamietam szczegolow. Edytor ten zawiera rozlegly help, wiec nie powienienes miec z tym problemow. Jesli zdecydujesz sie tak go uzyc i dojdziesz do jakiegos rozwiazania chetnie dowiem sie (chociazby na grupie dyskusyjnej) w jak to zrobiles. Pozdrawiam i zycze powodzenia.

Jacek M.

Reply to
Jacek M.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.