【瑞萨RA4系列】硬件调试器烧录和调试指南

文章目录

  • 【瑞萨RA4系列】硬件调试器烧录和调试指南
    • 一、背景简介
    • 二、连接调试器
    • 三、设置Keil项目
    • 四、烧录和调试
      • 4.1 Keil中烧录
      • 4.2 Keil中调试
    • 五、本篇总结
      • 5.1 烧录方式对比
      • 5.2 问题排查要点
    • 六、参考链接

一、背景简介

本次试用的RA-Eco-RA4M2-100PIN开发板有两个USB口,其中一个用于通过USB转串口芯片CH340G连接到主控芯片,可以用于接收串口日志;另一个直接连接到主控芯片USB口,当启动模式跳线设置为“SCI/USB BOOT”时,可通过RFP(Renesas Flash Programmer)用于固件烧录。

另外板子上还有4pin的SWD调试接口,也可以使用硬件调试器进行烧录。在使用硬件调试器的时候,一开始也因为参数配置问题,没有烧录成功,试用群里面也有群友遇到类似的问题。经过一番排查后,我找到烧录失败的原因,并成功烧录;因此,我想到可以把具体流程记录下来,方便后来的朋友参考。

二、连接调试器

使用硬件调试器(例如我这里使用的PWLINK2),需要将调试器的一端和开发板的4pin SWD接口相连,如下图所示:

三、设置Keil项目

按照如下步骤在Keil项目中设置调试器:

  1. 在Project视图中,右击Target1,将会弹出菜单,如下图所示;

  2. 选择Options for Target 'Target 1'...,将会弹出“Options for Target 1”窗口,如下图所示;

  3. 在“Options for Target 1”窗口中,点击Debug标签页,Use下拉菜单选择CMSIS-DAP调试器(根据实际的硬件调试器选择,我这里使用的PWLINK2是基于CMSIS-DAP的),如下图所示;

  4. 之后,点击右边的Settings按钮,将会弹出CMSIS-DAP Target Driver Setup界面,如下图所示;

    如果此时调试器已正确连接到PC和开发板,则可以在SW Device栏中识别到CoreSight调试端口;

    这里可以修改Max Clock,默认是1MHz,修改为10MHz可以提高烧录速度。

  5. 在CMSIS-DAP Target Driver Setup界面中,点击Flash Download标签页,修改RAM for AlgorithmStart0x20000000Size0x1000(4KB),如下图所示;

    这里截图是已经修改之后的,默认为0x000000000x800

  6. 点击下方的Add按钮,将会弹出Add Flash Programming Algorithm界面,如下图所示;

  7. 选择RA4M2的512K Flash,点击下方的Add添加,之后继续添加Config Area和8K DataFlash,添加完成后,如下图所示;

  8. 最后,点击OK确认,保存修改。

四、烧录和调试

本节介绍如何在Keil中进行烧录和调试,下面分别介绍具体操作步骤。如果你对这一部分比较熟悉,可以直接跳过本节(相信玩过单片机的,都比较熟悉了吧)。

4.1 Keil中烧录

以上步骤完成后,可以使用工具栏的Downlod按钮进行烧录,按钮位于:

或者使用F8快捷键。

烧录过程中,底部状态栏可以看到进度条;烧录完成后,Build Output可以看到类似如下的输出:

4.2 Keil中调试

类似的,可以使用Keil的调试按钮进行调试,调试按钮位于:

和很多IDE类似,编辑器行号的左边,单击可以打断点。

类似的,调试开始后,可以看到,寄存器、内存、汇编等视图:

界面中具体各个功能,这里不再详细介绍。

五、本篇总结

5.1 烧录方式对比

通过开发板自带的USB口烧录的方式,优点是——不依赖额外的硬件,仅用开发板和USB线即可;缺点是——需要来回切换跳线,比较麻烦。

本篇介绍的另外一种烧录方式——使用硬件调试器,例如我这里使用的PWLINK2(基于CMSIS-DAP的调试器),当然你也可以使用JLINK、ST-Link、DAP-Link等硬件调试器。这种方式的优点是——不用来回切换跳线,而且IDE本身支持这些硬件调试器,不需要单独使用RFP烧录;除此之外,使用硬件调试器还可以进行断点调试,这是USB烧录不具备的。

5.2 问题排查要点

试用群里有部分小伙伴使用硬件调试器进行烧录时遇到了无法烧录的问题,我刚尝试使用硬件调试器时也遇到了一些问题。这类问题的排查,主要从两个方面进行:

  • 硬件连接,即SWD、JTAG口的几根信号线的物理连接,如果连接正确的话Keil中可以识别CoreSight设备,其他类似的IDE也可以识别。出现无法识别调试口,则首先需要核对线序是否全部连接正确;这种情况的排查只需要仔细核对即可。另外,如果所有线序正确,则需要检查线上的信号是否正常,这通常需要借助逻辑分析仪或者示波器这类设备进行排查。
  • 烧录参数,即Keil中的RAM for Flash AlgorithmProgramming Algorithm。这里的RAM for Algorithm是指下载算法使用的内存,通常填写被调试芯片上的SRAM的一端区域,需要查阅芯片手册。而Programming Algorithm名称则具有迷惑性,实际上它配置的是下载算法操作的目标存储器区域,通常是被调试芯片的闪存区域,这些区域在安装了Keil Pack包之后,点击Add按钮只需要选择接口,不需要手动填写数值,相对来说不太容易出错。

