Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 18 kwi 2024, o 22:06


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 27 maja 2017, o 18:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 lut 2017
Posty: 48
Pomógł: 4

Cześć

Mam taką zagwozdkę. Dokonałem kilku testów i oto wyniki:
1)Przy opcji "Release"
-rozmiar kodu po procesie kompilacji(Eclipse->Console) :text:3928,data:1084,bss:1568
-po wgraniu wsadu, w konsoli jest napisane: wrote 6144B from Release

2)Przy opcji "Debug"
-rozmiar kodu po kompilacji :text:8420B,data:1084B,bss:1568
-po wgraniu wsadu, w konsoli napisane jest: wrote 10240B from Debug

Pytania:
a.Dlaczego rozmiar wsadu różni się między tymi opcjami? Przecież program jest ten sam?
b.Dlaczego rozmiar kodu wgranego różni się od tego po kompilacji?

Ostatnio, mam trochę problemów ze zrozumieniem mechanizmów wgrywania wsadu w STM-ach.Chciałem też wykorzystać "gcov" ale wtedy rozmiar kodu wynosi 56kB i jakbym wgrał to do uC to tyle właśnie by się tam wgrało, więc póki co muszę przyznać, że nie ogarniam

BTW.Jakby co, to używam SW4STM32 jako IDE



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 maja 2017, o 20:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 maja 2012
Posty: 471
Lokalizacja: ZGY/ZS
Pomógł: 30

A no bo są kompilowane z różnymi flagami optymalizacyjnymi (bądź ich brakiem), Debug zawiera symbole dla debuggera. Poczytaj sobie o flagach optymalizacyjnych.
Zajrzyj do opcji projektu->C/C++ Build -> settings -> Optimization i dla debug bedziesz miał -O0 a dla release -O3 lub -Os

_________________
eDiyCraft.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 maja 2017, o 19:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Dokładnie dla DEBUG poza wsadem sa tworzone dodatkowe dane dla debugera dodatkowo sam wsad jest kompilowany bez optymalizacji
Dla RELEASE jest tworzony tylko plik bin/hex dodatkowo może być użyta optymalizacja

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 maja 2017, o 14:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 lut 2017
Posty: 48
Pomógł: 4

A czy dla DEBUG nie mogę zaznaczyć flagi optymalizacji dla debuggera?
Wiele artykułów podaje, że można a nawet czasem używają takiej samej flagi(Os) dla RELEASE jak i dla DEBUG



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO