终于收到开发板啦……这次申请的是开发板是CW32F030CxTx StartKit,板载的资源虽然不是很丰富,但作用于项目前期验证功能来用,还是很灵活的;除了一些简单的接口外设外,开发板将所有的GPIO端口引脚都以排针的形式扩展出来了,丰富的跳帽设置和选焊电阻,可以很灵活的实现自己想要的功能!
首先我先去官网下载关于CW32F030C8芯片以及CW32F030CxTx StartKit开发板的相关资料,汇总如下:
在拿到开发板后,看到板子上有两个牛角座接口,看着都是用来下载程序用的,为什么要两个呢,不是占板子空间吗?后面在看到官方还配有CW-DAPLINK开发工具和CW-Writer量产工具后明白了;板载的这两个接口是与这两个工具搭配的……
我常用的是KEIL MDK集成开发环境,所以在使用CW32F030C8T6芯片开发前,我们需要安装一下芯片对于IDE软件的支持包,在上面下载的CW32F030_StdPeriph_Lib.zip文件中有我们需要的PACK文件,支持KEIL MKD和IAR EWARM这两种,我们在IdeSupport文件夹中选择MDK的PACK包进行安装…… 在安装完成PACK后,不管是打开官方的示例程序,还是自己新建项目工程,都可以正确识别和选择对应的芯片型号了。
我们选用创芯工坊的PWLINK调试工具,将PWLINK与开发板进行连接后,我们打开CW32F030CxTx StartKit\Resource\CW32F030_StdPeriph_Lib\Examples\gpio\gpio_blink\MDK目录下的工程文件,然后点击菜单栏的魔法棒按钮,在弹出的设置窗口中,我们将调试工具选择为CMSIS-DAP Debugger,然后点击后面的Settings按键,在弹出的窗口中我们看到调试下载器已经成功检测到芯片了,然后在Flash Download选项卡中勾选Reset and Run,这样在下载完成程序后,芯片就可以自动复位运行了,不需要再手动的按下板载的Reset按键才会运行,最后我们确认一下Programming Algorithm下载算法是对应的CW32F030后点击OK完成设置就可以了,如下图所示:
然后我们就可以编译下载程序了:
程序运行效果如下所示,板载的2个LED灯就开发闪烁了……
看到板载上还有一个USB转TTL串口的芯片,这样我们就可以通过USB接口来打印消息了;我们使用PWLINK自带的UART连接到CN9的PCTX和PCRX上(刚开始不知道,后面看原理图,才知道连接错了),打开CW32F030CxTx StartKit\Resource\CW32F030_StdPeriph_Lib\Examples\UART\UART_Polling\MDK目录下的工程文件,进行编译下载程序。
但是在程序编译没有警告,也没有错误;在下载程序的时候却提示如下错误:
我们检查了一下下载工具也是配置正确的,也能够正常识别到芯片,但在Flash Download选项卡中却没有下载算法,这就是导致问题的原因了……
解决这个问题有两种方式,一是直接在下载算法那边点击Add,然后根据芯片型号选择对应的下载算法就可以了;二是查找为什么会出现没有下载算法的问题,刚刚GPIO的工程是完好的,怎么到这边不行了呢?我们检查一下工程的配置,我们发现在工程配置是选择的芯片型号是ARM ARMCM0P,并非CW32F030……我们在Device选项卡中重新选择芯片型号,然后在Debug选项卡中把下载工具重新选择正确,这个时候再进入到Flash Download选项卡中发现这个时候下载算法自动匹配上了……接下来就可以将程序顺利的下载到开发板了……
查看源码我们知道当前使用的是9600波特率,我们打开串口软件,配置正确后去没有数据输出;再次确认原理图后发现,PCTX和PCRX只是连接到USB转TTL串口芯片上的,并没有与MCU的串口连接起来,所以我们需要再次调整一下连接,将PWLINK的串口与MCU的PA8、PA9这两个引脚连接起来;然后按下RESET按键后,PC端软件终于有数据输出了,然后在PC端再输入一串数据并带上回车符,点击发送,MCU也成功接收到了数据,并且将接收到的数据又回传到了PC端……
至此准备工作就完成了,通过两个官方示例程序完成了环境的准备工作、尝试成功的下载程序并运行,同时也通过原理图再结合开发,了解了硬件的设计,遇到的问题也解决了……完美的开端……
|