CH592F开发入门2

CH592F开发入门2

沁恒微 CH592F 开发板入门 2:MRS2 编译器常规使用

注意:本文基于 MRS2 开发环境编写,其操作界面与旧版 MRS 存在差异,请留意区分。

一、工程基础操作

1. 打开工程

(双击工程目录下的 WVPROJ 格式文件,或通过 MRS2 菜单栏 File -> Open Project 选择工程文件打开)

2. 查看头文件和源文件

在左侧「Project Explorer」面板中,展开工程目录树:

Include 文件夹:存放头文件(.h

App 等文件夹:存放源文件(.c

双击文件即可在右侧编辑区打开查看 / 修改

3. 高频快捷键(新手必记)

快捷键 功能说明 补充说明
Ctrl + F 当前文件内关键词搜索 支持大小写敏感 / 通配符搜索
Ctrl + H 整个工程内关键词搜索 可指定文件类型(如只搜.c
F7 增量编译(仅编译修改文件) 编译速度快,日常调试首选
Shift + F7 全量重新编译(清除旧编译) 工程配置修改后建议使用

二、工程属性核心配置(新手常用)

配置入口

右键点击工程名称 → 选择「Properties」→ 首次打开会弹出芯片选择弹窗,点击「OK」后选择 CH592F 芯片型号即可进入配置界面。

1. 预编译宏配置(DEBUG 打印控制)

核心作用:控制串口打印功能的开启 / 关闭,指定打印使用的串口号

配置步骤:

1.进入 Properties -> C/C++ Build -> Build Settings -> Tool Settings -> GNU RISC-V Cross C Compiler -> Preprocessor

2.在「Defined symbols (-D)」栏中:

添加 DEBUG=0:使用串口 0 打印

添加 DEBUG=1:使用串口 1 打印

删除 DEBUG 宏:关闭所有打印(此时 PRINT 语句会变为空语句,不占用程序资源)

重要注意事项:

程序中必须使用大写 PRINT 宏打印,禁止使用小写 printf

若使用 printf,删除 DEBUG 宏后程序会卡死(无对应的函数实现),

配置完成后需点击右下角 Apply

2. 打印浮点数配置

问题:默认配置下,PRINT 无法打印浮点数,且无回车换行时内容无法输出(受打印库机制限制)

配置步骤:

1.进入 Properties -> C/C++ Build -> Build Settings -> Tool Settings -> GNU RISC-V Cross C Linker -> Miscellaneous

2.勾选「Use wchprintffloat(-lprintfloat)」

3.配置完成后需点击右下角 Apply

4.保存配置后,需执行 Shift + F7 全量编译生效

3. 生成 hex/bin 文件配置

默认情况:仅生成 .hex 文件,若需烧录 / 调试,可按需配置:

1.进入 Properties -> C/C++ Build -> Build Settings -> Tool Settings -> GNU RISC-V Cross Crate Flash Image -> General -> Output file Format(-O)

2.可选配置项:

生成 hex:选择「Intel HEX(.hex)」

仅生成 bin:选择「Raw Binary(.bin)」

同时生成 hex+bin:选择「Intel HEX(.hex)&Raw Binary(.bin)」

3.编译后,文件会生成在工程 Obj 目录下。

//此配置错误待更新

4. 仿真时保留 flash 数据配置

问题:默认 Debug 仿真时,会擦除 codeflash(代码区)和 dataflash(数据区),导致重要数据丢失

配置步骤:

1.进入 Properties -> Debug Settings ->  Debugger -> Config options

2.添加page_erase

5. 添加数学库(math.h 函数支持)

问题:直接包含 math.h 后,调用 sin()/cos()/sqrt() 等函数会提示未定义

配置步骤:

1.进入 Properties -> C/C++ Build -> Build Settings -> Tool Settings -> GNU RISC-V Cross C Linker -> Libraries

2.在「Libraries Name(-l)」栏中添加 m(数学库标识),注意是一个字母 m 而不是math

6. 添加自定义文件夹路径

场景:工程中新增文件夹(如 User_Driver)存放自定义代码,编译器无法识别头文件

配置步骤:

1.进入 Properties -> C/C++ Build -> Build Settings -> Tool Settings -> GNU RISC-V Cross C Compiler -> Includes

2.点击「Add」按钮,选择新增的文件夹路径(支持绝对路径 / 相对路径,推荐相对路径)

3.保存后,即可在代码中直接 #include "自定义头文件.h"


总结

  1. MRS2 核心快捷键优先掌握 F7(增量编译)、Ctrl+H(工程搜索),提升操作效率;
  2. 预编译宏 DEBUG 是控制打印的关键,且必须使用 PRINT 而非 printf
  3. 工程配置修改后(如浮点数、数学库),需执行 Shift+F7 全量编译才能生效。

额外建议

  • 所有配置修改后,建议点击「Apply and Close」保存,避免配置丢失;
  • 新手可将常用配置截图保存,或备份工程配置文件,便于恢复。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1098134.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【课程设计/毕业设计】基于SpringBoot的汽车配件仓储管理配件档案 - 出入库管理 - 库存监控系统设计与实现【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

五佳降AI工具合集,速降到合格线内

又到毕业季,毕业论文除了查重外,真的别忘记查ai率。 今天就告诉大家高重复率以及高ai率应该如何快速降低!实测全网产品,无广!! 如果这篇整理能帮你少走点弯路,那就值了。 1、嘎嘎降AI 官网&…

VS Code调试Node.js核心 打断点 → F5 → 单步执行 + 看变量 - jerry

下面我用最常见、最实用的方式,带你一步步在 VS Code 调试 Node.js 代码(适合前端 / Node 开发日常用)。一、最简单方式(推荐新手):直接调试当前 JS 文件 1️⃣ 准备一个 Node 文件 // index.js function add(a,…

如何根据年龄选择适合的近视防控方法?科学分龄,精准防控!

近视防控的核心逻辑在于“适配性”——不同年龄段人群的眼部生理结构、用眼场景存在显著差异,防控方案需精准匹配其特点,才能实现高效干预。忽视年龄差异的通用防控手段,往往难以达到理想效果。接下来,我们将按年龄段拆解核心防控…

详细解析 SYN泛洪

SYN 泛洪及相关知识解析当面试官问这个问题的时候,不要被 “SYN 泛洪” 这个名词给震慑到,其实面试官就是想知道计算机网络中关于 DDoS 攻击和 TCP 建立连接三次握手的相关知识的考核。不要担心,接下来将详细介绍一下 SYN 泛洪及其相关知识。…

项目风险预警:智能分析系统

项目风险预警:智能分析系统 关键词:项目风险预警、智能分析系统、风险评估、机器学习、数据分析 摘要:本文围绕项目风险预警智能分析系统展开,旨在为项目管理提供全面、高效且精准的风险预警解决方案。首先介绍了系统开发的背景、目的、预期读者和文档结构等内容,阐述了相…

Java毕设项目:基于SpringBoot的汽车配件仓储管理系统设计与实现(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

性价比高的循环水处理口碑好的公司

性价比高的循环水处理:口碑好的公司之选在工业生产和日常生活中,循环水处理至关重要,它不仅关系到设备的正常运行和使用寿命,还与环境保护和资源节约息息相关。选择一家性价比高且口碑好的循环水处理公司,是众多企业和…

军用车辆检测数据集介绍-2274张图片 军事侦察监控 卫星图像分析 边境安全防护 军事装备管理 战场态势感知 安全威胁评估

📦点击查看-已发布目标检测数据集合集(持续更新) 数据集名称图像数量应用方向博客链接🔌 电网巡检检测数据集1600 张电力设备目标检测点击查看🔥 火焰 / 烟雾 / 人检测数据集10000张安防监控,多目标检测点…

09. 图像的阈值处理

一、什么是阈值处理阈值处理是指剔除图像内的像素值高于一定值或者低于一定值的像素点。按照上述阈值处理方式,可以将一幅灰度图像处理为一幅二至图像,很好地将前景和背景区分开。我们可以在终端中使用 pip 安装 Ope…

福育未来人口监测与预测系统 个人项目汇报 102302138林楚涵

福育未来人口监测与预测系统 作者:林楚涵 所属团队:来财小组 角色:后端开发负责人 完成时间:2025年12月 一、项目概况 项目名称:福育未来 小组名称:来财 项目背景:全球正经历深刻的人口结构转型,核心特征为生育…

论文AI率从高到低,这五佳工具更快

又到毕业季,毕业论文除了查重外,真的别忘记查ai率。 今天就告诉大家高重复率以及高ai率应该如何快速降低!实测全网产品,无广!! 如果这篇整理能帮你少走点弯路,那就值了。 1、嘎嘎降AI 官网&…

理解机器学习里的NFL定理

NFL定理Qwen3-max摘要:如果问题不确定,任何算法都没有优劣之分。换而言之,算法的优越性不是绝对的,而是相对于特定问题类而言的。没有“通用最优”算法,必须(对应现实问题)引入“归纳偏置”&…

五佳降AI工具分享,论文党必收藏

又到毕业季,毕业论文除了查重外,真的别忘记查ai率。 今天就告诉大家高重复率以及高ai率应该如何快速降低!实测全网产品,无广!! 如果这篇整理能帮你少走点弯路,那就值了。 1、嘎嘎降AI 官网&…

Zed编辑器安装与使用Agent Servers(腾讯CodeBuddy、阿里百炼Qwen Code、DeepSeek Cli)

Zed编辑器安装与使用Agent Servers 在win11操作系统 腾讯CodeBuddy # 选择你喜欢的包管理器执行以下命令 npm install -g tencent-ai/codebuddy-code# 安装完成后,运行以下命令验证是否安装成功 codebuddy --version#2.26.0阿里百炼Qwen Code # 选择你喜欢的包管理器…

进程,动态库,COM机制关系概述

在一个应用程序运行实例中,主程序,以及所调用的模块,库都是在同一个进程中吗?它们的核心工作机制和原理是什么? 在一个应用程序的运行实例中,主程序、它调用的所有模块(如DLL、SO)和…

RAG学习笔记 检索优化

检索增强技术进阶学习笔记 混合检索 (Hybrid Search) 核心思想:结合稀疏向量与密集向量,利用关键词精确匹配与语义理解的双重优势,克服单一检索的局限性。 技术原理:稀疏向量 (Sparse Vectors):表示:基于词频统计…

【毕业设计】基于SpringBoot的汽车配件仓储管理系统设计与实现(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

降AI率不靠硬改,前五工具更省事

又到毕业季,毕业论文除了查重外,真的别忘记查ai率。 今天就告诉大家高重复率以及高ai率应该如何快速降低!实测全网产品,无广!! 如果这篇整理能帮你少走点弯路,那就值了。 1、嘎嘎降AI 官网&…