ARM pro bastlíře, porovnání PIC, AVR a STM32 (ARM cortex M3)

Jak se tak dívám, moc velký frmol v této sekci (ARM) není. Čím to je, že se neustálé oblibě těší osmibity hlavně PIC a AVR?
Přiznám se, že donedávna bylo pro mně jádro ARM docela velkým strašákem. Byla to pro mně “první liga” do které určitě nepatřím.

Dokud jsem se nenechal zlákat chytrým tahem STMka - nabídkou vývojových kitů za “dumpingové” (jinak se to nazvat nedá) ceny - v nabídce jsou tři s různými typy procesorů a které svou povahou rozhodně nejsou určené pro vývojáře velkých firem, ale cíleně oslovují nás, domácí bastlíře.
Zjistil jsem, že to je úplně stejné jako programovat osmibity a že jsem se toho úplně zbytečně obával. Mimochodem je to úplně stejné, jako když jsem se obával přejít z asembleru na C - až pak jsem zjistil, že psát v C je mnohem jednodušší a pohodlnější.

Jen pro porovnání jsem vybral některé parametry zástupců PIC, AVR a STM32 (ARM cortex M3) vybral jsem součástky kolem 100 kč a tady se můžete podívat, kolik “muziky” za tu stovku dostanete:

:arrow_right: administrator: přejmenováno z “Zamyšlení”

Abych řekl pravdu, tak mě, jako začátečníka v programování MCU, táhla k AVR dostupná literatura a množství uveřejněných konstrukcí v českém jazyce, ze kterých mohu čerpat náměty a informace mnohem pohodlněji než v jazyce anglickém.

Další výhodou je dostupnost v DIL pouzdře, ty LQFP a podobné se mi opravdu hodně špatně pájí a to pominu amatérskou výrobu desky.

Ovšem po uveřejnění série článků o STM32 mě ARM opravdu chytily a chtěl bych se jim věnovat víc. Dokonce jsem už i koupil jeden Discovery kit.

Bohužel stále jsem jen začátečník a především díky nedostatku času bojuji spíš se základy C než s konkrétními problémy s MCU.

No ja jsem se k Atmegam dostal touto cestou.
Zkusil jsem si nejdrive v GME seradit uC podle ceny a potom jsem je zadaval do vyhledavace kvuli dostupnosti, kvality prace a hlavne fora podpory ze strany uzivatelu.
Narazil jsem na skvele forum avrfreaks a na toto forum, kde prakticky kazdy den pribyvaji problemy a reseni.
Spousta line-follower robotu a navodu je zalozeno na AVR.
AVR se dalo programovat po LPT portu jenom se 4 odporama, takze se dalo zacit tak, ze clovek koupil v bazaru stary kabel z tiskarny.
Do AMR se mi stale moc nechce. Kupovat novy kit, objednavat procesory pres farrnell, nebo tme, protoze v GME, ktere mam po ceste je nnemaji se mi moc nechce.
Tak to je moje situace, nebudu do ni nekoho nutit, az se mi naskytne situace, ze budu potrebovat vetsi kladivo, tak klidne proc ne, ale zatim bohuzel

pro mne je duvod hlavne dostupnost AVR a PIC příkladů, dále pak DIL pouzrda.

