-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: "Profesor" <p...@f...bus>
Newsgroups: pl.misc.elektronika
Subject: AVR gcc .bss .heap i stos
Date: Thu, 21 Jun 2012 08:59:42 +0200
Organization: ATMAN - ATM S.A.
Lines: 55
Message-ID: <jrugou$75s$1@node2.news.atman.pl>
NNTP-Posting-Host: ip-91-232-50-130.air-net.gda.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1340261982 7356 91.232.50.130 (21 Jun 2012 06:59:42 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Thu, 21 Jun 2012 06:59:42 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
Xref: news-archive.icm.edu.pl pl.misc.elektronika:633194
[ ukryj nagłówki ]Czy jakieś nieświadome użycie, zadeklarowanie zmiennej lokalnej np. float w
funkcji może prowadzić do używania obszaru poniżej stosu i powyżej .bss
czyli heap?
Z pliku .map niewiele widać.
.bss kończy się 0x733
stos na 0x800
podglądany stack pointer schodzni najniżej do 0x795
Czyli pomiędzy 0x733 a 0x795 jest teoretycznie heap ale wzmianki o tym w
pliku map nie ma.
No ale stos mi nachodzi czasem na zmienne. Jak zmniejszę bufor[512] o
kilkadziesiąt to się uspokaja.
Co można zrobić ? Skąd wiadomo czy heap jest używany? I co się dzieje w tym
obszarze?
Z wyliczeń jest miejsce. Wstawiam pułapki w różne miejsca kodu i czytam ile
wynosi aktualnie SP i nie ma siły, nie spotykają się. A jednak się kwasi.
.bss
....
....
0x008005f3 RXVAL
0x008005f5 V_TEST
0x008005f7 PROVIDE (__bss_end, .)
0x00006d76 __data_load_start = LOADADDR (.data)
0x00006d76 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x008005f7 0x13d
0x008005f7 PROVIDE (__noinit_start, .)
*(.noinit*)
.noinit 0x008005f7 0x13d main.o
0x008005f7 my_bufer
0x00800733 my_noinit
0x00800734 PROVIDE (__noinit_end, .)
0x00800734 _end = .
0x00800734 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
0x00810000 __eeprom_end = .
Następne wpisy z tego wątku
- 21.06.12 10:16 shg
- 21.06.12 14:45 Profesor
- 21.06.12 15:42 Nijak
- 21.06.12 16:05 Profesor
- 21.06.12 18:24 Nijak
- 22.06.12 02:06 Michoo
- 22.06.12 17:33 J.F
- 22.06.12 17:42 Profesor
Najnowsze wątki z tej grupy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
Najnowsze wątki
- 2025-05-12 Warszawa => Junior Rekruter <=
- 2025-05-12 Dostała karę za "brak biletu" parkowania. Wygrała w sądzie z miastem Kierująca zaparkowała na miejskim parkingu w Rybniku. Nie zdążyła przedłużyć parkowania i dostała 200 zł kary za "brak biletu".
- 2025-05-12 Białystok => Senior Node.js Developer (doświadczenie z framework Nes
- 2025-05-12 Warszawa => MENA New Business Manager <=
- 2025-05-12 Rzeszów => WEBCON Developer <=
- 2025-05-12 kamerka kultowy novatek G1WH
- 2025-05-12 Warszawa => Fullstack PHP Developer <=
- 2025-05-12 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-05-12 Warszawa => Staż w dziale Sprzedaży B2B <=
- 2025-05-12 Kraków => NMS System Administrator <=
- 2025-05-12 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2025-05-12 Gliwice => Business Development Manager - Network and Network Security
- 2025-05-12 Warszawa => Junior Rekruter <=
- 2025-05-12 Białystok => Programista Mainframe (z/OS, Assembler) <=
- 2025-05-12 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D