-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: cepu69 <c...@t...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Dlaczego ATmega128 przekłamuje?
Date: Tue, 13 Oct 2009 17:30:10 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 44
Message-ID: <hb26e5$oou$1@inews.gazeta.pl>
References: <hb1sbu$qoq$1@news.lublin.pl>
NNTP-Posting-Host: 217.153.153.214
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8Bit
X-Trace: inews.gazeta.pl 1255447813 25374 217.153.153.214 (13 Oct 2009 15:30:13 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 13 Oct 2009 15:30:13 +0000 (UTC)
X-User: cepu69
User-Agent: KNode/0.10.9
Xref: news-archive.icm.edu.pl pl.misc.elektronika:573241
[ ukryj nagłówki ]Darkac wrote:
> Piszę program na ATmega128 za pomocą edytora AVRSide i kompilatora WinAVR.
> Program jest juz trochę rozbudowany i zawiły.
(..)
> Jedna ze zmiennych ustawiana jest w menu (wyświetlacz LCD i klawiatura
> multipleksowana) i przyjmuje wartości 1 lub 0.
Czyli nalezy rozumiec, ze jest to zmienna globalna???
> Zmienna ta nie występuje w ogóle w tej procedurze. W całym programie
> jej wartość może być zmieniana ręcznie tylko w pewnym menu które
> trzeba specjalnie wywołać sekwencją działań.
"Recznie" to ty musisz ja zmienic, kompilator ja zmienia poprostu tam
zapisujac ;)
Chyba ze masz na mysli iz aby dokonac zmiany tej zmiennej trzeba wykonac
sekwencje polecen, np. jak przy zapisie do pamieci Flash,
ale wtedy nie mam mowy o Ramie
> Podejrzewałem że może jest za mało pamięci RAM (zajętość 83%) i
> coś zaczyna głupieć. Testowo wywaliłem pewne tabele zajmujące sporo RAM-u
> i uzyskałem 52% zajętości.
W kwestii wyjasnienia pojec. Tzw. zajetosc RAM nie ma zadnego znaczenia,
mozesz uzyc 100% RAMu i program bedzie dziala poprawnie - oczywiscie jesli
rozmiar fizyczny pamieci jest identyczny lub wiekszy niz rozmiar pamieci,
ktora dysponuje linker.
Nie mieszaj pojec!!! Zajetosc RAMu mowi tylko ile jeszcze zmiennych czy kodu
mozesz dodac do swojego programu.
>Przydałaby się jakaś wskazówka do szukania winnego.
Czyli pobawmy sie we wrozke;)
> Co może powodować ingerencję w wartość zmiennej przez procedurę, w której
> ta zmienna nie występuje?
1. "Mazanie po pamieci" - uzywany wskaznik albo wsakzyje gdzie indziej niz
myslisz badz przekroczyles rozmiar obiektu na ktory wskazuje wskaznik.
Spojrz na mape linkera - gdzie zostala zaalokowana rzeczona zmienna tj. jaka
zmienna znajduje sie przed nia.
2. Uzyj grep i sprwadz wszystkie wystapienia inkryminowanej zmiennej - moze
jednak jest modyfikowna explicite w kodzie.
3. Czy nie zostal przekroczony rozmiar stosu. Na to ma wplyw glebokosc
zgniezdzenia funkcji, ilosc zmiennych automatycznych trzymanych na stosie
itp. a nie zajetosc RAMu przez program!!!
i najwazniejsze wyslac post na grupe pl.comp.lang.c ;)
Następne wpisy z tego wątku
- 13.10.09 16:48 Jurek Szczesiul
- 13.10.09 20:59 John Smith
- 13.10.09 21:15 T.M.F.
- 13.10.09 21:37 Ghost
- 14.10.09 07:51 John Smith
- 14.10.09 09:47 T.M.F.
- 14.10.09 09:49 T.M.F.
- 14.10.09 10:23 Darkac
- 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.
Najnowsze wątki z tej grupy
- Szukam monitora HDMI ok. 4"
- Obcinaczki z łapaczem
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
Najnowsze wątki
- 2024-12-18 Żerniki => Employer Branding Specialist <=
- 2024-12-18 Gliwice => Specjalista ds. public relations <=
- 2024-12-18 Kablówka z modułem CAM
- 2024-12-18 Warszawa => Spedytor międzynarodowy <=
- 2024-12-18 Wróblewo => Analityk finansowy <=
- 2024-12-18 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-12-18 Lublin => Delphi Programmer <=
- 2024-12-18 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-18 Gliwice => IT Expert (Network Systems area) <=
- 2024-12-18 Wrocław => Application Security Engineer <=
- 2024-12-18 Warszawa => Key Account Manager <=
- 2024-12-18 Alternatywny nośnik do monitoringu zamiast HDD?
- 2024-12-17 Rodzaj przekładni planetarnej z
- 2024-12-17 Z instrukcji do kitu
- 2024-12-17 Re: W telefonie brak szufladki na drugą kartę SIM