![个人头像照片](https://ucc.alicdn.com/avatar/avatar3.jpg)
暂无个人介绍
上一篇文章中,我们一同学习了“如何开启编程后打印FLASH以及RAM占用信息”的功能,但是在实际开发中,尽管我们的程序并未使用到全部的RAM空间,但仍存在IDE中该打印信息提示RAM占用达到100%的情况
在嵌入式开发中,我们有时需要在编译结束后查看目标芯片FLASH及RAM区使用占比情况,而大部分IDE是默认关闭该功能的,此时我们可以通过以下步骤来手动来开启
在嵌入式开发过程中,有时为了调试代码,我们需要对单个函数或多个函数设置单独的优化等级.
在嵌入式开发中,我们经常需要调用一些数学函数,例如pow、acos、asin、sqrt等。这时候我们就需要添加对标准数学库的引用。
字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集是多个字符的集合,字符集种类繁多,每个字符集包括的字符个数不尽相同。常见的字符集有:ASCII、GB2312、GBK、Unicode、UTF-8、UTF-16等。而不同的集成开发环境,其默认的字符集也不同,当涉及到IDE间工程迁移需求时,我们往往需要更改该工程在目标IDE下的编码字符集。
在嵌入式开发过程中,我们有时会遇到这种情形:在一次调试前,我们已经编译过目标代码,此时,如果我们直接点击调试按钮,则IDE的调试器往往会默认再进行一次编译才开始进入调试流程,比较浪费时间。
在嵌入式开发中,我们常常需要在其他工程师创建的工程上进行二次开发,而每个人IDE中设置的Tab键功能内容可能不同(按下后插入一个制表符或者以指定空格数进行缩进),由于不同IDE制表符宽度不同,所以我们在选择格式化代码后,经常会出现代码行首缩进不一致等格式问题。
在嵌入式开发过程中,我们常常会遇到需要在IDE内编辑各种后缀名文件的情况,而可能部分后缀的文件并不是以我们想要的编辑器打开,所以需要我们手动去绑定默认打开方式。
上一篇介绍了部分链接脚本知识,这次我们用MRS(MounRiver Studio)中内置的CH57x系列模板工程来具体实践一下:
我们在用RISC-V GCC做嵌入式开发的时候,免不了要和启动文件和链接文件等打交道,本篇文章记录了一些链接脚本相关的学习笔记。
软件平台: MounRiver Studio(MRS),硬件平台: CH32V103开发板、ULN2003步进电机驱动板、28BYJ-48步进电机,使用GPIO进行步进电机控制。
ARM上移植实时操作系统大家可能比较熟悉,对于RISC-V内核的MCU,可能相对比较陌生。下面结合WCH的CH32V103和CH32V307两款芯片来详细说下针对RISC-V平台,移植实时操作系统的注意点。
软件平台: MounRiver Studio(MRS),硬件平台:CH32V103开发板,以及一张小于32G SD卡。
DHT11是一款有已校准数字信号输出的温湿度传感器。 其精度湿度±5%RH, 温度±2℃,量程湿度5-95%RH,温度-20~+60℃。该传感器包括一个电阻式测湿元件和一个NTC测温元件,可通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。
为了更快地帮助用户使用,以及解决开发中遇到的问题,MounRiver Studio(MRS)通过多种形式协助用户,包括文档、视频以及向导页等。同时MRS也提供了高效的反馈通道,用户可以通过此渠道直接与MRS开发人员联系获取技术支持。
一款集成开发环境软件除了代码编辑、编译和调试这些基本功能外,也会集成其他工具软件,方便工程师们更高效的开发。MounRiver® Studio(MRS)使用了主菜单扩展的方式,将实用的工具软件添加到软件平台中。软件工具包含、但不仅限于设备管理器、内核烧录的等工具。随着逐渐丰富的内核分析需求,软件工具会一直完善并集成添加。
考虑到习惯命令行操作的用户群体,MounRiver® Studio(MRS)除了使用图形化UI进行用户交互外,也提供了脱离界面的命令行操作说明,用于对编译后的工程进行烧录和调试。如果是Linux平台用户,您也可以在MRS官网的下载页面下载工具链和OpenOCD压缩包,根据说明引导进行实践。本文以Windows平台软件环境MRS1.51进行介绍。
大多数嵌入式工程师使用Keil进行开发,但Keil目前不支持RISC-V内核,只支持ARM内核。MounRiver® Studio(MRS)同时支持两种内核,为了方便工程师从ARM内核迁移至RISC-V内核,MRS增加了Keil工程转换的功能。
版本控制系统(Version Control System)是多数IDE不可缺少的一部分,其主要作用是记录一个或若干文件内容的变化,例如文件的修改、删除等,使得开发者能够追踪历史版本,可以“还原”至某个历史状态。MounRiver® Studio(MRS)提供便捷的版本控制功能,采用可视化UI设计,简单高效。
相对于平台和解决方案,工程实际上是开发者管理代码、操作配置的最小单位。而在先前的介绍中,我们介绍了MRS工程创建的过程,以及编译、烧写、调试的这些实际功能,自然而然随之而来就会有这样几个问题——这些工程是如何内置在MRS中的呢?我们又如何将已有的工程,保存为自己的模板、供其他用户使用呢?本文我们就来一一介绍。
相比较于KEIL、Visual Studio等集成开发环境,基于Eclipse平台开发的各类RISC-V IDE都不支持双击某个文件即可加载工程或解决方案(工程集),用户只能先打开Eclipse再去选择要加载的项目,该用法不符合大多数嵌入式开发工程师的习惯。
MounRiver® Studio(MRS)配合GD-Link、WCH-Link、JLink等在线调试下载器,可支持GDVFx系列、CH56x、CH57x、CH58x、CH32Fx、CH32Vx等RISC-V/ARM内核MCU工程的代码调试功能。本文主要介绍MRS针对RISC-V内核MCU的代码调试操作。
MounRiver® Studio(MRS)配合GD-Link、WCH-Link、JLink等在线调试下载器,可支持GDVFx系列、CH56x、CH57x、CH58x、CH32Fx、CH32Vx等RISC-V/ARM内核MCU工程的代码下载功能。其中,对于CH56x、CH57x、CH58x等型号,MRS还支持关闭两线仿真调试接口功能;对于CH32Fx、CH32Vx型号,MRS支持代码读保护查询及配置功能。本文主要介绍MRS针对RISC-V内核MCU的代码下载操作。
在嵌入式开发中,除了编译配置外,工程的调试配置也需要关注。针对内置芯片工程模板创建的项目,MounRiver® Studio(MRS)会自动配置好相关调试参数,而导入的外部项目则需要进行部分调试配置项的手动指定。MRS支持指定GD-Link、WCH-Link、JLink等在线调试仿真器,设置预设断点、配置文件、OpenOCD工具、GDB工具...等调试参数。
在嵌入式开发中,当我们完成了工程创建、代码编辑等操作之后,就可以开始进行工程编译。 对于使用内置工程模板创建或外部导入的项目,MounRiver® Studio(MRS)会根据对应芯片内核自动配置好目标工具链(riscv-none-embed-gcc或arm-none-eabi-gcc),同时,目标平台、优化等级、调试等级以及文件引用等编译配置也会自动设置完毕。
对于一款集成开发环境来说,代码编辑既是最基础的必需功能,同时也是直接影响用户开发体验的重要组成部分。MounRiver® Studio(MRS)代码编辑功能主体插件继承自Eclipse,为用户提供了工程内检索、字符替换、定义跳转、调用查询、快速大纲、代码格式调整…等一系列的操作入口。
MounRiver® Studio(MRS)内置了GD、WCH等芯片厂家的RISC-V/ARM以及RISC-V通用指令集系列的芯片工程模板,支持Harmony LiteOS-M、RT-Thread、FreeRTOS等嵌入式操作系统开发。同时,MRS还在Eclipse开发平台体系中引入了工程文件的概念,与Keil、VS等其他集成开发环境一样,支持双击工程文件打开IDE并加载工程。
近年来,RISC-V生态获得了空前的繁荣发展,国内外众多科技公司纷纷下场布局、行业应用层出不穷,搭载RISC-V内核的MCU也逐渐走入了工程师的日常开发工作中。 工欲善其事必先利其器,要想实现基于RISC-V MCU的项目开发,与之配套的集成开发环境必不可少。目前市场上可供选择的RISC-V MCU开发工具已初具规模,由MounRiver团队打造的MounRiver® Studio(MRS)便是其中一种。