Samemu ostatnio mieszając sobie strasznie, tj. przeglądając rodziny Kinetis L, STM M0+ po M4, oraz AVRy stwierdzam, że mimo całej palety zalet AVRów, jak prostota programowania, taniość narzędzi oraz ogromny support Mirka i całych zastępów ludzi na forum, do zastosowań Touchsensors, ETH (czyli stos TCP/IP w procesorze), graficzny interfejs to STMy i Kinetis jednak wypada dużo lepiej. O Microchipach nie wiem nic, po za tym że są
.
Z drugiej strony zawsze dobrze znać więcej niż mniej
. Kwestia tylko inwestycji w narzędzia typu programator i IDE (tu jak nawet darmowe, to trzeba poświęcić czas).
Jest np. taki mbed takie ardunio na ARMy, ale więcej to ma wad niż zalet
. W sumie zalety są dwie, prostota implementacji bo sporo gotowych przykładów jest, oraz łatwa przenośność kodu. Tylko kompilator jest online (bez neta ani rusz). No i bałagan w bibliotekach tworzonych przez użytkowników, brak standardu, oraz w sumie arduniowatość kodu
a dla mnie to akurat wada nie zaleta.
Jeżeli tylko potrafisz sam z dokumentacji dostępnej ogarnąć nową rodzinę, to nic tylko działaj.
To że jakaś rodzina jest bardziej stabilna od drugiej to Mit. To nie lata 80te, że motorola robiła procki z obsługą wyjątków, gdzie cała reszta z x86 to tylko mogła o tym pomarzyć.
Teraz praktycznie w każdym ARMie masz zaawansowane watchdogi, najczęściej dwa, do tego specjalne porty z pilnowaniem stanów ( nie wiem jak to po polsku nazwać ), gdzie masz jak by kontrolę nad stanem od momentu zasilenia procesora, przez zawieszenie głównego programu itd. czyli nie masz jak w AVR przypadkowych stanów ( pewnie stąd te opowieści że AVRy sie wieszają, bo trzeba było już na poziomie procesora myśleć jak zaprojektować resztę obwodów, gdyż po pierwsze wczesne 89C55 itp lubiły się zatrzaskiwać na wyjściach, oraz np. w AVRach rezystory podciągające włączają się po kilku-kilkunastu ms) podczas włączania czy zatrzymania programu. Dokładniej mówiąc chodzi o to że w ARM możesz mieć w pełni władz nad tym co się dzieje z procesorem, nawet jak rozdeptasz kwarc w układzie
.
Sam fakt że PIC szeroko jest wykorzystywany w UPSach powinien już dać do myślenia o ich zaletach, co nie znaczy że AVRy też nie są do tego używane
.
Bo to wyłącznie kwestia programisty/projektanta, jak potraktuje procesor/projekt, jak arduniowiec tj. wyciągnie z pudełka, ściągnie biblioteki z neta wgra i zapomni no to nawet najlepszy procesor automotive nie da rady.
Patrząc po datasheetach producentów, nie ma dziś procesorów bez błędów, do każdego wychodzą erraty.