top of page

Mac M1/M2/M3 用戶必看!Arduino IDE 遇到「bad CPU type」錯誤?兩招快速解決!

Mac M1/M2/M3 用戶必看!


在教學過程中,我接觸到的學生們,在極少數的情況下會遇到 Mac 比較新的電腦(特別是搭載 Apple Silicon 晶片,如 M1/M2/M3 的機型)在與 Arduino 開發板連接時失敗的狀況。最常出現的錯誤訊息就是:

bad CPU type in executable

如果你也遇到了類似的問題,請不用擔心!這不是你的 Mac 壞了,也不是你的 Arduino 板有問題,而是因為一些軟體相容性的小細節沒有處理好。希望你看完這篇文章後,能快速排除這個障礙,讓你的創作之路暢通無阻 [1] 。



錯誤解析與解決方案


「bad CPU type in executable」這個錯誤,顧名思義,就是程式的執行檔類型與你的電腦 CPU 不相容。根據你的 Mac 機型和安裝情況,我們有兩種主要的解決方案:



解決方案一:如果你使用 Apple Silicon (M1/M2/M3) 晶片的 Mac

原因:

此錯誤通常是因為您的電腦尚未安裝 Rosetta [2]。Rosetta 是 Apple 提供的一個轉譯程式,能讓 Apple Silicon 晶片的 Mac 執行專為 Intel (x86-64) 處理器設計的軟體。由於 Arduino IDE 的某些內部工具可能仍是 Intel 架構,因此需要 Rosetta 才能正常運行。


解決步驟:安裝 Rosetta


  1. 自動安裝:當您啟動需要 Rosetta 的應用程式時,系統會自動跳出安裝視窗,直接點擊「安裝」即可。

  2. 手動安裝:如果沒有跳出視窗,請打開「終端機」應用程式,輸入以下指令並按下 Enter 鍵,然後依照指示完成安裝:

 bash softwareupdate --installrosetta

解決方案二:如果你使用 Intel 晶片的 Mac 或已安裝 Rosetta

原因:

如果您使用的是 Intel 晶片的 Mac,或者您已確認安裝了 Rosetta 但問題仍未解決,那麼問題很可能出在您所選用的 開發板平台 (platform) 版本過於老舊。老舊的平台版本可能包含不相容的工具鏈。


解決步驟:更新開發板平台


  1. Arduino IDE 中,點擊選單列的 工具 (Tools) > 開發板 (Board)  >  開發板管理員 (Boards Manager)

  2. 在「開發板管理員」中,找到您正在使用的開發板平台(例如:Arduino AVR Boards)。

  3. 檢查是否有可用的新版本,若有,請點擊「安裝」或「更新」按鈕。

  4. 等待安裝完成後,重新編譯並上傳您的程式碼,問題即可解決。




總結


無論是透過安裝  Rosetta [2] 解決 Apple Silicon 的相容性問題,還是透過更新 開發板平台 解決工具鏈過舊的問題,這兩個方法都能有效解決「bad CPU type in executable」的錯誤。希望這篇文章能幫助你順利地在 Mac 上繼續你的 Arduino 專案!



參考資料


[1] Arduino Support:[Error: bad CPU type in executable on macOS](https://support.arduino.cc/hc/en-us/articles/7765785712156-Error-bad-CPU-type-in-executable-on-macOS )

[2] Install Rosetta on Mac:[Install Rosetta on your Mac](https://support.apple.com/en-us/102527 )



 
 
 

留言


bottom of page