-
Data: 2012-06-21 08:59:42
Temat: AVR gcc .bss .heap i stos
Od: "Profesor" <p...@f...bus> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
Najnowsze wątki
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=
- 2025-01-31 Bieruń => Team Lead / Tribe Lead FrontEnd <=