背景介绍:2019年12月19日在面板包偶然发可以免费申请测评GD32VF103开发板,欣喜万分;在这之前各大技术论坛说是已经有国产兆易创新的RISCV指令集的MCU发布的事情,一时间摩拳擦掌想购入一块开发板回来,体验一下我天朝自己产的MCU和外国货的区别,期盼国产自强的那一天,不为别的只为看技术文档的时候不那么累。 下面我就从硬件电路,工程搭建,和固件库和调试的基本使用等方面来谈谈我对这款国产MCU的粗略看法,以求抛砖引玉,因个人水平有限评测过程难免不当甚至错误的地方,烦请大神批评斧正。
一、硬件篇:
1、开箱预览,如其他评测一样豹子标的白色外翻盒子,两篇薄如蝉翼的缓冲薄膜,两根白色的数据线,一款蓝色的开发板。包装略显简单,但是对于一个专注技术而不是外观的人来说已经足够了。
2、开发板预览,官方提供了详细的关于开发板的资料,原理图,硬件说明手册,固件手册等,先上图吧,我单独标了一下开发板各个功能模块,开发板几乎板载了所有的指控IC包含的功能,单独引出了主控IC可用的80多个IO口,所以当你入手这款开发板之后就连调试器也不用另外购买,板载的官方调试器就可以满足你所有的需求。
3、板子设计精良简洁,每个功能模块都标有字符说明,一目了然,抬手一看就知道是什么功能,再配备官方提供的原理图即使入门级别的选手也能轻松搞清楚。
4、这款开发板的主控IC使用的是兆易创新自主开发的基于RISC-V指令集的国产MCU,这款MCU也是兆易创新目前唯一一款RISC-V系列的芯片,而且板载的GD32VF103VBT6是其系列最高配的工业级芯片。
二、开发环境篇
1、了解完开发板的基本情况之后在来看看该开发板所使用的IDE,毕竟没有好的开发环境再好的硬件配置想轻松使用起来也是让人头疼的一件事情,由于GD32VF103系列芯片使用的是芯来科技提供的代号为《Bumblebee》IP内核,所以开发环境需要到芯来科技官网下载下,芯来科技。
2、官方只提供了基于windows的集成开发环境,其他系统的用户只能自己搭建开发环境了。该IDE也是基于一个开源项目Eclipse,官方已经配置好了一切的一切。也就是说你下载下来IDE只需要做的工作量几乎为零,不像IAR,Keil等要配置好多东西。
3、关于怎样建立一个工程,官方已经提供了非常详细的手册,这里我就不复述了,文章末尾会附上相应的配置文件,根据配置文件就可以建立一个工程,事实上实际的建立 一个工程远比官方文档说明的要简单的多。我们自己需要配置环境的步骤少,这样可以把更多的精力放在怎样去编写代码。
三、官方固件篇
1、使用IDE建好一个工程之后我们面临的一个问题就是写代码,现在的MCU由于集成了更多的内部资源,如果像51单片机那样直接去操作寄存器那简直是不敢想的一件折磨人的事情,为此GD和一线国际大厂ST的一样为芯片提供了完善的固件库,加快了用户的开发进度。
2、使用过ST单片机的同学都知道ST有一个非常完善的标准固件库,并且在相对高端的MCU推出了更完善的HAL库,方便在不同产品上的代码移植工作,GD也是一样提供了一个标准的固件库,估计在日后产品线更加丰富之后也能推出类似HAL的固件库,下面我们来对比ST的标准固件库来了解一下GD的固件库。
3、提供固件库之后最重要的事需要有一个固件库的说明和相应的编程手册,这方面ST和GD做的都非常棒,提供了完善的资料,重要的区别是GD提供的是官方编写的中文版资料,ST的大多是技术爱好者自行翻译的中文(英文的对于大多数国人来说晦涩难懂),这就造成因为翻译的问题导致有些细节的地方不准确。
4、不论是ST还是GD的开发流程都大同小异,比如说一个端口的初始化都是一样的,其中一个的区别就是,GD初始化采用的是函数的方式,ST采用的是结构体的方式,比如说官方提供的COM初始化的函数就能看出来,每一个步骤都对应一个函数,而ST的是先配置一个结构体,然后用一个init的函数来完成初始化。
5、除了以上编程思维方面的区别其他的感觉一样,用过ST的同学想上手GD是一件很容易的事情。
四、调试篇
1、之前说过了开发板自带调试器也预留了JlTAG调试接口,对于没有JLink调试器的同学,板载的完全就够了,在建立完工程之后都不用配置调试器,直接点击那个小蜘蛛按钮就可以进行调试。
2、关于调试给我的感觉就是,调试速度慢,由于我没有JTAG调试器不知道是板载调试器的问题还是调试软件优化的问题,打上断点之后命中速度比较慢。另外一个好的地方就是借助Eclipse的强大和调试器的配合可以很方便的看到内存寄存器的状态。