Ubuntu20.04+eclipse+jlink(openocd+SWD)+arm-none-eabi-gcc+STM32開發環境搭建
1.檔案準備
安裝Eclipse IDE for C/C++ Developers
檔案eclipse-cpp-2020-12-R-linux-gtk-x86_64.tar.gz
連結https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2020-12/R/eclipse-cpp-2020-12-R-linux-gtk-x86_64.tar.gz
安裝sudo tar -xvf eclipse-cpp-2020-12-R-linux-gtk-x86_64.tar.gz -C /opt/
eclipse桌面快捷方式
gedit /home/hw/Desktop/eclipse.desktop,其中hw 是使用者名
寫入
[Desktop Entry]
Name=eclipse
Type=Application
Exec=/opt/eclipse/eclipse
Terminal=false
Icon=/opt/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE;
Name[en]=eclipse
儲存檔案并關閉
右鍵,Allow launching
eclipse桌面快捷方式建立完成
安裝arm-none-eabi-gcc
檔案gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
連結https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
安裝 sudo tar -xvf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 -C /opt/
安裝jlink驅動
檔案JLink_Linux_V672c_x86_64.deb
連結https://www.segger.com/downloads/jlink/JLink_Linux_x86_64.deb
安裝依賴 sudo apt install libncurses5
安裝sudo dpkg -i JLink_Linux_V672c_x86_64.deb
安裝openocd
sudo apt install openocd
至此所需要的程式安裝完畢。
Eclipse 嵌入式開發支援包安裝
eclipse→help → install new software…
Work with下拉選擇 –All Available Sites-- ,等待載入軟體清單
選中Mobile and Device Development,并安裝軟體包,軟體包安裝進度可在右下角檢視,等待完成安裝,并重新開機eclipse。
STM32工程
File → New → All → C Managed Build,下一步
輸入project name,如stm32-test,選擇目标晶片工程,以STM32F1xxC/C++ Project為例
配置晶片資源及工程選項,以STM32F103為例,不使用system calls,不跟蹤調試輸出
選擇交叉編譯鍊,編譯鍊名稱選擇GNU Tools for ARM Embedded Processors (arm-none-eabi-gcc),編譯鍊路徑/opt/gcc-arm-none-eabi-10-2020-q4-major/bin
完成建立工程
CMSIS Packs
可是點選CMSIS Packs,并重新整理包清單使用
buid 工程
工程名稱stm32-test右鍵單擊,Build Project,如果編譯出錯,修複錯誤項目
燒錄并調試
在工程Debug目錄下建立openocd-jlink-swd.cfg配置檔案,寫入
source [find interface/jlink.cfg]
transport select swd
source [find target/stm32f1x.cfg]
# write image and restart target
proc program () {
init
reset init
halt
flash write_image erase stm32-test.hex 0x08000000
reset run
shutdown
}
# reset target and attach to debug
proc attach () {
init
reset run
}
儲存并關閉
确定openocd路徑,which openocd,如 /usr/bin/openocd
Run → Run Configurations,打開配置對話框
輕按兩下GDB OpenOCD Debugging配置選項,建立調試配置
在Debugger頁籤中Actual executable:/undefined_path/openocd點選global更改openocd指令路徑,填入openocd指令路徑/usr/bin/,Config options中填入-f Debug/openocd-jlink-swd.cfg
在Common頁籤中選中Debug和Run,應用更改并關閉
點選Debug圖示即可進行程式調試