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



Teraz jest 28 mar 2024, o 20:30


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 12 kwi 2019, o 14:44 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Mk MENU w ogóle prawie nie używa RAMu .. .pewnie coś żeś pan namieszał ;) na początek to myślę, że nie zaznaczyłeś ptaszka AVR i masz kod generowany jak dla ARM bez PROGMEM - a wtedy będziesz miał w AVRrze armagedon ;) i słusznie

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 kwi 2019, o 15:27 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

wachcio napisał(a):
Po wydłużeniu do ok 240 pozycji

ileeeeeee ?!?!? :lol: ... toż to jakiś hardcore ... ale ok - no nawet nie przeszło mi przez myśl że ktoś będzie coś takiego robił ....

Muszę się zastanowić co tyle zżera bo tak na gorąco to nie wiem ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 kwi 2019, o 16:07 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Panie panie ;) nie mam za bardzo na razie czasu sprawdzać, ale aż tak z ciekawości - na szybciorka - (dobrze że wkleiłeś to swoje MENU) ... wygenerowałem je i wrzuciłem do procka na ATmega32 i zobacz ile zajęło pamięci RAM ;)

Obrazek

2,9K - dasz wiarę ? ;) więc nie wiem co ty robisz

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 kwi 2019, o 18:20 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

ale zrób że prosty test - weź sobie załóż pusty projekt w MkClipse - i do niego wygeneruj to MENU tak jak ja to zrobiłem z tego co wkleiłeś wyżej i sprawdź. I proszę cię nie opowiadaj mi, że taka drastyczna różnica zajętości pamięci wynika z różnych toolchainów - to NIE MO ŻLI WE ;) Zrób ten test i daj znać - sam zobaczysz ... taka zajętość pamięci musi wynikać z definicji jakichś dużej ilości zmiennych albo tablic w RAM. Jeśli po tym teście nie zobaczysz takiej zajętości to już będziesz wiedział że coś masz mocno nie tak w swoim kodzie

------------------------ [ Dodano po: 1 minucie ]

A różnice po kompilacji pomiędzy toolchainami to się mogą sprowadzić do zajętości ale to pamięci FLASH i to też o kilka, kilkanaście albo i kilkaset bajtów !!! a nie tam tysiąc i więcej ... A w RAM ? nie wiem może kilka bajtów

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 kwi 2019, o 01:06 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

wachcio napisał(a):
W pliku mk_menu_display.h zmieniłem extern TPROPERTY menu_property[]; na extern TPROPERTY menu_property[] EEMEM; i dodając #include <avr/eeprom.h>
Będę testował czy przeniesienie w/w struktury da porządany efekt. Na razie kompilacja przebiegła pomyślnie

Sorki ale to kompletne ale to kompletne nieporozumienie ... i szybko się o tym przekonasz

wachcio napisał(a):
Doszedłem, że odkomentowanie funkcji on_display_menu_item_property w długim menu daje taki efekt... Bez niej 70% RAM z nią 125%

typ: TPROPERTY to struktura o rozmiarze 13 bajtów, jeśli w RAM ma być 240 takich elementów to masz ok 3KB !!! zajętości RAM

albo zoptymalizujesz sobie sam użycie propertiesów - albo zmniejsz MENU.

inaczej to nie dziw się, że przy TYLU propertiesach - masz taką a nie inną zajętość pamięci - a tym bardziej, że bez użycia MENU masz już zajętość tragicznie wielką bo 70%

albo ostatnie wyjście - użyj ATmega1284P (IDENTYCZNA pinologia jak ATmega644) tyle, że ma 16KB RAM ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 kwi 2019, o 11:56 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Ale ja nie mówię że źle wykorzystujesz propertiesy = tylko że jeśli dałeś ich aż tyle no to nie ma co się dziwić , że dochodzi ci do zajętości 125% RAM ...

Ja pisałem że coś może źle robisz że przed MkMenu masz aż tak dużą zajętość RAM w swoim programie = 70% ... chociaż kto wie poza tobą - może tak musi być. No ale jeśli źle zopytmalizowałeś swój program no to ... Być może po własnej optymalizacji uzyskałbyś np 30% zajętości zamiat 70%

Wystarczy, że w kodzie się zostawi takie zapisy

lcd_str( "jakiś tam komunikat" );

to od razu chlasta człowiek sobie RAM jak brodę brzytwą

wystarczy dać tak

lcd_str_P( PSTR("jakiś tam komunikat") );

i już z RAMu znika tyle bajtów ile liczy sobie ten string.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



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: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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