痞子衡嵌入式:超级下载算法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 ...
随机推荐
- DLL注入技术(输入法注入)
输入法注入原理 IME输入法实际就是一个dll文件(后缀为ime),此dll文件需要导出必要的接口供系统加载输入法时调用.我们可以在此ime文件的DllMain函数的入口通过调用LoadLibrary ...
- training11.14
7-10 关于堆的判断 (25分) 题目:将一系列给定数字顺序插入一个初始为空的小顶堆H[].随后判断一系列相关命题是否为真.命题分下列几种: x is the root:x是根结点: x and ...
- C#读写内置类型的数据时是否原子操作
Reads and writes of the following data types are atomic: bool, char, byte, sbyte, short, ushort, uin ...
- 如何用Vim搭建IDE?
推荐:http://harttle.com/2015/07/18/vim-cpp.html 转自:http://harttle.com/2015/11/04/vim-ide.html 一年前我从Vim ...
- 动态内存:delete作用于空指针
在学习<C++primer 第五版>(中文版)中第12章动态内存与智能指针的时候遇到了一个习题,练习12.13: 练习 12.13:如果执行下面的代码,会发生什么? auto sp=mak ...
- C#基础之==(双等于号)与equals()区别
C#中Equals和= =比较 这两种方式也是大家在日常编码工作当中用的比较多的判断方式.之前在使用的时候也没太关注两者在比较不同类型的时候存在哪些区别. 今天就和大家一起深入了解一下其中区别 一.值 ...
- 原生JS和jQuery创建元素的方法
jQ创建元素的方法 1.原生代码 .creatElement('tr')` .innerHTML = '<h1>加油</h1>' document.write('<h1& ...
- Linux命令行欢迎界面美化
默认的SSH命令行登录欢迎界面如下 [c:\~]$ Connecting to 10.x.13.x:22... Connection established. To escape to local s ...
- C/C++ 复习
本文总结一下C++面试时常遇到的问题.C++面试中,主要涉及的考点有 关键字极其用法,常考的关键字有const, sizeof, typedef, inline, static, extern, ne ...
- Java Bean(Day_05)
我们一路奋战,不是为了改变世界,而是为了不让世界改变我们. 运行环境 JDK8 + IntelliJ IDEA 2018.3 本文中使用的jar包链接 https://files.cnblogs.co ...