简介:对于刚接触武汉芯源半导体开发的CW32L010F8P6开发板的使用者提供一些帮助,方便于开发与使用开发板。 评估板的电路组成部分: 板载主控芯片介绍:CW32L010F8P6 微控制器(ARM®Cortex-M0+最高主频 48MHZ,TSSOP20 封装,64K字节 FLASH,4K 字节 RAM 板载的LED灯输出指示(GPIO输出):共有3 个 LED:-POWER指示灯(红色 LED3),用户指示灯(绿色 LED1(PB3),LED2(绿色 PB2)) 板载的轻触开关(GPIO输入):-复位轻触开关(S3),用户轻触开关(S1(PB04),S2(PA04)) 与上位机时候,使用的是USB 转串口芯片(CH340N) SOP8封装,type-c接口(这种接口很方便,个人觉得比mic USB 方面很多) 板载的SPI通讯口为:FLASH 芯片W25064JVSS10 板载的IIC通讯口为:EEPROM 芯片 AT24C02 (注意:这两种存储芯片在工业控制中,用来存储数据很普遍, 调试起来代码资料也很多,只是在调试的时候需要注意下SPI的时序、相位、有效起始字节;在调试IIC的的AT24C02时,只需要注意芯片的地址就可以了。) 该芯片支持多种开发环境:,IAR™,Keil5,不过对keil5的版本有一定的要求,低版本的是不能对其进行编程的,我所使用的keil5版本为5.38a,使用的调试器是自制的DAP调试器。 实物图片如下:
软件搭建过程: 第一步:固件包下载:根据开发板的硬件:CW32L010(M0内核)安装相对应的固件包,这里我使用的方法是在 武汉芯源半导体官网上直接下载固件包。 我使用开发环境Keil版本V5.38.0.0版本,根据我得经验 使用高版本的keil更有助于开发,当使用 KEIL 集成开发环境开发 CW32 微控制器时,需安装本支持包,从而实现在 KEIL 中选择 CW32芯片型号,调试以及下载。 如果您使用的是IAR开发环境也不用担心,官方也是提供相对应的固件包的; 解压完成后,只需安装CW32的芯片pack就可以了。 我们在开发软件的时候需要下载图片中的资料,安装编程环境的支持包还是比较方便的,如果使用keil安装相应的固件包的话,个人觉得是比较麻烦的,而且对于经验不足的开发者来说,并不是很友好。 第二步:编程器的环境搭建。 开发板板载的CW32F003芯片,出厂时应该时已将固件下载一个跑马灯的固件,,这里我们只需将使用的电脑安装好相对应的固件就好了。 下载器的选择: WCH-LINK 实物效果图如下:由于CW32的开发板没有板载下载器,这里我在某宝上面买了一个,当然感兴趣的同学可以在自己做一个 DAP下载器,其他厂商的DAP下载器应该也是可以正常使用的,不过我这里没有进行测试。 keil5中的设置截图如下: debug中这里需要根据自己的当时使用的调试器,配置一下,否则下载工程的时候会报错。 开发板正常供电之后,可以显示检测到当前芯片的,当没有检测,需要检查SWD和SCLK 的接线是否正确,或者是更换DAP的调试器。 在下载界面中,选择CW32L010的下载算法,注意勾选,下载完成后自动复位,如下: 三、软件编写 我们找到官方提供的GPIO输出例程:在代码中添加对LED1 和LED2的控制部分: 配置时钟为内部的时钟,使能GPIOB的时钟,配置GPIO口的工作模式, SYSCTRL_HSI_Enable(SYSCTRL_HSIOSC_DIV12);
// __SYSCTRL_GPIOA_CLK_ENABLE();
__SYSCTRL_GPIOB_CLK_ENABLE();
GPIO_InitStruct.IT = GPIO_IT_NONE;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pins = LED_GPIO_PINS|LED_GPIO_PINS_
GPIO_Init(LED_GPIO_PORT, &GPIO_InitStruct);
重写主程序中对GPIO的控制部分 GPIO_WritePin(LED_GPIO_PORT,LED_GPIO_PINS,GPIO_Pin_SET) ;
Delay(0xFFFF);
GPIO_WritePin(LED_GPIO_PORT,LED_GPIO_PINS,GPIO_Pin_RESET) ;
Delay(0xFFFF);
GPIO_WritePin(LED_GPIO_PORT,LED_GPIO_PINS_2,GPIO_Pin_SET) ;
Delay(0xFFFF);
GPIO_WritePin(LED_GPIO_PORT,LED_GPIO_PINS_2,GPIO_Pin_RESET) ;
Delay(0xFFFF);
将代码下载到程序中,可以看到板载的LED1 和LED2指示灯,交替闪烁,类似于跑马灯的效果,;;; 好了,使用KEIL编写的环境搭建就是这样,接下来我们就可以对开发板进行深度的学习、了解了。 后记:我这里只是介绍了keil编译环境下的使用方法,对于IAR编译环境下的使用方法,我这里没有进行讨论,有需求的话可以自行开发,个人觉得和keil环境下的搭建是差不多的。
|