【ARMv8M Cortex-M33 系列 2.3 -- SEGGER JFlash 烧写命令介绍】


请阅读【嵌入式开发学习必备专栏 之Cortex-M33 专栏】


文章目录

    • SEGGER JFlash 烧写命令介绍
      • JFlash 配置文件
    • 固件烧写地址介绍
      • 确定烧写地址

SEGGER JFlash 烧写命令介绍

本文以介绍烧写 Renesas RA4M2 为例,对 JFlash 进行简单介绍。它是 ARM Cortex-M33 微控制器的型号之一。烧写前你需要先确保你有正确的 .hex.bin 文件,这个文件包含你要烧录到微控制器的程序。

接下来,你可以按照以下步骤使用 J-Flash 进行烧写:

  1. 选择设备: 首先,你需要选择正确的设备型号。可以在 J-Flash 软件的设备数据库中找到 R7FA4M2AC3C 或使用与之兼容的设备型号。
  2. 建立连接: 决定使用 JTAG 还是 SWD 接口连接微控制器,并设置适当的通信速度。
  3. 擦除闪存: 在编程之前,通常需要先擦除微控制器的闪存。
  4. 编程文件: 将你的 .hex.bin 文件编程到微控制器的闪存中。
  5. 验证编程: 确认编程的数据与原始文件匹配。
  6. 启动应用程序: 在编程结束后,如果你的目标是让微控制器立即开始运行新编程的应用程序,可以选择启动它。
  7. 退出: 编程结束后退出 J-Flash。

具体的 J-Flash 命令行可能如下:
在这里插入图片描述

.\JFlash.exe -openprj .\r7fa4m2ac.jflash  -open .\RA_Test_V1.hex  -erasechip -programverify -startapp -exit

注意事项
可以使用相对路径 ..\ 表示上一级文件夹。

  • -openprj 后面的 jflash 文件,紧跟,中间不能有空格, 见下文介绍。
  • -speed 4000:设置通信速度,单位为 kHz。
  • -open your_firmware.hex:打开包含要烧录的固件的文件,文件和烧录起始地址之前的逗号(,) 前后不能有空格 。
  • -erasechip:擦除设备的闪存。
  • -programverify:验证编程结果。
  • -startapp:启动应用程序。
  • -exit:退出 J-Flash。

确保将 your_firmware.hex 替换为你的固件文件的实际路径和文件名。

注意:在执行这些步骤之前,请确保你的 J-Link 调试器已正确连接到电脑和目标微控制器,并且微控制器已经处于可以被编程的状态(比如处于 bootloader 模式)。同时,请根据你具体情况以及 J-Flash 软件的版本调整命令行参数。如果你不确定具体参数,可以使用 JFlash.exe -? 来获取帮助信息。

JFlash 配置文件

执行 JFlash.exe 之后会跳出下面界面,根据自己所使用的芯片进行选择配置。
在这里插入图片描述
配置完成后将当前 project 进行保存:
在这里插入图片描述
生成后配置文件后,就可以使用上面的命令行进行烧写了:
在这里插入图片描述

固件烧写地址介绍

使用 J-Link 和 J-Flash 烧写固件时,确定烧写地址和启动程序涉及到以下几个步骤:

确定烧写地址

  1. 查看微控制器的数据手册或参考手册:数据手册会提供内存映射的详细信息,包括程序内存(通常是 Flash)的起始地址。对于 ARM Cortex-M 系列微控制器,Flash 的起始地址通常是 0x08000000,但具体取决于具体的微控制器。

  2. 查看链接器脚本:如果你有访问原始项目的权限,链接器脚本(通常以 .ld 结尾)会指定程序应该被烧写在哪个地址。链接器脚本中的 MEMORY 部分会列出不同内存区域的地址和大小。

  3. 查看固件/二进制文件:如果你有 .hex.elf 文件,这些格式包含了内存地址的信息。对于 .bin 文件,通常需要外部信息来确定起始地址,因为 .bin 文件本身不包含地址信息。

推荐阅读
https://blog.csdn.net/m0_37636212/article/details/127440436

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/310740.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三款ttp223触摸开关电路图分享

