Mikrokontroléry (MCU) - jak začít a s čím - rady, vaše zkušenosti, názory a tipy



mhi_

Jestli puvodni tazatel umi asm i8051, doporucil bych nejaky jednoduchy MCU, treba i to Arduino (a k tomu si koupit avr-isp a z Linuxu to programovat normalne gcc-ckem z commandline, zkouset i assembler).

Vetsi procesory typu STM32 (SAM7/PIC32, apod.) jsou samozrejme taky zajimave kdyz odber nehraje roli, ale je tam casto daleko vetsi problem rozchodit slozitejsi periferie tak, aby se skutecne chovaly jak maji. Uz jenom proto, ze procesor a periferie maji casto shodne hodiny a tak se da snadno na osciloskopu triggerovat, coz je u toho ARM/MIPSe casto nemozne.

mhi_

Citace: ""
Existuje (na linuxu) nějaký emulátor Arduina?

Vážně ti to za těch 70 Kč https://www.aliexpress.com/item/NEW-UNO-R3-ATmega328P-CH340-Mini-USB-Board-for-Compatible-Arduino-Hot-sale/32374958769.html nebo 45 Kč https://www.aliexpress.com/item/Mini-USB-CH340-Nano-3-0-ATmega328P-Controller-Board-Compatible-For-Arduino-Nano-CH340-USB-Driver/32828813070.html stojí se matlat s emulátorem? Stejně potřebuješ periférie.

Emulator byl (je) dobry kdyz clovek potrebuje zjistit jak neco funguje. Jsou myslim 3 typy embedded vyvojaru:

- ti co se nehnou bez debuggeru a emulatoru (vetsinou zacatecnici)
- ti co se bez debuggeru nehnou
- ti co debugger temer nepouzivaji a debuguji pres I/O piny ci nejaky seriovy port

A pak je virtualni skupina (do ktere se rozhodne neradim) ktera i slozite veci oddebuguje v hlave.

dustin

Nejčastěji je ale potřebovat sledovat celý systém i s perifériemi a s tím emulátor pouze MCU stejně moc nepomůže.

Pontiaq

Moc děkuji za vaše odpovědi. Rád bych se zaměřil na dělání vlastních projektů, avšak s tím, že bych to jednoznačně mohl využít v budoucím zaměstnání. Takže mi jde hlavně o to, abych svůj čas využil co nejefektivněji a právě výběr MCU je pro mě podstatný. Kdyby se našli zakázky atd. a zajímavá a dobře placená práce na zajímavých projektech. Co se většinou požaduje? Jak je to se Siemens společností?


Pontiaq

Tento kit s MCU mě zaujal. Co si o tom myslíte? https://os.mbed.com/platforms/KL25Z/

Ramirez

Tento kit s MCU mě zaujal. Co si o tom myslíte? https://os.mbed.com/platforms/KL25Z/

je to CORTEX-M0

u farnella cca 370,- bez DPH a dopravy
u conrada cca 330,- bez DPH a bez dopravy

V prvnim mem postu jsem ti linkoval CORTEX-M3 za 2 dolary od Číňana vcetne dopravy (ale počkáš si :) ).

Nebo tady mas CORTEX-M4 za podobnou cenu, jako je ten kit, co o nem uvazujes: 

http://cz.farnell.com/stmicroelectronics/nucleo-f401re/nucleo-board-mcu/dp/2394223
http://cz.farnell.com/stmicroelectronics/nucleo-f411re/dev-board-cortex-m4-mcu/dp/2433469
http://cz.farnell.com/stmicroelectronics/nucleo-l476rg/dev-board-arduino-mbed-nucleo/dp/2493816




Pontiaq

Která verze je ale lepší?

Pontiaq

Najde se nějaký tutorial, co by usnadnilo studium Cortex-M4? ;)

Technik

