痞子衡嵌入式:在i.MXRT下测试启动特性时可改写OTP Shadow寄存器而不烧OTP

news/2025/10/11 18:01:16/文章来源:https://www.cnblogs.com/henjay724/p/19135673

  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT下测试启动特性时可改写OTP Shadow寄存器而不烧OTP

  我们知道恩智浦 i.MXRT 系列除了 BOOT 相关引脚电平配置之外,主要通过片内 eFuse/OTP 存储器来进一步配置启动特性。如果我们想测试的启动特性仅能通过 eFuse/OTP 来配置,那么就需要烧写 eFuse/OTP,而 eFuse/OTP 仅能烧写一次,如果不小心值烧错了(或者写入的值未经验证),那这颗芯片就废了,所以面对这种情况,大家难免会焦虑。今天痞子衡就和大家聊聊消除这方面焦虑的一个替代方法,即用调试器直接改写 OTP Shadow 寄存器做测试。

  在进入正文之前,有必要介绍一下,eFuse/OTP 存储中的 BOOT 相关的内容在芯片 POR 之后会自动被系统硬件加载到相应 eFuse/OTP Shadow 寄存器中,Shadow 寄存器的读取很简单,跟普通寄存器一样,而 ROM 代码执行时正是从这些 Shadow 寄存器中去获取得启动配置(并不是从 eFuse/OTP 存储中去直接读取),这是本文方法能生效的大前提。

  • Note:本文方法仅在 RT500/600/700/1180 上生效。

一、主流RT4digits上设计

  首先来回顾下 RT10xx 以及 RT1160/1170 上 eFuse 配置设计。关于 eFuse 本身介绍可以参见痞子衡旧文 《eFUSE及其烧写方法》。痞子衡从芯片手册里找出了比较核心的 eFuse BOOT_CFG 配置对应的 Shadow 寄存器地址,此外 RT1060 系列参考手册(V3)里提及 Shadow 寄存器是 RW 属性,而 RT1160/1170 系列参考手册(V3)提及 Shadow 寄存器是 RO 属性。

芯片系列OTP Shadow寄存器起始地址Fuse BOOT_CFG对应Shadow寄存器地址参考手册提及Shadow寄存器属性
RT10xx0x401F4000 + 0x4000x401F4450 (BOOT_CFG1&2&3&4)RW
RT1160/11700x40CAC000 + 0x8000x40CAC940 (BOOT_CFG1&2)
0x40CAC950 (BOOT_CFG3&4)
RO

  原则上如果 Shadow 寄存器是 RO 属性,那我们就不用忙活了,通过调试器改写其值根本行不通。不管怎样,还是以板级实测为准,痞子衡用 J-Link Commander 实测如下,不管是 RT1060 还是 RT1170,其 Shadow 值都是可以改写成功的,但是一旦软复位后,其值会变成改写前的状态(这意味着任何一次软复位,系统硬件都会重新加载 eFuse 内容到相应 Shadow 寄存器里),这就是为什么此方法在主流 RT4digits 上行不通的原因。

  但是好在主流 RT4digits 上 32bit BOOT_CFG 的前 12 bit 是可以映射到外部引脚(BT_CFG pin)上的,也算是一种安慰,关于这个设计,详见痞子衡旧文《如果i.MXRT1xxx离线无法启动,请先查看SRC_SBMRx寄存器》。不过如果需要配置 BOOT_CFG 的其他 bit 位或者其他 BOOT 相关的 eFuse 域,就只能通过烧写 eFuse 来实现了。

二、主流RT3digits上设计

  再来看看 RT500/600 上 OTP 配置设计。关于 OTP 本身介绍可以参见痞子衡旧文 《OTP及其烧写方法》。同样从芯片手册里找出了比较核心的 OTP BOOT_CFG 配置对应的 Shadow 寄存器地址,RT500/700 参考手册里有 OCOTP 模块寄存器介绍,而 RT600 用户手册里并没有(不用担心,在 SDK 里头文件里能找到)。

  • Note:由于目前 RT700 尚未 launch,痞子衡手头参考手册里显示 OTP Shadow PARTx0-47, PARTx144-511 是可操作状态,其余是 reserved 状态(包括 SDK_25_09 里头文件也是如此),但是在 lifecycle 为 0x3 的情况下, 我们比较关心跟 boot 相关的 Shadow PARTx136-143 也是能操作的。
