首页 > 其他分享 >痞子衡嵌入式:MCUBootUtility v6.3发布,支持获取与解析启动日志zi

痞子衡嵌入式:MCUBootUtility v6.3发布,支持获取与解析启动日志zi

时间:2024-09-21 14:04:10浏览次数:6  
标签:v6.3 zi 启动 MCUBootUtility 支持 擦除 Flashloader 日志 RT700

--
  痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v5.3.0)发布过去一年了,期间痞子衡也做过三个版本更新,但不足以单独介绍。这一次痞子衡为大家带来了全新重要版本v6.3.x,这次更新主要是想和大家特别聊聊 ROM 启动日志这个特性的支持。

一、v6.0 - v6.3更新记录

-- v5.3.2
Improvement:
    1. [RTyyyy] 使能 RT1180 的 XMCD 支持
Bufixes:
    1. [RTyyyy] XMCD配置界面里write dummy cycle设置不生效

-- v6.0.0
Features:
    1. [Wireless] 支持K32W0x1
    2. [Wireless] 支持RW61x
    3. [RW61x] 支持裸应用程序文件作为输入源文件
    4. [RW61x] 支持UART和USB-HID两种下载方式(COM端口/USB设备自动识别)
    5. [RW61x] 支持用于开发阶段的非安全加密启动(未签名)
    6. [RW61x] 支持FlexSPI NOR启动设备
Bufixes:
    1. [RTyyyy] 修复对第二个FlexSPI NOR设备的下载支持
    2. [RTxxx] 修复对FlexSPI NOR设备的下载支持

