vscode + EIDE开发GD32VW553-v2编译通过webUI多模式来控制

分享作者:tgcevgdf_7889
作者昵称:阿峰不坏
评测品牌:萤火工场
评测型号:GD32VW553-IOT-V2
发布时间:2026-08-14 15:44:17
1
视频链接
【gd32vw553-v2 vscode开发与编译+WiFi webUI多模式控制LED-哔哩哔哩】 https://b23.tv/Y7a9nhY
概要
vscode + EIDE编译经验
开源口碑分享内容

环境搭建的几点

官方的IDE在使用上没有vscode方便也不方便跟AI来结合。测试实践学习使用vscode来进行编码和编译,烧录还是使用的ALL in one programmer。

必须保留的核心选项:(我自己测试的经验,先观察官方IDE编译日志信息中的gcc和参数,vscode默认使用的gcc和库有差异,会报错。最终是切换成芯片官方的riscv-nuclei-elf-gcc.exe (GCC) 10.2.0,路径为GD32EB\plugins\com.gd.tools.nucleiriscvgcc10.2.0_1.0.0.202604291642\Tools\NucleiGCC10.2.0\bin\riscv-nuclei-elf-gcc.exe

  • 架构与ABI:-march=rv32imafcbp -mabi=ilp32f (您之前设置的是 rv32imac 和 ilp32,这是导致后续库不兼容的潜在原因,务必改为相同)
  • 优化:-Os (您设成了 -O0,建议改为 -Os 以保持一致)
  • 警告选项:可保留或根据喜好修改,但不影响链接
  • 宏定义:-DCFG_RTOS -DPLATFORM_OS_FREERTOS 必须加上
  • 包含路径:需要全部复制到 EIDE 的包含路径中 最关键的几个点:
  • 链接脚本:-T "example_wifi.lds"(注意相对路径,需要根据您的项目位置调整) 这里也是容易出问题的地方,经过测试用源文件例子的GD32VW55x_RELEASE_V1.0.3g\MSDK\examples\wifi\example_wifi.lds 不易出错
  • 库路径:-L 指定了 lib 和 DSP 目录
  • 库文件:-lwifi -lrf -lwpas -lm -lnmsis_dsp_rv32imafcbp
  • 符号文件:-Wl,--just-symbols=.../rom_symbol_m.gcc —— 这一步非常重要,它提供了 ROM 中预先烧录的 Wi-Fi/加密函数的地址,缺了它就会产生大量 undefined reference(您之前报的就是这些)。
  • 其他:--specs=nano.specs 和 --specs=nosys.specs 是标准库规范,建议保留。 经过测试, 1、链接脚本路径 2、链接库 -L "D:/Software/IOTDev/GD32VW55x_RELEASE_V1.0.3g/MSDK/lib" -L "D:/Software/IOTDev/GD32VW55x_RELEASE_V1.0.3g/MSDK/plf/riscv/NMSIS/Library/DSP/GCC" -Wl,--just-symbols="D:/Software/IOTDev/GD32VW55x_RELEASE_V1.0.3g/ROM-EXPORT/symbol/rom_symbol_m.gcc" -Wl,--cref -Wl,--no-relax -nostartfiles 697

完整的

-march=rv32imafcbp -mcmodel=medlow -msmall-data-limit=8 -msave-restore -mabi=ilp32f -Os -ffunction-sections -fdata-sections -fno-common -fno-unroll-loops -g

-nostartfiles

-Xlinker --gc-sections

-L "D:/Software/IOTDev/GD32VW55x_RELEASE_V1.0.3g/MSDK/lib"

-L "D:/Software/IOTDev/GD32VW55x_RELEASE_V1.0.3g/MSDK/plf/riscv/NMSIS/Library/DSP/GCC"

-Wl,-Map,"D:/Software/IOTDev/GD32VW55x_RELEASE_V1.0.3g/MSDK/examples/wifi/softap_tcp_server/Eclipse_project/softap_tcp_server/softap_tcp_server.map"

--specs=nano.specs

-u_printf_float

--specs=nosys.specs

-Wl,--just-symbols="D:/Software/IOTDev/GD32VW55x_RELEASE_V1.0.3g/ROM-EXPORT/symbol/rom_symbol_m.gcc"

全部评论
暂无评论
0/144