RISC-V MCU开发(十二):命令行操作-阿里云开发者社区

开发者社区> 游客mixjbdvjwcstu> 正文

RISC-V MCU开发(十二):命令行操作

简介: 考虑到习惯命令行操作的用户群体,MounRiver® Studio(MRS)除了使用图形化UI进行用户交互外,也提供了脱离界面的命令行操作说明,用于对编译后的工程进行烧录和调试。如果是Linux平台用户,您也可以在MRS官网的下载页面下载工具链和OpenOCD压缩包,根据说明引导进行实践。本文以Windows平台软件环境MRS1.51进行介绍。
+关注继续查看

考虑到习惯命令行操作的用户群体,MounRiver® Studio(MRS)除了使用图形化UI进行用户交互外,也提供了脱离界面的命令行操作说明,用于对编译后的工程进行烧录和调试。如果是Linux平台用户,您也可以在MRS官网的下载页面下载工具链和OpenOCD压缩包,根据说明引导进行实践。本文以Windows平台软件环境MRS1.51进行介绍。

【命令行入口】MRS提供了已包含工具路径的命令行。点击工具栏图标 ,或者在Project Explorer右键弹出菜单中选择Open MRS Console,即可打开命令行,并自动指定将当前路径为对应的目录路径(如果选择的是文件,则当前路径为文件所在的目录)。若当前未选择资源,命令行的当前路径即为工作空间目录。
1.png

【编译】
由于脱离了界面的UI配置,对于未知的工程结构。用户需要:
1.手动为每个源文件目录编写Makefile规则,指定源文件集合、依赖、汇编/编译工具exe、编译参数(例如编译头索引目录)。
2.切换到一个新目录,作为输出目录,用户手动为编写Makefile规则,指定链接各个源的中间文件、链接工具exe、链接参数(例如ld文件)。以上步骤了解Makefile的语法。
3.命令行路径切换到步骤2的输出目录下,执行make进行编译,如果编译工程成功将会最终输出elf文件。执行make clean可进行输出文件的清理。
【烧写,以wch的risc-v内核工程为例】
擦除 OPENOCD_PATH –f CFG_PATH –c init –c halt -c "flash erase_sector wch-riscv 0 last" –c exit
编程 OPENOCD_PATH –f CFG_PATH –c init –c halt -c "program TARGET_PATH ADDRESS" –c exit
校验 OPENOCD_PATH –f CFG_PATH –c init –c halt –c "verify_image TARGET_PATH " -c exit
复位 OPENOCD_PATH –f CFG_PATH –c init -c reset -c exit

【调试】
1.创建openocd进程
格式:OPENOCD_PATH -f CFG_PATH
提倡使用拖拽的方式,提升效率,也可避免输入路径出错。
执行命令,openocd会获取开发板状态,并启动协议server端。随后openocd进程挂起,等待连接。命令行中显示等待连接的端口号,此处gdb通信的端口默认为3333。
2.png

2.开启第二个MRS Console,启动gdb client
格式: GDB_PATH [FILE_PATH] [–ARGS]
无参数形式riscv-none-embed-gdb为默认的gdb cli命令。
参数形式riscv-none-embed-gdb xxxx.elf -interpreter mi 在支持cli基础上,同时支持gdb mi命令。MRS调试打开gdb trace之后,Console输出的命令就是gdb mi命令。可以复制到此模式下逐个运行。

若指定了FILE_PATH,如命令riscv-none-embed-gdb xxxx.elf ,则后续不需要调用file命令指定调试文件;若未指定FILE_PATH,则后续需要file命令指定调试文件。

3.gdb连接设置
设置连接配置:
set mem inaccessible-by-default off
set remotetimeout unlimited
(rv内核) set architecture riscv:rv32

4.连接server端口
target remote ip:port:连接端口
3.png

5.调试的其他命令
load :烧写, 执行后将pc置为程序第一条指令处;
info register + 寄存器名: 查看寄存器;
info breakpoint:查看所有断点;
break +行号/方法名/符号名:设置断点 ;
continue:继续跑到下一个断点,如果没有断点则一直运行;
next:调试执行下一步;
step:单步进入;
print:打印变量值;
list:(需要工程目录包含源码, 编译时调试等级-g以上)查看当前代码 ;

暂停状态时,可执行查看寄存器、查看当前代码,查看反汇编等操作;
gdb模式下,可输入help all列出所有命令,如搜索、变量打印、查看堆栈等。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
NHibernate 3.2 使用 Conformist 进行 CodeFirst 开发
NHibernate 3.2 GA 正式版于 2011-07-30 发布,这一版本对 CodeFirst 的支持性更好了,因为它提供了 Conformist 取代之前第三方的 ConfOrm。   NHibernate 3.2 下载地址:http://sourceforge.net/projects/nhibernate/files/NHibernate/   下面将讲一下如何使用这一新成员进行数据库的基本操作。
875 0
Linux基本操作 1-----命令行BASH的基本操作
1 Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令、操作传递给操作系统底层    shell 分为两种    CUI : Command Line Interface Linux 里面的CUI指的是B...
959 0
Apache Mina开发手册之三
Apache Mina开发手册之三 2、Mina服务器的架构 Mina服务器的架构图如下所示: 1)IOAcceptor即I/O接收器,负责监听网络连接和发过来的数据包。
762 0
Android官方开发文档Training系列课程中文版:多样屏幕之支持不同的屏幕尺寸
原文地址:http://android.xsoftlab.net/training/multiscreen/index.html 引言 Android运行于数以百计不同尺寸的设备上。
752 0
首次曝光 | 阿里数万名开发者都在使用的数据库开发工具到底长什么样?
数据管理DMS(Data Management Service)是阿里巴巴自研图形化的数据库开发工具,已服务阿里巴巴及阿里云上几十万开发者实现安全便捷的数据库访问开发工作。用户可以通过DMS实现25种常见数据库的访问研发。
868 0
首次曝光 | 阿里数万名开发者都在使用的数据库开发工具到底长什么样?
数据管理DMS(Data Management Service)是阿里巴巴自研图形化的数据库开发工具,已服务阿里巴巴及阿里云上几十万开发者实现安全便捷的数据库访问开发工作。用户可以通过DMS实现25种常见数据库的访问研发。
1327 0
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的代码下载操作。
22 0
25
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载