-- v6.1.0
Features:
    1. [RTxxx] 支持i.MXRT700 A0
    2. [RT700] 支持裸应用程序文件作为输入源文件
    3. [RT700] 支持UART和USB-HID两种下载方式(COM端口/USB设备自动识别
    4. [RT700] 支持用于开发阶段的非安全加密启动(未签名)
    5. [RT700] 支持XSPI NOR启动设备

-- v6.2.0
Features:
    1. [RT700] 支持下载程序进第二个XSPI上连接的启动设备
Bufixes:
    1. [RT700] 当NOR Flash的FDCB区域非空时,下载可能报错
    2. [RT700] 当待下载程序链接在安全SRAM地址时,下载会报错

-- v6.3.0
Features:
    1. [RT] 可以支持获取并解析ROM启动日志
Improvement:
    1. [RT] 对FlexSPI NOR设备做擦除时,可自定义对齐长度
    2. [RT1170] 增加对英飞凌S28H系列Octal Flash支持

二、几个不可忽视的更新

2.1 初步支持RT700

  i.MX RT700 是 RT 三位数家族最新一代旗舰产品,是 i.MX RT500 的升级,可以说是恩智浦有史以来最强大最复杂的 MCU。鉴于官网还没有发布这颗芯片,这里暂不过多介绍了。

2.2 支持自定义FlexSPI NOR设备擦除对齐长度

  我们知道软件对于 RT 四位数的启动设备下载支持,靠得是加载二级 Flashloader 实现的。无论是一键下载模式,还是通用编程器模式,软件都会将擦除范围参数(起始地址,长度)传递给 Flashloader 处理,而 Flashloader 里会自动做对齐处理(根据实际情况,组合 Block 和 Sector 擦除命令,比如粗粒度先用 Block 擦除,细粒度再用 Sector 擦除)。

  上述 Flashloader 里的关于擦除处理机制看似很完美,但是对于一些特殊类型的 Flash 可能会失效。比如 Infineon MirrorBit Flash 类型,这种 Flash 仅在某几个特定 Block 上支持 Sector 擦除,对于这种情况,就不能任由 Flashloader 来管理擦除粒度了,因此需要用户能够强制指定擦除对齐长度。

  在工具目录 \src\targets\xxx\bltargetconfig.py 文件中仅可见如下定义,我们可以改变这个定义值来设置擦除对齐长度,对于 Infineon MirrorBit Flash,我们需要将擦除对齐设为 Block 长度 256KB。

xspiNorEraseAlignment = 1 # in byte

2.3 对于RT ROM启动日志解析支持

  i.MX RT 系列发布至今,如果要给客户支持问题类型做一个总结,基本上启动相关问题要占 30%。如果遇到芯片无法启动问题,除了常规经验以外,我们还可以通过 ROM 启动日志来辅助分析。

  所谓 ROM 启动日志,就是 ROM 在执行过程中记录的状态,这个状态数据被存在在芯片内部 RAM 固定位置处(芯片出厂后,这个位置就无法更改了,被写死在 ROM 代码里)。如果遇到启动失败问题,我们可以读出日志数据予以分析。

  软件支持两种途径获取并解析启动日志数据:

  • 途径一:用户根据界面里 Log Start, Log Length 信息先读取出日志数据文件(比如用 JLink 去读取),然后在界面 Log Data 框里选取这个日志文件路径,最后点击 View Boot Log 按钮解析。
  • 途径二:在芯片启动失败自动转入串行下载模式时,不勾选软件 One Step 模式,单步连接保证芯片处于 Flashloader 模式(便于 blhost 工具读取内部 RAM),直接点击 View Boot Log 按钮获取并解析。

  途径二通过软件直接从芯片 RAM 里读取启动日志数据有一个注意点,因为是借助加载 Flashloader 执行实现的,所以如果 Flashloader 依赖的 RAM 空间与启动日志存储空间有冲突,可能会导致日志数据损坏。

  至此,这次更新的主要特性便介绍完了。MCUBootUtility项目地址如下。虽然当前版本(v6.3.x)功能已经非常完备,你还是可以在此基础上再添加自己想要的功能。如此神器,还不快快去下载试用?

欢迎订阅

文章会同时发布到我的 博客园主页:樱花宇宙官网CSDN主页知乎主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

标签:v6.3,zi,启动,MCUBootUtility,支持,擦除,Flashloader,日志,RT700
From: https://www.cnblogs.com/westworldss/p/18423941

相关文章

  • 下载MyCat是真的麻烦-sunziren
    公元2024年09月20日,本人为了学习分库组件MyCat,准备下载它。但是它的官网【http://www.mycat.org.cn/】中的下载链接,统统无法访问。如下图上面一排链接,全部都无法访问,如下图!没办法,我只好去他们的Github下载,但是Github中的Release中的下载链接,也是指向了上面的地址,......
  • 痞子衡嵌入式:MCUBootUtility v6.3发布,支持获取与解析启动日志
    --痞子衡维护的NXP-MCUBootUtility工具距离上一个大版本(v5.3.0)发布过去一年了,期间痞子衡也做过三个版本更新,但不足以单独介绍。这一次痞子衡为大家带来了全新重要版本v6.3.x,这次更新主要是想和大家特别聊聊ROM启动日志这个特性的支持。一、v6.0-v6.3更新记录--v5.......
  • 使用 VSCode 调试 Zig
    首要条件是你本地需要安装MinGW-w64.可以参考MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本-jack_Meng-博客园(cnblogs.com)这里有几点需要注意,在2024年9月时,我没有找exe的安装,你需要在github下载 Releases·niXman/mingw-builds-binaries(github.com)具体下......
  • Redis数据结构跳跃列表(skipList)与压缩列表(ziplist)
    skiplist介绍跳表是一种数据结构,它使得包含了n个元素的有序序列的查找和插入的平均时间复杂度都是O(logn),优于数组的O(n)复杂度,快速的查找是通过维护多层次的链表实现的,且与前一层(下面一层)链表的数量相比,每一层的链表元素数量更少简单来讲跳表就是基于链表实现的有序列表,通过维......
  • OneDrive / SharePoint Online - Downloaded zip contains errors "The file size exc
    Source: https://oregonstate.teamdynamix.com/TDClient/1935/Portal/KB/PrintArticle?ID=160364Issue/QuestionItriedtodownloadalargeamountoffilesfromSharePoint.A.zipfilewasdownloaded,anditcontainssomeofthefiles,buttherestshow.error......
  • zipfile一些常用用法
    zipfile是Python标准库中的一个模块,用于创建、读取、写入和管理ZIP压缩文件。它可以处理文件压缩和解压缩,支持多种模式。以下是zipfile模块的一些常用用法及示例:1.创建ZIP文件并写入内容zipfile.ZipFile支持通过'w'模式创建ZIP文件并写入文件。importzipfile#......
  • Vite打包zip并改名为md5sum哈希案例
    通常在DevOpsCICD流水线部署前端项目时,一般默认都要将dist资源打包为zip,并且把zip名称改为md5sum哈希值(用于文件完整性验证)。md5sum是什么?md5sum 是一个在Unix和类Unix系统(如Linux)中广泛使用的命令行工具,它主要用于计算和验证文件的MD5哈希值。MD5(Message-DigestAlg......
  • Azkaban、oozie、airflow、dolphinschduler 对比分析
    好的,我们可以进一步深入分析Azkaban、Oozie、Airflow和DolphinScheduler的更多技术细节、架构、优缺点,以及在实际场景中的应用情况。1.Azkaban1.1架构组件:WebServer:负责处理用户请求、提交工作流、查看任务状态和管理任务调度。ExecutorServer:负责实际执行......
  • Debezium数据同步基础概论
    一、概述在当今的分布式系统和现代企业架构中,数据的生成和存储已经变得高度分散。不同的系统、服务和应用程序可能都在各自的数据库中记录数据。这种环境下,保持数据的一致性和实时同步变得尤为复杂。特别是在需要对多个系统中的数据进行整合时,数据捕获和同步的挑战就更加突......
  • 一款专为iOS设备设计的全面管理软件iMazing 3
    iMazing3是一款专为iOS设备设计的全面管理软件,想要更换设备的用户,iMazing3的数据迁移功能能确保无缝切换。iMazing3不仅提供了强大的备份和恢复功能,确保用户数据安全无虞,还实现了设备与电脑间的高效文件传输。无论是照片、音乐还是应用数据,iMazing3都能轻松管理。此外,它支......