Obliba 8-bitu je dana predevsim dostupnou literaturou v cestine a jednoduchosti pouziti. ARM ma konfiguracnich registru precijenom trochu vic a da vic prace se ve vsech zorientovat a i celkova architektura je mirne narocnejsi na pochopeni. Na druhou stranu vyrobci nabizi hotove C knihovny pro ovladani vsech periferii bez nutnosti mit prehled v tech registrech. Kupovat nejaky kit je zbytecnost (i kdyz proc dnes nekoupit cely kit za cenu samotneho ARMu :slight_smile: ). Delam s ruznymi procesory pres 20 let a nikdy jsem zadny kit nekupoval. Pro ARMy jsem si udelal jednoduchou redukci na pinovou listu a desku s pinama portu a seriovou linkou. To bohate staci. Pajeni tech pouzder je sice opravdu slozitejsi, nicmene s neklepajicima se rukama a trochou sikovnosti to jde mikropajkou a kalafunou, takze neni potreba ani nejaky drahy pajeci pasty. Idealni by byla horkovzdusna pajeci stanice. Nedavno jsem nekde cetl, ze nejaky vyrobce ARMu chysta levne verze i v DIL pouzdrech.
Pro bezne domaci potreby bastlire staci objednat samply. Ja mam asi 20 ks Stellarisu, coz nespotrebuju hooodne dlouho, prave objednanim samplu od TI. Jdou programovat i zde zminenym zpusobem skoro “pres 4 odpory”. Vyzaduje to ovsem 32-bit OS a samozrejme LPT port. Wiggler (jtag adapter pro LPT) se pak da postavit behem chvile. Vyvojovy soft je pak take zdarma: Sourcery G++ (GCC pro ARM), OpenOCD (jtag), CodeBlocks nebo Eclipse (IDE). Takze zasoba ARMu + software + vyvojova deska = 0 Kc. Nutne je bohuzel nastudovat prevazne anglickou literaturu.

ty dipy by byly skvělé. přece jen, když si chci něco zkusit, takněco kvůli tomu pájet… kontaktní pole je ideální. kity také moc nemusím.

Ta absence pouzdra DIL je opravdu jedno z omezení pro proniknutí ARMů k amatérům (představte si ale švába v DIL 100)- což se právě asi snaží překonat ST svými “kity”.Jak o tom psal jinde Martin - za tu cenu 280 Kč ten “kit” můžete prostě zapíchnout do lišt v dps kde budete mít jen zdroj a součásky, které na "kitu "nejsou pokud tedy máte dost místa - deska je zhruba 110x55 mm. Navíc knihovny pro úplně všechno - to samé s příklady.
Nepotřebujete také žádný PICKIT popř. AVRdragon pro programování a debugování - vše je součástí kitu, který opravdu obsahuje jen to nejnutněší a spíš než vývojovým kitem bych to nazýval vymakanou redukcí z LQFP na něco použitelnějšího, který jen propojíte s PC USB kabelem - proč bastlit něco odporoveho na LPT?
Jinak co se týká nepájivého pole z trojice zatím prodávaných STMDiscovery VL, STMDiscovery L aSTMDiscovery F4 kitů - dostanete do něj jen prostřední z nich - první má lišty po obvodě a třetí sice jen na bokách, zato dvojřadé.

Druhou zásadní brzdu - absenci literatury v češtině se aspoň trochu snaží dohnat na mcu - poměrně dost polopatistický seriál, který musí pochopit každý kdo se prokousal osmibity.
Ale z vlastní zkušenosti vím , že kniha je nenahraditelná (aspoň pro spoustu lidí) - ta moje byla od V. Váni - a i když to je vlastně jen překlad manuálu IDE Codevision - pro mně samouka byla neocenitelnou pomůckou. Na internetu je sice mraky informací ke kdečemu, ale jsou strašně roztříštěné, mnohdy si odporující a v různých jazycích. Takže člověk ztratí hromady času, který by mohl věnovat samotnému učení vyhledáváním a tříděním informací.

Hodně se to píše o ARM, ale prakticky vůbec o AVR32. Před více než rokem jsem se pro něj rozhodl na základě nastudování instrukčního souboru. To co jiný musí řešit 2 až 3 instrukcemi, tento to zvládne jedinou. Myslím si, že poměřovat podle MIPS není ojektivní.
Někde na stránkách Atmelu bylo porovnání všech 32b MCU s vysvětlením, k čemu je který vhodný. Bohužel dnes už to tam nemohu najít.

