1.1 ubuntu环境下搭建gd32vf103

1 资料下载

1.1 芯片介绍

GD32VF103系列MCU是基于RISC-V内核的32位通用微控制器,具备均衡的处理效能和系统资源,适用于工业控制、消费电子、新兴IoT等嵌入式市场应用。
内核:芯来科技Bumblebee内核(RV32IMAC)
主频:108MHz
内存:内置16KB~128KB Flash、6KB~32KB SRAM
工作电压:2.6~3.6V
外设资源:Timer(高级16位定时器,通用16位定时器)、U(S)ART、I2C、SPI/I2S、CAN、USBFS、ADC(16路外部通道)、DAC、EXMC、GPIO

1.2 开发板介绍

Longan Nano 是基于兆易创新(GigaDevice)RISC-V32位内核的GD32VF103CBT6单片机的极简开发板。
片上资源:128K flash, 32K ram
开发板资料:
http://dl.sipeed.com/shareURL/LONGAN/Nano

1.3 源码下载

源码使用芯来科技的Nuclei SDK
https://gitee.com/Nuclei-Software/nuclei-sdk

1.4 其他资料

gd32vf103官网介绍:
https://www.gigadevice.com/zh-hans/products/microcontrollers/gd32/risc-v/mainstream-line/gd32vf103-series/
芯片及内核介绍:
https://www.rvmcu.com/site/gd32vf103/
Nuclei Processor Core资料
https://www.rvmcu.com/site/nuclei_n_isa/

2 交叉编译工具链

交叉编译工具使用芯来科技的工具链
https://www.nucleisys.com/download.php
选择RISC-V GNU Toolchain Centos/Ubuntu x86-64
在这里插入图片描述

3 下载工具

ubuntu下使用dfu-util
https://sourceforge.net/projects/dfu-util/files/
这选择最新的版本dfu-util-0.11-binaries.tar.xz
在这里插入图片描述

4 环境搭建

在电脑的合适位置创建3个文件夹分别是
nuclei-sdk:芯来sdk
compile_tools:交叉编译工具链
download_tools:ubuntu下的下载工具,这里只拷贝了dfu-util中的linux-amd64

进入nuclei-sdk目录
创建文件setup_config.sh,写入内容
NUCLEI_TOOL_ROOT=/xxx/compile_tools
注意这里要写绝对路径,相对路径编译会报错,找不到gcc…
注意这里不要使用开发板网站上提供的dfu-util,那个版本是0.9,测试发现下载后没有反应

5 编译

5.1 编译步骤

  1. source setup.sh
  2. which riscv-nuclei-elf-gcc openocd make rm
    第2条命令主要是测试是否有相关工具,这里openocd不是必须的
  3. make PROGRAM=application/baremetal/helloworld SOC=gd32vf103 BOARD=gd32vf103c_longan_nano all

这里会生成helloworld.elf文件

5.2 生成bin文件

对于dfu-util需要下载的是bin文件,所以修改Makefile生成bin文件
make PROGRAM=application/baremetal/helloworld SOC=gd32vf103 BOARD=gd32vf103c_longan_nano bin

这样就可以生成helloworld.bin文件

6 下载

  1. 进入下载模式
    按住boot0按键,按一次reset键,然后boot0松开就进入了dfu模式
  2. 使用dfu-uitl下载
    sudo …/download_tools/dfu-util -s 0x08000000 -D application/baremetal/helloworld/helloworld.bin
    会出现下面的信息,表示下载成功
Found GD32VF103, which reports a bad page size and count for its internal memory.
Fixed layout based on part number: page size 1024, count 128.
Downloading element to address = 0x08000000, size = 9296
Erase   	[=========================] 100%         9296 bytes
Erase    done.
Download	[=========================] 100%         9296 bytes
Download done.
File downloaded successfully
  1. 下载完成后连接串口,波特率115200,按一下reset键
    可以看到打印信息
    Hello World From Nuclei RISC-V Processor!

7 其他

这里记录一下偷懒方法
使用脚本进行编译下载

  1. 编译
    创建build.sh 写入以下内容:
    make PROGRAM=application/baremetal/$1 SOC=gd32vf103 BOARD=gd32vf103c_longan_nano $2
    后面编译可以这样
    ./build.sh helloworld
  2. 下载
    创建download.sh 写入以下内容:
    sudo …/download_tools/dfu-util -s 0x08000000 -D $1
    下载可以这样
    ./download.sh application/baremetal/helloworld/helloworld.bin
  • 0
    点赞
  • 5
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

dianlong_lee

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值