-
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?
Następne wpisy z tego wątku
- 14.10.09 10:28 DJ
- 14.10.09 10:30 DJ
- 14.10.09 11:16 Michał Lankosz
- 14.10.09 11:59 Darkac
- 14.10.09 12:11 DJ
- 14.10.09 12:36 Darkac
- 14.10.09 12:38 T.M.F.
- 14.10.09 12:39 T.M.F.
- 14.10.09 13:17 Konop
- 14.10.09 13:15 DJ
- 14.10.09 13:21 Konop
- 14.10.09 13:23 Darkac
- 14.10.09 13:41 T.M.F.
- 14.10.09 13:31 Darkac
- 14.10.09 13:52 Darkac
Najnowsze wątki z tej grupy
- Thunderbird i dysk...
- opornosc falowa
- Bateria 9V 6F22, alkaliczna v cynkowa, samorozładowanie, bateria wysokiej trwałości do miernika
- Tani zakup z ali?
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
Najnowsze wątki
- 2025-07-23 Gdańsk => Programista Delphi <=
- 2025-07-23 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-23 Warszawa => Starszy inżynier DevOps (AWS) <=
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=