新建工程与下载调试
——以LED点灯工程为例
1、新建工程
CH32L103推荐使用开发环境为MounRiver,使用MounRiver Studio新建工程操作步骤如下:
第一步:创建LED工程。打开MounRiver Studio,点击File-->New-->MounRiver Project
点击MounRiver Project之后,出现如下界面:
第二步:选择芯片具体型号、修改工程名称、选择工程路径,如下图。
此处所用开发板芯片型号为CH32L103C8T6,因此芯片型号具体选择CH32L103C8T6,工程文件修改为“CH32L103C8T6_LED”,路径选择放在电脑桌面名为“CH32L103 LED”的文件夹中。最后点击Finish完成工程创建。
工程创建完成之后,MounRiver页面及桌面文件夹如图所示:
新创建的工程默认仅为信息打印工程,如下图:
第三步:添加外设驱动文件夹,命名为Driver。在工程下面建立一个Driver文件夹,用于存放外设驱动文件,具体步骤如下:选中CH32L103C8T6_LED右击-->选中New-->选中Folder左击,操作步骤如图所示:
点击选中Folder之后,出现如下界面,在Folder name中输入Driver,点击Finish完成。
点击Finish完成之后编译器界面及文件夹界面如下:
第四步:添加LED子文件夹。因为本次实验以LED点灯为例,因此可在Driver文件夹下新建一个LED子文件夹,用于接下来存放led.c和led.h文件,具体操作步骤与第三步类似,如图所示:
点击Folder之后,出现如下界面,输入led,点击Finish完成。
点击Finish完成之后编译器界面及文件夹界面如下:
2、添加相关外设驱动文件
新建led.c和led.h两个文件并放入LED文件夹中,具体操作如下:
led.h文件的创建与上述方式一致,全部完成后,显示如下:
3、添加路径
以上文件夹及相关文件添加完成后,需要添加对应路径,否则相关驱动文件编译完成后会报错。路径添加方法如下:
当添加路径完成之后,即可编写代码并编译运行。
4、编译及下载验证
路径添加完成后,即可对工程进行开发、编译、调试、下载运行。
具体编译按钮操作如图所示:
图中:1为增量编译当前工程;
2为重新编译;
3为编译全部工程。
编译无错后会出现如下提示:
关于信息窗口相关含义介绍如下:
text段是程序代码段,由编译器在编译链接时自动计算,表示程序代码段大小。
data段包含已初始化的全局变量和静态变量。
bss段是英文Block Started by Symbol的简称,通常是指用来存放程序中未初始化的全局变量的一块内存区域,在程序载入时由内核清0。
dec(decimal的缩写,即十进制数)是text,data和bss的算术和。hex是指dec的十六进制值。
编译完成没有错误之后,即可下载到开发板运行,下载仿真工具推荐使用WCH-LinkE,WCH-LinkE模块与开发板的具体连接如下图所示:
连接完成后,插入电脑,即可进行下载,下载配置界面打开方式如下:
配置界面如下:
图中:
1为查询读保护状态;
2为开启读保护;
3为解除读保护;
4为查询与设置WCH-LinkE的模式,针对RISC-V内核MCU,一般设置为RV模式;
5为内存分配选择设置,CH32L103的FLASH、RAM只有一种,无需配置;
6为清空FLASH方式选择,分为复位或上电,一般下载出现错误时,可选择上电清空FLASH再次下载试一下;
7为MCU型号选择,一般会根据工程自动选择对应型号,无需配置;
8为编程地址设置,默认为0x08000000,无需改动配置;
9为WCH-Link工具下载速度配置,一般默认为高;
10为下载勾选项,一般建议全部勾选。
以上配置完成后,点击Apply and Close,后续下载直接点击下载按钮即可,无需再次配置,如下图:
在下窗口会显示下载信息。以上就是整个工程的创建、开发、编译、下载过程。在CH32L103EVT中,不仅包含对应外设的应用示例,在 PUB文件夹下,还有关于CH32L103评估板说明及应用参考,包含开发以及各种下载方式的说明介绍,可参考一下。EVT下载链接如下:
https://www.wch.cn/downloads/CH32L103EVT_ZIP.html
5、工程调试
在开发过程中,有时会用到调试功能,调试方式如下:
1、直接点击调试按钮,如下:
2、进入调试模式后,会跳转进入到启动文件页面,如下图:
3、设置断点,点击运行,会执行到断点处,如下图,左侧窗口对应的汇编信息。
4、点击下图按钮,则会退出调试,如下图
关于MounRiver的使用以及其他使用技巧,可参考以下几个链接,包含更改默认断点位置,如进入调试直接跳转到main文件而不是启动文件中、无法查看外设寄存器时配置修改方式、查看变量以及仿真注意事项等等,以下链接都包含有对应的介绍。
https://blog.csdn.net/qq_36353650/article/details/120665601?spm=1001.2014.3001.5502
https://blog.csdn.net/qq_36353650?type=blog
https://www.cnblogs.com/liaigu/p/16141914.html
https://www.cnblogs.com/liaigu/p/17617422.html
https://www.cnblogs.com/liaigu/p/17729643.html
https://www.cnblogs.com/liaigu/p/17774945.html
https://www.cnblogs.com/liaigu/p/17775072.html
https://www.cnblogs.com/liaigu/p/17776383.html
https://www.cnblogs.com/liaigu/p/17782451.html
https://www.cnblogs.com/liaigu/p/17967782