С учетом того что у меня WINAVR установлен на WIN 8.1 64 bit (что само по себе аномально)
ТО все скомпилировалось бэз проблем (c руганью на устаревший код) на Mega8 и дало ошибку после замены типа контроллера в makefile на 168p.
до
CODE:
> "make.exe" all
-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 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 C: usbdrv.c
avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=12000000UL -O2 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=obj/usbdrv.lst -std=gnu99 -Wundef -MD -MP -MF .dep/usbdrv.o.d usbdrv.c -o obj/usbdrv.o
....
Size before:
main_dendy.elf :
section size addr
.text 2998 0
.data 6 8388704
.bss 75 8388710
.stab 5052 0
.stabstr 59 0
.debug_aranges 128 0
.debug_pubnames 499 0
.debug_info 3949 0
.debug_abbrev 1587 0
.debug_line 2370 0
.debug_frame 208 0
.debug_str 1021 0
.debug_loc 4244 0
.debug_ranges 408 0
Total 22604
> Process Exit Code: 0
> Time Taken: 00:00
и после
CODE:
------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 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 C: usbdrv.c
avr-gcc -c -mmcu=atmega168p -I. -gdwarf-2 -DF_CPU=12000000UL -O2 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=obj/usbdrv.lst -std=gnu99 -Wundef -MD -MP -MF .dep/usbdrv.o.d usbdrv.c -o obj/usbdrv.o
In file included from usbdrv.c:17:
oddebug.h:35:5: warning: "DEBUG_LEVEL" is not defined
usbdrv.c: In function 'usbInit':
usbdrv.c:503: warning: cast from pointer to integer of different size
usbdrv.c:504: warning: cast from pointer to integer of different size
Compiling C: in_dendy.c
avr-gcc -c -mmcu=atmega168p -I. -gdwarf-2 -DF_CPU=12000000UL -O2 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=obj/in_dendy.lst -std=gnu99 -Wundef -MD -MP -MF .dep/in_dendy.o.d in_dendy.c -o obj/in_dendy.o
in_dendy.c: In function 'inDecoderInit':
in_dendy.c:17: error: 'TCCR2' undeclared (first use in this function)
in_dendy.c:17: error: (Each undeclared identifier is reported only once
in_dendy.c:17: error: for each function it appears in.)
in_dendy.c:18: error: 'OCR2' undeclared (first use in this function)
in_dendy.c:19: error: 'TIFR' undeclared (first use in this function)
in_dendy.c:19: error: 'OCF2' undeclared (first use in this function)
in_dendy.c: In function 'inDecoderPoll':
in_dendy.c:41: error: 'TIFR' undeclared (first use in this function)
in_dendy.c:41: error: 'OCF2' undeclared (first use in this function)
make.exe: *** [obj/in_dendy.o] Error 1
> Process Exit Code: 2
> Time Taken: 00:01
то есть есть несоответствие внутренних регистров которое надо вручную править по даташиту (что то стаймерами видимо отличается).
еще как отличается OCF2 и прочее по 2 таймеру развалилось на OCF2A и OCF2B
вывих мозга возможен в принципе
с программатором еще сложнее потому что я не в курсе что это за USBPoni и на базе чего он сделан
вообще эти программаторы просто текстовые записи где то в недрах винавра, где то я читал или даже сам писал туда описание на самопальный программатор (в интеренете поискаь надо)(Отредактировано автором: 31 Января, 2015 - 22:11:29) |