首页 > 其他分享 >CH32V003开发环境MRS配置

CH32V003开发环境MRS配置

时间:2023-08-11 22:22:06浏览次数:42  
标签:文件 配置 头文件 CH32V003 MRS 开发 存放 目录

MRS是MounRiver工作室采用开源项目Eclipse制作的一款易于使用的开发工具,它几乎是为WCH系列芯片量身定制的,相对于其他一些开发环境,它具有编译速度快,使用简洁方便,支持多种平台等特点,可访问MounRiver的官网(www.mounriver.com)下载最新版本。

MRS的安装可全部采用默认选项进行,安装完成后启动程序并新建一个工程,这里选择芯片型号为CH32V003F4P6。工程建立完成后,MRS会替你配置一个完整的开发环境,包含有全部库文件。从其左边的工程浏览窗口中可看到创建的文件结构,如下图所示。

上图中,头两个目录Binaries和Includes是MRS环境生成的,一个存放编译后生成的二进制文件,一个存放包含的头文件。这两个目录不能也不用移除。 接下来的第3个目录Core里存放有RISC-V的核心文件及其头文件,它们里面定义有与内核相关的一些设备(比如系统定时器SysTick等)。第4个目录Debug主要存放与串口调试相关的文件及其头文件。第5个目录Ld存放的是编译时的链接文件。第6个目录Peripheral中就是存放库文件及其头文件的。第7个目录Startup是存放系统启动文件的。第8个目录obj也是MRS环境生成的,它存放的是编译后所有的生成文件及makefile文件,也移除不了(编译后会自动创建)。第9个目录User就是用户目录了,它里面存放的文件如下图所示。

可见主程序文件main.c就放在这其中。从以上的目录结构可以看出,MRS借鉴了STM32开发的库文件形式。使用库文件虽然有利于降低开发难度,可实现对芯片的快速开发,但对于芯片原理性的学习却并不合适。因为库函数替你做了太多的事情,封装了很多对寄存器的操作,不利于对芯片底层操作的学习。另一方面,CH32V003虽然是一款32的芯片,但其资源还是有限的,ROM只有16KB,RAM只有2KB。加上RISC-V架构的代码密度本来就不如ARM架构,所以控制程序的容量大小及其对RAM的使用量就显的十分必要。此外,48MHz的最高运行速度其实也不算很高。使用库函数时,频繁的函数调用会额外地增加压栈和出栈的时间,不仅浪费时间还浪费空间,对于CH32V003这类“小”芯片来说并不适合。综上所述,本教程对于CH32V003的开发不使用任何库函数,本着能省则省、提高效率为原则,从学习每个寄存器的操作开始。

基于上述原因,可以对MRS的默认开发环境进行重新配置。为了加快编译速度,这里就把不用的文件全部移出开发环境,只保留几个关键文件,分别是:头文件ch32v00x.h,启动文件startup_ch32v00x.S,链接文件Link.ld,RISC-V的核心文件core_riscv.c及其头文件core_riscv.h,系统配置文件system_ch32v00x.c及其头文件system_ch32v00x.h。当然,还应该有个主程序文件main.c(要把其中的内容全部清空)。如下图所示。

在工程的最后还有一个名为CH32V003F4P6.launch的文件,该文件是MSR开发环境的配置文件,与程序无关,可以保留。

最后还需要改一下头文件,因为里面包含有已经移除的文件。打开头文件ch32v00x.h,找到“#include <ch32v00x_conf.h>”这一句(大概在2396行),把它注释掉就可以了,如下图所示。

通过以上的配置,MRS已经被精简了很多,编译速度也加快了不少。至此,就可以使用它来进行后续的学习与开发了。 

标签:文件,配置,头文件,CH32V003,MRS,开发,存放,目录
From: https://www.cnblogs.com/fxzq/p/17383130.html

相关文章

  • 多数据库配置
    依赖<!--动态数据源--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.5.0</version>......
  • 若依不分离 部署阿里云 nginx代理配置
    server{listen80;server_name域名;include/etc/nginx/default.d/*.conf;location/{proxy_passhttp://127.0.0.1:18089; #内网端口proxy_set_headerHost$http_host;......
  • Pycharm配置git
    原文链接:https://www.jianshu.com/p/ae92970d20621.下载Gitee插件同样在设置页面,选中Plugins,并搜索Gitee安装。安装后,重启一下Pycharm。在VersionControl中会增加Gitee选项。2.配置Git账号在上一步新增的VersionControl>Gitee,添加你的账号密码。添加账号密码;......
  • 03-表单配置-商品类型和订单列表
    培训内容:列表页设计(树结构) 示例:商品类型和 订单列表1)字段:商品类型、单位2)字段:部门、订单编号、销售人员、客户、下单日期、备注、订单明细(商品类型、单位、数量)订单编号生成规则:年月日-三位流水-每月重置 ......
  • 02-表单配置-设备类型和部件管理
    示例:设备类型部件管理1)字段:设备类型名称、备注2)字段:设备类名、部件名称、权重 1.创建一个列表页,设备类型首先在页面设置界面,将列表名称设置为"设备类型",布局设置为列表然后在列表设计界面,表格配置中选择批量添加,将"设备类型名称"、"备注"字段进行批量添加。......
  • Nginx 安全的配置项
    1 漏扫出现的问题1.1 检测到目标X-Content-Type-Options响应头缺失修复方法:nginx 增加响应头配置:add_header X-Content-Type-Options "nosniff"  always; 详细解释:X-Content-Type-Options头信息是一种安全策略,用于防止浏览器在解析响应内容类型时执行MIME类型嗅探......
  • IDEA 配置桌面快捷方式
    IDEA配置桌面快捷方式目录IDEA配置桌面快捷方式1.下载idea.tar解压2.配置快捷方式3.为什么要存放在这个目录?1.下载idea.tar解压tarxfideaIC-2023.2.tar.gz-C/opt2.配置快捷方式[root@localhostapplications]#vimIEDA.desktop[root@localhostapplications]#ll总......
  • #yyds干货盘点#nginx中fastcgi_params文件及相应配置
    在ubuntu服务器安装完php7.4-fdm和nginx后,发现fastcgi_params没有生成,也可能是二次安装的关系。所以临时去网上找了个手工建上。特意在这里记录下,避免下次再遇到同样的问题。#脚本文件请求的路径,也就是说当访问127.0.0.1/index.php的时候,需要读取网站根目录下面的index.php文件,如......
  • centos7 sersync 4台服务器数据互相同步配置
    4台服务器安装rsync并配置#安装yuminstallrsync-y#配置vim/etc/rsyncd.confuid=rootgid=rootusechroot=nohostsallow=*maxconnections=3pidfile=/var/run/rsyncd.pidlockfile=/var/run/rsync.lock[record]path=/record/comment=record......
  • Maven配置私有库
    一、仓库仓库类型:本地仓库、远程中央仓库、公司自己搭建的私有仓库寻找jar的基本优先级顺序:本地仓库>settings.xml的profile的仓库>pom.xml的profile的仓库>pom.xml的仓库>中央仓库设置仓库的方式有两种,一种是在项目最顶级POM.xml中设置,另一种是在settings.xml中设置。......