Dobry wieczór !
Napisałem prosty program, który po podaniu na wejście przetwornika ADC2 napięcia wyższego od 800mV zmienia stan wyprowadzenia PB0 na przeciwny.
Oto kod źródłowy :
Wyniki kompilacji :
Używam programatora USBasp i programów "khazama AVR Programmer" oraz "eXtreme burner AVR". Oto co otrzymuję po próbie wgrania programu :
Czytałem także ten temat :
https://www.elektroda.pl/rtvforum/topic1711074.html
W moim przypadku program raczej się mieści, nie wykonuje żadnych operacji na liczbach wielo bajtowych. Więc czym może być to spowodowane ?
I jeszcze jedna ciekawa bardzo ważna rzecz !!!
To pamięć EEPROM po jej odczytaniu. W dziwny sposób nie zapisały się dokładnie 1,2,5,6 rząd rejestrów.
Może pamięć uległa uszkodzeniu ? ( wcześniej potraktowałem go FuseBit doctorem zbudowanego zgodnie z projektem "Manekinen")
Proszę o pomoc.
Pozdrawiam !
Napisałem prosty program, który po podaniu na wejście przetwornika ADC2 napięcia wyższego od 800mV zmienia stan wyprowadzenia PB0 na przeciwny.
Oto kod źródłowy :
Kod: C / C++
Wyniki kompilacji :
> "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.
Size before:
AVR Memory Usage
----------------
Device: attiny13
Program: 102 bytes (10.0% Full)
(.text + .data + .bootloader)
Data: 0 bytes (0.0% Full)
(.data + .bss + .noinit)
Compiling C: program.c
avr-gcc -c -mmcu=attiny13 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./program.lst -std=gnu99 -MMD -MP -MF .dep/program.o.d program.c -o program.o
Linking: program.elf
avr-gcc -mmcu=attiny13 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=program.o -std=gnu99 -MMD -MP -MF .dep/program.elf.d program.o --output program.elf -Wl,-Map=program.map,--cref -lm
Creating load file for Flash: program.hex
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock program.elf program.hex
Creating load file for EEPROM: program.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 --no-change-warnings -O ihex program.elf program.eep || exit 0
Creating Extended Listing: program.lss
avr-objdump -h -S -z program.elf > program.lss
Creating Symbol Table: program.sym
avr-nm -n program.elf > program.sym
Size after:
AVR Memory Usage
----------------
Device: attiny13
Program: 102 bytes (10.0% Full)
(.text + .data + .bootloader)
Data: 0 bytes (0.0% Full)
(.data + .bss + .noinit)
-------- end --------
> Process Exit Code: 0
> Time Taken: 00:02
Używam programatora USBasp i programów "khazama AVR Programmer" oraz "eXtreme burner AVR". Oto co otrzymuję po próbie wgrania programu :
Czytałem także ten temat :
https://www.elektroda.pl/rtvforum/topic1711074.html
atom1477 napisał:ATTiny13 ma tylko 1024B Flasha.
Po prostu program się nie mieści.
W moim przypadku program raczej się mieści, nie wykonuje żadnych operacji na liczbach wielo bajtowych. Więc czym może być to spowodowane ?
I jeszcze jedna ciekawa bardzo ważna rzecz !!!
To pamięć EEPROM po jej odczytaniu. W dziwny sposób nie zapisały się dokładnie 1,2,5,6 rząd rejestrów.
Może pamięć uległa uszkodzeniu ? ( wcześniej potraktowałem go FuseBit doctorem zbudowanego zgodnie z projektem "Manekinen")
Proszę o pomoc.
Pozdrawiam !