2558|7

71

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

RISC-V MCU开发(十二):命令行操作 [复制链接]

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

 

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

 

 

【编译】

由于脱离了界面的UI配置,对于未知的工程结构。用户需要:

  1. 手动为每个源文件目录编写Makefile规则,指定源文件集合、依赖、汇编/编译工具exe、编译参数(例如编译头索引目录)。
  2. 切换到一个新目录,作为输出目录,用户手动为编写Makefile规则,指定链接各个源的中间文件、链接工具exe、链接参数(例如ld文件)。以上步骤了解Makefile的语法。
  3. 命令行路径切换到步骤2的输出目录下,执行make进行编译,如果编译工程成功将会最终输出elf文件。执行make clean可进行输出文件的清理。

【烧写,以wchrisc-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

 

 

  1. 开启第二个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命令指定调试文件。

 

  1. gdb连接设置

设置连接配置:

set mem inaccessible-by-default off

set remotetimeout unlimited

rv内核) set architecture riscv:rv32

 

  1. 连接server端口

target remote ip:port:连接端口

 

 

  1. 调试的其他命令

load :烧写, 执行后将pc置为程序第一条指令处;

info register + 寄存器名: 查看寄存器;

info breakpoint:查看所有断点;

break +行号/方法名/符号名:设置断点

continue:继续跑到下一个断点,如果没有断点则一直运行;

next:调试执行下一步;

step:单步进入;

print:打印变量值;

list:(需要工程目录包含源码, 编译时调试等级-g以上)查看当前代码

 

暂停状态时,可执行查看寄存器、查看当前代码,查看反汇编等操作;

gdb模式下,可输入help all列出所有命令,如搜索、变量打印、查看堆栈等。

此帖出自单片机论坛

最新回复

是的,没条件的情况下那也说不得了,有条件还是ide好,双击一下就打断点了,要不还得l看代码然后b,麻烦的很。   详情 回复 发表于 2021-10-22 14:41
点赞 关注
 

回复
举报

6587

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

window还是命令行操作顺手

Linux系统还要下载工具链和OpenOCD压缩包稍微麻烦一点

此帖出自单片机论坛

点评

哈哈,一看就是编程老手了~  详情 回复 发表于 2021-10-21 09:57
 
 

回复

1412

帖子

3

TA的资源

版主

板凳
 

这么多命令行是如何记住的,很头疼。。

此帖出自单片机论坛

点评

用得多才能记得住,习惯了界面化开发,命令行有时就回不去了...  详情 回复 发表于 2021-10-21 09:58
 
个人签名

没有什么不可以,我就是我,不一样的烟火! 

 
 

回复

7452

帖子

2

TA的资源

五彩晶圆(高级)

4
 

不做系统管理的话,这种命令行其实没有什么优势,一段时间不用什么都忘得一干二净了。

此帖出自单片机论坛

点评

确实,我个人觉得这种命令行适合调用外部GCC或OpenOCD时去使用,如果采用IDE内置的工具链和调试器的话,那就别折腾了,MRS在编译、下载、调试这块的自动化做得还是可以的。  详情 回复 发表于 2021-10-21 09:59
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

71

帖子

0

TA的资源

一粒金砂(高级)

5
 
Jacktang 发表于 2021-10-19 13:11 window还是命令行操作顺手 Linux系统还要下载工具链和OpenOCD压缩包稍微麻烦一点

哈哈,一看就是编程老手了~

此帖出自单片机论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(高级)

6
 
annysky2012 发表于 2021-10-19 17:24 这么多命令行是如何记住的,很头疼。。

用得多才能记得住,习惯了界面化开发,命令行有时就回不去了...

此帖出自单片机论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(高级)

7
 
freebsder 发表于 2021-10-19 17:28 不做系统管理的话,这种命令行其实没有什么优势,一段时间不用什么都忘得一干二净了。

确实,我个人觉得这种命令行适合调用外部GCC或OpenOCD时去使用,如果采用IDE内置的工具链和调试器的话,那就别折腾了,MRS在编译、下载、调试这块的自动化做得还是可以的。

此帖出自单片机论坛

点评

是的,没条件的情况下那也说不得了,有条件还是ide好,双击一下就打断点了,要不还得l看代码然后b,麻烦的很。  详情 回复 发表于 2021-10-22 14:41
 
 
 

回复

7452

帖子

2

TA的资源

五彩晶圆(高级)

8
 
Moiiiiilter 发表于 2021-10-21 09:59 确实,我个人觉得这种命令行适合调用外部GCC或OpenOCD时去使用,如果采用IDE内置的工具链和调试器的话, ...

是的,没条件的情况下那也说不得了,有条件还是ide好,双击一下就打断点了,要不还得l看代码然后b,麻烦的很。

此帖出自单片机论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
Luminary系列所有型号的选型工具

Luminary的函数库和图形库,上面集成的东西很丰富,很多工程师都会喜欢。 可以按着对外设的需求,来选。想要USB,就点“USB ...

单片机操作2.4寸TFT彩屏的源码与大家共享!含SD驱动!

元旦在淘宝上,花39个银子,淘了块2.4寸的TFT彩屏模块,,用店主提供的代码,用STC的51单片机,驱动起来,也显示图片了,发帖庆祝 ...

[Open Source]YS18-3荧光管电子时钟100%开源放送(软件源工程及代码.硬件原理图)

YS18-3的荧光管电子时钟曾是饱含了我所有期待的完美的荧光管电子时钟,它的功能比较完备,也受到了很多DIYer的关注与支持。 ...

Helper2416开发板移植ucgui(嵌入式linux运行ucgui)

本帖最后由 Gyroxp 于 2015-1-30 17:28 编辑 一些简单的应用,使用ucgui作为图形界面可能更加方便快捷。得益于ucgui良好 ...

求推荐:想买本C8051F单片机的书!

需要用C8051F580单片机开发产品。我做软件,C语言。 想买本 这方面的书。求推荐! 谢谢!

MSP430F149 I/O口控制

所谓IO口控制就是控制单片机的端口输出0或1,或者读出端口的状态,也就是输入和输出。 先说输出。想让MSP430单片机的端口 ...

无线连接技术选择指南

选择合适的无线连接技术从一开始就是一个关键的设计决策。这决定了应用的协议互操作性、距离、稳健性和用例。本选择指南将引导 ...

【花雕动手做】有趣好玩的音乐可视化系列小项目(16)--热干胶棒棒灯

偶然心血来潮,想要做一个声音可视化的系列专题。这个专题的难度有点高,涉及面也比较广泛,相关的FFT和FHT等算法也相当复杂,不 ...

颁奖:是德科技感恩月—遇见KeysightCare - 贵重仪器安全避坑指南

颁奖:是德科技感恩月—遇见KeysightCare - 贵重仪器安全避坑指南 名单详见下方列表。本颁奖贴只公布获奖名单,礼品 ...

【STM32U5A5ZJ开发板】USB设备及VCP通讯测试

STM32U5A5ZJ 上的USB是自带PHY的OTG USB设备,不但具有电源管理还具有设备管理功能,使用的接口也是Type C接口。 794377 ...

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表