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

news/2024/12/22 9:15:59/文章来源:https://www.cnblogs.com/henjay724/p/18422138

--
痞子衡维护的 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] 支持K32W0x12. [Wireless] 支持RW61x3. [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 A02. [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 按钮获取并解析。

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

  • 地址1: https://github.com/nxp-mcuxpresso/mcu-boot-utility
  • 地址2: https://github.com/JayHeng/NXP-MCUBootUtility
  • 地址3: https://gitee.com/jayheng/NXP-MCUBootUtility

欢迎订阅

文章会同时发布到我的 博客园主页、CSDN主页、知乎主页、微信公众号 平台上。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/800406.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

帝国cms密码错误 帝国cms密码错误怎么回事

在使用帝国CMS时,如果遇到密码错误的情况,通常是因为输入的用户名或密码不正确。以下是一些可能的原因和解决方法:输入错误最常见的原因是用户输入了错误的密码。请仔细检查输入的密码是否正确,注意大小写和特殊字符。密码已更改如果你最近更改了密码但忘记了新密码,你需要…

Scratch少儿编程教程 | 绘制五星红旗

在国庆节来临之际,教孩子们使用Scratch绘制一面五星红旗是个有趣且有教育意义的项目。通过这个教程,孩子们不仅能学习编程的基本概念,还能深入理解国旗的构造与意义。下面是如何在Scratch中实现这个作品的详细步骤。 一、项目概述 项目名称:绘制五星红旗 目标效果:通过Scr…

gojs去水印,亲测好用 本人是2.1.49版本

1.String.fromCharCode(a.charCodeAt(g)^b[(b[c]+b[d])%256])2.在后面粘帖上如下代码:if(f.indexOf(GoJS 2.3 evaluation) > -1||f.indexOf(© 1998-2023 Northwoods Software) > -1||f.indexOf(Not for distribution or production use) > -1||f.indexOf(gojs.n…

SaaS架构:流程架构分析

大家好,我是汤师爷~ 今天聊聊SaaS架构中的流程架构分析。 业务流程的概念 业务流程是企业为实现目标而制定的一套系统化的工作方法。它由一系列有序的业务活动组成,按照既定规则将资源(输入)转化为有价值的结果(输出)。这一过程需结合企业的具体情况和可用资源,旨在为客…

高等数学 3.4 函数的单调性与曲线的凹凸性

目录一、函数单调性的判定法二、曲线的凹凸性与拐点 一、函数单调性的判定法定理1 设函数 \(y = f(x)\) 在 \([a, b]\) 上连续,\((a, b)\) 内可导。 (1)如果在 \((a, b)\) 内 \(f^{}(x) \geqslant 0\) 且等号仅限在有限多个点处成立,那么函数 \(y = f(x)\) 在 \([a, b]\) 上…

.NET 7+Angular 4 轻量级新零售进销存系统

前言 给大家推荐一个专为新零售快消行业打造了一套高效的进销存管理系统。 系统不仅具备强大的库存管理功能,还集成了高性能的轻量级 POS 解决方案,确保页面加载速度极快,提供良好的用户体验。 项目介绍 Dorisoy.POS 是一款基于 .NET 7 和 Angular 4 开发的新零售快消进销存…

帝国cms数据库连接不上怎么办

当遇到帝国CMS无法连接数据库的问题时,可以按照以下步骤进行排查和解决:检查数据库配置打开帝国CMS安装目录下的/e/config/config.php文件,检查数据库配置是否正确。重点检查数据库服务器地址、数据库名称、用户名和密码是否正确。确认数据库服务状态确认数据库服务是否正在…

KU060信号处理板卡设计原理图: 385-基于6U CPCIe的TMS320C6678+KU060的信号处理板卡

基于6U CPCIe的TMS320C6678+KU060的信号处理板卡 一、板卡概述 基于6U CPCIe的C6678+KU060的信号处理板卡是新一代FPGA的高性能处理板卡。板卡采用一片TI DSP TMS320C6678和一片Xilinx公司 XCKU060-2FFVA1156I作为主处理器,Xilinx 的Aritex XC7A200T作为辅助处理器。XC7A…

设计原理图:417-基于XCVU9P+ C6678的8T8R的无线MIMO平台

基于XCVU9P+ C6678的8T8R的无线MIMO平台 一、板卡概述 北京太速科技板卡基于TI TMS320C6678 DSP和XCVU9P高性能FPGA,FPGA接入4片AD9361 无线射频,构建8输入8输出的无线MIMO平台,丰富的FPGA资源和8核DSP为算法验证和信号处理提供强大能力。二、技术指标 ● 板卡为自定义结构…

“模”力十足!天翼云息壤一体化智算服务平台训推服务能力重磅升级!

9月4日,“天翼云息壤——大模型训推一体化服务能力升级”线上发布会成功举办。会上,息壤平台训推服务能力重磅升级,新增闭源、多模态基座大模型以及数据集,支持万卡规模训练,训练稳定性再次提升,新增体验空间,为基础大模型训练、行业大模型训推提供一站式解决方案。9月4…

全国省市县区的JOSN

[{"name": "北京市","code": "110000","city": [{"name": "市辖区","code": "110100","area": [{"name": "东城区","code": "11010…

关于api接口详解大全

API接口,即应用程序编程接口(Application Programming Interface),是一组预定义的函数或协议,它允许不同的软件应用程序之间进行交互。API在现代软件开发中扮演着至关重要的角色,它促进了不同系统之间的集成和通信,为开发者提供了强大的工具来构建更加高效、安全和创新的…