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



Teraz jest 30 mar 2026, o 12:44


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 20 gru 2013, o 00:11 
Offline
Użytkownik

Dołączył(a): 20 gru 2013
Posty: 28
Pomógł: 0

Witam
Pytanie mam takie zainstalowałem eclips z pluginem WinAVR, w zasadzie wszystko działa, poza jednym,
przy próbie kompilacji programu obsługującego 1-wire i lcd 2x16 kod *.hex wychodzi około 6KB, czy da się jakoś tak zoptymalizować biblioteki do obsługi 1-wire
żeby mogły działać na ATtiny 2313 z 2KB. Dodam ze biblioteki do lcd i 1-wire mam z płyty załączonej do książki "Mikrokontrolery AVR Język C - podstawy programowania"
Pana Mirka.

I jeszcze jedna dziwna rzecz (przynajmniej dla mnie) po usunięciu kodu w main.c (pozostawiam samą pętle główną - pustą) po skompilowaniu plik .hex dalej ma 6KB, o co tu chodzi.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2013, o 00:14 
Offline
Moderator
Avatar użytkownika

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

No no to jeszcze spróbuj wcisnąć to może w ATtiny13 ;) który ma tylko 1kb Flash ;)

na poważnie to może i da radę jak się uprzeć - ale trzeba byłoby włączyć wszystkie optymalizacje i jeszcze samemu posiedzieć nad kodem żeby go poodchudzać - tylko to i tak będzie sztuka dla sztuki bo ile ci zostanie na twój kod w main() ?

czasem jednak warto zastanowić się nad doborem procka zamiast wciskać jak to się mówi kota do butelki po mleku ;)

_________________
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: 20 gru 2013, o 00:29 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

6KB?
U mnie na Atmega8 wychodzi poniżej 3.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2013, o 00:36 
Offline
Moderator
Avatar użytkownika

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

mlp napisał(a):
przy próbie kompilacji programu obsługującego 1-wire i lcd 2x16 kod *.hex wychodzi około 6KB


No jeśli używasz liczb zmiennoprzecinkowych albo delay ze zmienną zamiast stałej to wtedy nie dziwne :(

_________________
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: 20 gru 2013, o 09:21 
Offline
Użytkownik

Dołączył(a): 20 gru 2013
Posty: 28
Pomógł: 0

OK wielkie dzięki tak też myślałem ale wolałem się upewnić, zaczynam w C i wcześniej w BASCOM było trochę inaczej, jeszcze raz dzięki za pomoc.

Nie wiem tylko czemu po usunięciu linii programu i ponownej kompilacji plik .hex dalej ma 6KB.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2013, o 09:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 sie 2013
Posty: 199
Pomógł: 1

na stronie jest atmela jest fajny artykuł jak optymalizować kod
poszukaj "Atmel AVR4027 Tips and Tricks to Optimize C Code" dosc ciekawe
np:
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2013, o 18:14 
Offline
Użytkownik

Dołączył(a): 24 kwi 2012
Posty: 76
Lokalizacja: Ostrów Wielkopolski
Pomógł: 6

Oczywiście nie namawiam ale w ASM program który mierzy temperaturkę przy pomocy DS18B20 wysyła ją do PC-ta poprzez Uart i jednocześnie zapewnia "kontakt" z RTC DS1307 zajmuje jak poniżej :oops:

C:\AVRprogr\bb\bb.asm(4): Including file 'C:\AVR Studio\AvrAssembler2\Appnotes\tn2313def.inc'
C:\AVRprogr\bb\bb.asm(27): Including file 'C:\AVRprogr\bb\usart.inc'
C:\AVRprogr\bb\bb.asm(28): Including file 'C:\AVRprogr\bb\1wiredef.inc'
C:\AVRprogr\bb\bb.asm(29): Including file 'C:\AVRprogr\bb\i2c.inc'
C:\AVRprogr\bb\bb.asm(130): No EEPROM data, deleting C:\AVRprogr\bb\bb.eep

ATtiny2313 memory use summary [bytes]:
Segment Begin End Code Data Used Size Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x0002cc 672 26 698 2048 34.1%
[.dseg] 0x000060 0x000060 0 0 0 128 0.0%
[.eseg] 0x000000 0x000000 0 0 0 128 0.0%

Pozdrawiam Wojtek



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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