查看: 1629|回复: 0

[讨论] [痞子衡]超级下载算法在Segger Ozone下的使用

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

    [LV.8]以坛为家I

    3303

    主题

    6550

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32055
    最后登录
    2024-4-30
    发表于 2021-11-5 14:56:08 | 显示全部楼层 |阅读模式
    超级下载算法在Segger Ozone下的使用
    痞子衡主导的"学术"项目 《RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计》 v1.0 版发布近 4 个月了,部分客户已经在实际项目开发调试中用上了这个超级下载算法,目前反馈还可以,但这个超级下载算法远未到成熟状态,痞子衡正在策划 v2.0 版本。


    RT-UFL v1.0下载地址:https://github.com/JayHeng/RT-UFL/archive/refs/tags/v1.0.zip
    超级下载算法 RT-UFL v1.0 版本主要针对 Segger J-Link 调试器,开发测试也都是在 J-Link Commander 和 J-Flash 软件下进行的,但其实它也适用各大常用 IDE,前面痞子衡分别介绍了超级下载算法在 MCUXpresso IDE / IAR / MDK 下的使用,但如果我们只有一个程序可执行文件或镜像文件,没有对应完整源代码工程,还能不能愉快地在线调试?当然可以!今天我们来聊聊它在一个类 IDE 神器软件 Segger Ozone 下的使用:


    一、Segger Ozone简介
    Ozone 是 Segger 公司出品的一款配套 J-Link 仿真器使用的应用程序调试与性能分析软件,其界面风格跟一般的 IDE 很像,能够提供 IDE 下所支持的全部调试功能(单步,断点,看反汇编,查寄存器,查变量,查内存等),并且还提供更高级的性能分析功能(函数调用追踪,变量值实时采样,功耗测量等)。


    Ozone 仅以常见 IDE 生成的可执行文件(.elf、.axf、.out) 或镜像文件(.hex、.srec、.bin)为输入源,支持的工具链 /IDE 包含 GCC、Clang、Keil MDK、IAR 等,简单说 Ozone 相比 IDE 除了不能编译链接源代码外,其他方面跟 IDE 一样。
    14.png
    二、准备测试环境
    现在需要准备好测试环境,包含必要的软件和硬件,痞子衡的环境如下:


    开发调试环境:Segger Ozone v3.24g,点此下载
    软件开发包:SDK_2.10.0_EVKB-IMXRT1050,点此下载
    软件驱动:J-Link driver v6.86f,点此下载
    硬件工具:J-Link Plus调试器
    硬件开发板:MIMXRT1050-EVKB (Rev.A1)
    上述软件环境里,J-Link 软件驱动、Ozone 版本、SDK 软件包版本之间没有明确依赖关系。J-Link 软件驱动也不是一定限制在 v6.86f,只是超级下载算法 v1.0 是在这个版本下详细测试的,其他 J-Link 版本也可能适合,具体需要进一步测试。


    三、在Segger Ozone下使用步骤
    3.1 将超级下载算法包打进J-Link驱动
    第一步其实跟 Ozone 无关,因为是基于 J-Link 的超级下载算法,所以要给 J-Link 软件驱动先打个更新包,具体参照 《超级下载算法RT-UFL v1.0发布,附J-Link下安装教程》 一文。


    Note:痞子衡将 J-Link 软件驱动安装在了 C:\tools_mcu\SEGGER\JLink_V686f。
    3.2 为Ozone指定包含超级下载算法的J-Link驱动
    然后我们需要指定 Ozone 去使用包含超级下载算法的 J-Link 驱动,在 \SEGGER\JLink_V686f 目录下,有一个名为 JLinkDLLUpdater.exe 的小工具,双击这个工具,便可看到其搜索到了当前 PC 环境下安装的 IDE 列表,有我们正在使用的 Ozone,勾选上 Ozone 便能完成 J-Link 驱动的指定。
    15.png
    3.3 准备一个SDK工程可执行文件/镜像文件
    现在我们需要一个 IDE 工程,这里我们直接打开 \SDK_2.10.0_EVKB-IMXRT1050\boards\evkbimxrt1050\demo_apps\led_blinky 工程,注意将工程切换到 flexspi_nor build,即代码 XIP 执行版本,编译链接 led_blinky 工程得到可执行文件或者镜像文件。


    Note: 检查一下 IDE 工程里的 Flash 启动头(evkbimxrt1050_flexspi_nor_config.c)是否与板卡上的实际 Flash 型号相匹配。
    如果给 Ozone 提供的是镜像文件(.hex、.srec、.bin),仅能从汇编代码以及内存、寄存器窗口去调试;如果给 Ozone 提供的是可执行文件(.elf、.axf、.out),则调试体验更丰富,可以查看源 C 代码以及变量,推荐使用可执行文件在 Ozone 下去调试。注意在 IDE 里生成可执行文件时,需要勾选生成调试信息,不同 IDE 下设置不同:


    IAR 工程选项里 Linker / Output 设置里勾选 Include debug information in output:
    16.png
    Keil 工程选项里 Output 设置里勾选 Debug Information:
    17.png
    3.4 打开Ozone选择合适的超级下载算法
    首次打开 Ozone 会弹出工程向导,需要设置 Device,这里就是设置超级下载算法代号(工程向导里不设置的话,后面在菜单栏 Tools / J-Link Settings 里随时可更改),本次测试我们需要的是 MIMXRT1050_UFL_L1 算法。选定下载算法后,再选择可执行文件便进入 Ozone 主界面。


    Note: 超级下载算法具体代号详见 C:\tools_mcu\SEGGER\JLink_V686f\JLinkDevices.xml 文件,代号后缀 _L0 适用 QSPI 和 Octal Flash,代号后缀 _L1/L2 适用 Hyper Flash。
    18.png
    3.5 确保板卡处于Flash启动模式,开始下载调试
    将板卡供上电,确保板卡处于 NOR Flash 启动模式(Boot Mode 以及 Boot Cfg 要设置正确)。再将 J-Link 仿真器连接上板卡,点击 Ozone 菜单栏 Start Debug Session / Download & Reset Program 进行下载调试就可以了。
    19.png

    签到签到
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-2 20:01 , Processed in 0.108834 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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