-
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ł
Następne wpisy z tego wątku
- 04.04.14 10:48 Sylwester Łazar
- 04.04.14 10:52 Marek
- 04.04.14 11:10 Sylwester Łazar
- 04.04.14 11:22 Michał Lankosz
- 04.04.14 11:46 jacek pozniak
- 04.04.14 11:58 tusk, donald tusk
- 04.04.14 12:01 Adam Wysocki
- 04.04.14 12:40 Marek
- 04.04.14 12:41 Marek
- 04.04.14 12:47 Sylwester Łazar
- 04.04.14 12:49 Marek
- 04.04.14 13:47 jacek pozniak
- 04.04.14 14:07 Sylwester Łazar
- 04.04.14 14:09 jacek pozniak
- 04.04.14 14:19 jacek pozniak
Najnowsze wątki z tej grupy
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
Najnowsze wątki
- 2025-03-05 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-03-05 Zielona Góra => Senior Field Sales (system ERP) <=
- 2025-03-05 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-05 Kraków => Business Development Manager - Network and Network Security
- 2025-03-05 Zaniepokojeni mieszkańcy
- 2025-03-05 Ile pieniędzy ma bank?
- 2025-03-05 Ostrów Świętokrzy => Node.js / Fullstack Developer <=
- 2025-03-05 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-03-05 Warszawa => Frontend Developer (Angular13+) <=
- 2025-03-05 Warszawa => Frontend Developer (obszar Angular13+) <=
- 2025-03-05 Chiny-Kraków => Backend Developer (Node + Java) <=
- 2025-03-05 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-03-05 China-Kraków => Key Account Manager IT <=
- 2025-03-05 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-05 Gdańsk => Specjalista ds. Sprzedaży <=