TC3xx学习笔记-UCB BMHD使用详解(一)

文章目录

    • 前言
    • UCB BMHD
      • PINDIS
      • HWCFG
      • LSENA0-3
      • LBISTENA
      • CHSWENA
      • BMHDID
      • STAD
      • CRCBMHD
      • CRCBMHD_N
      • PW0-7
    • 总结

前言

AURIX Tc系列Mcu启动过程,必须要了解BMHD,本文详细介绍BMHD的定义及使用过程

UCB BMHD

UCB表示User Configuration Block,UCB是Dflash,存储的地址如下:
在这里插入图片描述

BMHD表示Boot Mode Headers.BMHD存储在UCBU的前四个block(还有四个copy的block在8-11个block)

BMHD0和BMHD8有密码,BMHD1-3,UCB09, UCB10, UCB11没有密码

BMHD定义如下:
在这里插入图片描述
在这里插入图片描述

PINDIS

按配置引脚选择模式:

0B启用HWCFG引脚选择模式功能

1B禁用HWCFG引脚选择模式功能

这个功能是用来禁止硬件PIN(HWCFG)来选择启动模式的

HWCFG

启动模式选择:

111B内部从Flash启动

110B备用启动模式(ABM)

100B通用引导加载模式(ASC/CAN BSL)

011BASC Bootstrap Loader Mode (ASC BSL) elseinvalid

如果禁用了HWCFG PIN启动,则只能通过配置HWCFG位来选择启动模式

LSENA0-3

通过SSW对CPU0进行同步监控控制:

0B关闭CPU0-3的Lockstep监控

1B开启CPU0-3的blockstep监控

LBISTENA

LBIST执行由SSW启动:

0B禁用由SSW启动LBIST

1B启用冷上电SSW启动LBIST

该BIT是为了启动时SSW禁用LBIST

CHSWENA

检查软件(CHSW)执行后的SSW:

101B关闭SSW后的CHSW执行

否则开启SSW后的CHSW执行

该BIT是为了启动时SSW禁用CHSW

BMHDID

固定0xB359,其他值无效

STAD

起始地址(总是必须在PFLASH内部, 32bit对齐):

如果选择了备用启动模式,则该地址为ABM头的起始地址

如果选择了内部flash启动,则该地址为内部启动的起始地址

否则则不考虑模式选择

CRCBMHD

前8个字节的CRC

CRCBMHD_N

前8个字节的CRC反转值

CRC的计算方法如下:

Use CRC32

A polynomial of: 0x4C11DB7

Initial value: 0xFFFFFFFF

Final XOR Value: 0xFFFFFFFF (for non inverted CRC)

Final XOR Value: 0x00000000 (for inverted CRC)

可以使用CRC计算中的工具计算

当起始地址为0xA00A0020时,对应的CRC值为0x4FB4A033ul, 0xB04B5FCCul
在这里插入图片描述
在这里插入图片描述

PW0-7

保护UCB的密码,如果写入了值,并通过CONFIRMATION写入了使能保护,则修改UCB时需要输入密码

DMU_HF_PROTECT.PRODISx可以指示禁用保护的状态,为1时说明是禁用保护的状态
在这里插入图片描述
解锁方法如下:
对同一个地址写不同的值,第一次为UC,第二次为PW0,第三次为PW1.。。以此类推
在这里插入图片描述
在这里插入图片描述

总结

本文介绍了BMHD的定义,后面还会继续介绍BMHD的ORIGIN和COPY的用法,以及密码保护的使用

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

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

相关文章

H.264/AVC标准主流开源编解码器编译说明

An artisan must first sharpen his tools if he is to do his work well. 工欲善其事,必先利其器. 前言 想研究和学习H.264/AVC视频编解码标准的入门的伙伴们,不论是学术研究还是工程应用都离不开对源码的分析,因此首要工作是对各类编解码器进行编译,本文针对主流的一些符…

Adobe Photoshop(PS)2022 版安装与下载教程

Adobe Photoshop下载安装和使用教程 Adobe Photoshop,简称“PS”,是由Adobe Systems开发和发行的图像处理软件。Photoshop主要处理以像素所构成的数字图像。使用其众多的编修与绘图工具,可以有效地进行图片编辑和创造工作&#xff0c…

面试新收获-大模型学习

大模型原理 Transformer 架构与自注意力机制 Transformer 是当前大多数大模型采用的核心架构,由编码器-解码器组成,摒弃了传统 RNN 的顺序处理方式。Transformer 中关键在于多头自注意力机制(Multi-Head Self-Attention)&#xf…

