[开发板]

CW32L0开发板学习记录一:环境搭建+LED灯

[复制链接]
422|1
手机看帖
扫描二维码
随时随地手机跟帖
聪聪哥哥|  楼主 | 2024-11-22 20:31 | 显示全部楼层 |阅读模式
简介:对于刚接触武汉芯源半导体开发的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环境下的搭建是差不多的。

使用特权

评论回复
中国龙芯CDX| | 2024-11-24 13:49 | 显示全部楼层
非常不错的基础入门学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

98

帖子

0

粉丝