Myslím, že jakékoliv ARMy nejsou vhodné jako další stupeň pro někoho, kdo dělal v ASM s 8051.
Opravdu jako mezistupeň doporučuji spíš nějakou desku ala Arduino a naučit se programovat to v GCC.
Výhodou je, že funkci HW ( čidla, akční členy ), lze většinou ověřit pomocí nějakého hotového příkladu v Arduinu a pak si to zkusit napsat v GCC. Nebudete pak současně zápasit s HW a konfiguarcí periferií processoru, rozchozením programátoru ( využijete bootloader Arduina ) atd.
Na těch jednoduchých Atmelech lze pochopit filozofii ovládání periferií atd.
U ARMů je to většinou schované v nějakých knihovnách ( a i tak je nastavení funkce pinu třeba na 10 řádků kódu )
a v přístupu k HW procesoru tam z hlediska programátora nevidím oproti Arduinu zas takový vzdělávací rozdíl.
Jinak místo Atmel Studia používám spíš WinAVR, má i simulátor, kde je pěkně vidět co se děje s příslušnými registry, jak dlouho konkrétní část kódu trvá atd.
Další málo známý hezký free simulátor je pak součástí vývojového prostředí VMLAB zde:
http://www.amctools.com/
Lze tam nadefinovat i jednoduché zapojení periferních součástek a připojovat virtuální osciloskop, voltmetr atd.
Bohužel nemá novější procesory, končí myslím u ATmega168.
Ale je to pro Windows, tak přes VirtualBox...
( Byť je tam i sekce věnovaná provozování a konfiguraci ve spojení s WINE )

JX

Co sa tyka devboardov tak skus:
https://www.olimex.com/

mhi_

Ja bych se byt vami zcela vybodnul na nejake "zapadni" devkity. Skocte na ebay, najdete par prodejcu ruznych arduino ci st32 desticek, vzal bych k tomu i nejaky plnohodnotny velky ARM typu RPI, proste tak 10 desek. K tomu 3-4 ruzne displaye at' je vyvoj zabavnejsi (pozor, neplati, ze cim jednodussi display, tim levnejsi - 0.96" mono OLED muze stat stejne jako 2.4" 65k TFT).

A k tomu nejake programatory na ty desky. Cele to bude stat nejakou desitku dolaru. Udelate si nove vanoce, pak se rozhodnete, postupne bych si vsechno osahal. Dorazi to docela rychle, 14-30 dnu, a to se da vydrzet.

eltech

Pridal bych se k doporuceni STM32. Pokud se planujes zivit v teto oblasti, zacinat s Arduinem mi prijde jako ztrata casu. Ze zacatku te rozdil mezi Cortex-M0+/M0/M3/M4/M7 atd. nemusi moc zajimat (zjednodusene receno, M0/M0+ maji osekanou instrukcni sadu a casto osekane/jednodussi periferie)..

Ackoli chapu, ze tvuj dotaz je zamereny na mikrokontrolery (bez MMU), z hlediska zamestnani bych doporucoval se co nejdrive zamerit na Cortexy-A (Raspberry Pi atd.).

Mimar

Ahoj,

kdybych se nacházel na tvém místě s tvými zkušenostmi, tak bych se určitě vybodnul na Arduina a podobné destičky a skočil rovnou po ARMu. Pro seznámení a úvodní zápolení poslouží některý ze řady ARM Cortex-M0+, které se často doporučují jako náhrada levných 8 bitů. I když se člověk na první pohled zděsí deklarované větší složitosti, po krátkém laborování zjistí, že na nich vlastně nic složitého není.

Mně kdysi výborně posloužila, již zde jmenovaná, destička FRDM-KL25Z od bývalého Freescale, dneska NXP. Sice stojí poněkud více, ale koho dneska zabijí tři, čtyři stovky, že? Pokud bys chtěl používat k vývoji IDE a ne hned na začátku bojovat s gcc, make, dbg v shellu, tak výrobce nabízí zadarmo prostředí MCUXpresso s navázaným ekosystémem. Další možnost pak představuje poskládání si svého toolchainu na aktuálním releasu Eclipse.... :-)

Na netu je ohledně této destičky k nalezení hafo odkazů, na prvním místě bych si dovolil uvést tento: www.mcuoneclipse.com
Zde nalezneš takřka všechno ;-)

Za zmínku stojí i projekt mbed.org, pokud ho tu již někdo neuváděl.



MarSik

Pridal bych se k doporuceni STM32.

STM má fajn čipy, ale ta driver knihovna je děsná. Mnohem víc se mi líbí co poskytují výrobci k Energy Micro EFM32 (mají to dokonce na GitHubu) nebo třeba TI Tiva C.

Ze zacatku te rozdil mezi Cortex-M0+/M0/M3/M4/M7 atd. nemusi moc zajimat (zjednodusene receno, M0/M0+ maji osekanou instrukcni sadu a casto osekane/jednodussi periferie)..

Naprosto souhlasím. Cortex M0+ je pro začátky úplně v pohodě a přejít výš už pak není problém.