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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 29 maja 2025, o 16:38


    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: 27406
    Lokalizacja: Szczecin
    Pomógł: 1043

    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 2 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