芯片系列OTP Shadow寄存器起始地址OTP BOOT_CFG对应Shadow寄存器地址参考手册提及Shadow寄存器属性
RT500/6000x40130000/0x50130000 + 0x00x40130180 (BOOT_CFG[0])
0x40130184 (BOOT_CFG[1])
0x40130188 (BOOT_CFG[2])
0x4013018C (BOOT_CFG[3])
RW
RT7000x40018000/0x50018000 + 0x00x40018220 (BOOT_CFG0)
0x4001823C (LIFECYCLE)
0x40018240 (XSPI0_IPED_CTX0)
RW

  一样的方法用 J-Link Commander 实测如下,Shadow 值可以改写成功,并且软复位后,其值会保持住(这意味着主流 RT3digits 上系统硬件只在 POR 时重新加载 OTP 内容到相应 Shadow 寄存器里),所以本方法在主流 RT3digits 上可行,我们完全不用烧写任何 OTP 就能进行想要的测试。实际上痞子衡之前用这个方法解决过一个问题,详见《快速定位i.MXRT600板级设计ISP[2:0]启动模式引脚上电时序问题的方法》。

  • Note:RT700 测试是在 ISP 模式下,如果是 Boot 模式,需保证软复位后 App 能正常运行,否则会进入 Activate debugger(Debug Mailbox)环节。

  至此,i.MXRT下测试启动特性时可改写OTP Shadow寄存器而不烧OTP痞子衡便介绍完毕了,掌声在哪里~~~

欢迎订阅

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

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

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

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

相关文章

Open WebUI:打造友好且强大的自托管 AI 平台

Open WebUI:打造友好且强大的自托管 AI 平台目录 摘要 一、引言 二、Open WebUI 的概念讲解 (一)功能特性 (二)技术基础 三、Open WebUI 的架构设计 (一)系统架构图 (二)架构模块介绍 四、Open WebUI 的安装与…

直流微电网运行控制仿真算法设计与实现

一、仿真模型构建 1. 核心组件建模电源模块光伏电池:采用单二极管等效电路模型,结合扰动观察法实现MPPT控制 % MPPT控制仿真代码片段 V_pv = linspace(0, V_oc, 1000); % 光伏输出电压范围 I_pv = solar_cell_model…

基于MATLAB的多棵树分类器(随机森林)

一、实现流程 1. 数据预处理 % 加载鸢尾花数据集 load fisheriris X = meas(:,1:2); % 使用前两个特征 Y = species;% 处理缺失值(若有) cleanData = rmmissing([X, categorical(Y)]);% 特征标准化 X_scaled = zsco…

车载360环视平台:米尔RK3576开发板支持12路低延迟推流

在汽车智能化、网联化快速发展的今天,360环视系统 已成为智能驾驶和自动泊车的标配技术。无论是泊车入位、低速行车还是复杂路口的安全辅助,360环视都依赖于 多路摄像头 的实时接入与高效处理。然而,传统硬件平台往…

2025双氧水厂家最新推荐榜:品质卓越与环保安全的首选品牌!

2025双氧水厂家最新推荐榜:品质卓越与环保安全的首选品牌!随着环保意识的不断提升,双氧水作为一种高效、环保的氧化剂,在多个行业中的应用越来越广泛。从工业清洗到医疗消毒,从污水处理到食品加工,双氧水的需求量…

TDengine 3.3.6.0 使用Docker部署3节点集群

一、使用 Docker Swarm 管理 TDengine+Nginxdocker版本为26。 使用docker swarm 进行集群管理。 使用taosAdapter实现RESTful 接口访问。 使用nginx代理访问集群。二、架构设计 基于TDengine 节点 IP:192.168.0.1/db1…

文本切割方案进化概览:从“机械切割”到“智能解构”

文本切割方案进化概览:从“机械切割”到“智能解构”文档分块技术已经走过了三个主要时代,目前正迈向第四个: V1.0 机械时代: 方法: 固定长度分块、字符/Token分块。 缺陷: 完全无视语义和逻辑,粗暴地将文本切开,…

2025氧化镁厂家最新推荐榜:高纯度与稳定性能的行业佼佼者!

