痞子衡嵌入式:超级下载算法RT-UFL v1.0发布,附J-Link下安装教程
痞子衡主导的"学术"项目 《RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计》 历时 8 个月终于迎来了 v1.0 版发布,因为是第一个正式版,为了保证质量,痞子衡做了大量的测试工作,几乎测遍了恩智浦官方 IMXRT-EVK 板(部分板子上还更换过不同型号Flash),确认全部板卡均测试通过,RT-UFL 达到了发布条件。
- RT-UFL v1.0下载地址: https://github.com/JayHeng/RT-UFL/archive/refs/tags/v1.0.zip
超级下载算法 RT-UFL v1.0 版本主要针对 Segger J-Link 调试器,这也是本项目最原始的需求。当然为了能扩展支持各种 DAP-Link 类调试器,项目还有其他分支,即与 IDE 紧相关的下载算法,这些分支会在后续的版本里陆续完善。
一、在J-Link下安装
要使用 Segger J-Link 调试器去下载 Flash,就离不开 J-Link 的下载算法,可以先浏览一遍痞子衡旧文 《串行NOR Flash下载算法(J-Link工具篇)》,对 J-Link 下载算法有个初步设计,超级下载算法 v1.0 其实就是 J-Link 下载算法的一种特殊实现。
1.1 安装J-Link驱动
Segger J-Link 调试器的功能离不开上位机的 J-Link 软件驱动,痞子衡手头的硬件调试器是正版 J-Link Plus v10.1,它可以配合不同版本 J-Link 驱动使用(如果安装新版软件驱动,在第一次使用时,硬件调试器里的 MCU 固件可能会被建议更新)。
- J-Link驱动下载地址: https://www.segger.com/downloads/jlink
我们可以从 Segger 官网下载到所有历史版本 J-Link 驱动,默认总是下载最新版本驱动,但是痞子衡不能保证超级下载算法总是适用最新版软件驱动,所以还是建议下载安装 v6.86f 版本驱动,这个版本是痞子衡实测的版本。
1.2 打入超级下载算法补丁包
安装好 J-Link 驱动,下一步就是将超级下载算法源文件以补丁形式放入 J-Link 驱动,打补丁其实很简单,就是把 \RT-UFL-1.0\algo\SEGGER\JLink_Vxxx 路径下的全部文件拷贝覆盖到 \SEGGER\JLink_V686f\ 目录下即可。
1.3 使用J-Flash测试
打完超级下载算法补丁后,可以先用 J-Link 驱动里的 JFlash 上位机软件测试一下功能。双击打开 JFlash.exe 软件,在新建工程 "Target device" 选项框里输入 "UFL" 选择对应 i.MXRT 芯片型号即可,其中 _L0 后缀算法适用于 QSPI Flash 和 Octal Flash(Page 大小是256 Bytes,Sector 大小是 4KB),_L1/2 后缀算法适用于 Hyper Flash(Page大小是512 Bytes,Sector 大小是 4KB/64KB)。
痞子衡测试的板卡是 MIMXRT1062-EVK,板载 Flash 为 IS25WP064A,这是颗典型的 QSPI Flash,因此建 J-Flash 工程时选择 "MIMXRT1060_UFL_L0",然后选择你要下载的 App 镜像文件,依次点击菜单栏 "Target" 里的 Connect 和 Production Programming 操作即可完成超级下载算法的测试。
- Note: 建议将 i.MXRT 的 Boot Mode 设为从 Flash 启动,并且保证 Flash 里已有 App 是能正常启动的(即 App 没有跑飞)。
1.4 指定J-Link驱动给IDE
超级下载算法除了在 J-Flash 下量产使用之外,还会在各大 IDE 下用于辅助在 Flash 下载调试。因此我们需要将打过超级下载算法补丁的 J-Link v6.86f 驱动指定到各 IDE 下(用于取代各 IDE 下自带的 J-Link 驱动),这里借助 JLinkDLLUpdater.exe 软件来实现。注意 MCUXpresso IDE 不能被自动识别,其指定 J-Link 驱动方法见下文。
二、在各IDE下使用
每个 IDE 一般都有自定义的下载算法,这个下载算法常常是配套 DAP-Link 类调试器使用的,当然在 J-Link 调试器下一样可以使用(MCUXpresso IDE除外)。关于各 IDE 算法设计参看痞子衡旧文:
《串行NOR Flash下载算法(MCUXpresso IDE篇)》
《串行NOR Flash下载算法(IAR EWARM篇)》
《串行NOR Flash下载算法(Keil MDK篇)》
现在我们有了基于 J-Link 的超级下载算法,这个下载算法是否可以在各 IDE 下直接使用呢?答案是肯定的,由于每个 IDE 下具体设置不一,痞子衡会另写文章一一介绍。
欢迎订阅
文章会同时发布到我的 博客园主页、CSDN主页、知乎主页、微信公众号 平台上。
微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:超级下载算法RT-UFL v1.0发布,附J-Link下安装教程的更多相关文章
- 痞子衡嵌入式:i.MXRT连接特殊Octal Flash时(OPI DTR模式下反转字节序)下载与启动注意事项(以MX25UM51245为例)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是OPI DTR模式下反转字节序的Octal Flash在i.MXRT下载与启动注意事项. 在恩智浦官方参考设计板 MIMXRT595-E ...
- 痞子衡嵌入式:超级下载算法RT-UFL v1.0在恩智浦MCUXpresso IDE下的使用
痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> v1.0 版发布近 4 个月了,部分客户已经在实际项目开发调试中用上了这个 ...
- 痞子衡嵌入式:超级下载算法RT-UFL v1.0在IAR EW for Arm下的使用
痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> v1.0 版发布近 4 个月了,部分客户已经在实际项目开发调试中用上了这个 ...
- 痞子衡嵌入式:超级下载算法RT-UFL v1.0在Keil MDK下的使用
痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> v1.0 版发布近 4 个月了,部分客户已经在实际项目开发调试中用上了这个 ...
- 痞子衡嵌入式:超级下载算法RT-UFL v1.0在Segger Ozone下的使用
痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> v1.0 版发布近 4 个月了,部分客户已经在实际项目开发调试中用上了这个 ...
- 痞子衡嵌入式:超级下载算法(RT-UFL)开发笔记(2) - 识别当前i.MXRT型号
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是超级下载算法开发笔记(2)之识别当前i.MXRT型号. 文接上篇 <超级下载算法(RT-UFL)开发笔记(1) - 执行在不同CM ...
- 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.3)- 串行NOR Flash下载算法(J-Link工具篇)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是J-Link工具下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash X ...
- 痞子衡嵌入式:RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计
大家好,我是痞子衡,是正经搞技术的痞子.今天给大家带来的是痞子衡的开源项目 RT-UFL. 痞子衡在近两年多的i.MXRT客户项目支持过程中,遇到的一个相当高频的问题就是制作i.MXRT下载算法.我们 ...
- 痞子衡嵌入式:超级下载算法(RT-UFL)开发笔记(1) - 执行在不同CM内核下
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是超级下载算法开发笔记(1)之执行在不同CM内核下. 文接上篇 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计&g ...
随机推荐
- C#基础之==(双等于号)与equals()区别
C#中Equals和= =比较 这两种方式也是大家在日常编码工作当中用的比较多的判断方式.之前在使用的时候也没太关注两者在比较不同类型的时候存在哪些区别. 今天就和大家一起深入了解一下其中区别 一.值 ...
- 佳能m62套机5500 佳能EOS M50 M6 MARK2 II二代 最低到过5800
佳能m62套机5500 佳能EOS M50 M6 MARK2 II二代
- CentOS 7.6 操作系统 安装指导书 (鲲鹏920处理器) 01
若需要手动调整预留内存大小,请参考如下配置进行调整. 以下以配置crashkernel为512M为例进行操作说明: 命令行执行命令vi /etc/default/grub,配置"crashk ...
- 10.27-Redis-mz 深入浅出Redis
深入浅出Redis 1.Redis的发展史 Redis[Remote Directory Server]:远程服务器字典 2.下载安装Redis 1>Linux下安装Reids ...
- numpy tile()函数
tile(A,B)即在B的方向上,重复A 直接举栗子: A=[1,2] tile(A,2) 此时B=(2) ,B的方向仅包含列方向,将A在列方向上重复一次,得出结果如图1所示 图1-将A在列方向重 ...
- 19c PDB数据泵迁入
1.问题描述 用数据泵进行pdb的迁入迁出,模拟测试将其他库的数据导入到19cpdb中 2.环境介绍 source:12.2.0.1.0 target:19.0.0.0.0 3.源端制造数据 创建表空 ...
- iapp后台一本通php源码+iapp源码
给大家分享一个后台源码,内有后台php源码,还有iapp对接源码,一本通 iapp+ PHP源码 经过一个小时的研究看看,测试了一下, 1.注册登录以修复正常,签到正常 2.所有工具正常 3.接口,i ...
- [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings
[论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 本文结构 解决问题 主要贡献 算法原理 参考文 ...
- 『言善信』Fiddler工具 — 3、Fiddler界面布局详解【菜单栏】
目录 (一)Fiddler界面布局介绍 (二)菜单栏 1.File文件菜单: 2.Edit编辑菜单: 3.Rules规则菜单: 4.Tools工具菜单: 5.View视图菜单: 6.Help帮助菜单: ...
- Django 自定义表名和字段名
Django 自定义表名和字段名 通过db_table和db_column自定义数据表名和字段名 假如你的数据库里已经有了一张数据表,且该表包含多个字段,你希望通过Django直接访问该数据表的各个字 ...