英飞凌TC3xx--深度手撕HSM安全启动(五)--TC3xx HSM启动流程、通信机制分析
在包含HSM的MCU的软件开发里,Host和Hsm应该为两个独立的软件工程。不管是Etas还是Vector的HSM包,都是需要单独收费的。
既然是单独的工程,相应的启动代码也是必须要有的。
在英飞凌的HSM固件架构里,HSM BootRom主要有以下几个作用:内部测试、生产使用、启动配置等。那么接下来,我们深入分析下HSM的BootRom到底干了些什么?
1、问题引入
- 根据芯片手册,系统上电后只有CPU0一个核处于运行(运行SSW),那么HSM的核(CM3)在什么时候释放并运行自己的BootROM(简称BoS)?
- 在Host侧,有一个寄存器用于选择HSM code的启动地址,那么是不是在BoS里要去判断这些启动位置是否有有效的中断向量表?
- HSM的安全启动是如何进行的?
- Host和HSM如何进行通信
2、Host和HSM通信机制
为什么要先讲这个?因为Host CPU0首先启动,然后由CPU0释放HSM核。同时HSM在启动过程中也会和Host进行交互。基于此,所以先聊二者的通信机制(本质上是我最开始写BootRom流程发现里面用到了很多通信机制,所以先讲,避免大家迷糊了)。
在英飞凌的设计中,Host和HSM之间通过一个Bridge模块来实现Host和HSM的隔离,通过Bridge里的Communication单元来实现双方的通信,如下:
相关文章:
英飞凌TC3xx--深度手撕HSM安全启动(五)--TC3xx HSM启动流程、通信机制分析
在包含HSM的MCU的软件开发里,Host和Hsm应该为两个独立的软件工程。不管是Etas还是Vector的HSM包,都是需要单独收费的。 既然是单独的工程,相应的启动代码也是必须要有的。 在英飞凌的HSM固件架构里,HSM BootRom主要有以下几个作用:内部测试、生产使用、启动配置等。那么接…...
【窗体】Winform两个窗体之间通过委托事件进行值传递,基础篇
2023年,第38周。给自己一个目标,然后坚持总会有收货,不信你试试! 在实际项目中,我们可能会用到一些窗体做一些小工具或者小功能。比如:运行程序,在主窗体A基础上,点击某个按钮希望能…...
mac使用指南
新公司给配备了mac,可惜土鳖的我不会用,所以特地写了一篇文章记录学习mac的过程 快捷键 删除:commanddelete 光标移至最右/左:command右/左箭头 截图:commandshift3/4/5,3代表截全屏,4代表选…...
Git 版本控制系统 笔记
概念:一个免费开源,分布式的代码版本控制系统,帮助开发团队维护代码 作用:记录代码内容,切换代码版本,多人开发时高效合并代码内容【团队开发同一个项目的代码版本管理】 1、Git 安装 之前写了࿰…...
VRTK4⭐四.和 UI 元素交互
文章目录 🟥 安装Tilia Unity.UI🟧 配置射线与UI交互器1️⃣ 配置直线射线2️⃣ 配置UI交互器 🟨 配置UI1️⃣ 更新EventSystem2️⃣ 进行Canvas设置 我们要实现的功能: 右手触摸到圆盘:显示直线射线 右手圆盘键按下:与选中UI交互 Ƿ…...
【STM32】SDIO—SD 卡读写01
基于stm32f103 基于零死角玩转STM32—F103指南者 简介 1.SD 卡总共有 8 个寄存器,用于设定或表示 SD 卡信息。 2.SD卡的寄存器不能像STM32那样访问,而是利用命令访问,SDIO 定义了 64 个命令。SD 卡接收到命令后,根据命令要求对…...
SpringCloud Alibaba 整合Sentinel的基本使用
文章目录 一、什么是Sentinel二、Sentinel 的主要特性1. 流量控制:2. 熔断降级:3. 实时监控:4. 规则配置:5. 集成方便: 三、Sentinel 分为哪几部分:1. 核心库(Java 客户端)2. 控制台(…...
Linux中如何执行命令
目录 命令格式: 命令分类: 命令帮助: 1、man 2、help 3、--help 4、info命令 终止命令: 补全命令: 1)补全命令: 2)补全文件名和目录名: 命令格式:…...
基于51单片机的智能病房呼叫系统的设计与实现
一、前言 显示床位号使用到4位数码管,为了节约单片IO口,使用TM1637来驱动数码管。 二、TM1637驱动芯片简介 三、电路设计,使用矩阵按键来模拟每个床位的呼叫按钮 四、编写51单片机代码 void delay_ms(u16 n) {u8 i;while(n--){i 111;while…...
js在一个时间范围内产生一个随机时间
js使用使用到Math.random()方法实现在一个时间范围内产生一个随机时间。 /*在时间范围内产生一个随机时间*/ function randomDate(start, end) {if (start ! null && end ! null) {const _start new Date(start).getTime();const _end new Date(end).getTime();cons…...
Javascript Date 对象相关知识
Javascript Date 对象相关知识 参考文章虹猫1992 创建 Date 对象. 方法一: 自动使用当前的日期和时间作为其初始值. var date new Date();方法二:将给定的毫秒数转换为使用的时间,new Date(dateVal) 如果是数字值,dateVal表示指定日期与1970年1月1日午…...
Vim快捷用法
以下为文本操作 1.快速切换 行首^(shift4) 行尾$(shift6) 文章开始gg 位置末尾G 向下翻页CTRLB 向上翻页CTRLF 2.删除内容 删除一行 dd 3.复制粘贴 复制一行yy 粘贴 p 4.撤销操作 撤销操作 u 恢复操作ctrlr 以下都为底行操作 1.显示行号 set nu 2.多文件分屏阅读 加入阅…...
Stream流的常用方法(自用)
自用的笔记, 有🚩 需要多看 基本数据 自定义实体 Data class Student{private String name;private Integer age;private Double height;public Student() {} }假数据 Student s1 new Student(); s1.setAge(20); s1.setName("cookie"); s1.setHeight(…...
【python函数】torch.nn.Embedding函数用法图解
学习SAM模型的时候,第一次看见了nn.Embedding函数,以前接触CV比较多,很少学习词嵌入方面的,找了一些资料一开始也不是很理解,多看了两遍后,突然顿悟,特此记录。 SAM中PromptEncoder中运用nn.Emb…...
with ldid... /opt/MonkeyDev/bin/md: line 326: ldid: command not found
吐槽傻逼xcode 根据提示 执行了这个脚本/opt/MonkeyDev/bin/md 往这里面添加你brew install 安装文件的目录即可...
[golang gui]fyne框架代码示例
1、下载GO Go语言中文网 golang安装包 - 阿里镜像站(镜像站使用方法:查找最新非rc版本的golang安装包) golang安装包 - 中科大镜像站 go二进制文件下载 - 南京大学开源镜像站 Go语言官网(Google中国) Go语言官网(Go团队) 截至目前(2023年9月17日&#x…...
2000-2018年各省能源消费和碳排放数据
2000-2018年各省能源消费和碳排放数据 1、时间:2000-2018年 2、范围:30个省市 3、指标:id、year、ENERGY、COAL、碳排放倒数*100 4、来源:能源年鉴 5、指标解释: 2018年碳排放和能源数据为插值法推算得到 碳排放…...
C# ref 学习1
ref 关键字用在四种不同的上下文中; 1.在方法签名和方法调用中,按引用将参数传递给方法。 2.在方法签名中,按引用将值返回给调用方。 3.在成员正文中,指示引用返回值是否作为调用方欲修改的引用被存储在本地,或在一般…...
MQ - 08 基础篇_消费者客户端SDK设计(下)
文章目录 导图Pre概述消费分组协调者消费分区分配策略轮询粘性自定义消费确认确认后删除数据确认后保存消费进度数据消费失败处理从服务端拉取数据失败本地业务数据处理失败提交位点信息失败总结导图 Pre...
Flutter层对于Android 13存储权限的适配问题
感觉很久没有写博客了,不对,的确是很久没有写博客了。原因我不怎么想说,玩物丧志了。后面渐渐要恢复之前的写作节奏。今天来聊聊我最近遇到的一个问题: Android 13版本对于storage权限的控制问题。 我们都知道,Andro…...
【轴承故障诊断】一种用于轴承故障诊断的稀疏贝叶斯学习(SBL),两种群稀疏学习算法来提取故障脉冲,第一种仅利用故障脉冲的群稀疏性,第二种则利用故障脉冲的额外周期性行为(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
WenShape文生3D模型:基于One-2-3-45框架的开源3D资产生成工具项目深度解析
WenShape文生3D模型:基于One-2-3-45框架的开源3D资产生成工具项目深度解析 项目简介 WenShape 是一个基于 One-2-3-45 技术框架开发的开源“文生3D”模型生成系统,旨在通过文本指令快速、高效地生成高质量3D模型资产。该项目由 unitagain 维护࿰…...
FreeRTOS队列深度剖析:从环形缓冲区到任务阻塞,你的消息真的发对了吗?
FreeRTOS队列深度剖析:从环形缓冲区到任务阻塞,你的消息真的发对了吗? 在嵌入式实时系统中,任务间的通信机制如同城市中的交通网络,而FreeRTOS队列则是这条网络中最核心的高速公路。当你的系统从简单的单任务演变为多任…...
伺服电机电流环PI参数整定:从数学模型到工程实践
1. 项目概述:高带宽电流环设计的核心价值在伺服电机控制领域,追求极致的动态响应和稳态精度,是所有工程师的终极目标。上一期我们聊透了EtherCAT如何通过精准的同步信号(Sync)为整个控制系统打下坚实的时间基准&#x…...
Red Hat Enterprise Linux 10.2 和 9.8 发布,命令行 AI 辅助增强,多工具集性能升级
Red Hat Enterprise Linux (RHEL) 10.2 和 9.8 正式发布,带来增强的命令行 AI 辅助和基础架构更新,提升用户信息获取速度与工具性能。命令行 AI 辅助升级面向高级用户推出 goose 命令,它是高级可选命令行 AI 助手,连接可信 AI 后端…...
备考执业兽医考试哪里有免费资料可以领?
备战执业兽医考试,是不是还在四处搜罗备考资料?网上资源杂乱老旧、版本参差不齐,要么内容不全,要么找不到重点,浪费大把时间还没头绪。不用再盲目翻找、费心整理了!给大家推荐一个能免费领执业兽医全科资料…...
【MATLAB】人脸表情识别与情感分析程序(工程实操版)
【MATLAB】人脸表情识别与情感分析程序(工程实操版) 摘要:人脸表情是人类情感表达的核心载体,人脸表情识别与情感分析技术融合了计算机视觉、图像处理、模式识别等多领域知识,广泛应用于人机交互、心理评估、智能安防、教育教学等场景。传统表情识别依赖人工判断,存在主…...
构建企业级 AI 编程助手(AI-OS)v1.0,集成 Matt Pocock 全套技能,实现零幻觉开发
告别单文件 Prompt:构建企业级 AI 编程助手(AI-OS)v1.0,集成 Matt Pocock 全套技能,实现零幻觉开发 引言:为什么你的 AI 编程总是“翻车”? 在使用 OpenCode、Cursor、Cline 等 AI 编程工具时&a…...
FPGA入门实战:基于HME-P开发板的LED流水灯完整开发流程详解
1. 项目概述与核心价值最近在整理工作室的物料,翻出来几块之前朋友送的HME-P(飞马)系列FPGA开发板。这板子做工扎实,接口也丰富,但一直没时间好好把玩。正好有刚入门的同事问起FPGA怎么上手,说看理论看得云…...
【Appium 系列】第13节-混合测试执行器 — API + UI 的协同执行
对应代码:配套代码/test/core/hybrid_test_executor.py说明:本节讲解当一个测试用例需要同时使用接口测试和 UI 测试时,如何协调执行。这节讲什么有些测试用例,光靠接口测试或 UI 测试都不够。比如"验证用户注册后能登录&quo…...