2025氧化镁厂家最新推荐榜:高纯度与稳定性能的行业佼佼者!随着工业技术的不断进步,氧化镁作为一种重要的无机化工原料,在多个领域得到了广泛应用。从建筑材料到电子元件,从环保材料到医药行业,氧化镁的应用范围日…

大模型RAG的上下文压缩与过滤

大模型RAG的上下文压缩与过滤一、为什么要压缩 & 过滤检索器一次拉回 top-k 篇文档,其中 80% 的 token 与问题无关 →浪费 LLM 上下文窗口无关内容引入幻觉目标:在“送进 LLM 之前”就把无用段落/句子/ token 丢…

iOS 26 设备文件管理实战指南,文件访问、沙盒导出、系统变更与 uni-app 方案适配

iOS 26 设备文件管理实战指南,文件访问、沙盒导出、系统变更与 uni-app 方案适配pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font…

从“视频孤岛”到“统一视界”:解析视频汇聚平台EasyCVR的核心功能与应用场景

从“视频孤岛”到“统一视界”:解析视频汇聚平台EasyCVR的核心功能与应用场景在物联网和智慧城市高速发展的今天,海量、异构的视频监控设备如何实现统一管理、智能分析与高效应用,成为行业的核心痛点。本文将深入解…

个人博客作业 1:就《现代软件工程》提 5 个问题

个人博客作业 1:就《现代软件工程》提 5 个问题 问题一:如何权衡分析麻痹问题 出处: 第三章《软件工程师的成长》中提到:“想弄清楚所有细节,所有依赖关系之后再动手,分析太多,腿都麻了,没法起步前进,故得名分…

2025 年锅炉优质厂家最新推荐榜单:高效节能与环保性能全方位剖析,助您选到靠谱锅炉供应商

当前,工业生产与民生领域对热能供应的需求持续增长,锅炉作为核心设备,其性能直接影响企业运营成本与环保合规性。但随着国家环保政策不断收紧,氮氧化物、烟尘等排放限值愈发严格,同时能源价格波动加大,传统高能耗…

2025 年商用洗碗机源头厂家最新推荐榜:聚焦实力企业,为餐饮及企事业单位选购提供可靠参考

当前,餐饮行业持续发展,企事业单位后勤也不断升级,洗碗机已成为提升餐具清洁效率、保障卫生安全的关键设备。然而,洗碗机市场源头厂家数量繁杂,产品质量参差不齐,部分厂家缺乏核心技术导致洗净效果差,用劣质材料…

EHOME平台EasyCVR视频诊断功能指南:一文读懂其可识别的所有视频质量问题

EHOME平台EasyCVR视频诊断功能指南:一文读懂其可识别的所有视频质量问题EasyCVR视频监控汇聚管理平台是一款针对大中型项目设计的跨区域网络化视频监控集中管理平台。EHOME视频平台EasyCVR不仅具备视频资源管理、设备…

解决FinalShell无法本地连接虚拟机(VMware)中的Linux的问题

解决FinalShell无法本地连接虚拟机(VMware)中的Linux的问题1、系统环境 win10、 VMware Workstation 15、CentOS-7-x86_64-DVD-2003、finalshell2、问题1:无法连接 就是主机和虚拟机的Linux无法通信,解决办法: 来源…

html介绍+运用

一、html介绍 1、定义html是一个超文本标记语语言言,是一种标识性语言。(它不是编程语言) 标记:理解为一个记号或者一个绰号 超文本:页面内包含图片、链接、音乐、视频等素材 2、为什么要学习html? (1)测试要测…

2025 年 氨糖软骨素厂家哪家好?傦力宝产品选购指南,解析研发实力与品质优势

随着人口老龄化进程加快,银发经济成为经济发展新引擎,骨健康作为老年人核心健康需求之一,推动氨糖软骨素等相关产品市场持续扩容。当前,市场对骨健康产品的需求已从基础补充转向精准化、高效化,且随着科技赋能康养…

【SPIE出版】2025年信息工程、智能信息技术与人工智能国际学术会议(IEITAI 2025)

2025年信息工程、智能信息技术与人工智能国际学术会议(IEITAI 2025) 2025 International Conference on Information Engineering, Intelligent Information Technology and Artificial Intelligence 在这里看会议官网…