RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总

这篇具有很好参考价值的文章主要介绍了RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总

MRS常见嵌入式开发技巧:

Q1:如何修改程序编译生成库?
A1:在工具栏中点击活动工程的编译配置按钮,在Build Artifact的Tab页面指定目标类型,选中为Static Library
RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总

点击Apply and Close应用编译配置。此时会提示建议将调试等级设置为None,优化等级设为Os,这是为了减少生成库的大小并且防止源码被反汇编而泄露。点击OK,即可自动设置。
RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总

点击编译按钮,在输出目录obj下就生成了静态库。默认为lib {ProjName}.a,{ProjName}为宏变量,代表工程名。如下图,本例中会生成libusart.a
RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总

Q2:如何程序编译后的目标名称?
A2:如需指定目标输出的名称,在Q1的例子中,工程配置的同个Tab界面,可以修改相关的前缀、名称和扩展名
RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总

编译为elf时,根据工程配置会伴随生成hex、bin,以及list和map文件,用户如果不想名称与工程相同,逐个重命名这些文件会比较麻烦。修改此处的Artifact name即可统一指定。
前缀、扩展一般来说无需修改,因为elf的后缀、库的前缀与扩展名是确定的。

Q3:编译报错找不到链接库,报错信息”ld.exe: cannot find -lxxx”
A3:这种情况下已经编译完了各个源文件,链接过程中在搜索路径中找不到xxx库文件。因此打开工程属性页中编译配置,在Tool Settings的TAB页面下查看C Linker工具的库搜索路径,检查是否缺失了需要链接的.a。
RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总

Library search Path(库搜索路径)格式一般是工程变量表示的逻辑路径,对应工程树的结构。这种情况下在工程树中展开对应的目录,直观检查即可。

本例中,检查NetLib文件夹,发现缺失libwchnet.a,从系统中拖拽库文件到工程树的NetLib目录节点(或者复制该文件,选中NetLib目录,ctrl+V粘贴),再F7执行增量编译,就能成功编译了。

若库搜索路径的格式是绝对路径,打开电脑文件浏览器对应位置检查,添加缺失的即可。如果路径在本机找不到,说明可能工程是由其他电脑拷贝而来的,需要在上图的界面中重新添加。此处不建议再添加绝对路径,而是在添加/编辑时点击Workspace,选中工程下的资源后自动生成逻辑路径。避免工程拷贝后继续出现绝对路径错误的情况。
RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总

Q4:外部链接目录失效,如何恢复?
RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总
A4:方法一:删除并重新添加:选中失效的链接目录,快捷键delete。确认删除。随后右键工程,重新添加外部链接目录,在文件浏览器中找到位置并确认。
RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总

方法二:更新链接位置。右键失效链接目录,点击Properties,Resource分类下可以查看到记录的逻辑路径Location,以及解析后的绝对路径Resolved location。当前情况下Resolved Location自然是不存在的。点击Edit,弹出窗体中,点击Folder,指定要链接的位置。最好点击OK进行更新即可。
RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总

因此,即使用户在工程编译配置中尽量使用了逻辑路径(如Q3中的例子),但本机下的目录移动、删除仍有概率导致外部链接目录失效,建议尽量在MRS软件中操作目录和文件!

Q5:下载过程中未成功执行,也未报错
RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总

A5:旧工程缺失了MCU型号字段。点击工程树右上角的按钮Configure MCU Debugger,设置工程对应的芯片MCU型号,点击应用。

RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总

重新下载,成功执行操作。

RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总文章来源地址https://www.toymoban.com/news/detail-513033.html

