eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDlaczego ATmega128 przekłamuje? › Re: Dlaczego ATmega128 przekłamuje?
  • Path: news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.task.gda
    .pl!not-for-mail
    From: "Darkac" <d...@w...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Dlaczego ATmega128 przekłamuje?
    Date: Wed, 14 Oct 2009 12:23:26 +0200
    Organization: CI TASK http://www.task.gda.pl/
    Lines: 33
    Message-ID: <hb48sg$8gj$1@news.task.gda.pl>
    References: <hb1sbu$qoq$1@news.lublin.pl> <hb1uet$fia$7@news.dialog.net.pl>
    <hb206d$t7q$1@news.lublin.pl> <hb46v6$5vf$2@atlantis.news.neostrada.pl>
    NNTP-Posting-Host: hr178.internetdsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
    Content-Transfer-Encoding: 8bit
    X-Trace: news.task.gda.pl 1255515856 8723 80.53.95.178 (14 Oct 2009 10:24:16 GMT)
    X-Complaints-To: a...@n...task.gda.pl
    NNTP-Posting-Date: Wed, 14 Oct 2009 10:24:16 +0000 (UTC)
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.2900.5843
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:573321
    [ ukryj 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: