eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPIC vs AVR › Re: PIC vs AVR
  • Data: 2014-04-04 10:34:56
    Temat: Re: PIC vs AVR
    Od: Michał Lankosz <m...@t...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2014-04-04 00:07, jacek pozniak pisze:
    > Prawdę mówiąc skłania mnie ta sytuacja do przesiadki na AVR, który jak sie
    > wydaje jest bardziej przyjazny dla kompilatora (jest na niego gcc)

    Jeśli nie popatrzysz na ARM jak na armatę na wróble, to może o nich
    pomyśl. Piszę (teraz coraz mniej) na AVR w C jak i na ARM (STM32) więc
    mam jako takie porównanie.

    W mojej opinii na niekorzyść AVR (w stosunku do ARM) przemawia:
    - pitolenie się ze stałymi umieszczanymi we flash, cały zbiór funkcji
    operujący na stringach jest powielony tylko z powodu innego sposobu
    dostępu do pamięci programu
    (http://www.nongnu.org/avr-libc/user-manual/group__a
    vr__pgmspace.html)
    - pitolenie się z dostępem powyżej magicznej granicy 64k (RAMPZ), prosty
    wskaźnik do pamięci jest tylko 16-bit
    - debugowanie - jest niby jtag (którego raz mi się udało użyć), czy
    debugwire (takiego sprzętu już nie miałem); w moim przekonaniu te
    narzędzia u Atmela dobrze działają jak się ma oryginalne (drogie)
    sprzęty i tylko ich AtmelStudio. Ja mam tylko programator ISP+PDI+TPI.

    Trzeba mieć też na uwadze, że w przypadku AVRów nie jest też tak różowo
    z kompilacją. Wraz z wersją 5.x, czy 6 AS zmiany w toolchainie są na
    tyle duże, że wiele kodów już napisanych i działających trzeba
    poprawiać. Na pierwszy strzał idzie dodanie const do wszystkich stałych
    umieszczonych w pamięci programu (wreszcie uczy się "programistów"
    takich jak ja ;), bo inaczej kompilacja kończy się błędem. Jednak nie
    pamiętam przypadku, żeby kod kompilował się dobrze dla dwóch wersji
    kompilatora, a przy jednym z nich nie działał.

    Korzyści AVR to... głównie że istnieją malutkie procki, które mogą
    posłużyć do migania diodą, jako jakieś interfejsy między czujnikiem a
    magistralą i... wiele innych.
    Jednak stosowanie ATmega128 już jest kiepskim pomysłem, bo jest 5x
    droższa i z 15 razy mniej wydajna od prostego Cortex M0.

    Do ARMów jest obecnie kilka darmowych toolchainów GCC, tylko środowisko
    trzeba sobie skompletować. A! jest CooCox, co się go ściąga, klika w
    jakimś wizardzie i już - nie używam, ale wydaje się dość przyjazne.

    --
    Michał

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: