Comment réparer le mauvais type de CPU dans l'erreur de compilation exécutable dans Arduino Ide 2.0

Comment réparer le mauvais type de CPU dans l'erreur de compilation exécutable dans Arduino Ide 2.0

Arduino est une plate-forme basée sur un microcontrôleur qui a plusieurs utilisations dans différents domaines de la vie. Tout en travaillant avec Arduino, nous pouvons rencontrer différents types d'erreur et l'un d'eux est un «Bad CPU Type en exécutable» Erreur tout en essayant de compiler le code dans l'Arduino IDE 2.0, cette erreur vient généralement dans les dernières puces M1 Mac Apple.

Dans cet article, nous vous guiderons tout au long du processus de fixation de l'erreur de compilation «Bad CPU Type in Exécutable» dans l'Arduino IDE 2.0.

Ce contenu de cet article comprend:

Comprendre l'erreur de compilation «Bad CPU Type en exécutable»

Solution à une erreur de compilation «Bad CPU Type dans Exécutable»

    • Installez Rosetta 2 sur les dernières puces macOS M1
    • Télécharger le bon IDE Arduino pour votre Mac
    • Suppression du dossier CTAGS

Quelques autres étapes importantes

Comprendre l'erreur de compilation «Bad CPU Type en exécutable»

L'erreur «Bad CPU dans l'exécutable» que certains utilisateurs ont signalée lorsqu'ils essaient d'utiliser l'ide Arduino sur les puces Apple M1. C'est puisque l'ide Arduino n'est pas encore compilé nativement pour l'architecture M1.

L'Arduino IDE est une application compilée pour s'exécuter sur un Mac basé sur Intel, qui a une architecture CPU différente de celle des puces M1. Lorsque l'application est lancée sur un M1 Mac, le système reconnaît que l'application n'est pas compilée nativement pour l'architecture M1 et tente de l'exécuter Rosetta, qui est une technologie qui permet aux applications basées sur Intel de fonctionner sur M1 Macs. Cependant, dans certains cas, ce processus échoue et se traduit par «Bad CPU Type en exécutable» Message d'erreur.

Le problème n'est pas dans l'ide Arduino lui-même. C'est que la carte à outils macOS pour la carte Arduino n'a pas été compilée pour l'architecture 64 bits. Apple a abandonné la prise en charge des applications 32 bits dans la version macOS Catalina.


De nombreuses chaînes d'outils macOS utilisées par les plates-formes Arduino Boards ont été mises à jour officiellement par Arduino à 64 bits en réponse à cela, mais certaines chaînes d'outils ou plates-formes qui ne sont pas activement maintenues ont été laissées par ce changement. Si vous utilisez une carte de microcontrôleur tiers, contactez-les à propos de la prise en charge de la nouvelle architecture Mac.

Mise à jour: La puce M1 a été lancée en 2020, à l'époque Arduino IDE n'avait aucun support pour la nouvelle architecture ARM. Cependant, en décembre 2022, Arduino IDE a officiellement lancé la version IDE distincte pour Apple Silicon Mac et Intel Mac basé sur.

Voyons les solutions possibles à ce problème.

Solution à une erreur de compilation «Bad CPU Type dans Exécutable»

Pour corriger cette erreur, vous pouvez essayer de mettre à jour l'ide Arduino vers la dernière version ou de réinstaller le logiciel, ce qui peut aider dans certains cas. Dans le cas où ces solutions ne fonctionnent pas, exécutez l'ide Arduino à travers Rosetta, ce qui peut résoudre le problème.

Installez Rosetta 2 sur les dernières puces macOS M1

Les machines à base de silicium Apple (CPU M1, M2) peuvent exécuter le logiciel conçu pour les hôtes x86 en raison de la prise en charge de Rosetta 2. Rosetta est nécessaire pour exécuter l'Arduino IDE sur les puces M1 Pomme M1 car l'ide Arduino n'est pas compilé nativement pour l'architecture M1. Rosetta est une technologie qui permet aux applications compilées pour que les Mac basés sur Intel fonctionnent sur les processeurs M1 d'Apple.

Par défaut, Rosetta est installée sur le dernier Mac; Cependant, sinon, suivez ces étapes pour l'installer.

Étape 1: Folder des applications ouvrir.

Étape 2: Ouvrez le dossier des services publics.

