背景
這篇文章主要是為了解決 在 Linux 中 編譯 能夠在 裸機上 跑的 程序
目前許多嵌入式軟件軟件開發在Linux平台下進行,編譯效率高很多,如今天所述的gcc-arm-none-eabi常適用於 Arm Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7/M23/M33, Cortex-R4/R5/R7/R8/R52)系列平台。
Ubuntu 16.04之后的軟件源是自帶gcc-arm-none-eabi的,只是自動安裝后的版本不一定符合要求。常用的有三種安裝方式:
基於 包管理的 自動安裝
sudo apt-get install gcc-arm-none-eabi
測試過在不添加其它ppa的情況下,ubuntu16.04和ubuntu18.04都可以自動安裝,只是默認版本號高低不同。
Ubuntu18.04下為gcc version 6.3.1 20170620;ubuntu 16.04下為gcc version 4.9.3 20141119。
查詢版本號指令 :arm-none-eabi-gcc -v
添加新的PPA進行安裝
參考官方網站,有詳細的教程
https://launchpad.net/~team-gcc-arm-embedded/+archive/ubuntu/ppa
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt-get update
sudo apt-get install gcc-arm-embedded
安裝指定的版本
版本下載官方網站
https://launchpad.net/gcc-arm-embedded/+download
下載源碼包后解壓,如本機解壓到目錄/usr/lib/gcc
添加環境變量
vi /etc/profile
在文件最后添加
export PATH=$PATH:/usr/lib/gcc/gcc-arm-none-eabi-4_9-2014q4/bin
使能環境變量
source /etc/profile
此命令只在當前終端有效,若需要在其它終端中使用,需要重啟計算機。
