Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread Studio
RT-Thread活动
瑞萨_RA6M4
基于RT-Thread+RA6M4的虚拟仪器开发:第二章使用仿真器
发布于 2022-07-06 21:46:35 浏览:1652
订阅该版
[TOC] # 第二章仿真器使用 ## 前言 为了方便今后的开发,有必要了解芯片从上电到程序启动,到运行到应用的整个过程。借助于仿真器我们可以提高分析的直观性和效率。 代码见 https://gitee.com/qinyunti/ra6m4 ## 仿真环境搭建与使用 在第一章其实我们已经使用了仿真器进行程序下载与运行。这一节再更多的介绍一些细节。 ### Jlink-OB 从原理图可以看出板载Jlink-OB默认配置为 For normal operation (on-board debugger): E37 open E35 open, E36 close 即接到本板芯片。 也可以按照如下配置,通过J10对外,单独作为仿真器使用。 For J-Link debug out: E37 open E35 close, E36 open E26, E27, E28, E29 open 而需要调试Jlin-OB本身则可以按如下配置,通过J17外接仿真器来仿真。 For external debug: E37 close E35 open, E36 close 通过E25短接可以看出,JLINK的USB接口J11可以给板子供电。  ### Jlink配置 点击如下左边齿轮图标,打开Debug配置界面  主要选项卡下配置可执行程序等  Debugger选项卡下,配置Jlink的程序和参数  Startup选选项卡,配置初始化过程  下载选项卡  其他选项卡源,公共选项卡可以去看看。 重点提一下SVD Path选项卡, SVD文件提供硬件描述信息,比如外设寄存器方便调试查看寄存器。 参见https://www.keil.com/pack/doc/CMSIS/SVD/html/index.html 搜索rtthread安装目录下*svd,可以看到应该位于芯片支持包下 \repo\Extract\Chip_Support_Packages\RealThread\xxx\xxx\debug\svd 但是遗憾的是只有STM32等芯片的没有renease的。  从rtthread和renease官网都没有搜到svd文件的下载地址,既然cmsis-svd是keil提出的。在MDK安装目录下也没有搜索到RA6M4的SVD文件,只有其他芯片的。那么就去keil官网下看看,其他芯片有也是位于软件包中,那么去keil下载对应软件包就应该有。 在https://www.keil.com/下搜索RA6M4  点击进去  点击如下位置下载软件包  下载得到Renesas.RA_DFP.3.8.0.pack 双击解压(提前是已经安装MDK) 记住解压路径  去改路径下查找 C:\Users\qinyu\AppData\Local\Arm\Packs\Renesas\RA_DFP\3.8.0\SVD 注意\AppData默认是隐藏的需要先在文件浏览器中设置显示隐藏文件夹。 找到R7FA6M4AF.svd保存到工程下。 还有R7FA6M4AF.sfd和R7FA6M4AF.SFR,sfr,sfd来源于svd,sfd是svd寄存器的位域描述。我们这里暂时不用。 然后再在Jlink配置下的SVDpath选项卡下选择该文件  点击如下右边甲壳虫图标,进入Debug界面  可以看到默认停在了main函数中,从右边断点界面可以看出是因为在main函数打了断点。  ## 基本仿真操作 按照如下调出对应的窗口  ### 寄存器查看 #### 外设寄存器 按照上一节设置SVD文件路径后可以看到外设寄存器如下  勾选模块  会弹出内存窗口显示值  还有一种方法是通过表达式去看 比如要看CAN0的寄存器可以定义全局变量 static R_CAN0_Type * can0_reg = ((R_CAN0_Type *) R_CAN0_BASE); 在代码中使用变量 can0_reg = can0_reg;避免被优化掉。 仿真时添加表达式can0_reg即可  #### CPU寄存器  #### 内核模块寄存器 注按如下配置无法显示,查看内核寄存器如何配置待研究。 如果安装过MDK会在C:\Users\qinyu\AppData\Local\Arm\Packs\ARM\CMSIS\xxx\Device\ARM\SVD路径下搜到 对应内核的SVD文件,如果没有,也可以去https://www.keil.com/dd2/pack/下下载cmsis:ARM.CMSIS.5.9.0.pack  双击解压,记住路径  去路径 C:\Users\qinyu\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\Device\ARM\SVD下复制ARMCM33.svd到工程目录,并安之前的方法添加到SVD path路径。 ### 程序执行  ### 断点 代码行前面双击打断点  右边有一些操作按键可以看一看   上面的添加监看和断点事件可以设置语句级别的条件断点。 内存级别数据断点查看后面内存部分。 ### 变量  ### 汇编 需要调出反汇编窗口,点击汇编窗口再按单步运行就是对应的指令级别的单步。  ### 内存 需要调出内存窗口 添加内存查看   设置数据断点   断点窗口可以看到了数据断点  ### 调用栈  ## 总结 按照文章中提到的方式添加SVD文件,仿真过程中发现SCI的寄存器对应不上,大小端刚好反了,暂时不确认什么原因(可以参见外设寄存器使用表达式的方式查看)。
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
qinyunti
这家伙很懒,什么也没写!
文章
30
回答
1
被采纳
0
关注TA
发私信
相关文章
1
(苏州站)RT-Thread物联网开发者沙龙【已结束】
2
(成都站)RT-Thread物联网开发者沙龙
3
(深圳站)RT-Thread物联网开发者沙龙
4
(西安站)RT-Thread物联网开发者沙龙
5
成都站2018 RT-Thread开发者沙龙回顾及PPT下载
6
2018 RT-Thread物联网开发者沙龙(北京站)
7
2018 RT-Thread物联网开发者沙龙(南京站)
8
第十三届研电赛RT-Thread企业专项奖发布通知
9
RT-Thread应用作品征集大赛开始啦!
10
你的投票将决定RT-Thread官网应该优先准备的文档是哪些
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
Bootloader
AT
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
FAL
RTC
rt-smart
I2C_IIC
cubemx
UART
ota在线升级
ESP8266
WIZnet_W5500
BSP
PWM
flash
packages_软件包
freemodbus
潘多拉开发板_Pandora
GD32
ADC
定时器
编译报错
flashDB
keil_MDK
socket
中断
rt_mq_消息队列_msg_queue
Debug
ulog
SFUD
msh
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
6
个答案
3
次被采纳
xiaorui
4
个答案
1
次被采纳
tjrong
2
个答案
1
次被采纳
yans
2
个答案
1
次被采纳
miandian_7
1
个答案
1
次被采纳
本月文章贡献
Pai同学
8
篇文章
11
次点赞
Rick98
3
篇文章
10
次点赞
RTT_逍遥
2
篇文章
10
次点赞
WenShan
2
篇文章
1
次点赞
加缪
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部