天天看點

Ubuntu20.04+eclipse+jlink(openocd+SWD)+arm-none-eabi-gcc+STM32開發1.檔案準備Eclipse 嵌入式開發支援包安裝STM32工程CMSIS Packs

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圖示即可進行程式調試

繼續閱讀