到了这里,关于RISC-V IDE MRS使用笔记(十):嵌入式编程开发技巧汇总的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IDE也卷了,微软杀入嵌入式IDE

    为什么说 IDE 也卷了? 因为前不久(3月初), Keil 官方推出了免费、没有代码大小限制的社区版IDE(Community) 。 随后(在上周),微软也发布了基于 VS Code 的嵌入式开发插件(Embedded Tools),支持Azure RTOS、FreeRTOS操作系统。 地址: https://devblogs.microsoft.com/cppblog/vscode-embedde

    2024年02月05日
    浏览(34)
  • 用于时间触发的嵌入式软件的IDE

    TTE Systems的RapidiTTy IDE为希望创建“时间触发”微控制器软件以提高整体系统可靠性的开发人员提供了一个独立的环境。RapidiTTy(下面的图1)旨在解决深度嵌入的应用,包括医疗,国防,汽车和工业部门以及白色和棕色商品中的控制和监视操作。 时间触发(TT)系统的关键特征

    2024年02月07日
    浏览(32)
  • IDE也卷了,微软杀入嵌入式IDE_microsoft azure rtos开源吗(1)

    因为,这几年物联网的快速发展,迫使微软布局嵌入式。 早在2019年,微软重金收购 ThreadX 嵌入式实时操作系统,然后,紧接着 在 2020 年,开源了Azure RTOS ThreadX 。 在去年底(2021年12月), 微软发布了基于 VS 2022 的支持嵌入式RTOS、MCU软件开发的IDE 。 在本月初(2022年3月),

    2024年04月16日
    浏览(62)
  • AI嵌入式K210项目(19)-安装CanMV IDE开发软件

    前几章我们介绍K210使用C语言裸机开发方法,大家对K210内部的硬件和各种加速器有了初步的了解,但是开发人工智能相关程序,使用C语言的话复杂度比较高,因此接下来我们逐步学习基于K210芯片使用python开发人工智能相关程序,包含颜色识别,人脸识别,口罩识别等,也包

    2024年01月25日
    浏览(46)
  • 嵌入式IDE(1):IAR中ICF链接文件详解和实例分析

    最近在使用NXP提供的MCUXPresso IDE,除了Eclipse固有的优点外,我觉得它最大的优点就是在链接脚本的生成上,提供了非常直观的GUI配置界面,而且生成的链接脚本也是GCC规范的连接脚本。但这个IDE仅仅支持NXP相关的产品,而且调试的性能在某些情况下并不理想。而我们用得比较

    2024年02月10日
    浏览(36)
  • 嵌入式学习笔记——使用寄存器编程操作GPIO

    上一篇重点介绍了STM32 GPIO的输入输出模式,在整个框图中我们发现需要我们使用代码来控制GPIO的模式,本文的重点就是使用寄存器的编程方式,实现对于GPIO口的操作。 在这里首先需要做一个区分,我们常见的STM32的开发方式有两种,也就是寄存器开发与库函数开发。寄存器

    2023年04月09日
    浏览(36)
  • 嵌入式IDE(2):KEIL中SCF分散加载链接文件详解和实例分析

    在上一篇文章IAR中ICF链接文件详解和实例分析中,我通过I.MX RT1170的SDK中的内存映射关系,分析了IAR中的ICF链接文件的语法。对于MCU编程所使用的IDE来说,IAR和Keil用得比较多,所以这一篇文章就来分析一下Keil的分散文件 .scf ( scatter file )。 和上一篇文章一样,同样使用I.MX R

    2024年02月09日
    浏览(31)
  • 浅谈 RISC-V 软件开发生态之 IDE

    软件开发者是芯片公司非常重要的资产,CPU做出来是不够的,要让更多的软件开发者用这颗芯片才是成功。国际大厂们都有一只较大的软件团队,在做面向开发者的软件工具和SDK等。--张先轶博士:为什么RISC-V需要共建软件生态? 目前RISC-V架构在全球发展迅猛,RISC-V花了差不多

    2024年02月10日
    浏览(33)
  • 【嵌入式学习笔记】嵌入式入门2——中断(外部中断)

    打断CPU执行正常的程序,转而处理紧急程序,然后返回原暂停的程序继续运行,就叫中断 作用1: 实时控制在确定时间内对相应事件作出响应 ——定时器中断 作用2: 故障处理检测到故障,需要第一时间处理 ——外部中断 作用3: 数据传输不确定数据何时会来 ——串口中断

    2024年02月08日
    浏览(63)
  • 【嵌入式学习笔记】嵌入式基础9——STM32启动过程

    程序段交叉引用关系(Section Cross References):描述各文件之间函数调用关系 删除映像未使用的程序段(Removing Unused input sections from the image):描述工程中未用到被删除的冗余程序段(函数/数据) 映像符号表(Image Symbol Table):描述各符号(程序段/数据)在存储器中的地址、类

    2024年02月15日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包