随笔分类 - Mounriver Studio
摘要:参考一代编译器生成方式:MRS生成LIB(.a)库文件 一、将不需要包含的文件夹及文件,点击右键,选择排除编译 二、点击属性,打开配置界面 三、如下图进行配置,配置完毕点击应用 四、退出配置界面后,点击全部编译 五、打开obj文件夹,LIB文件已生成在其中
阅读全文
摘要:__attribute__ 是 GCC/Clang 编译器提供的一个扩展特性(并非标准 C/C++ 语法),用于给函数、变量、类型等添加额外的编译期属性,编译器会根据这些属性做优化、检查或约束。它的基本语法是: // 函数/变量/类型 后加属性 声明 __attribute__((属性1, 属性2)
阅读全文
摘要:有些电脑在安装某些驱动或者软件后,会更改注册表,导致Mounriver Studio无法直接加载工程; 一、Mounriver Studio Ⅰ ①打开任意需要打开的工程,右键选择属性: ②选择更改打开方式,在弹出的界面下翻到最下方,选择在电脑上选择应用 ③按照下图所示路径找到加载的驱动exe ④选
阅读全文
摘要:预编译指令添加:riscv-none-embed-objcopy -O ihex ${ProjName}.elf "相对于obj的相对路径/${ProjName}.hex" 一、指定HEX文件生成路径 二、指定BIN文件生成路径 首先需要修改预编译选项中,指定输出.BIN文件 修改如下图所示:
阅读全文
摘要:在嵌入式系统中,printf 和 LOG(自定义日志系统)对 RAM 的使用情况不同,主要取决于它们的实现方式。以下是详细对比: 1、printf 占用 RAM 的原因 printf 是标准 C 库函数,通常由编译器(如 newlib、glibc 等)提供,其 RAM 占用主要来自: 格式化缓冲区
阅读全文
摘要:在开发一些例程时,往往需要将自己现有的封装好的函数接口以文件夹的形式移植进来,但如果不做处理,在工程编译后必然会出现报未包含/未声明这类错误,可按以下步骤处理解决: 一、这边作示例,随便打开一个工程, 假设在该工程目录下添加了一个MOUSE文件夹, 此时这个MOUSE文件夹并没有包含在这个工程的编译
阅读全文
摘要:我们往往在移植工程文件夹时,避免不了拖动文件夹到目标工程路径下,或者如下图样例所示,原本两个文件夹不在同一级目录下,在放到同一级后,会更改工程原来预编译选项中的绝对路径位置,导致编译器编译时会出现访问出错的情况,本篇讲一下注意点及修改方法, 报错样例: 可以看到编译器会报缺失文件,我们现在要去修改文
阅读全文

浙公网安备 33010602011771号