Desarrollo para procesadores ARM con Arduino IDE

19 de enero de 2016

Lang: cs en de es

Hay muchas placas de desarrollo en el mercado. También hay placas con microcontroladores que tienen un núcleo ARM. Incluso para estas placas es difícil desarrollar en Wiring usando ArduinoIDE. En este artículo, aprenderá como usar los recursos de desarrollo Arduino para desarrollar un proyecto para placas con microcontroladores ARM.

Los microprocesadores de la serie AVR de Atmel u otros procesadores de 8 bits como el PIC son bien conocidos, especialmente entre los aficionados al bricolaje. Sin embargo, poco a poco se están pasando a microprocesadores más modernos y potentes, a menudo con núcleo ARM.

Los procesadores ARM son fabricados por varias empresas. Se trata de SoC (system on chip) en los que el núcleo del microprocesador se fabrica bajo licencia de ARM Holdings. Cada empresa produce entonces varias líneas de procesadores con diferentes versiones del núcleo ARM. Además de la CPU, hay otros periféricos en un mismo chip. En el caso de los chips más avanzados, puede tratarse del procesador gráfico, y todo el sistema operativo suele ejecutarse en este tipo de chips - GNU/Linux..

Como sustituto más potente del ATmega328, los procesadores más débiles con núcleos ARM serán suficientes en abundancia.

Una buena elección son, por ejemplo, los microprocesadores de STMicroelectronics

.

Placa de desarrollo con microprocesador STM32F103C8T6:
ARM STM32F103C8T6

Gracias a la gran selección de procesadores de núcleo ARM, puede elegir los tipos adecuados según sus necesidades, ya sean criterios de precio, rendimiento o bajo consumo de energía.

Placa de desarrollo con un microprocesador más potente y múltiples salidas ARM STM32F103ZET6:
ARM STM32F103ZET6

Los programas de microprocesador se escriben a menudo en C. A continuación, el programa debe ser compilado por un compilador. Entre los compiladores, el compilador gratuito de gama alta GNU GCC puede considerarse el estándar. Para cargar el programa en el microprocesador se utiliza un dispositivo llamado programador. Programador:
ST LINK V2.jpg

Arduino

La forma más sencilla de iniciarse en los microprocesadores ARM sería elegir una placa de desarrollo adecuada y programarla al estilo Arduino. Es decir, en C usando la librería Wiring y cargar el programa en el procesador a través del enlace serie -esta función la proporciona el bootloader, que ya debe estar cargado en el microprocesador-.

Un requisito importante es que la placa ya tenga un cargador de arranque en ella, ya que permite cargar un programa en ella de una manera sencilla.

Entorno de desarrollo

Para los que no quieran compilar nada, ya está todo preparado. Puedes usar el IDE estándar de Arduino (1.6.5) e instalar el soporte para ARM.
En Arduino IDE en el gestor de placas hay que instalar Placa Arduino SAM, que contiene soporte para procesadores ARM de 32 bits con núcleo CORTEX-M3. (Principalmente esto es para Arduino debido - contiene el compilador necesario).

arm-arduino-boards-manager-screen.png

También es necesario descargar archivos para STM32 y subir el archivo extraído al directorio hardware del directorio IDE de Arduino.

A continuación, sólo tienes que seleccionar la placa/procesador que estás utilizando en el IDE de Arduino.

pantalla brazo arduino

Hola Palabra

Para la primera prueba he utilizado una placa de desarrollo,u en la que el procesador es un ARM STM32F103C8T6 en el que ya se ha cargado el bootloader.

Los cables del conversor USB-UART están conectados a los pines RX1 y TX1. Tras un reset, el bootloader arranca y espera indefinidamente a que se cargue el programa. Una vez programado, el programa arranca directamente. Si se quiere ejecutar el programa después del reset y no el bootloader, hay que desconectar los puentes entre BT0-3V3 y BT1-GND. La conexión a JP4-GND permanece.

El flasheo del diodo es entonces fácil para un desarrollador experimentado:
ARM STM32F103C8T6 conectado

Más documentación detallada Arduino STM32.

Artículos sobre un tema similar

Lenguaje de programación Go
Análisis de la asignación y fijación de precios del desarrollo de proyectos de software
Programa Python para controlar Docker mediante la API
Cómo utilizar MailCatcher para probar correos electrónicos
API OpenAI de Python
Creación de una aplicación web WebSocket y configuración de un proxy
Gestión de proyectos: desarrollo ágil de software
Cómo ejecutar aplicaciones PHP antiguas
Lo que debe saber un buen programador
Lenguaje de programación Rust
NodeJS: desarrollo, configuración del servidor
Fallo de seguridad de Nette CVE-2020-15227
API REST: API de plataforma
Alojamiento web y de correo personalizado con el software ISP Config
Programación en SQL: PostgreSQL, MySQL/MariaDB
HTTPS: web segura
Base de datos NoSQL Mongo DB
Connecting to Microsoft SQL Server from Linux
¿Cuál es la descripción del trabajo de un programador?
Localización de aplicaciones Python
Qué correo y alojamiento web elegir
Digispark - Programar microcontrolador Atmel ATtiny con Arduino IDE
Cómo programar el procesador WiFi ESP8266
Smartphone abierto con Linux - Openmoko Neo FreeRunner

Boletin informativo

Si está interesado en recibir noticias puntuales por correo electrónico.
Puedes registrarte rellenando tu email suscripción de noticias.


+