eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDlaczego ATmega128 przekłamuje? › Re: Dlaczego ATmega128 przekłamuje?
  • Data: 2009-10-14 10:23:26
    Temat: Re: Dlaczego ATmega128 przekłamuje?
    Od: "Darkac" <d...@w...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]


    Użytkownik "T.M.F." <t...@n...mp.pl> napisał w wiadomości
    news:hb46v6$5vf$2@atlantis.news.neostrada.pl...
    >> Tak podejrzewałem, ale redukcja zmiennych z 83% zajętości RAM do 52% nie
    >> zmieniła nic w tym względzie. Ile może zajmować taki stos? ATmega128 ma
    >> 4 KB RAM-u. Polowa pamięci na stos ? Trochę nieprawdopodobne.
    >> Kilka wersji programu wcześniej, nie było tego złego zjawiska, a
    >> zajętość RAM-u była ponad 80%. Było sporo drobnych zmian, które nie
    >> powinny były znacząco wpływać na rozmiar stosu. Ale śledzenie tych zmian
    >> to też partaninka.
    >
    > Zajetosc RAM, ktora ci pokazuje kompilator moze sie miec nijak do
    > rzeczywistego zapotrzebowania na pamiec. Przeciez kompilator nie pokazuje
    > ci miejsca zajetego przez zmienne alokowane dynamicznie oraz na stosie.

    Dlatego też uważałem że potrzebny jest jakis margines bezpieczeństwa.
    Dlatego zrobiłem próbę ze zredukowanym radykalnie zapotrzebowaniem na RAM.
    Nie wiem w końcu jaką informację niesie pokazany przez kompilator stopień
    użycia RAM. Czy jest tam tylko to, co zajmują zadeklarowane zmienne
    globalne, czy też razem z maksymalną liczbą zmiennych lokalnych i stosem. Z
    powyższych odpowiedzi nie wynika to jednoznacznie. Może ktoś wypowie się.

    A tak przy okazji zajętości RAM-u, nie wiem jak rozwiązać następujący
    problem:
    W programie jest sporo komunikatów tekstowych zadeklarowanych jako stałe w
    tablicach jednowymiarowych. Są one wyświetlane na LCD przez procedurę,
    której parametrem jest nazwa tablicy. Mimo że deklaracja tablic zawiera
    słowo "const", to stałe te niestety zajmują pamięć RAM. I to tyle bajtów ile
    w sumie liczą. Jak zrobić żeby stałe te były pobierane z pamięci programu we
    Flashu? Dlaczego powielane są do RAM-u? Czy słowo "const" oprócz
    zabezpieczenia przed zmianą nie powinno decydować o lokalizacji tej
    informacji?

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: