Vscode+WSL+arm-none-eabi-gcc开发嵌入式,真香

Vscode+WSL+arm-none-eabi-gcc开发嵌入式,真香

解决方案goocz2025-03-05 11:58:0227A+A-

Vscode下载地址:

https://code.visualstudio.com/Download

vscode官网

WSL安装方法请移步:

https://docs.microsoft.com/zh-cn/windows/wsl/install

微软WSL安装帮助文档

arm-none-eabi-gcc编译器下载地址:

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

GNU Toolchain

jflash烧录工具下载地址:

https://www.segger.com/downloads/jlink/

jflash下载地址


按照上述地址,相信开发者都能轻松下载并安装成功,接下来,我将带领大家搭建嵌入式gcc开发环境。


  • 解压 gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
  • tar -xjvf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
  • 设置环境变量
  • sudo vim /etc/profile


测试环境变量是否设置成功:

arm-none-eabi-gcc -v

至此,环境变量配置成功。


  • 对于stm32来说,可以直接使用使用stm32cubeMx配置底层代码以及工具自动生成Makefile、芯片相关启动文件以及链接文件,在Makefile同级目录下,直接执行make,即可编译生成输出文件。
  • 至此,我们已经可以编译嵌入式工程了,接下来,使用JFLASH将输出文件烧录进芯片,我们需要安装JFLASH烧录工具,可自行安装。
  • 需要配置jlink与板子连接:新建脚本文件:gdbserver.sh,app.gdbinit,apprun.sh,appdown.shgdbserver.sh
"/mnt/f/Software/jflash/v680a/setup/JLinkGDBServerCL.exe" -USB -device STM32F030C8 -endian little -if SWD -speed auto -noir -LocalhostOnly;

app.gdbinit

target remote localhost:2331
monitor reset
monitor halt
monitor endian little
monitor speed auto
file build/XXX.elf
load
# set $pc=0x08000000

apprun.sh【单步调试】

#!/bin/bash
cp APP.gdbinit .gdbinit -f
arm-none-eabi-gdb -iex 'add-auto-load-safe-path/'

appdown.sh【下载】

#!/bin/bash
cp APPFLASH.gdbinit .gdbinit -f
arm-none-eabi-gdb -iex 'add-auto-load-safe-path/'
  • 演示调试步骤:
    • 执行脚本 ./gdbserver.sh
    • 执行make
    • 执行脚本 ./apprun.sh后进入调试状态,可使用gdb对代码进行单步调试分析
    • 执行脚本 ./appdown.sh下载固件
    • 结束
点击这里复制本文地址 以上内容由goocz整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

果子教程网 © All Rights Reserved.  蜀ICP备2024111239号-5