procesor attiny2313 ma?o pami?ci :(

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?

Reply to
Zbin
Loading thread data ...

Zbin snipped-for-privacy@wp.pl napisał(a):

W jakim sensie odpowiednik? atmel.com mówi: ATtiny40 ATtiny4313 ATtiny43U ATtiny461 ATtiny461A ATtiny861 ATtiny861A ATtiny87 Pierwsza cyferka to liczba kB.

Reply to
Grzegorz Niemirowski

Użytkownik "Zbin" snipped-for-privacy@wp.pl napisał w wiadomości news: snipped-for-privacy@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...

Reply to
Andrzej

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.

Reply to
Adam Wysocki

Zbin pisze:

  1. Zajrzyj na
    formatting link
  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

Reply to
bratsiostry

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

Reply to
Zbin

Zbin snipped-for-privacy@wp.pl napisał(a):

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).

Reply to
Grzegorz Niemirowski

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.