Vývoj pro procesory ARM s Arduino IDE

19. ledna 2016

Lang: cs en de es

Na trhu je mnoho vývojových desek. Existuji i desky s mikrokontrolérem, které mají jádro ARM. I pro tyto desky zle vyvíjet ve Wiringu za použití ArduinoIDE. V tomto článku se dozvíte jak použití Arduino vývojových prostředků pro vývoj projektu pro desky s mikrokontroléry ARM.

Mikroprocesory Atmel rady AVR nebo jiné 8bitové procesory například PIC jsou dobře známé, obzvláště v řadách kutilů. Postupně se však přechází na modernější a výkonnější mikroprocesory často s jádrem ARM.

Procesory ARM vyrábějí různé firmy. Jedná o SoC (system on chip), kde jádro mikroprocesoru je vyráběno na základě licence od firmy ARM Holdings. Každá firma pak vyrábí několik řad procesorů s různou verzí ARM jádra. Na jednom čipu kromě CPU jsou ještě další periferie. U těch nejmodernějších čipů to může být i grafický procesor, na takových čipech obvykle běží celý operační systém - GNU/Linux.

Jako výkonnější náhrada za ATmega328 bohatě stačí ty nejslabší procesory s jádrem ARM.

Dobrou volbou jsou například mikroprocesory od firmy STMicroelectronics.

Vývojová deska s mikroprocesorem STM32F103C8T6:
ARM STM32F103C8T6

Díky velkému výběru procesorů s jádrem ARM, lze dle potřeby vybírat vhodné typy, ať už jsou kritéria cena, výkon nebo nízká spotřeba.

Vývojová deska s výkonnějším mikroprocesorem a více výstupy ARM STM32F103ZET6:
ARM STM32F103ZET6

Programy do mikroprocesory se často píší v Jazyce C. Program se následně musí zkompilovat kompilátorem. Mezi kompilátory se za standart dá považovat špičkový svobodný kompilátor GNU GCC. K nahrání programu do mikroprocesoru slouží zařízení nazývané programátor. Programátor:
ST LINK V2.jpg

Arduino

Nejjednodušší cestou jak začít s mikroprocesory ARM bude zvolit nějakou vhodnou vývojovou desku a programovat ji ve stylu Arduina. Tedy v jazyce C s využitím knihovny Wiring a do procesoru program nahrávat po sériové lince - tuto funkci zajišťuje bootloader, který již musí být nahraný v mikroprocesoru.

Důležitou podmínkou je, aby deska měl v sobě již bootloader, protože ten vám umožní do ní jednoduchým způsobem nahrát program.

Vývojové prostředí

Pro ty kdo nechtějí nic kompilovat je již vše připraveno. Lze použít standardní Arduino IDE (1.6.5) a podporu pro ARM doinstalovat.
V Arduino IDE v boards manager je potřeba nainstalovat položku Arduino SAM Board, která obsahuje podporu pro 32-bit procesory ARM s jádrem CORTEX-M3. (Primárně to je pro Arduino due - obsahuje potřebný kompilator)

arm-arduino-boards-manager-screen.png

Dále je potřeba stáhnout soubory pro STM32 a rozbalený archív nahrát do adresáře hardware v adresáři Arduina IDE.

Pak už stačí jen v Arduino IDE vybrat příslušnou desku/procesor, který používáte.

screen arm arduino

Hello Word

Pro první vyzkoušení jsem použil vývojovou desk,u na které je procesorem ARM STM32F103C8T6, v kterém již byl nahrán bootloader.

Vodiče z USB-UART převodníku se připojují na piny RX1 a TX1. Po resetu se spustí zavaděč, který donekonečna čeká na nahrání programu. Po naprogramování se rovnou spouští program. Pokud se má po resetu spouštěl program a né zavaděč, je potřeba rozpojit propojky mezi BT0-3V3 a BT1-GND. Propojka na JP4-GND zůstává.

Rozblikat diodu je pak pro zkušeného vývojáře jednoduché:
ARM STM32F103C8T6 connected

Podrobnější dokumentace Arduino STM32.

Články na podobné téma

Programovací jazyk Go
Analýza zadání a nacenění vývoje softwarového projektu
Python program na ovládání Dockeru pomocí API
Jak použít aplikaci MailCatcher pro testování emailů
Návod: Python OpenAI API
Vytvoření WebSocket webové aplikace a nastavení proxy
Řízení projektů: Agilní vývoj softwaru
Jak provozovat staré PHP aplikace
Co by měl umět dobrý programátor
Programovací jazyk Rust
NodeJS: vývoj, konfigurace serveru
Nette security bug CVE-2020-15227
Jak porovnat dvě stejné databáze?
REST API: API platform
Vlastní web a mail hosting se softwarem ISP Config
Programovní v SQL: PostgreSQL, MySQL/MariaDB
HTTPS: zabezpečený web
NoSQL databáze Mongo DB
Připojení k Microsoft SQL Serveru z Linuxu
Co je pracovní náplň programátora
Lokalizace aplikací v jazyce Python
Jaký mail a web hosting vybrat
How to make wireless low power Arduino
Digispark - Programujte mikrokontrolér Atmel ATtiny pomocí Arduino IDE
Program Roulette
Wireless low power Arduino
Pyradio - Python program for receive Internet radio with text user inteface
UPS monitor pro Android
Bezdrátový bateriově napájený WiFi teploměr
Jak programovat WiFi procesor ESP8266
Comparison IQRF vs Wireless Arduino
Jakou platformu zvolit pro eshop? Například Prestashop
Development kits and gateways for wireless platform IQRF

OpenStreetMap a GPS trasy v mapě na webu
Quickplay
Java program pro přehledné monitorování záložních zdrojů
Čipové kontaktní a bezkontaktní karty Java Card OpenPlatform
Otevřený chytrý telefon s Linuxem - Openmoko Neo FreeRunner
Vývoj pro bezdrátové moduly s procesorem PIC pod GNU/Linux - IQRF
Grafický program pro embeded/mobilní zařízení na vyhledávání dopravního spoje.
O programování a ruzné programy v jazyce Java, Python a dalších
Java program a applet Kalkulačka
Java program na výpočet kvadratické rovnice

Odběr novinek

Pokud máte zájem dostávat příležitostně na email novinky.
Můžete se vyplněním emailu registrovat k odběru novinek.


+