FAQ | Points | Add... | Recent posts | Search | Register | Log in


Keil - optymalizacja kodu dla ADuC814


Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> Keil - optymalizacja kodu dla ADuC814
Author
Message
Gigantor
Poziom 16
Poziom 16


Joined: 05 May 2004
Posts: 270
Location: Poznań

Post#1 Post from the author of the topic 24 May 2007 13:18   

Keil - optymalizacja kodu dla ADuC814


Witam.
Mam nastepujacy problem: napisalem programik w Keilu dla ADuC814. Wsad do proca zajmuje ok 4k. Aby uczynikc kod czytelniejszym, podzielilem go na pare plikow (unitow) i stosuje "#include". Po kompilacji rozmiar wsadu wzrosl do 4,4k.
Mam ustawiona optymalizcje na 9 i "favour speed" (daje o dziwo mniejszy rozmiar kodu niz "favour size").

Czy takie zachowanie jest normalne? Czy popelnilem jakis blad?
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 24 May 2007 13:18   





Back to top
   
markosik20
Poziom 22
Poziom 22


Joined: 27 Mar 2003
Posts: 2032
Location: Będzin

Post#2 24 May 2007 14:05   

Re: Keil - optymalizacja kodu dla ADuC814


Optymalizacja zależy głównie od tego jak napisałeś program. Widocznie kiedy kompilator kładł większą uwagę na prędkość wyszło mu mniej kodu jakby zajmował się optymalizacją rozmiaru :) (no tak mu to wyszło). Zresztą na 4kB kodu to on się za bardzo nie napracował jeżeli chodzi o optymalizację. Jak będziesz miał ze 30kB to zobaczysz róźnicę (oczywiście jak nie bedzie w kodzie 25kB stałych lub tablic). Jeżeli kompilacja przebiega prawidłowo to program powinien (powtarzam powinien ale nie musi) poprawnie pracować na sprzęcie rzeczywistym.
Back to top
   
Google

Google Adsense


Post# 24 May 2007 14:05   





Back to top
   
Gigantor
Poziom 16
Poziom 16


Joined: 05 May 2004
Posts: 270
Location: Poznań

Post#3 Post from the author of the topic 24 May 2007 14:38   

Re: Keil - optymalizacja kodu dla ADuC814


Kod ma 4k, bo zoptymalizowalem go recznie. Przedtem zajmowal 6k. Wystarczylo wywalic niektore procedury i wlepic ich kod w miejsce wywolania. Takie cos nie powinno miec miejca. Po cos chyba ta optymalizacja automatyczna jest.
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 24 May 2007 14:38   





Back to top
   
markosik20
Poziom 22
Poziom 22


Joined: 27 Mar 2003
Posts: 2032
Location: Będzin

Post#4 24 May 2007 14:58   

Re: Keil - optymalizacja kodu dla ADuC814


Code:
 Po cos chyba ta optymalizacja automatyczna jest

No na pewno nie po to żeby naprawiać błędy programisty. Skoro program jest źle napisany to żadna optymalizacja mu nie pomoże. Keil to bardzo dobry (jak nie najlepszy) kombajn do tworzenia zaawansowanych projektów dla rodziny 8051 i ARM. Służy do dużego oprogramowania (>30kB) ,optymalizacja jest znacząco widoczna przy większej ilości kodu i nigdy nie zastąpi rozumu programisty.
Back to top
   
Gigantor
Poziom 16
Poziom 16


Joined: 05 May 2004
Posts: 270
Location: Poznań

Post#5 Post from the author of the topic 24 May 2007 15:07   

Re: Keil - optymalizacja kodu dla ADuC814


Oczywiscie zgadzam sie z Toba.
Jednak zamkniecie czesto powtarzanego fragmentu kodu w procedurze to juz nie blad. Ani bezmyslnosc programisty. Podobnie podzielenie go na unity.
A kompilator jakos slabo sobie z tym radzi. Nie jest to moim zdaniem sytuacja normalna.
Back to top
   
markosik20
Poziom 22
Poziom 22


Joined: 27 Mar 2003
Posts: 2032
Location: Będzin

Post#6 24 May 2007 15:47   

Re: Keil - optymalizacja kodu dla ADuC814


Quote:
Jednak zamkniecie czesto powtarzanego fragmentu kodu w procedurze to juz nie blad. Ani bezmyslnosc programisty. Podobnie podzielenie go na unity.A kompilator jakos slabo sobie z tym radzi. Nie jest to moim zdaniem sytuacja normalna

Wybacz ale kompilator ze ciebie tego nie zrobi i jest to sytuacja normalna :), więc jeżeli miałeś powtarzające się fragmentu kodu to trzeba go było zamknąć już na początku w jednej funkcji a nie czekać na to że zrobi to za ciebie optymalizacja :wink:. Dzielenie programu na moduły nie powoduje żadnego zwiększania kodu (jeżeli się to odpowienio zrobi) i robi sie to tylko dla czytelności programu (nie dla kompilatora).
Back to top
   
Google

Google Adsense


Post# 24 May 2007 15:47   





Back to top
   
Gigantor
Poziom 16
Poziom 16


Joined: 05 May 2004
Posts: 270
Location: Poznań

Post#7 Post from the author of the topic 24 May 2007 15:54   

Re: Keil - optymalizacja kodu dla ADuC814


markosik20 wrote:

Wybacz ale kompilator ze ciebie tego nie zrobi i jest to sytuacja normalna :), więc jeżeli miałeś powtarzające się fragmentu kodu to trzeba go było zamknąć już na początku w jednej funkcji a nie czekać na to że zrobi to za ciebie optymalizacja :wink:.

Nie zrozumielismy sie. Wersja z procedura zajela wiecej. Po recznym "podstawieniu" rozmiar sie zmniejszyl. I to sporo.
Rozumiem, ze dzielenie programu na moduly to wygoda, ale nic nie poradze na to, ze po podziale rozmiar sie zwiekszyl (choc jest to absolutnie nielogiczne).

I co rozumiesz przez "odpowiednie zrobienie"?
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> Keil - optymalizacja kodu dla ADuC814
Page 1 of 1
Similar topics
[C] Opóźnienia i optymalizacja kodu (12)
DSP a C - optymalizacja kodu. (2)
DS18B20 Optymalizacja kodu (4)
optymalizacja kodu w C... (3)
Keil ARM - wskaznik zajętej pamięci oraz optymalizacja (1)
[Bascom AVR] Optymalizacja kodu dla Attiny2313 (23)
Optymalizacja kodu c++ keil (8)
[Avr][C] Optymalizacja kodu (4)
Optymalizacja kodu ATmega8 + ADXL202 (9)
Optymalizacja Kodu - AVR Studio (5)

Page generation time: 0.127 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed