一.如何添加全局宏定义
二.将灰色的库文件参与编译
三.配置PRINT函数不加\n和打印浮点
四.解决警告there is a hole的问题
六.DEBUG时如何不清空codeflash和dataflash
七.配置V208仿真大于160k的固件
八.MRS快捷键配置
九.MRS如何添加数学库
十.MRS如何同时生成hex和bin
十一.MRS显示FLASH和RAM占用空间
十二.MRS修改工具栏图标大小
一.如何添加全局宏定义
正常的添加宏定义只需在文件中使用#define即可,但在很多工程使用一个公共文件的时候,你去修改这个宏定义,就会导致所有工程都会跟着改变,
且新增文件夹时会出现头文件忘记包含,这显然不是我们想要的结果,那么如何添加针对此工程的宏定义呢?可以选择以下任意一种方式配置:
方式1:
方式2:
二.将灰色的库文件参与编译
在使用Mounriver编译器打开WCH官方的EVT例程包后,会发现里面的工程StdPeriphDriver文件夹中的诸多没有使用到的外设功能的.c文件是灰色的,
原因便是此文件被排除编译,只需右击此.c文件,选择参与/排除编译(Include/Exclude From Build),使用不到的.c文件也可排除编译,节省资源。
尤其是遇到undefined reference to报错时可重点查下是否是文件没有包含导致。
三.配置PRINT函数不加\n和打印浮点
在使用MounRiver打印输出时如果使用默认配置,会发现不加转行符是无法打印输出的,也无法打印输出浮点数,原因便是调用的打印库的问题,解决方法那当然是更改配置啦。
先单击选中工程,点击Build Setting图标:
四.解决警告there is a hole的问题
这个警告产生是因为MRS 删除DEBUG定义导致,要消除警告可以按下图配置:
五.解决const变量地址不在codeflash中的问题
、
六.DEBUG时如何不清空codeflash和dataflash
使用WCH-LINK仿真时,默认是清空所有flash的,需要在debug configurations中针对仿真的工程添加配置 -c page_erase ,在运行仿真时不会自动清空flash。
七.配置V208仿真大于160k的固件
-c init
-c "wch_riscv unfreeze"
八.MRS快捷键配置
九.MRS如何添加数学库
若要使用数学公式,在包含了math.h之后,还需要增加下math库。右键工程名->Properties配置,在下图Libraries中,添加m即可。
十.MRS如何同时生成hex和bin
riscv-none-embed-objcopy -O binary ${ProjName}.elf 123456_${ProjName}.bin
十一.MRS显示FLASH和RAM占用空间
--print-memory-usage
十二.MRS修改工具栏图标大小