专栏首页嵌入式iot对于GD32VF103一些想法

对于GD32VF103一些想法

  • 1.定位是什么?
  • 2.编程模型是什么?
  • 3.目前有哪些软件生态可以使用?
  • 4.可以怎么玩?

1.定位是什么?

GD32VF103是兆易创新推出的基于Nuclei Bumblebee处理器的32位控制器。

从内核特性上来说,主要采用了RISC-V的处理器。

从系统架构图上来看

条目

特性

最大主频

108MHz

JTAG

支持

SRAM

32KB

FLASH

128KB

UART

5路

I2C

2路

SPI

3路

CAN

2路

ADC

2路

DAC

1路

WWDGT

1路

FWDGT

1路

GPIO

A.B.C.D.E

TIMER

6路

从这些外设的特性上来看,和stm32f103定位差不多,都是属于微控制器的范畴。

如果做物联网应用,那么需要接很多外设和传感器。

2.编程模型是什么?

这里不谈riscv架构的编程模型,只看看GD32VF103的外设的编程模型。

https://www.rvmcu.com/index.php?app=quickstart&ac=doc&u=pdf&id=11

通过GD32VF103的用户手册来看,其设计思想基本和stm32差不多。

比如该CPU的省电模式也分为三种。

模式

睡眠

深度睡眠

待机

描述

仅关闭 CPU 时钟

1、关闭 1.2V 电源域的所有 时钟2、关闭 IRC8M、HXTAL 和 PLL

1、关闭 1.2V 电源域的供电2、关闭 IRC8M、HXTAL 和PLL

LDO 状态

开启

开启、低功耗模式

关闭

配置

SLEEPDEEP = 0

SLEEPDEEP = 1 STBMOD = 0

SLEEPDEEP = 1 STBMOD = 1, WURST=1

进入指令

WFI 或 WFE

WFI 或 WFE

WFI 或 WFE

唤醒

若通过 WFI 进入,则任 何中断均可唤醒; 若通过 WFE 进入,则 任何事件均可唤醒

若通过 WFI 进入,来自 EXTI 的任何中断可唤醒;若通过 WFE 进入,来自 EXTI 的任 何事件可唤醒

1、NRST 引脚 2、WKUP 引脚 3、FWDGT 复位 4、RTC

唤醒延迟

IRC8M 唤醒时间 如果 LDO 处于低功耗模式, 需增加 LDO 唤醒时间

上电序列

另外该MCU也有84字节的BKP RAM可以作为程序备份寄存器。

类似于stm32的库函数操作和HAL等等,GD32VF103也提供了类似的库。

通过将函数的封装,是的上层应用可以直接操作相关的接口,不用关注底层寄存器的实际的具体位的意义,降低了嵌入式开发的门槛。

这一点还是做的不错的。相比于寄存器操作的开发方式,这种出错的概率更加的低了,而且可以更加专注于上层业务逻辑的开发。

3.目前有哪些软件生态可以使用?

这一点也是做应用比较关注的,生态是一个片子是否成熟,是否可以稳定使用的一个评估标准。

当前我所了解到的,GD32VF103的生态确实没有非常火热,但是一些基础软件已经有实现了。

比如芯来科技推出的IDE里面对这款片子的支持已经完成一些裸机,中断、定时器等等功能。

也支持了freertos,rtthread,ucosii等等常用的rtos的功能。这些对做业务逻辑的设计非常有好处。

但是比较遗憾的是上层软件生态并不繁荣,也没有一些有趣的应用运行在这个板子上有设计。

4.可以怎么玩?

从上面的芯片资源上来看,该芯片的设计定位的是采集、微控制、以及逻辑简单的设备端。所以我个人觉得,在一些物联网设备端可以使用一些,也可以做做设备控制,状态采集等等。另外随着生态的完善,作为ST的替代也未尝不可。主要还是需要有人一起推进其生态的完善。

个人感觉,这个板子设计的还行,就是GD基本上不怎么宣传,也不做生态,导致很多人不知道或者不敢用。虽然这只是一款简单的MCU,随着RISCV发展,也说不定会成为一个不错的学习RISCV的平台。

本文分享自微信公众号 - 嵌入式IoT(Embeded_IoT),作者:bigmagic

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-03-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在 RISC-V 芯片 GD32V 上运行 RT-Thread

    去年九月份的时候 RT-Thread 的 Andy Chen 组织定做了一块 GD32V 开发板,托 Andy 的福,我也搭车买了一块。

    HackforFun
  • 从riscv底层原理分析gd32vf103的中断行为

    对于向量中断,其中断发生后,pc指针会根据中断的类型跳转到基地址+中断号*4的地址处去执行中断处理程序,做过stm32的,应该比较清楚向量中断的大概样子。当然,...

    bigmagic
  • 关于权限的一些想法

    准备做权限的时候,有两套方案。一·在数据库保存所有的那些需要控制的点叫做权限表。基本就是一些id。然后一个角色表,角色对应权限,用户对应角色。

    FreeTimeWorker
  • SDK之关于SDK的一些想法

    子勰
  • 关于“入侵检测”的一些想法

    离开长沙的时候写了一篇文章“左右互博:站在攻击者的角度来做防护”(freebuf上可以找到),一晃已经是三年了。这三年接触了很多东西,自己也有过很多想法,但实际...

    FB客服
  • 关于数据质量的一些想法

    最近不少朋友都咨询过居士关于数据质量的问题,群里面也有很多相关的话题讨论。正巧,一位群友(Z)昨天发给我了一些他关于数据质量的思考,在此分享给大家。

    木东居士
  • 对于技术焦虑的一点想法

    有一个公众号是 吃草的罗汉,最近看他的一篇文章,我被里面的一小段内容吸引了,他这样写道: 在成长的道路上,有时你越是不喜欢的事,越会阴差阳错的让你遇见 在《我也...

    jeanron100
  • 关于性能测试平台的一些想法

     最近刚入职新公司,忙着适应公司的文化、工作流程的一些东西。因为部门要开发性能测试管理平台,今天邮件中我也对性能测试平台的设计提了一些自己的想法。

    小老鼠
  • 关于Qt翻译功能的一些小想法

    最近接到一个新需求就是为公司的某个软件添加多语言翻译功能,由于之前已经做过类似的了。直接移植就可以了。可是实际上并不是那么简单,多语言共有9种。可是翻译人员不...

    Qt君

扫码关注云+社区

领取腾讯云代金券