Arduino Portenta H7

Publicado por Loli Diéguez en

Portenta H7 es la más poderosa de la gama Arduino hasta la fecha. Basado en el microcontrolador STM32H747 de STMicro, contiene dos núcleos, un Cortex® M7 a 480 MHz y un Cortex® M4 a 240 MHz. 

Se comunican a través de llamadas a procedimiento remoto, lo que permite llamar a funciones en el otro procesador sin problemas y ambos núcleos comparten todos los periféricos en el chip. El soporte está integrado en el último entorno de desarrollo integrado (IDE) de Arduino y la placa también puede ejecutar aplicaciones nativas Mbed ™ y código MicroPython.

Esta guía te va a demuestrar cómo instalar y configurar Arduino (IDE) para Portenta H7 y probar la aplicación Blink que se ejecuta en ambos núcleos al mismo tiempo. Las placas Portenta funcionan a 3.3V, nunca le apliques más de 3.3V a sus pines digitales y analógicos

Descarga Arduino IDE

Tienes que ir a la página de descarga de Arduino:

 https://www.arduino.cc/en/main/software

  • Elige la descarga adecuada para tu sistema operativo, en nuestro caso es Windows 10.
  • Portenta H7 requiere la versión 1.8.10+
  • Permite el acceso cuando recibas advertencias de seguridad.
  • Sigue las instrucciones de la tienda de aplicaciones de Windows.

Encontramos algunos problemas al agregar soporte para Portenta H7 a una instalación existente. Para obtener mejor resultado, recomendamos desinstalar cualquier versión existente del IDE y comenzar con una nueva descarga.

Agregar compatibilidad con Portenta H7

Con un cable USB C, conecta el Portenta H7 a tu PC host

  • Abre el IDE de Arduino
  • Abre el Administrador de tableros desde Herramientas> Tablero> Administrador de tableros .
  • Introduce Portenta en el cuadro de búsqueda.
  • Haz clic en Instalar para agregar placas habilitadas para mbed.
  • Acepta las advertencias de seguridad.
La descarga e instalación del paquete de soporte de la placa te llevará unos minutos dependiendo de la velocidad de tu red.
  • Haz clic en cerrar cuando el paquete se haya instalado.
  • Abre el Administrador de dispositivos de Windows.
  • Verifica que se haya agregado un nuevo dispositivo serie USB a la sección Puertos.

Selecciona núcleo M7

  • En el IDE, configura el tipo de placa en M7 core desde Herramientas> Tablero> Arduino Mbed> Portenta H7 (M7 core) .
  • Configura el puerto desde Herramientas> Puerto> COM3
El puerto COM variará dependiendo de tu PC host.
Seleccionar Puerto COM

Cargar código M7

Para probar la concurrencia, cada núcleo ejecutará una copia similar del boceto parpadeante. Esta sección demuestra cómo hacer parpadear el núcleo M7 para hacer parpadear el componente verde del LED RGB integrado.

  • Copia el ejemplo de código a continuación en el IDE.
/*
	Codigo Ejemplo
*/

const int ON = LOW; // el voltaje esta invertido
const int OFF = HIGH;

void setup() {
  bootM4(); // Inicia el M4
  pinMode(LEDG, OUTPUT); 
}

void loop() {
  digitalWrite(LEDG, ON); // Enciende LED
  delay(1000); // Espera 1 segundo
  digitalWrite(LEDG, OFF); // Apaga LED
  delay(1000);
}
La inclusión de la función bootM4 hace que el núcleo M4 se ejecute al inicio.
  • Guarda el archivo como blink_m7 .
  • Sube el código a Portenta presionando el botón de carga o Sketch> Upload.

El panel inferior del IDE mostrará la compilación del código e indicará si la carga se realizó correctamente. El LED verde debería parpadear cada segundo. 

Ignora el error DFU no válido.

Cargar Código M7

Selecciona núcleo M4

  • En el IDE, abre un nuevo boceto desde Archivo> Nuevo
  • Configura el núcleo M4 desde Herramientas> Tablero> Tableros Mbed> Portenta H7 (M4 Core)
Seleccionar núcleo M4

Cargar código M4

Esta sección muestra cómo flashear código en el núcleo M4. Este código se ejecutará de forma independiente al boceto que se ejecuta en el núcleo M7. 

Parpadea el componente rojo del LED RGB integrado.

  • Copia el siguiente código en el editor y guarda el archivo como blink_m4 .
/*
	Parpadeo del LED usando Portenta M4 Core
*/

const int ON = LOW; // Voltaje invertido
const int OFF = HIGH;

void setup() {
  pinMode(LEDR, OUTPUT); 
}

void loop() {
  digitalWrite(LEDR, ON); // Enciende LED
  delay(500); // Espera medio segundo
  digitalWrite(LEDR, OFF); // Apaga LED
  delay(500);
}
  • Haz clic en el botón Cargar.
El panel inferior del IDE mostrará el código compilado para el núcleo M4 y debería indicar el éxito.
  • Ahora el LED rojo también debería parpadear cada ½ segundo
Ignora el error DFU no válido
Cargar código M4

Resumen

Ya has configurado el IDE de Arduino para usarlo con tu Portenta H7 y has ejecutado la aplicación de parpadeo en cada núcleo de forma independiente, ahora es tu momento para que hagas tus proyectos con esta potente placa de Arduino.

Puedes explorar muchos más ejemplos disponibles desde el IDE abriéndolos desde Archivo> Ejemplos. Estos incluyen un ejemplo de RPC que permite que los núcleos M7 y M4 se comuniquen entre sí mediante llamadas de procedimiento remotas.


Compartir esta publicación



← Publicación más antigua Publicación más reciente →