Hvordan fikse den dårlige CPU -typen i kjørbar kompileringsfeil i Arduino IDE 2.0

Hvordan fikse den dårlige CPU -typen i kjørbar kompileringsfeil i Arduino IDE 2.0

Arduino er en mikrokontrollerbasert plattform som har flere bruksområder i forskjellige livsfelt. Mens vi jobber med Arduino, kan vi møte forskjellige typer feil, og en av disse er en “Dårlig CPU -type i kjørbar” Feil mens du prøver å kompilere kode i Arduino IDE 2.0, denne feilen kommer vanligvis i Apple siste M1 Mac -brikker.

I denne artikkelen vil vi veilede deg gjennom prosessen med å fikse "Bad CPU -typen i kjørbar" kompileringsfeil i Arduino IDE 2.0.

Dette artikkelinnholdet inkluderer:

Forstå "Bad CPU -typen i kjørbar" kompileringsfeil

Løsning på “Bad CPU Type in DECUTABLE” Compile Feil

    • Installer Rosetta 2 på nyeste MacOS M1 -brikker
    • Last ned riktig Arduino IDE for din Mac
    • Slette CTAGS -mappen

Noen andre viktige trinn

Forstå "Bad CPU -typen i kjørbar" kompileringsfeil

"Bad CPU -typen i kjørbar" -feil som noen brukere har rapportert når de prøver å bruke Arduino IDE på Apple M1 -brikker. Det er siden Arduino IDE ennå ikke er sammenlagt for M1 -arkitekturen.

Arduino IDE er en applikasjon samlet for å kjøre på en Intel-basert Mac, som har en annen CPU-arkitektur enn M1-brikkene. Når applikasjonen lanseres på en M1 MAC, erkjenner systemet at applikasjonen ikke er naturlig utarbeidet for M1 -arkitekturen og prøver å kjøre den gjennom Rosetta, som er en teknologi som lar Intel-baserte applikasjoner kjøre på M1 Mac-er. I noen tilfeller mislykkes imidlertid denne prosessen og resulterer i “Dårlig CPU -type i kjørbar” feilmelding.

Problemet er ikke i selve Arduino IDE. Det er at MacOS-verktøykjeden for Arduino Board ikke er blitt samlet for 64-biters arkitektur. Apple droppet støtten for 32-biters applikasjoner i macOS Catalina-utgivelsen.


Mange av macOS-verktøykantene som ble brukt av Arduino-tavlerplattformer ble oppdatert av Arduino offisielt til 64-bit. Hvis du bruker et tredjeparts mikrokontrollertavle, kan du kontakte dem om støtten til ny MAC-arkitektur.

Oppdater: M1 Chip ble lansert i 2020, den gang hadde Arduino IDE ingen støtte for den nye armarkitekturen. I desember 2022 lanserte imidlertid Arduino IDE offisielt den separate IDE -versjonen for både Apple Silicon Mac og Intel Based Mac.

La oss se mulige løsninger på dette problemet.

Løsning på “Bad CPU Type in DECUTABLE” Compile Feil

For å fikse denne feilen, kan du prøve å oppdatere Arduino IDE til den nyeste versjonen eller installere programvaren på nytt, noe som kan hjelpe i noen tilfeller. I tilfelle disse løsningene ikke fungerer, kjører Arduino IDE gjennom Rosetta, som kan løse problemet.

Installer Rosetta 2 på nyeste MacOS M1 -brikker

Apple Silicon-baserte maskiner (M1, M2 CPUer) kan kjøre programvaren designet for X86-verter på grunn av Rosetta 2-støtten. Rosetta er nødvendig for å kjøre Arduino IDE på MacOS Apple M1 -brikker fordi Arduino IDE ikke er innfødt for M1 -arkitekturen. Rosetta er en teknologi som lar applikasjoner samlet for Intel-baserte Mac-er å kjøre på Apples M1-prosessorer.

Som standard er Rosetta installert på den nyeste Mac; Imidlertid, hvis ikke, følg disse trinnene for å installere den.

Trinn 1: Åpne applikasjonsmappen.

Steg 2: Åpne verktøymappen.

Trinn 3: Dobbeltklikk på “Terminal”.

