[MM32生态]

使用 J-Flash 实现对 MM32 芯片的烧录

[复制链接]
1436|11
手机看帖
扫描二维码
随时随地手机跟帖
victory007|  楼主 | 2024-4-12 09:44 | 显示全部楼层 |阅读模式
本帖最后由 victory007 于 2024-4-12 13:07 编辑

使用 J-Flash 实现对 MM32 芯片的烧录
简介
介绍如何使用 J-Flash 软件来烧录程序,描述MM32 系列产品在基于 J-Flash 结合 J-Link 用于 Flash 编程时所需要的设置与操作流程及注意事项,目的是保证目标芯片的成功烧录。

1 使用 J-Flash 烧录固件
在开发产品的过程中,一般通过 IDE 例如 IAR 或 KEIL 的下载按钮将程序固件烧录到目标 MM32 series 芯片中,完成程序烧录后,进行调试验证。如果需要实现小批量的试生产烧录,除了使用与夹具配合的专用第三方脱机烧录工具,来实现批量烧录外,还可以通过 Segger 公司的 J-Flash 配合 J-LINK Plus或 J-Flasher 来实现小批量的生产烧录。

J-Flash 软件是一款独立的编程软件,包含在 J-LINK 驱动包中,在安装 J-LINK驱动包后,它就在应用列表中了。J-Flash 可在无需 KEIL 或 IAR 的项目工程文件的情况下,直接烧录固件文件(Bin 或 Hex 文件)。配合 Segger J-Link Plus以上版本仿真器或 J-Flasher 系列编程器产品,用户可以免费使用该软件。

1.1 下载 J-LINK 驱动程序
SEGGER J-Link 驱动程序在 Segger 官网的下载地址如下:https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack
Segger J-Link 软件兼容 32 位与 64 位 windows 操作系统和 Linux 等操作系统。

1.2 安装 J-LINK 驱动程序
打开安装包,执行安装程序:点击下一步;安装完成后,在程序菜单栏中可以看到支持的程序

1.3 建立 J-LINK 烧录 Project
1.3.1 选择目标 Device Name
打开 J-Flash V7.22b,点击 File New Project:
选择从 Manufacturer 中选“MindMotion”,可以找到已经支持 MM32 的器件列表。

MindMotion 的产品发布更新比较快,可以通过安装 MindMotion 的 J-Link Pack支持包,实现支持 MindMotion 全系列的芯片安装包中包含如下内容:
按照如下操作添加 Device Name:
以使用 JLINK V7.22b 安装到 C:\Program Files (x86)\SEGGER\JLink_V722b 目录为例,如果 JLINK 安装到其他目录的话,要以实际安装目录为准。使用 J-Flash 实现对 MM32 芯片的烧录

(1)把压缩包中的 JLINKDevice.xml 文件复制到 JLINKDriver 的安装目录:C:\Program Files (x86)\SEGGER\JLink_V722b替换该目录下的原文件 JLinkDevices.xml;
(2)把压缩包中的 Devices 文件夹下 MindMotion 文件夹复制到:C:\Program Files (x86)\SEGGER\JLink_V722b\Devices 如果原 Device 文件夹中有 MindMotion 文件夹,可以删除后,重新复制最新的MindMotion 文件夹。这样所有的 Device Name 就都添加成功了。

1.3.2 选择待烧录 Device Name
选择目标芯片对应的 Device Name,在此以带 16bytes Option Bytes(即支持Option Bytes 操作)的芯片为例

1.3.3 选择待烧录文件
选择目标芯片对应的 Device Name,在此以带 16bytes Option Bytes(即支持Option Bytes 操作)的芯片为例

1.3.4 完成项目设置
点击 Option  Project Setting 打开项目的设置选项卡。可以在 Target Interface 中设置 JLINK 与 PC 的连接方式,在 Target Interface 中设置为SWD 接口,及相关的接口速度。

在 MCU 项中,如下配置信息需要重点关注:
A. 确保 Check Core ID 不勾选,即不要选中 Check Core ID。
B. 在 Flash 选项卡中,选择 Bank1(Option Bytes),其中 Disable flash bank勾选,即禁止操作当前 flash bank 即 Bank1(Option Bytes)。MM32 MCU 系列使用不同的读保护的操作。不使能 0x1FFFF800 模块的擦除与编程动作,统一不同系列的操作。
C. 在 Product 选项,确保 Flash Erase 为 Chip。使用 Chip 模式可以实现对全芯片的擦除,解除读保护。而选择 Sectors 模式,只可以支持当前 Sector 的代码烧录,不支持对全芯片的擦除,不支持解除读保护。
D. 在 Performance 选项,选择 verify by read back。可实现对每一个 bit 的校验。

1.3.5 完成烧录与校验
在完成上述配置后,可以通过点 Connect,连接 JLINK 与目标 MCU。执行 Erase Chip F4 实现对目标 MCU 的全片擦除与解除读保护。执行 Program & Verify F6 完成烧录与校验。



使用特权

评论回复
b5z1giu| | 2024-4-27 13:37 | 显示全部楼层
这不是正常烧录就行?

使用特权

评论回复
liu96jp| | 2024-4-27 13:41 | 显示全部楼层
如果连接芯片却连接不上,建议给目标芯片单独供电哈

使用特权

评论回复
d1ng2x| | 2024-4-27 14:42 | 显示全部楼层
需要先选择对应的芯片型号,然后选择固件,选择连接芯片,然后烧录就可以了

使用特权

评论回复
q1ngt12| | 2024-4-27 15:45 | 显示全部楼层
一般jlink是最常用的了吧,烧录应该很简单

使用特权

评论回复
suw12q| | 2024-4-27 16:51 | 显示全部楼层
其实jlink建议买V9,支持的芯片比较多

使用特权

评论回复
tax2r6c| | 2024-4-27 18:07 | 显示全部楼层
有些时候还可以使用jlink做加密呢,非常方便

使用特权

评论回复
su1yirg| | 2024-4-27 19:12 | 显示全部楼层
Jlink的烧录MM32确实可以,而且速度还很快

使用特权

评论回复
lamanius| | 2024-4-27 20:18 | 显示全部楼层
建议使用DAPlink就行,jlink有点小贵,哈哈

使用特权

评论回复
lix1yr| | 2024-4-28 07:23 | 显示全部楼层
讲的很细了,其实配置什么ID之类的,都没必要的

使用特权

评论回复
kaif2n9j| | 2024-4-28 08:25 | 显示全部楼层
我觉得烧录之后就可以了,校验的话都是默认的,不用管

使用特权

评论回复
victory007|  楼主 | 2024-4-28 09:42 | 显示全部楼层
lamanius 发表于 2024-4-27 20:18
建议使用DAPlink就行,jlink有点小贵,哈哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

146

主题

239

帖子

0

粉丝