Zbin
Guest
Wed Feb 08, 2012 1:40 am
Piszę program na procesor ATTINY2313 i niestety zabrakł mi kilku
bajtów pamięci programu na dokończenie zadania. Czy jest jakiś
odpowiednik tego procesora, który ma też 20 nóżek i trochę więcej
pamięci programu niż 2kB dostępne w ATTINY2313?
Grzegorz Niemirowski
Guest
Wed Feb 08, 2012 1:40 am
Zbin <zew10@wp.pl> napisał(a):
Quote:
Piszę program na procesor ATTINY2313 i niestety zabrakł mi kilku
bajtów pamięci programu na dokończenie zadania. Czy jest jakiś
odpowiednik tego procesora, który ma też 20 nóżek i trochę więcej
pamięci programu niż 2kB dostępne w ATTINY2313?
W jakim sensie odpowiednik? atmel.com mówi:
ATtiny40
ATtiny4313
ATtiny43U
ATtiny461
ATtiny461A
ATtiny861
ATtiny861A
ATtiny87
Pierwsza cyferka to liczba kB.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express:
http://www.grzegorz.net/oe/
Uptime: 0 days, 5 hours, 53 minutes and 29 seconds
Andrzej
Guest
Wed Feb 08, 2012 10:03 am
Użytkownik "Zbin" <zew10@wp.pl> napisał w wiadomości news:dde296a8-499a-4c60-8978-2be15ac88443@db5g2000vbb.googlegroups.com...
Piszę program na procesor ATTINY2313 i niestety zabrakł mi kilku
bajtów pamięci programu na dokończenie zadania. Czy jest jakiś
odpowiednik tego procesora, który ma też 20 nóżek i trochę więcej
pamięci programu niż 2kB dostępne w ATTINY2313?
Jeśli win-AVR to starsze wersje generowały krótszy kod...
Adam Wysocki
Guest
Wed Feb 08, 2012 12:30 pm
Zbin <zew10@wp.pl> wrote:
Quote:
Piszę program na procesor ATTINY2313 i niestety zabrakł mi kilku
bajtów pamięci programu na dokończenie zadania. Czy jest jakiś
odpowiednik tego procesora, który ma też 20 nóżek i trochę więcej
pamięci programu niż 2kB dostępne w ATTINY2313?
Może prościej byłoby zoptymalizować program i spróbować upchnąć go w tej
pamięci? Często przyglądając się programowi można znaleźć miejsca, w których
da się uzyskać parę bajtów mniej.
--
gof
bratsiostry
Guest
Wed Feb 08, 2012 9:17 pm
Zbin pisze:
Quote:
Piszę program na procesor ATTINY2313 i niestety zabrakł mi kilku
bajtów pamięci programu na dokończenie zadania. Czy jest jakiś
odpowiednik tego procesora, który ma też 20 nóżek i trochę więcej
pamięci programu niż 2kB dostępne w ATTINY2313?
1. Zajrzyj na
www.atmel.com.
2. Jesli piszesz w C pod GCC to możesz spróbować zmienić sposób
optymalizacji kodu. W przypadku AVR-studio jest to gdzieś w jakiś
opcjach projektu. Jeśli IDE jest inne to trzeba zmienić w parametrach
wywołania kompilatora na o3 zamiast o1 czy też os (jeśli dobrze pamiętam).
3. Jeśli piszesz w assemblerze (zresztą w C również) to przejrzyj kod -
może da się zaoszczędzić ciut miejsca.
pzdr - BS
Grzegorz Niemirowski
Guest
Wed Feb 08, 2012 11:11 pm
Zbin <zew10@wp.pl> napisał(a):
Quote:
Dziękuję wszystkim (poniżej również) za porady. Program piszę w
asemblerze na Attiny2313 ale ciagłe dodawanie nowych funkcjonalności
wydłuża kod niemiłosirnie. Odzyskałem już co się dało. Wszystkie
powtarzające się fragmenty kodu zamieniłem na podprogramy, mniej ważne
funkcjonalności usunąłem. Teraz zostaje zmiana procka na ATTINY4313. Z
tego co się doczytałem to jest ona odpowiednikiem Attiny 2313A i różni
sie tylko ilościa pamięci. Wydaje mi sie również, że pomiędzy
Attiny2313, a Attiny2313A nie ma żadnych różnic poza minimalnym
napięciem zasilania (chyba że się mylę). Wychodzi więc na to, że
program powinien działć po zmianie procesora z 2313 na 4313.
Zbyszek
Dlatego pytałem o zamiennik. W obrębie danej rodziny możesz łatwo wymieniać
kostki, różnią się właśnie obudową, dostępną pamięcią i peryferiami, ale w
sumie to ciągle ten sam procek. Przesiadka z "mniejszego" na "większy" jest
zwykle bardzo prosta. Zmiana z 2313 na 4313 sprowadzi się pewnie tylko do
zmiany w ustawieniach kompilatora. ZTCP wersje A są troszkę nowocześniejsze,
pozostając binarnie zgodne. Podobnie wersje P mające obniżony pobór prądu
(pico power).
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express:
http://www.grzegorz.net/oe/
Uptime: 1 day, 4 hours, 8 minutes and 33 seconds
Zbin
Guest
Wed Feb 08, 2012 11:33 pm
On 8 Lut, 00:48, "Grzegorz Niemirowski" <gnthexfi...@poczta.onet.pl>
wrote:
Quote:
Zbin <ze...@wp.pl> napisał(a):
Piszę program na procesor ATTINY2313 i niestety zabrakł mi kilku
bajtów pamięci programu na dokończenie zadania. Czy jest jakiś
odpowiednik tego procesora, który ma też 20 nóżek i trochę więcej
pamięci programu niż 2kB dostępne w ATTINY2313?
W jakim sensie odpowiednik? atmel.com mówi:
ATtiny40
ATtiny4313
ATtiny43U
ATtiny461
ATtiny461A
ATtiny861
ATtiny861A
ATtiny87
Pierwsza cyferka to liczba kB.
--
Grzegorz
Niemirowskihttp://www.grzegorz.net/
OE PowerTool i Outlook Express:http://www.grzegorz.net/oe/
Uptime: 0 days, 5 hours, 53 minutes and 29 seconds
Dziękuję wszystkim (poniżej również) za porady. Program piszę w
asemblerze na Attiny2313 ale ciagłe dodawanie nowych funkcjonalności
wydłuża kod niemiłosirnie. Odzyskałem już co się dało. Wszystkie
powtarzające się fragmenty kodu zamieniłem na podprogramy, mniej ważne
funkcjonalności usunąłem. Teraz zostaje zmiana procka na ATTINY4313. Z
tego co się doczytałem to jest ona odpowiednikiem Attiny 2313A i różni
sie tylko ilościa pamięci. Wydaje mi sie również, że pomiędzy
Attiny2313, a Attiny2313A nie ma żadnych różnic poza minimalnym
napięciem zasilania (chyba że się mylę). Wychodzi więc na to, że
program powinien działć po zmianie procesora z 2313 na 4313.
Zbyszek