proč bastlit něco odporoveho na LPT? Protoze to nestoji vubec nic. A pro toho, kdo nechce cekat na kit nebo si radsi sedne na chvili na zidli a paji, idealni reseni. Zalezi jake ma kdo priority a jestli ma vubec chut bastlit :slight_smile: Je to jako vzdy o vyberu - rychlejsi a drazsi cesta, nebo levna s trochou prace navic… Nenutim nikomu ani jednu cestu, ja osobne jsem pro druhou.
Jina situace je samozrejme pro ty, co nemaji LPT port nebo maji 64-bit OS. Na nem wiggler nejede. Nebo nevim o reseni. Tam pak je nutny zmineny kit nebo jtag adapter, radove drazsi nez ten kit :slight_smile:

Technik: Protoze AVR32 je slepa cesta (ted me treba ukamenujte, ale je to tak). Atmel by mel podle zprav v brzke dobe prijit s CM4, coz bude mnohem lakavejsi a pouzitelnejsi.

V utorok som objednal a vo stvrtok dosiel. Oziveny, funkcny, bez tapania ci sw nejte preto ze je zly sw alebo hw. Neverim, ze za taku kratku dobu to niekto doma na kolene vyrobi a ozivi vratane integrovaneho programatora a dalsich doplnkov. Inak naozaj, take dobre prirovnanie tych ST modulov k “100 pinovym” DIL puzdram.

Ale urcite rychlost dodavky nemusi byt najhlavnejsie kriterium. Pekne procaky su aj Cortex M0, napr. LPC1114. Cena kitov u NXp je velmi podobna.

a jaký kit sis objednaL?

Technik:

Jinak atmel dělá krom svých 32bitů taky mcu s ARMy - ARM7, cortex m3 a jak psal kuto - chystá i cortex m4 - ale STM už ho nedávno vyslal do světa i když zatím jen v onom posledním kitu STM32F4 Discovery - opět zdůrazňuju - za zdánlivě nepochopitelných 280 Kč, kde získáte kromě uvedného taky programátor/debugger (použitený i pro jiné vaše výtvory než jen pro samotný kit)+ trojosý akcelerometr + uživatelský USB konektor + audio kodek včetně jacku pro sluchátka + mikrofon +demo aplikaci pro přehrávač/záznamník z USB klíčenky + jak jsem už psal hotové knihovny pro všechny periferie včetně příkladů + možnost použití free IDE z celkem nepodstatnými omezeními, které navíc není nějak složité obejít - čímž nemám na mysli cracklé verze.

Rád bych zůstal Atmelu věrný a v osmibitech určitě i zůstanu, ale takovýhle komfort mi prostě nenabízí - jeho zájmy na trhu jsou asi jiné, než u STM, kde vsadili na to (podle mně - vidím to jako přirozený vývoj), že éra osmibitů asi končí, stejně jako přešla éra 8051ček a amatéři a “drobní živnostníci” v tomto oboru určitě tvoří nezanedbatelný potenciál.

Martin:
díval jsem se na ty LPCčka s cortexem M0 a přiznám se, že kvůli nim bych tedy do 32bitů asi nešel - podle mně nenabízejí nic převratného a je to jen jakási alternativa osmibitům - naopak - zase ta absence DIL pouzdra.

radekpaos:

jak jsem psal - jsou tři - první VLuž asi není aktuální, druhý -L má aspoň LCD no a třetí jsem popsal o pár řádků výše.
Já mám ten druhý (L) a určitě v nejbližší době dojde i na třetí.
On každý je v podstatě zaměřený trochu na něco jiného - na jiné pokusy- je jen na tobě, co ti bude vyhovovat - vzbrat si můžeš na stránkách STM - mimochodem odkazy už tu někde nechával martin .

sk.farnell.com/stmicroelectronic … dp/1824325

sk.farnell.com/stmicroelectronic … dp/1876987

sk.farnell.com/stmicroelectronic … tt=stm32f4

Ok, ja nepopiram, ze to nekomu vyhovyje a jako vyukova pomucka do zacatku asi v pohode, ale jde to i bez toho a to bylo smyslem toho co jsem psal :wink:
Prave ten programator a dalsi doplnky jsou veci ktery nepotrebuju.
Tapani co je spatne taky neznam, chce to jen trochu sikovnosti a pouzivat to co clovek nosi na krku :slight_smile:
Muj osobni pohled je takovej, ze ani neni umeni pouzivat neco co mi nekdo naserviruje hotove na stribrnem podnosu. Ale jsem asi ze stare skoly, kdy jsme si museli se vsim poradit sami :slight_smile: Ale ja uz jinej nebudu, proste si rad zapajim kazdej odpor sam :laughing:

