查看: 2215|回复: 4

[分享] [痞子衡]超级下载算法 RT-UFL v1.0发布了

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3303

    主题

    6550

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

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

    11.png
    超级下载算法 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 版本驱动,这个版本是痞子衡实测的版本。
    12.png
    1.2 打入超级下载算法补丁包
    安装好 J-Link 驱动,下一步就是将超级下载算法源文件以补丁形式放入 J-Link 驱动,打补丁其实很简单,就是把 \RT-UFL-1.0\algo\SEGGER\JLink_Vxxx 路径下的全部文件拷贝覆盖到 \SEGGER\JLink_V686f\ 目录下即可。
    13.png
    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)。
    14.png
    痞子衡测试的板卡是 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 没有跑飞)。
    15.png
    1.4 指定J-Link驱动给IDE
    超级下载算法除了在 J-Flash 下量产使用之外,还会在各大 IDE 下用于辅助在 Flash 下载调试。因此我们需要将打过超级下载算法补丁的 J-Link v6.86f 驱动指定到各 IDE 下(用于取代各 IDE 下自带的 J-Link 驱动),这里借助 JLinkDLLUpdater.exe 软件来实现。注意 MCUXpresso IDE 不能被自动识别,其指定 J-Link 驱动方法见下文。
    16.png
    二、在各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 下具体设置不一,痞子衡会另写文章一一介绍。

    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 15:27
  • 签到天数: 1336 天

    [LV.10]以坛为家III

    88

    主题

    4293

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9054
    最后登录
    2024-5-2
    发表于 2021-6-28 09:57:34 | 显示全部楼层
    还从来没有考虑过下载性能问题。
    一直都是“能下载就可以了”

    进步提高,就是对细节的不断精益求精呀

    膜拜一下楼主
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-24 18:42
  • 签到天数: 206 天

    [LV.7]常住居民III

    18

    主题

    312

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2756
    最后登录
    2024-4-29
    发表于 2021-6-29 09:33:12 | 显示全部楼层
    很酷!赞!
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    19 小时前
  • 签到天数: 1055 天

    [LV.10]以坛为家III

    0

    主题

    1519

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    4058
    最后登录
    2024-5-3
    发表于 2021-6-29 12:24:17 | 显示全部楼层
    感谢分享
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2022-12-28 11:05
  • 签到天数: 49 天

    [LV.5]常住居民I

    0

    主题

    111

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    387
    最后登录
    2023-12-29
    发表于 2021-6-30 12:03:32 | 显示全部楼层
    感谢分享
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-3 19:02 , Processed in 0.129989 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表