linux下NucleStudio开发环境配置和使用(目的:学习建立工程/编译和代码烧录)

开发板型号:GD32VF103R-START

其他开发板型号,主要有两点不同:一是启动时默认的UART不同,可能需要改(通过system_gd32vf103.c中的_premain_init函数可以查看);二是代码烧录部分的第3步中的配置选项可能不同,需要修改。

      出现以下错误时,就是代码烧录部分的配置选项有问题。

Info : no device found, trying D2xx driver
Error: unrecognized USB device descriptor
Error: unable to open ftdi device with vid 0403, pid 6010, description '*', serial '*' at bus location '*'

 

文中图片中的选项以文字描述为准

 

1) 下载Nuclei Studio IDE 

      网址:https://www.nucleisys.com/download.php

2)安装驱动

◼ 1: 连接开发板到 Linux 中,确保 USB 被 Linux 识别出来。
◼ 2: 在控制台中使用 lsusb 指令查看信息,参考的打印信息如下:
          Bus 001 Device 010: ID 0403:6010 Future Technology Devices International, Ltd FT2232xxxx
◼ 3: 控制台中输入 sudo vi /etc/udev/rules.d/99-openocd.rules 指令打开 99-openocd.rules 文件,输入如下内容,保存退出。
          SUBSYSTEM=="usb", ATTR{idVendor}=="0403",
          ATTR{idProduct}=="6010", MODE="664", GROUP="plugdev"
          SUBSYSTEM=="tty", ATTRS{idVendor}=="0403",
          ATTRS{idProduct}=="6010", MODE="664", GROUP="plugdev"
◼ 4: 断开调试器再重新连接到 Linux 系统中。
◼ 5: 使用 ls /dev/ttyUSB*命令查看 ttyUSB 信息,参考输出如下: /dev/ttyUSB0  /dev/ttyUSB1
◼ 6: 使用 ls -l /dev/ttyUSB1 命令查看分组信息,参考输出如下: crw-rw-r-- 1 root plugdev 188, 1 Nov 28 12:53 /dev/ttyUSB1
          可以看到 ttyUSB1 已经加入 plugdev 组,接下来我们要将自己添加到 plugdev 组(不同环境可能名字不同,请根据实际情况修改) 。使用 whoami 命令查看当前用户名,我们将其记录为< your_user_name >。
◼ 7: 使用 sudo usermod -a -G plugdev <your_user_name>命令将自己添加进 plugdev组。
◼ 8: 再次确认当前用户名已属于 plugdev 组,使用 groups 命令,可以看到打印信息中有plugdev 即成功将当前用户添加至 plugdev 组。 如果没有可以尝试重启。

3)创建工程

◼ 1:在菜单栏中, 选择“File—> New —> C/C++ Project”。

◼ 2:如图 4-3 所示,在弹出的窗口中选择项目类型。

◼ 3:如图 4-4 所示,在弹出的窗口中设定如下参数。

⚫ Project name:项目命名。 这里设置为“1_helloworld”
⚫ Use default location:如果勾选了此选项,则会使用默认 Workspace 文件夹存放此项目文件。
⚫ Project type: 根据使用的 SoC 来选择,这里我们 GD32VF103 Board使用的是  GD32VF103 SoC,所以选择“Nuclei SDK Project For GD32VF103 SoC”。
⚫ Toolchains:我们使用 GCC 工具链,所以这里选择“RISC-V Cross GCC”。
⚫ 点击“Next”进入下一步。

◼ 4:如下图所示,选择需要创建项目评估板类型。

Board 选择gd32vf103v_rvstar;  Core 和 DOWNLOAD默认就可以。

◼ 5:如图 4-6 所示,选择程序模板及相关设置项,这里以新建 helloworld 工程为例。

选择工程模板, “project example” 选择“baremetal_helloworld” ;选择链接库,这里helloworld 不使用 NMSIS 库,所以选择 None;选择是否使用 DSP 库的 dsp 加速模式,这里 helloworld 不使用 DSP 库,所以不勾选;选择使用 NEWLIB 打印, 因为
helloworld 不用浮点打印,所以这里选择“newlib-nano without float” ;选择编译优化等级,这里选 Optimize more(-O2) ,某些 demo 因为其自身要求,新建时会自动设置优化等级,覆盖这里的选项。 然后点击“Next”进入下一步。

◼ 6:如图 4-7 所示,选择程序模板配置项。然后点击“Next”进入下一步。

◼ 7:如图 4-8 所示,不需要对“Toolchain path”进行设置,直接点击“Finish”完成项目创建。

◼ 8:如图 4-9 所示,使用模板自动创建 Hello World 项目已经完成。

4)编译

使用菜单栏“Project—> Build Project”或“ ”按钮,来对该项目进行编译。编译后console生成一些数据,如下图所示。

点击三角形,运行。

5)代码烧录

配置 Debug Configuration 内容的步骤如下。
◼1:在菜单栏中选择“Run—>Debug Configurations”。
◼2: 如图 6-4 所示,在弹出的窗口中, 如果没有当前工程的调试设置内容, 右键单击“GDB OpenOCD Debugging”,选择“New”,将会为本项目新建出一个调试项目“hello_world_demo Debug”, 如图 6-5 所示。 确保“Project”是当前需要调试的工
程,“C/C++ Application”中选择了正确的需要调试的 ELF 文件。


◼ 3:如图 6-6 所示,选择调试项目“hello_world_demo Debug”的 Debugger 菜单,在Config options 栏目中填入-f  "/home/省略/nuclei_sdk/SoC/gd32vf103/Board/gd32vf103_eval/openocd_gd32vf103.cfg"(103板子设置为这样),以确保 OpenOCD 使用正确的配置文件。

         如果当前内核是 RISC-V 32 位内核,请确保 Commands 内容包含 set arch riscv:rv32 ;如果当前内核为 64 位,应确保替换为 set arch riscv:rv64

◼ 4:如图 6-7 所示,选择调试项目“hello_world_demo Debug”的 Startup 菜单,确保“Debug in RAM” ,“Pre-run/Restart reset” ,“Set Breakpoint at Main”和“Continue”被勾选。

◼ 5:点击apply,配置完成。

◼ 6:(如果不是的话:将build右边第二个选项设置为debug)点击如图 6-7中的Run(202102NucleStudio版本中,为Debug),即可将代码烧录到板子中。

6)使用Terminal查看板子运行状态

注意:NucleStudio打开方式为sudo才可以调用串口打印功能!且gd32vf103_rcu.h中234行的晶振频率要从8M改为25M!

◼ 1:点击菜单window>show view>Terminal中开启终端

◼ 2:open a terminal ,设置Terminal如下

◼ 3:点击ok即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值