ttp223触摸开关电路图(一) 2.5V~5V宽电压工作范围、3uA~5uA超低工作电流。 SOT23-6封装,属业界最小,设计方便。 外围只需一颗CS电容,设计简单。 感测距离达5cm以上,可通过改变CS电容参数调整感测距离。…

《Linux系统与网络管理》复习题库---shell编程题

1、shell 编程题:在根目录下有四个文件 m1.c,m2.c,m3.c,m4.c,用 Shell 编程,实现自动创建 m1,m2,m3,m4 四个目录,并将 m1.c,m2.c,m3.c,m4.c 四个文件分别剪贴到各自相应的目录下。 #!/bin/bash…

通信原理课设(gec6818) 009:结课大工程!(GG爆主题小平板)

给大家完整介绍一遍我们小平板的功能,提供一丢丢方向。由于最后答辩较急,没有拍照,照片都是从视频里面截取下来的。大家将就看看吧(^_^) 1、滑动解锁 2、Loading 3、解锁 这里说明一下,我们解锁的方式有两种&#xf…

智慧园区物联综合管理平台之架构简述

总体架构 系统总体划分为物联感知系统层、 核心平台层、 综合运营服务平台和展示层四部分。 物联感知系统层 物联感知系统主要是支撑园区智能化运行的各子系统, 包括门禁系统、 视频监控系统、 车辆管理系统等。 核心平台层 核心平台层包括: 园区物联综合管理平台和园区…

路在脚下——我的 2023 年终总结

写下这个题目的时候,我刚从外面跑步(有积雪,边走边跑)近 8 公里回来。一是寻找一下灵感,二是“排解”一下负能量。 今年这个形势,实话说大家都挺不容易的。但是,正如本山大叔所说,“…

搞知识竞赛活动要做哪些准备工作

举办知识竞赛,大量的精力和时间投入是在筹划准备阶段。诸如竞赛的策划布置、题库的设计建立、参赛人员的复习准备、竞赛器具的购置、赛场的布置安装、对各环节的督促检验等一系列工作,都是在此期间进行和完成的。无论哪一环节出现疏漏偏差,都…

Python中matplotlib使用3

在matplotlib中,可以将数据用离散的点来表示,这种表示方式叫做散点图。 1 基本的散点图 可以使用matplotlib.pyplot库中的scatter()方法绘制散点图,代码如图1所示。 图1 绘制基本散点图的代码 从图1中可以看出,scatter()方法的…

vue保姆级教程----组件之间的参数传递

📢 鸿蒙专栏:想学鸿蒙的,冲 📢 C语言专栏:想学C语言的,冲 📢 VUE专栏:想学VUE的,冲这里 📢 CSS专栏:想学CSS的,冲这里 &#x1f4…

AI 开发必看的 6 款开源矢量数据库

你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。 如果我的分享对你有帮助,请关注我,一起向上进击。 创作不易,希望大家给一点鼓励,把公众号设置为…

结构体:枚举

#include<iostream> using namespace std; int main() {enum weekday { mon, tus, wed, thu, fri, sat,sun }; //声明枚举类型 enum weekday day; //定义枚举变量 int a, b, c, d, e, f, g, loop; //定义整型变量 char ch A; //定义字符变量 f thu; //按照题意&a…

FreeRTOS列表与列表项相关知识总结以及列表项的插入与删除实战

1.列表与列表项概念及结构体介绍 1.1列表项简介 列表相当于链表&#xff0c;列表项相当于节点&#xff0c;FreeRTOS 中的列表是一个双向环形链表 1.2 列表、列表项、迷你列表项结构体 1&#xff09;列表结构体 typedef struct xLIST { listFIRST_LIST_INTEGRITY_CHECK_VAL…

【Java系列】Iterator

Iterator&#xff08;迭代器&#xff09; Java Iterator&#xff08;迭代器&#xff09;迭代器接口定义了几个方法&#xff0c;最常用的是以下三个&#xff1a; Iterator 类位于 java.util 包中&#xff0c;使用前需要引入它&#xff0c;语法格式如下&#xff1a;获取一个迭代器…