Étape 3: Double-cliquez sur "Terminal".

Étape 4: Exécuter la commande donnée:

logiciel update - install-rosetta


Étape 5: Acceptez le contrat d'installation et le contrat de licence.

Étape 6: Maintenant, attendez que l'installation de Rosetta se termine.

Pour plus de détails sur Rosetta 2 Suivez ce lien Comment installer Rosetta sur Mac.

Télécharger le bon IDE Arduino pour votre Mac

Les appareils Apple conçus par Apple lui-même ou en bref, les appareils Apple Silicon Builds ont une efficacité et des performances accrues, l'Arduino a officiellement publié IDE 2.X Build pour les appareils en silicium Apple en décembre 2022. En raison de ce changement, la plupart des appareils Apple ne demandent pas l'installation de Rosetta 2 pour x86 build of arduino ide 2.X. La Rosetta 2 n'est pas requise par Arduino IDE. L'IDE utilise un certain nombre d'outils différents pour compiler des programmes. La plupart de ces outils sont manquants dans le produit Apple Build Chips:

    • découverte en série
    • monteur de série
    • GCC
    • Avrdude

Chaque fois qu'un utilisateur compile un programme dans de nouvelles puces Apple, les outils ci-dessus provoquent la mauvaise erreur du processeur.

La raison d'avoir besoin d'ides arduino distinctes pour Mac Intel et Mac Silicon est parce que ces deux types de Mac ont des architectures CPU différentes. Les machines Intel Mac utilisent des processeurs Intel, tandis que les machines Mac Silicon utilisent les propres processeurs M1 d'Apple.

Cela signifie que le code binaire qui constitue l'ide Arduino est différent pour les processeurs Intel et M1.

Si vous essayez d'exécuter la version de l'IDE Arduino compilée pour les processeurs Intel sur un M1 Mac ou vice versa, cela entraînera une erreur et l'IDE peut ne pas fonctionner correctement.

L'image suivante montre l'IDE Arduino pour les systèmes Mac à base d'Intel et de Silicon.

Suppression du dossier CTAGS

Le ctags est un fichier qui résume l'emplacement de différents objets dans les fichiers source C.

La suppression du fichier CTAGS résoudra temporairement ce problème, mais une fois que l'ide Arduino a compilé le fichier, ce fichier sera à nouveau accueilli et repartira ainsi à cette erreur.

L'adresse de ce fichier est comme:

Utilisateurs / MacBookPro / Library / Arduino15 / Packages / Builtin / Tools / CTAGS / 5.8-arguino11


Quelques autres étapes importantes

Voici quelques choses plus importantes que vous pouvez essayer si l'erreur persiste.

Étape 1: Mettre à jour les packages Arduino AVR

L'une des étapes les plus importantes est de s'assurer que des packages de cartes AVR corrects et mis à jour sont installés. Pour installer les derniers packages AVR Arduino, allez à Outils> Board> Gestionnaire des conseils d'administration et recherchez la carte AVR puis cliquez sur Installer:


Étape 2: Mettre à jour le firmware du conseil d'administration

Si votre carte dispose d'un firmware obsolète, vous pouvez rencontrer l'erreur de compilation «Bad CPU Type dans Exécutable». Pour mettre à jour le firmware sur votre carte, vous devrez télécharger le firmware à partir du site Web du fabricant et suivre leurs instructions pour mettre à jour le firmware.

Étape 3: Utilisez le bon programmeur

Si vous utilisez un programmeur pour télécharger votre programme sur votre carte, assurez-vous que vous avez sélectionné le bon programmeur dans le Outils> menu du programmeur Dans l'Arduino Ide 2.0:


Étape 4: Utilisez le bon port

Assurez-vous que vous avez sélectionné le bon port dans le Outils> Menu de port Dans l'Arduino Ide 2.0. Si vous n'êtes pas sûr.

Conclusion

Fixation de l'erreur de compilation «Bad CPU Type en exécutable» dans Arduino Ide 2.0 nécessite de s'assurer que la carte et le processeur corrects sont sélectionnés dans le menu «Outils». De plus, cette erreur se présente généralement sur les processeurs de puce Apple M1. Pour résoudre ce problème sur Mac Rosetta 2, il faut être installé dans votre système avec la bonne version d'Arduino IDE. Arduino a publié un IDE séparé pour les puces Apple Silicon et Intel Mac.