华为OD机试真题——素数之积RSA加密算法(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录…

精益数据分析(29/126):深入剖析电子商务商业模式

精益数据分析(29/126):深入剖析电子商务商业模式 在创业和数据分析的学习道路上,我们始终在探索如何更精准地把握商业规律,提升业务的竞争力。今天,我们依旧怀揣着共同进步的愿望,深入解读《精…

大模型奖励建模新突破!Inference-Time Scaling for Generalist Reward Modeling

传统的RM在通用领域面临准确性和灵活性挑战,而DeepSeek-GRM通过动态生成principle和critic,结合并行采样与meta RM引导的投票机制,实现了更高质量的奖励信号生成。论文通过Self-Principled Critique Tuning (SPCT)方法,显著提升了…

机器视觉的胶带模切应用

在电子制造领域,胶带模切工艺如同产品的“隐形裁缝”,从手机屏幕OCA光学胶到动力电池绝缘胶带,每一刀精准的切割都关乎产品性能与可靠性。传统人工对位方式难以应对微米级加工精度的严苛要求,而MasterAlign机器视觉系统的引入&…

Vue2+ElementUI实现无限级菜单

使用Vue2和ElementUI实现无限级菜单,通常菜单数据以树形结构存储,每个菜单包含多个子菜单 ,子菜单又可以继续包含更深层次的子菜单项。所以,需要使用递归形式,完成子项菜单的渲染。 这里,结合Element UI界面的el-menu和el-submenu组件来构建菜单结构,有子菜单时使用el-s…

如何使用WebRTC

WebRTC比较容易使用,只需要很少的步骤,有些消息在浏览器和服务器之间流动,有些则直接在两个浏览器之间流动, 1、建立WebRTC会话 a:建立WebRTC连接需要加入以下几个步骤: 获取本地媒体:getUse…

数据分析管理软件 Minitab 22.2.2 中文版安装包 免费下载

Minitab22.2.2 安装包下载链接: https://pan.baidu.com/s/1cWuDbvcWhYrub01C6QR81Q?pwd6666 提取码: 6666 Minitab软件是现代质量管理统计软件,全球六西格玛实施的共同语言。Minitab 已经在全球120多个国家,5000多所高校被广泛使用。

从新手到高手:小程序开发进阶技巧分享

小程序开发从入门到精通需要经历技术积累、架构优化和工程化实践等多个阶段。以下是结合真实项目经验的进阶路线与核心技术要点,涵盖性能优化、架构设计、跨平台开发等关键领域: 一、性能调优实战技巧 1. 首屏渲染加速方案 // 预请求关键数据&#xff…

Vue3后代组件多祖先通讯设计方案

在 Vue3 中,当需要设计一个被多个祖先组件使用的后代组件的通讯方式时,可以采用以下方案(根据场景优先级排序): 方案一:依赖注入(Provide/Inject) 响应式上下文 推荐场景&#xff…

《代码之美:静态分析工具与 CI 集成详解》

《代码之美:静态分析工具与 CI 集成详解》 引言 在现代软件开发的快节奏环境中,代码质量和效率始终是开发者关注的核心。无论您是初学者,还是经验丰富的资深开发者,一个强大的工具链都能让您如虎添翼。而 Python 的静态代码分析工具,如 pylint、flake8 和 mypy,正是提升…

kafka安装、spark安装

kafka简介 Kafka就是一个分布式的用于消息存储的消息队列。 kafka角色 Kafka中存储的消息,被消费后不会被删除,可以被重复消费,消息会保留多长,由kafka自己去配置。默认7天删除。背后的管理工作由zookeeper来管理。 kafka安装 …

Jmeter数据库url开关设置+常用Beanshell

1、数据库url开关设置 (79 90) jdbc:mysql://test.lemonban.com:3306/future?allowMultiQueries-true&characterEncodingUTF-8 多条查询开关:allowMultiQueriestrue 字符集配置:characterEncodingUTF-8 2、用BeanShell提取Map中的方…

媒体关注:联易融聚焦AI+业务,重塑供应链金融生态

近日,供应链金融科技龙头企业联易融科技集团(以下简称“联易融”)发布的公告显示,截至2024年末,公司现金储备达51亿元,同比上一年增加2亿元。公司称,公司经营性现金流保持健康,现金储…

求解,如何控制三相无刷电机?欢迎到访评论

问题:通过一个集成的TF2104芯片控制H桥上桥臂和下桥臂,如何控制?还是说得需要PWM_UH和PWM_UL分开控制?

AIGC在游戏开发中的革命:自动化生成3A级游戏内容

一、智能游戏开发架构 1.1 传统开发痛点与AIGC创新 开发环节 传统痛点 AIGC解决方案 角色原画设计 美术资源产能瓶颈 文生图3D模型自动生成 场景搭建 重复劳动占比高 程序化生成风格迁移 NPC行为设计 模式化严重 强化学习驱动智能行为 任务系统 剧情线性缺乏变化 动态剧情生成系…

定位与解决线上 OOM 问题:原因分析与快速排查指南

OutOfMemoryError (OOM) 是 Java 应用在生产环境中常见的严重问题,可能导致服务不可用、响应延迟或直接崩溃。线上 OOM 的定位和解决需要快速准确,以最小化业务影响。本文将深入分析 OOM 的常见原因,介绍定位 OOM 的系统化方法,并…

Rust 数据类型

Rust 数据类型 Rust 是一种系统编程语言,它旨在提供高性能和内存安全,同时保持并发编程的简洁性。在 Rust 中,数据类型是构成变量和表达式的基石。理解 Rust 中的数据类型对于编写高效、可靠的 Rust 代码至关重要。 引言 Rust 的数据类型分为两大类:基本数据类型和复合数…