痞子衡主导的"学术"项目 《RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计》 历时 8 个月终于迎来了 v1.0 版发布,因为是第一个正式版,为了保证质量,痞子衡做了大量的测试工作,几乎测遍了恩智浦官方 IMXRT-EVK 板(部分板子上还更换过不同型号Flash),确认全部板卡均测试通过,RT-UFL 达到了发布条件。

  超级下载算法 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 固件可能会被建议更新)。

  我们可以从 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下安装教程的更多相关文章

  1. 痞子衡嵌入式:i.MXRT连接特殊Octal Flash时(OPI DTR模式下反转字节序)下载与启动注意事项(以MX25UM51245为例)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是OPI DTR模式下反转字节序的Octal Flash在i.MXRT下载与启动注意事项. 在恩智浦官方参考设计板 MIMXRT595-E ...

  2. 痞子衡嵌入式:超级下载算法RT-UFL v1.0在恩智浦MCUXpresso IDE下的使用

    痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> v1.0 版发布近 4 个月了,部分客户已经在实际项目开发调试中用上了这个 ...

  3. 痞子衡嵌入式:超级下载算法RT-UFL v1.0在IAR EW for Arm下的使用

    痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> v1.0 版发布近 4 个月了,部分客户已经在实际项目开发调试中用上了这个 ...

  4. 痞子衡嵌入式:超级下载算法RT-UFL v1.0在Keil MDK下的使用

    痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> v1.0 版发布近 4 个月了,部分客户已经在实际项目开发调试中用上了这个 ...

  5. 痞子衡嵌入式:超级下载算法RT-UFL v1.0在Segger Ozone下的使用

    痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> v1.0 版发布近 4 个月了,部分客户已经在实际项目开发调试中用上了这个 ...

  6. 痞子衡嵌入式:超级下载算法(RT-UFL)开发笔记(2) - 识别当前i.MXRT型号

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是超级下载算法开发笔记(2)之识别当前i.MXRT型号. 文接上篇 <超级下载算法(RT-UFL)开发笔记(1) - 执行在不同CM ...

  7. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.3)- 串行NOR Flash下载算法(J-Link工具篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是J-Link工具下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash X ...

  8. 痞子衡嵌入式:RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计

    大家好,我是痞子衡,是正经搞技术的痞子.今天给大家带来的是痞子衡的开源项目 RT-UFL. 痞子衡在近两年多的i.MXRT客户项目支持过程中,遇到的一个相当高频的问题就是制作i.MXRT下载算法.我们 ...

  9. 痞子衡嵌入式:超级下载算法(RT-UFL)开发笔记(1) - 执行在不同CM内核下

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是超级下载算法开发笔记(1)之执行在不同CM内核下. 文接上篇 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计&g ...

随机推荐

  1. 5Spring动态代理开发小结

    5Spring动态代理开发小结 1.为什么要有动态代理? 好处 1.利于程序维护 2.利于原始类功能的增强 3.得益于JDK或者CGlib等动态代理技术使得程序扩展性很强 为什么说使得程序扩展性很强? ...

  2. [刷题] 198 House Robber

    要求 你是一个小偷,每个房子中有价值不同的宝物,但若偷连续的两栋房子,就会触发报警系统,求最多可偷价值多少的宝物 示例 [3,4,1,2],返回6[3,(4),1,(2)] [4,3,1,2],返回6 ...

  3. 折腾gcc/g++链接时.o文件及库的顺序问题

    gcc/g++链接时.o文件以及库的顺序问题 1 写在前面 最近换了xubuntu12.4,把原来的项目co出来编译的时候报"undefined reference to".猜测是 ...

  4. 创建用户(adduser和useradd)和删除用户(userdel)

    创建用户(adduser和useradd)和删除用户(userdel)及   一  用户创建命令: # adduser  用户名 # useradd  用户名 1) useradd 与 adduser ...

  5. JDK版本升级

    背景:本来安装了一个1.6版本的JDK,因为版本过低需要升级成1.8 安装过程很简单一路next,主要是遇到几个问题需要备注一下解决方法. Error opening registry key'sof ...

  6. 端口映射(socket应用)

    # coding=gb2312 import sys import time import socket import thread import subprocess ############### ...

  7. http keep-alive 的一些理解

    在日常的工作中涉及到了关于检测用户是否在线的功能需求,在方案设计过程中考虑过使用http-keepalive的方式,由于我们获取到的keepalive是经过nginx转发的keep-alive,所以最 ...

  8. Tomcat 中文乱码

    问题描述 tomcat9启动后会有中文乱码,比如控制台乱码: startup.bat启动时乱码: 解决方法 打开"/apache-tomcat-9.0.20/conf/logging.pro ...

  9. 关于Linux的一些基础命令

    今天学习scala语言,在linux系统上运行,发现对Linux的命令不太熟悉,为了熟悉掌握,也便于查询,这些命令主要是为了收藏备用,,希望能帮助到大家 linux20个常用命令是: 1.显示日期的指 ...

  10. Celery 架构组成

    Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务(async task)和定时任务(cron ...