Cómo corregir el tipo de CPU malo en el error de compilación ejecutable en Arduino IDE 2.0

Cómo corregir el tipo de CPU malo en el error de compilación ejecutable en Arduino IDE 2.0

Arduino es una plataforma basada en microcontroladores que tiene múltiples usos en diferentes campos de la vida. Mientras trabajamos con Arduino, podemos encontrar diferentes tipos de error y uno de ellos es un "Bad CPU tipo en ejecutable" Error al intentar compilar el código en el Arduino IDE 2.0, este error generalmente viene en los últimos chips Mac de Apple M1.

En este artículo, lo guiaremos a través del proceso de corregir el error de compilación "Tipo de CPU malo en ejecutable" en el Arduino IDE 2.0.

El contenido de este artículo incluye:

Comprender el error de compilación del "tipo de CPU malo en el ejecutable"

Solución al error de compilación de "CPU mal en ejecutable"

    • Instale Rosetta 2 en las últimas chips de MacOS M1
    • Descargar el ide Arduino correcto para su Mac
    • Eliminar la carpeta CTAGS

Algunos otros pasos importantes

Comprender el error de compilación del "tipo de CPU malo en el ejecutable"

El error del "tipo de CPU malo en ejecutable" que algunos usuarios han informado al intentar usar el Arduino IDE en los chips Apple M1. Es ya que el IDE Arduino aún no se compila de forma nativa para la arquitectura M1.

El Arduino IDE es una aplicación compilada para ejecutarse en una Mac basada en Intel, que tiene una arquitectura de CPU diferente que los chips M1. Cuando la aplicación se inicia en un M1 Mac, el sistema reconoce que la aplicación no se compila de forma nativa para la arquitectura M1 e intenta ejecutarla Rosetta, que es una tecnología que permite que las aplicaciones basadas en Intel se ejecuten en M1 Macs. Sin embargo, en algunos casos, este proceso falla y da como resultado el "Bad CPU tipo en ejecutable" mensaje de error.

El problema no está en el arduino ide mismo. Es que la tabla MacOS Toolchain para Arduino no se ha compilado para una arquitectura de 64 bits. Apple eliminó el soporte para aplicaciones de 32 bits en el lanzamiento de MacOS Catalina.


Arduino actualizaron muchas de las plataformas de herramientas de MacOS utilizadas por Arduino Boards Boards, pero algunas plataformas de herramientas o plataformas de tableros que no se mantienen activamente quedaron atrás por este cambio. Si está utilizando una placa de microcontrolador de terceros, comuníquese con ellos sobre el soporte de la nueva arquitectura Mac.

Actualizar: El chip M1 se lanzó en 2020, en aquel entonces Arduino Ide no tenía soporte para la nueva arquitectura Arm. Sin embargo, en diciembre de 2022, Arduino IDE lanzó oficialmente la versión IDE separada tanto para Apple Silicon Mac como para Mac basado en Intel.

Veamos posibles soluciones a este problema.

Solución al error de compilación de "CPU mal en ejecutable"

Para corregir este error, puede intentar actualizar el IDE Arduino a la última versión o reinstalar el software, lo que puede ayudar en algunos casos. En caso de que estas soluciones no funcionen, ejecute el IDE Arduino a través de Rosetta, que puede resolver el problema.

Instale Rosetta 2 en las últimas chips de MacOS M1

Las máquinas basadas en Silicon de Apple (CPU M1, M2) pueden ejecutar el software diseñado para hosts X86 debido al soporte de Rosetta 2. Se necesita rosetta para ejecutar los chips Arduino IDE en MacOS Apple M1 porque el Arduino IDE no se compila de forma nativa para la arquitectura M1. Rosetta es una tecnología que permite que las aplicaciones compiladas para Mac basadas en Intel se ejecuten en los procesadores M1 de Apple.

Por defecto, Rosetta está instalada en la última Mac; Sin embargo, si no, siga estos pasos para instalarlo.

Paso 1: Carpeta de aplicaciones abierta.

Paso 2: Abra la carpeta de utilidades.

Paso 3: Haga doble clic en "Terminal".

