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
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:
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.