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



Teraz jest 29 mar 2024, o 16:33


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 31 maja 2017, o 23:45 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 61
Pomógł: 0

Witam,
Ostatnio pracując nad uniwersalnymi bibliotekami (AVR-GCC) zacząłem się zastanawiać jak to jest z tym arduino, iż jeden kompilator jest w stanie obsługiwać różne platformy (ESP8266 na przykład, czy jakieś inne Leonardo, STM32 itp). Przecież arduino oparte jest o kompilator AVR-GCC, więc jak to z tym jest?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2017, o 02:35 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

AVR-GCC to jest kompilator C, a nie "wgrywarka" np w przypadku uC AVR jest nią avrdude, w innych jest co innego, ale kompilator zależy od używanego języka, a nie platformy.

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2017, o 08:46 
Offline
Użytkownik

Dołączył(a): 02 cze 2014
Posty: 68
Pomógł: 4

" Jeden kompilator - wiele platform?"- w arduino jest właściwie na odwrót, jedna platforma-wiele kompilatorów (taki framework). W skrócie jeśli chcesz coś takiego osiągnąć, to musiałbyś zrobić jakąś swoją abstrakcję sprzętu, np. dla ustawiania bitu była by to funkcja set_bit(numer bitu), która w swoim ciele wołała by już niskopoziomową funkcje np. low_level_set_bit(numer_bitu). Ty pisałbyś biblioteki używając swojej abstrakcji, a jeśli chciałbyś je obsługiwać na innym sprzęcie, to implementowałbyś tylko funkcje niskopoziomowe dostosowane do tego sprzętu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2017, o 14:37 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 61
Pomógł: 0

@Harry,
Nie masz do końca racji, oczywiście kompilator jest definiowany przez język, ale konkretne porty już przez platformę.
Dlatego też AVR-GCC jest portem kompilatora GCC dla rodziny AVR, np PICa już nie oprogramujesz przy użyciu AVR-GCC.
@Kijas1
Jeśli chodzi o biblioteki to warstwy abstrakcji itp są dla mnie jasne. Może powiedzieć coś więcej o tym "framework'u".
Mam rozumieć, że arduino oferuje X różnych kompilatorów (ew portów jednego kompilatora na różne platformy) i w zależności od wybranej płytki odpowiednio dobiera cały toolchain ? (Inny dla AVR, inny dla STM, inny dla ESP itp?)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2017, o 19:16 
Offline
Użytkownik

Dołączył(a): 02 cze 2014
Posty: 68
Pomógł: 4

Jatsekku napisał(a):
Mam rozumieć, że arduino oferuje X różnych kompilatorów (ew portów jednego kompilatora na różne platformy) i w zależności od wybranej płytki odpowiednio dobiera cały toolchain ? (Inny dla AVR, inny dla STM, inny dla ESP itp?)

Zgadza się, w zależności od płytki, wybierany jest odpowiedni toolchain oraz biblioteki. O Arduino za dużo nie powiem, bo nie używam, ale wykorzystywany jest tam C++, więc jeśli istnieje jakiś kompilator tegoż języka na daną platformę, to arduino też powinno się dać przeportować.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2017, o 19:47 
Offline
Moderator
Avatar użytkownika

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

Rozważania typu średniowiecznych dysput: "ile diabłów mieści się na czubku szpilki" ;)

Może jednak warto sięgnąć normalnie do języka C ? - gorąco polecam

_________________
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: 1 cze 2017, o 20:33 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 61
Pomógł: 0

Panie Mirku, oczywiście, że czyste C jest lepsze i doskonale o tym wiem :)
Zastanawiałem się raczej nad tym jak wykorzystać fakt,
iż arduino tak dobrze radzi sobie z przenoszeniem kodu na inne platformy we własnych bibliotekach.
Teraz już rozumiem jak to działa. Dziękuję kijas1 ! ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lip 2017, o 21:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 paź 2011
Posty: 780
Pomógł: 20

Panie Mirku pana ardu miś byłby smutny po tych słowach ;)

A na poważnie do testów jest rewelacją arduino można sobie w C programować płytki arduno ,
czasami bywają surowe wstawki w C i kompilator ładnie to łyka.

Pozdrawiam

_________________
sig off ;(



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

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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO