首页 > 其他分享 >MounRiver使用技巧及配置7

MounRiver使用技巧及配置7

时间:2023-10-23 15:00:42浏览次数:22  
标签:技巧 stdout section 配置 MRS 编译 报错 MounRiver nop

1、关于MRS环境下nop指令的用法

关于nop指令的用法,使用之前可按照下图进行宏定义,具体如下图:

#define  nop()    asm volatile ("nop")

 

2、于MRS环境下将数据放在RAM指定位置报错问题

程序编译报错:cannot move location counter backwards

报错原因:链接的过程中,出现这种问题,是因为linker在把编译好的数据放在对应的section的时候, 超过了这段section的大小, 即越界了。要想解决, 要么把这个section扩大, 要么在代码里面将一些code放到其它的section

 

3、于MRS环境下printf打印不加换行无法打印显示问题

原因:默认情况下, stdout流是行缓冲的,因此仅在到达换行符后(或被告知时)才显示缓冲区中的内容.

关于sdout流,C语言中的 stdout 是一个定义在<stdio.h>的宏(macro),它展开到一个 FILE* (“指向 FILE 的指针”)类型的表达式(不一定是常量),这个表达式指向一个与标准输出流(standard output stream)相关连的 FILE 对象。

解决方法:1、在printf打印时添加换行符(\n);

调用 fflush(stdout);函数立即冲洗stdout,相当于立即刷新,如下图:

 

4、关于CH32V20x EVT以太网工程配置问题

以太网工程的配置与其他工程配置不同,相关宏定义是在属性设置中配置,如下图:

 

5、关于MRS编译生成数据代表含义

当MRS编译完成后,编译界面显示信息如下,其中数据代表含义如下:

text段是程序代码段,由编译器在编译链接时自动计算,表示程序代码段大小。

data段包含已初始化的全局变量和静态变量。

bss段是英文Block Started by Symbol的简称,通常是指用来存放程序中未初始化的全局变量的一块内存区域,在程序载入时由内核清0。

dec(decimal的缩写,即十进制数)是text,data和bss的算术和。hex是指dec的十六进制值。

 

6、关于MRS新建工程编译报错

若新建工程编译报错如下:

riscv-none-embed-gcc:not found

可按照下图方法检查:

${eclipse_home}\\toolchain\RISC-V Embedded GCC\bin

 

7、关于MRS工程仿真对FLASH的限制

使用MRS对MCU进行仿真时,会对非零等待区域进行限制,若要解除限制,需要加一个参数,如下图,注意MRS版本要1.85版本。

 

 

 

 

 

 

标签:技巧,stdout,section,配置,MRS,编译,报错,MounRiver,nop
From: https://www.cnblogs.com/liaigu/p/17782451.html

相关文章

  • swagger配置后,系统无法启动,报Failed to start bean 'documentationPluginsBootstrappe
    swagger与springboot版本不兼容解决方案:1.swagger依赖版本过高,可以降低版本。2.在swagger配置类的application.yml配置文件中添加如下内容:spring:mvc:pathmatch:matching-strategy:ant_path_matcher我使用的方法二,完美解决。......
  • 【已应用】落地项目中使用的JdbcTemplate-包含application.properties配置 【JdbcTemp
    JdbcTemplatedemo2:是某落地项目中使用的JdbcTemplate。是来检测JdbcTemplate合规性。包含JdbcTemplate封装、sql操作、application.properties数据连接配置等。GitLab项目地址:liuguiqing/JdbcTemplateDemo2·GitLab相关截图:   ......
  • 谷歌搜索最实用技巧50条
    谷歌搜索最实用技巧50条使用双引号来搜索一个短语,例如:"人生苦短"使用减号来排除一个词,例如:巧克力-糖使用星号来替代一个词,例如:最好的*是什么?搜索一个特定网站:site:example.com搜索关键词搜索一个特定文件类型:filetype:pdf关键词搜索与关键词相关的定义:define:关键词......
  • ChatGpt提问实用小技巧
    ChatGpt提问实用小技巧1.“Linux终端”“我希望你充当一个linux终端。我会输入命令,你会回复终端应该显示的内容。我希望你只回复一个唯一代码块内的终端输出,没有别的。不要写解释.除非我指示你这样做,否则不要输入命令。当我需要用英语告诉你一些事情时,我会通过将文本放在大......
  • 【VMware篇】10-vCenter升级小技巧(一)之命令行升级
    第1章前言  为什么要升级vCenterserver?1.新功能和增强功能:升级vCenterServer可以让您拥有最新的功能和增强功能。每个vCenterServer版本都会引入新的功能和改进,这些功能可以提升管理和监控虚拟化环境的能力,增强安全性、性能和可靠性等方面。2.修复漏洞和安全问题:升级vCenter......
  • 轻松合并Excel工作表:Java批量操作优化技巧
    摘要:本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言在Excel中设计表单时,我们经常需要对收集的信息进行统计分析。例如,学校给老师统计课时,医院给医护人员统计班次等。传统的手工方式需要......
  • stm32_1_开发环境配置
    20年参加ROBOMASTER,学习到stm32。21年大学毕业,参加土木类工作,把之前学到的全都丢弃了。最后还是靠stm32找到了工作。感谢这门技术,把这几年学到的东西做个总结。初学者还是建议看正点原子,野火视频教材。正点原子:http://47.111.11.73/docs/index.html野火:https://doc.embedfire.c......
  • Debian12配置静态IP
    目录方法1方法2方法1rambo@test3:~$sudovim/etc/network/interfaces#追加如下内容........autoens33ifaceens33inetstaticaddress172.16.186.133netmask255.255.255.0gateway172.16.186.2dns-nameservers172.16.186.2rambo@test3:~$sudo......
  • OMNeT++安装教程,OMNeT++/SUMO/Veins/INET安装包下载以及它们的联合仿真配置
    一、版本匹配以及下载地址Omnetpp5.6.2,Sumo1.17.0/1.13.0,Veins5.0,以及Inet4.2.5的百度云下载地址:(如果需要其他版本,请在下面提供的官网地址下载。)链接:https://pan.baidu.com/s/1iPuCyYYqnm1R73rdUovn2A?pwd=x29y提取码:x29y操作系统:Windows10OMNeT++:Omnetpp5.6.2  下载地址......
  • Django配置静态文件方法(static)——导入jQuery和bootstrap
    1、首先在文件夹下创建static文件夹,并将导入文件下载并放入如图: 2、进入settings.py文件夹书写静态文件配置代码:#静态文件配置STATICFILES_DIRS=[os.path.join(BASE_DIR,'static'),] 3、进入前端页面书写如下代码载入:{%loadstatic%}<linkrel="sty......