Trinn 4: Kjør gitt kommando:

SoftwareUpdate--Install-Rosetta


Trinn 5: Godta installasjonsbetingelsene og lisensavtalen.

Trinn 6: Vent nå til Rosetta -installasjonen er ferdig.

For mer detaljer om Rosetta 2 Følg denne lenken hvordan du installerer Rosetta på Mac.

Last ned riktig Arduino IDE for din Mac

Apple -enhetene designet av Apple selv eller kort sagt, Apple Silicon bygger enheter har økt effektivitet og ytelse, Arduino offisielt utgitt IDE 2.X Build for Apple Silicon -enheter i desember 2022. På grunn av denne endringen ber de fleste Apple -enheter ikke om Rosetta 2 -installasjonen for x86 -bygging av Arduino IDE 2.x. Rosetta 2 er ikke påkrevd av Arduino IDE. IDE bruker en rekke forskjellige verktøy for å samle programmer. De fleste av disse verktøyene mangler i Apple Build Chips -produkt:

    • Seriell oppdagelse
    • seriemåler
    • GCC
    • Avrdude

Hver gang en bruker samler et program i nye Apple Chips, forårsaker de ovennevnte verktøyene den dårlige CPU -feilen.

Årsaken til å trenge separate Arduino Ides for Mac Intel og Mac -silisium er fordi disse to typene Mac -maskiner har forskjellige CPU -arkitekturer. Mac Intel -maskiner bruker Intel -prosessorer, mens Mac Silicon -maskiner bruker Apples egne M1 -prosessorer.

Dette betyr at den binære koden som utgjør Arduino IDE er annerledes for Intel- og M1 -prosessorer.

Hvis du prøver å kjøre versjonen av Arduino IDE samlet for Intel -prosessorer på en M1 Mac eller omvendt, vil dette føre til feil, og IDE fungerer kanskje ikke riktig.

Følgende bilde viser Arduino IDE for både Intel og Silicon -baserte MAC -systemer.

Slette CTAGS -mappen

De CTAGS er en fil som oppsummerer plasseringen av forskjellige objekter i C -kildefiler.

Å slette CTAGS -filen vil løse dette problemet midlertidig, men når Arduino IDE samlet filen, vil denne filen igjen bli møtt, og forlater igjen ved denne feilen.

Adresse for denne filen er som:

Brukere/MacBookPro/Library/Arduino15/Pakker/Builtin/Tools/CTAGS/5.8-Aarduino11


Noen andre viktige trinn

Her er noen viktigere ting du kan prøve hvis feilen vedvarer.

Trinn 1: Oppdater Arduino AVR -pakker

Et av de viktigste trinnene er å sørge for at riktige og oppdaterte AVR -brettpakker er installert. For å installere de nyeste AVR Arduino -pakkene, gå til Verktøy> Board> Board Manager og søk AVR -kortet og klikk deretter på Install:


Steg 2: Oppdater styret firmware

Hvis styret ditt har en utdatert firmware, kan du møte "Bad CPU -typen i kjørbar" kompileringsfeil. For å oppdatere firmware på brettet ditt, må du laste ned firmware fra produsentens nettsted og følge instruksjonene deres for å oppdatere firmware.

Trinn 3: Bruk riktig programmerer

Hvis du bruker en programmerer for å laste opp programmet ditt til styret ditt, må du sørge for at du har valgt riktig programmerer fra Verktøy> Programmer -meny I Arduino Ide 2.0:


Trinn 4: Bruk riktig port

Forsikre deg om at du har valgt riktig port fra Verktøy> Portmeny I Arduino Ide 2.0. Hvis du ikke er sikker.

Konklusjon

Festing av "Bad CPU -typen i kjørbar" kompileringsfeil i Arduino IDE 2.0 Krever å sikre at riktig brett og prosessor er valgt i "Verktøy" -menyen. Også denne feilen kommer vanligvis på Apple M1 Chip CPUer. For å løse dette på Mac Rosetta 2 må installeres i systemet ditt sammen med riktig versjon av Arduino IDE. Arduino har gitt ut en egen IDE for både Apple Silicon og Intel Mac Chips.