六、参考链接

  1. CMSIS-DAP Debugger User’s Guide (arm.com)
  2. Target Driver Settings
  3. (S-LINK) DAPLINK CMSIS-DAP烧录器的使用方法-电子工坊 (elelab.net)

【瑞萨RA4系列】硬件调试器烧录和调试指南相关推荐

  1. 【瑞萨RA4系列】开发环境搭建和点灯指南

    [瑞萨RA4系列开发板体验]开发环境搭建和新手点灯指南 文章目录 [瑞萨RA4系列开发板体验]开发环境搭建和新手点灯指南 一.简单开箱 二.芯片简介 三.开发环境搭建 2.1 安装FSP(RASC) ...

  2. 【瑞萨RA4系列】使用TinyMaix识别手写数字

    文章目录 一.TinyMaix简介 1.1 TinyMaix开源项目 1.2 下载TinyMaix源码 二.TinyMaix移植 2.1 创建TinyMaix移植项目 2.2 添加TinyMaix源码 ...

  3. 【致敬未来的攻城狮计划】— 连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下(文字上的初理解)

    系列文章目录 系列文章目录 前言 一.瑞萨MCU(CPK_RA2E1是瑞萨RA系列开发板)是什么? 首先引入是什么? 他的优势在哪? 瑞萨CPK_RA2E1 对标stm32 相似之处和不同之处? 瑞萨 ...

  4. 瑞萨RA系列 bootloader使用MCUBoot模块更新升级应用的实例

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 本文描述瑞萨RA系列 bootloader 使用MCUBoot模块以覆盖方式更新升级应用的实例. 一.设计Bootlo ...

  5. 瑞萨R7F0Cxxx系列单片机入门教程

    版权声明:本文为博主yjydyod原创文章,转载请声明 本文作者为yjydyod,转载自:https://blog.csdn.net/yjydyod 前言 这是一篇关于瑞萨R7F0Cxxx系列单片机的 ...

  6. 【瑞萨RA系列FSP库开发】RASC+Keil的环境搭建

    文章目录 一.获取资源包 二.安装 Keil 软件.RA 芯片包和 RASC 三.RASC 集成到 Keil 四.使用 RASC 生成 Keil 工程 五.通过 Keil 打开 RASC 的 FSP ...

  7. 【瑞萨RA6系列】使用TinyMaix识别手写数字

    一.TinyMaix简介 TinyMaix是国内sipeed团队开发一个轻量级AI推理框架,官方介绍如下: TinyMaix 是面向单片机的超轻量级的神经网络推理库,即 TinyML 推理库,可以让你 ...

  8. 快速入手瑞萨RA系列MCU指南

    关注+星标公众号,不错过精彩内容 来源 | 野火电子 关于瑞萨RA系列MCU 瑞萨RA MCU基于32位Arm®Cortex®-M高性能处理器,提供强大的嵌入式安全功能.卓越的 CoreMark® 性 ...

  9. 【瑞萨RA系列FSP库开发】串口烧录(Renesas Flash Programmer)

    文章目录 一.瑞萨RA芯片的Boot模式 二.串口烧录配置(Renesas Flash Programmer) 1. 改变芯片DLM状态 2. 设置安全边界 三.烧录芯片程序 为节省学习成本,本人未购 ...

最新文章

  1. Day43 前端基础--html
  2. 普华永道:2018 AI预测报告 将回答关于数据的重大问题
  3. cannot import name ‘compare_ssim‘
  4. xshell安装与配置,Xftp(不能连接虚拟机解决方法,sudo apt-get install openssh-server,服务没开怎么传输数据?)(虚拟机和windows之间自由复制)
  5. 云服务器Linux jdk安装详解(centos8)
  6. es 指定排序字段_ES里多字段分组后排序
  7. Vue项目代码改进(三)—— Cookie、LocalStorage和SessionStorage的使用
  8. Iplat 4J 6.2 常见问题
  9. 思科ASA防火墙升级为云端防火墙
  10. WINDOWSXP全面优化
  11. C#之DotNetBar2使用方法 - itemPanel1
  12. ps把图片无损放大的方法
  13. 详细 C语言自增自减运算符区分 ++n和n++
  14. android 渠道 代码重复,Android Studio多渠道打包(示例代码)
  15. 使用 patchrom 移植 MIUI
  16. 【opencv】动态背景下运动目标检测 SURF配准差分
  17. 说几个我做过的兼职吧
  18. php imap 库_php imap_open 实例教程
  19. 汽车芯片TJA1057GTK/3高速 CAN 收发器3 毫米 x 3 毫米 x 0.85 毫米
  20. C语言snprintf函数

热门文章

  1. 水果店经营状况数据分析,水果店数据分析方案
  2. 深度学习笔记(一)——感知机模型(Perceptron Model)
  3. 2008-02-26 日志:《学而》新解(二)
  4. 刚毕业大学生自学一步步成为资深建模大师,他是怎么做到的?
  5. ABOV(9)MC96F6432
  6. 2022年广东省房地产经纪人(房地产经纪职业导论)练习题及答案
  7. 设计模式之 SOA面向服务的体系
  8. 服务器c盘logs文件夹,Win10系统Logs文件夹可以删除吗
  9. gct哈工大c语言考试试题,哈尔滨工业大学2015年示范性软件学院软件工程硕士招生简章...
  10. 支持向量机算法的实现和应用(Python3超详细的源码实现+图介绍)