Etapa 4: Ejecutar el comando dado:

SoftwareUpdate-Install-Rosetta


Paso 5: Aceptar los términos de instalación y el acuerdo de licencia.

Paso 6: Ahora espera hasta que termine la instalación de Rosetta.

Para obtener más detalles sobre Rosetta 2, siga este enlace cómo instalar Rosetta en Mac.

Descargar el ide Arduino correcto para su Mac

Los dispositivos Apple diseñados por Apple o en resumen, los dispositivos de Apple Silicon Builds han aumentado la eficiencia y el rendimiento, el Arduino lanzó oficialmente IDE 2.X Build para dispositivos Apple Silicon en diciembre de 2022. Debido a este cambio, la mayoría de los dispositivos Apple no solicitan la instalación de Rosetta 2 para la compilación X86 de Arduino IDE 2.X. La Rosetta 2 no es requerida por Arduino IDE. El IDE utiliza una serie de herramientas diferentes para compilar programas. Faltan la mayoría de estas herramientas en el producto de Chips de compilación de Apple:

    • descubrimiento en serie
    • monitor en serie
    • GCC
    • Avrdude

Cada vez que un usuario compila un programa en nuevos chips de Apple, las herramientas anteriores causan el error de CPU malo.

La razón para necesitar Arduino IDES separadas para Mac Intel y Mac Silicon es porque estos dos tipos de Mac tienen diferentes arquitecturas de CPU. Las máquinas MAC Intel usan procesadores Intel, mientras que las máquinas MAC Silicon usan los procesadores M1 de Apple.

Esto significa que el código binario que constituye el IDE Arduino es diferente para los procesadores Intel y M1.

Si intenta ejecutar la versión del Arduino IDE compilado para procesadores Intel en un M1 Mac o viceversa, esto dará como resultado un error y el IDE puede no funcionar correctamente.

La siguiente imagen muestra el IDE Arduino para Sistemas MAC basados ​​en Intel y Silicon.

Eliminar la carpeta CTAGS

El CTAGS es un archivo que resume la ubicación de diferentes objetos en los archivos de origen C.

Eliminar el archivo CTAGS resolverá este problema temporalmente, pero una vez que el IDE Arduino compiló el archivo, este archivo volverá a recibirlo nuevamente, dejando nuevamente este error.

La dirección para este archivo es como:

Usuarios/MacBookPro/Library/Arduino15/Packages/Builtin/Hools/CTAGS/5.8-arduino11


Algunos otros pasos importantes

Aquí hay algunas cosas más importantes que puede probar si persiste el error.

Paso 1: Actualizar paquetes AVR Arduino

Uno de los pasos más importantes es asegurarse de que se instalen paquetes de tablero AVR correctos y actualizados. Para instalar los últimos paquetes AVR Arduino, vaya a Herramientas> Board> Board Manager y busque la placa AVR y luego haga clic en Instalar:


Paso 2: Actualizar el firmware de la placa

Si su junta tiene un firmware obsoleto, puede encontrar el error de compilación de "CPU mal en ejecutable". Para actualizar el firmware en su placa, deberá descargar el firmware del sitio web del fabricante y seguir sus instrucciones para actualizar el firmware.

Paso 3: Use el programador correcto

Si está utilizando un programador para cargar su programa en su tablero, asegúrese de haber seleccionado el programador correcto del Herramientas> Menú del programador En el Arduino IDE 2.0:


Etapa 4: Use el puerto correcto

Asegúrese de haber seleccionado el puerto correcto del Herramientas> Menú de puertos En el Arduino IDE 2.0. Si no estás seguro.

Conclusión

SEGIR el error de compilación de "CPU malo en ejecutable" en Arduino IDE 2.0 requiere garantizar que la placa y el procesador correctos se seleccionen en el menú "Herramientas". Además, este error generalmente viene en las CPU de chip Apple M1. Para resolver esto en Mac Rosetta 2 debe instalarse en su sistema junto con la versión correcta de Arduino IDE. Arduino ha lanzado un IDE separado para Apple Silicon y Intel Mac Chips.