ten kit vypadá dobře, ale pro mne nepoužitelné:( když na tom něco vyvinu, tak to stejně nezrealizuji kvuli tomu pouzdru:( tak jemne pajet a leptat neumim:(

to radekpaos: Ak myslis discovery kit s 32F100 alebo s 32L152 alebo s 32F4, tak nad tymi kitmi neuvazuj ako o niecom na com zaradenie vyvinies a co potom dalej, ale ako to uz tu bolo spomynane, uvazuj nad tym ako nad velkym DIL-kovym svabom, ktory si do svojho zariadenia jednoducho zasunies. To je ten vstriecny krok pre tych, co oblubuju DIL.

nebudu přece dávat vývojový kit tam, kde mi stačí šváb. a dil neoblubuju, proste nic mensiho jen neumim.

BOARD, EVAL, STM32L-DISCOVERY

BOARD, EVAL, STM32F4-DISCOVERY

inak tie STM32F4 su uz bezne k dostaniu.

Bol som velky fanusik Atmelu a na 8 bite nim urcite zostanem. Ale na Atmeli ma vylozene stve,

  1. to co uvadzaju, ze bude “kazdu chvilu” je i po niekolkych rokoch. Napriklad ATxmega dosla na trh velmi velmi oneskorene (roky) po predchadzajucom velkom humbugu co to ten Atmel znovu sikovneho vymyslel.
    Na ATmega1284P som cakal cca tri-styri roky a to neustale posuvali termin dostupnosti cca po 1/4 roku. ATtiny10/9/8… tiez avizovali niekolko rokov dopredu, ze “uz kazdu chvilu budu”.
    No a ako perlicku uvadzam nasledovne z datasheetu z roku 1999:

“ATtiny10 is the QuickFlash OTP Version of ATtiny11”

kde je ATtiny10 uvadzany ako mcu v 8 pinovom puzdre z uplne inymi vlastnostami ako ich dnes vyrabaju. Asi zabudli, ze dnesne oznacenie 6pinoveho mcu uz volakedy pouzvali. No, “chybicka se vloudila” :slight_smile:

  1. Od ATxmega vylozene nechavaju betatestovanie kremika na klientoch. To sice nemam chvalabohu z vlastnej skusenosti, no bohuzial z velmi doveryhodnych zdrojov. Uvazoval som nad Cortex M3 od Atmela, lebo podla datasheetu ma mnohe vlastnosti lepsie ako STM32F10x. Po konzultacii s clovekom, ktory si ich obslapaval som bol od nich vyslovene odhovoreny. Nie kvoli obsahu datasheetu, ale kvoli “neschopnosti” kremika sluby datasheetu naplnit. Stale nove a nove hw revizie.

  2. Atmel dlhodobo “kasle” na EMC vlastnosti svojich cipov v rozsahu posudzovania a garantovania vlastnosti v datasheetoch. ST je v tomto uplne iny hrac. Cez zastupcu Atmelu som sa mnoho krat snazil dopatrat k zakladnym EMC vlastnostiach ako k odolnosti tak aj k emisiam. Asi po dvojmesacnom vyslovene otravovani, mi zaslali nejaky uryvok z pravdepodobne bakalarskej prace, kde na ubastlenom plosaku sa skumali inektore vlastnosti procesora. Bez nejakych garancii platnosti pre nasledujuce ci predchadzajuce serie vyroby. tiez

  3. AVR32 mal byt vyslovene tahak doby. Este mam odlozeny krasny vyvojovy kit s ethernetom a kde cim postaveny na tusim A7000. Co sa dusovali, ako budu na tejto linii pracovat. Nepreslo ani dva roky a uz to cele stiahli do defenzivy, ak uz uplne nepochovali. Neviem.

Tak ako pred mnohymi rokmi bola dynamika, vlastnosti mcu, cenova politika, dostupnost a celkove spravanie sa Atmelu dovodom, preco som odisiel zo sveta PIC16 a celkovo zo sveta Microchipu, dnes je to tiez ich dlhodobe spravanie, preco ich 32b nebudem pouzivat. Samozrejme, svet sa vyvija a boh vie kde bude ST-cko za 20rokov. To ale budem riesit potom :slight_smile:

Este k tomu Microchipu a ich PIC16-kam. Myslim, ze tie dva tabory PIC/nePIC vznikli niekedy v tej dobe 97-99 ked sa ti (medzi nimi i ja) co sa vzhliadli v Microchipackych mcu velmi sklamali celkovym spravanim sa tejto firmy. Velmi tazko sa mi od Microchipu odchadzalo, no nakoniec ma tak dozrali ze som vyslovene utiekol. A z toho samozrejme plynie vela sklamani (samozrejme nie len mojich) a velka nevrazivost voci vsetkym mcu s oznacenim Microchip. To su pocity, ktore velmi tazko umoznuju cestu spat a to nie len mentalne, ale hlavne fyzicky. No a ten druhy tabor tvoria predovsektym ludia, ktori to tak nezazili, respektive neprezili a “naskocili” na PIC-ka uz v ere ich daleko daleko lepsieho pristupu ku klientom a k mcu (PIC18, PIC24, dsPIC, PIC33,…).

No a to já zas naopak vítám, že mi někdo nabídne něco na stříbrném podnose. Mimochodem i dnes ještě někdy používám vlastnoručně vyrobený ISP programátor přes LPT. Ale na druhou stranu si už moc nedokážu představit, že bych nemohl ladit programy přímo v procesoru - takže JTAG, nebo SWD (u STM)- a tady už si se čtyřmi odpory asi nevystačíš.
Nakonec - taky snad můžu říct, že jsem ze “staré školy” - bude to už nějakých 30 let co jsem zprovoznil svůj první “zesák” s MBA810 a od té doby jsem ať už amatérsky, nebo profesionálně (kdysi dávno Jablotron) sám zapájel spoustu a spoustu nejen odporů.
Takže “praktické elektroniky” jsem si ve svém životě užil až až. Teď mně zajímá hlavně a jenom samotné programování a všechno co mi umožní nezabývat se samotným HW k tomu potřebným jenom vítám.

Na druhou stranu ale tvrdím, že kdo chce začít programovat mcu, měl by
mít alespoň základní znalosti z elektroniky. Příkladů, že tomu tak není je tu dost a dost.

A teď k problému DIL:
je - li to opravdu jedna z překážek v používání ARMů - mohl by se toho chytit nějaký malosériový výrobce a začít chrlit nějaké hybridy, kde by bylo kromě mcu ještě potřebné základní vybavení pro jeho provoz - krystal, nějaké ty kapacity, možná 4k7 odpory pro I2C, nejlépe stabilizátor 3V a já nevím co ještě a to vše zastrčitelné do patice DIL64.
Něco na způsob : parallax.com/Store/Microcont … fault.aspx
Samozřejmě by to ale nesmělo stát 50 babek to si snad ti amerikáni dělají srandu - PIC16 + eeproma +krystal + stábl za skoro tisícovku? :laughing: :laughing: :laughing:

Ale kdyby se někdo dostal s cenou na nějaký dvojnásobek holého LQFP
(do 200 kč) myslím, že by to prodejné bylo - byť ty kity jsou za 280 - ale jak dlouho budou?

jo,t o by bylo krásný

Páni, budíček :slight_smile:

veď si to preboha už kúpte :slight_smile: napríklad takých 5-10ks. To na domáce bastlenie určite vystačí na dlhú dobu.

kto by sa mal čoho chytať, keď to výrobca ponúka za nejakých 12EUR, osadené oživené, so stabilizátorom, s kde čím a ešte sa to môže tváriť ako prerastené DIL púzdro. A lacnejšie ako samotný procesor. Kto by už len tomu mohol konkurovať?

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.