- 博客(64)
- 收藏
- 关注
原创 [4.10]-AutoSAR零基础学习-(SHE)Secure Hardware Extension规范<2>- Memory update protocol
既然已经看到这篇文章,说明开始研究SHE的安全更新协议了,协议具体去看原文吧,下面的工具是自己实现的桌面工具,可以在多平台使用,支持SHE/SHE+ / SHE_Extend,协议可自行定制。
2024-08-17 10:56:46 269
原创 [Cotex-M3学习教程]-0.1-Cortex-M3概述
较强的性能: 主频能够达到100MHz以上,能够满足许多高性能应用的需求低功耗特性:采用了高效的架构和处理技术,使得它具有低功耗特性支持Thumb-2指令集:能够提高代码密度,从而节省嵌入式系统的存储空间。支持多种外设接口:提供种外设接口和功能,包括SPI、I2C、UART、定时器等分层保护机制:采用分层保护机制,可以提高系统安全性,防止非授权访问和攻击应用广泛:适用领域,如工业控制、汽车电子、医疗设备、消费类电子等。
2023-07-25 19:55:47 1311
原创 Evita项目-3-Evita 安全启动流程
通过上电和复位,引导加载程序的执行和验证,信任根的初始化,固件身份验证和验证,以及可信启动链的执行,系统可以建立起一条可信的启动路径,保证系统在启动过程中的安全性和完整性。可信启动链是安全启动过程中的一个重要概念,它由一系列被信任的软件和硬件组件组成,依次验证和启动系统中的各个组件。引导加载程序确保只有受信任的软件组件被加载和执行,信任根提供了系统的根信任基础,可信启动链确保系统在启动过程中的验证和启动顺序。通过可信启动链的执行,系统建立起一条可信的启动路径,确保系统在启动过程中的安全性和可信度。
2023-05-19 14:56:21 928 1
原创 Evita项目-2-Evita中规定的安全汽车车载电子网络架构
本文介绍了用于安全汽车车载网络的硬件和软件组件,为保护外部车辆通信提供基础。基于欧洲研究项目EVITA(http://evita-project.org)的工作,提供了一个框架,涵盖跨层安全,针对平台完整性、通信通道、访问控制、入侵检测和管理进行安全保护。提出了一个模块化的硬件/软件协同设计:硬件安全模块(HSM)提供了保护平台完整性、确保关键材料的完整性和保密性,并增强了加密操作,从而保护了架构的关键资产。
2023-05-19 11:58:21 1308 4
原创 [Cotex-M3学习教程]-专栏介绍
博主工作为芯片固件开发,近期需要用到M3,虽说之前也用过一些ST片子,但是深度不够,所以打算短期突击下一M3架构。本专栏将会基于,并结合网上整理的资料,给大家整理出一份较为清晰的学习笔记。
2023-03-17 16:34:40 295
原创 [Cortex-M3]-0-M3介绍
1 cotex-M3的优势?学习cotex-M3之前,需要明白,为什么要选择这款处理器,它有什么优点,使用它能给我们带来什么?性能强劲相同的主频下,能做处理更多任务。功耗低延长电池寿命——便携式设备福音(如无线网络应用)实时性好能极速响应中断,响应中断所需周期数固定。代码密度得到很大改善一方面力挺大型应用程序,另一方面为低成本设计而省吃俭用。丰富的优秀开发工具免费的,便宜的,全能的,要什么有什么。2 M3产品分类Cortex‐M3处理器内核是单片机的中央处理单元(CPU)
2023-03-13 14:56:46 580
原创 [4.10]-AutoSAR零基础学习-Secure Debug(SHE+)(一)
编号为“2”和“3”的开关由HSM直接控制。通过这两个开关,HSM可以锁定对主机CPU 的调试访问,还可以禁用对HSM本身的调试支持。锁定机制由。
2023-02-28 14:32:33 1034
原创 [Cortex-M3]-5-cache & uncache
很大原因:程序运行过程中,执行了很多的“指令复制”的工作,CPU的大量时间片被用来进行指令搬移,导致真正执行指令的时间变得很少,性能差也就不足为怪了。为中间模块添加策略:通过预测算法将常用的指令+可能会用到的指令,提前加载中间模块,等程序运行时,先到中间模块进行指令查询。cache是好用,但并不是所用场景都适用,有些时候,为了数据的可靠性,不得不牺牲掉一些性能来保证。尽可能减少 “复制操作” 占用的CPU时间片,将CPU释放出来;中间模块的大小适当增大,成本合适的前提下,尽可能大的增加中间模块的空间。
2022-12-21 01:11:03 939
原创 密码学-2-RSA签名验签方案
重温上节所述的签名流程,其中散列值==>>签名(签名 ==>> 散列值)的过程中,使用私钥签名(公钥验签),这个地方涉及到了非对称加密算法,这也是非对称算法的用途之一,即数字签名。 常见用作数字签名的非对称算法:SM2(国密) 、 RSA、DSA、ECDSA(国际算法)。本文对常见的几种签名算法进行分析,内容深度只会涉及到签名流程,对于算法的具体原理实现,将会一带而过,如对算法原理有兴趣,可以私聊。 由于RSA加密算法,相对于对称加密算法来说效率较低,目前RSA常用来加密小数据,
2022-12-08 03:17:19 5002 5
原创 密码学-1-数字签名体制
写在前面1 数字签名1.1 什么是数字签名1.2 数字签名的作用 1.3 数字签名的特性1.4 数字签名的算法2 数字签名的原理2.1 签名过程:创建数字签名2.2 验证过程:验证数字签名 本文详细解释了数字签名的体制,原理及其应用场景。 数字签名,是只有信息的sender才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术来实现,用于电子信息世界中,鉴别数字信息真实性
2022-12-07 18:23:48 1511
原创 [Cortex-M3]-4-如何在内嵌RAM中运行程序
在进行项目开发时,可以在project items中创建debug和release,并确定。平时调试下拉选择debug再编译:可以全局使用DEBUG宏配置发布版本下拉选择release在编译:配置中无DEBUG宏配置需要注意 其中test.ini中的内容如下:
2022-12-06 04:47:41 828
原创 [Cortex-M3]-3-分散加载文件解析(.sct)
目录1 分散加载文件.sct 2 如何生成.sct文件3 *(InRoot$$Sections) 说明4 如何修改分散加载文件5 已经初始化变量的初值,存储位置6 +RW +ZI和+RO如何执行 MDK的分散加载主要是通过.sct文件实现的,链接器根据.sct文件的配置分配各个节区地址,生成分散加载代码,因此通过修改该文件可以定制具体节区的存储位置。 那为什么需要分散加载文件呢?不用可以吗? 一般情况下,可以不独自编写分散加载文件,ARM链接器直接按照默认
2022-12-06 03:43:04 2337
原创 [Cortex-M3]-2-map文件解析
目录1 几个问题1.1 什么是map文件1.2 如何查看编译出的程序和数据的信息1.3 如何生成map文件1.4 map文件里面有哪些信息2 map文件信息详解2.1 Section Cross References 2.2 Removing Unused input sections from the image 2.3 Image Symbol Ta
2022-12-06 01:30:22 3924
原创 [Cortex-M3]-1-启动文件
堆栈以及堆的初始化, 定位中断向量表,调用Reset Handler,执行芯片厂商对芯片的加密的加密级别的代码(option)。最近在做一个M3的项目,有空整理下笔记,把这块和大家分享一下。大概分为启动流程,内存映射,以及调试三个模块。下面的代码为启动文件的实现,语法以及作用,已经在代码中表明,那么我们首先需要了解一下什么是启动文件。1 是ARM汇编代码,直接描述/控制着CPU的运行。
2022-11-30 16:22:13 1189
原创 Evita项目-1-项目介绍
(EVITA Deliverable D4.0.3: Security architecture implementation-Progress Report.)在原型设计方面,HSM是在FPGA上实现的,并通过标准化的芯片间通信接口与ECU进行连接,FPGA、连接板和ECU以紧凑的形式堆叠在一起。(EVITA Deliverable D4.4.2: Test results.)中描述,在原型中部署的软件安全框架是一个全面的、模块化的安全库,为安全功能提供了应用程序编程接口。
2022-11-09 16:00:28 1311
原创 [4.9]-AutoSAR零基础学习-(SHE)Secure Hardware Extension规范<1>
SHE(The Secure Hardware Extension),一个片上( on-chip)扩展的硬件安全模块,为了将秘钥的控制从软件转移到硬件,从而保护秘钥免受来自软件的攻击的硬件安全方案。但这并不意味着要取代TPM芯片或者智能卡等高度安全的解决方案。保护秘钥,免受来自软件的攻击提供真实可靠的软件环境让信息安全只取决于底层算法和秘钥。保证高灵活性以及低系统开销存储单元:保存秘钥和附加信息算法单元:AES算法实现逻辑单元:控制SHE内部的算法和存储器,以及与主CPU交互的控制单元。
2022-09-20 19:54:00 2529
原创 PID控制算法
PID即Proportional(比例)、Integral(积分)、Differential(微分)的缩写。顾名思义,PID控制算法是结合比例、积分和微分三种环节于一体的控制算法,同时,pid算法还是一个闭环反馈控制算法。因此,要求硬件必须具有闭环反馈单元,也就是得有反馈。比如控制电机的转速,就得有测量转速的传感器,并将反馈信号(转速)反馈到控制单元。在工业过程中,连续控制系统的理想PID控制算法为Kp比例增益,Kp与比例度成倒数关系;Tt积分时间常数;TD微分时间常数;u(t)......
2022-07-27 18:04:24 3306
原创 一篇文章让你读懂-曼彻斯特编码
目录写在前面的话1 what?什么是曼彻斯特编码 2 how?怎么使用曼彻斯特编码2.1 曼彻斯特的编码:2.2 曼彻斯特的译码:3 why?为什么推荐曼彻斯特编码?这种编码方式的优缺点 数据传输之前为什么将数据进行编码? 这是个好问题!! 一句话:令传输系统具备一定的纠错能力和抗干扰能力,可最大程度避免码流传输的误码率! 曼彻斯特编码也称为相位编码,是一种同步时钟编码技术。通过电平的高低转换来表示“0”或“1”,每一位的中间有一个跳变的动作,这个动作
2022-07-02 15:44:08 59343 16
原创 英飞凌--GTM架构-Generic Timer Module
目录1 what(GTM)?1.1 GTM概念1.2 GTM架构1.2.1 ARU1.2.2 GTM子模块1.3 GTM的实现1.3.1 GTM架构 Block图2 why(GTM)?3 how(GTM)? 前期项目使用的芯片是英飞凌的TC387,之前一直在学习autosar架构,没有时间整理硬件相关的内容,近期将对英飞凌的GTM架构进行学习整理。本文的内容将基于TC264进行分析。 本章节介绍了GTM,重点是描述了相关的概念、观点,和解决方案。 GTM是一个模块框架,包
2022-06-28 11:27:53 2583 1
原创 PWM波的原理和应用
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期);也就是说一秒钟PWM有多少个周期 单位: Hz 表示方式: 50Hz 100Hz 也就是占空比最小能达到多少,如8位的PWM,理论的分辨率就
2022-06-17 15:30:04 8622
原创 主动续流和被动续流
目录1 什么是续流2 续流回路的作用3 非同步续流(Passive free-wheeling)4 同步续流(Active free-wheeling) 开关电源是通过功率管打开时给电感充电,电感储能;功率管断开时,电感释放能量,从而实现电压变换。在功率管断开时,电感释放能量需要电流回路,续流元器件的选用不同,就会涉及到不同的续流方式,即同步续流和非同步续流。也就是(Active free-wheeling & Passive free-wheeling) 在电路中一般用来保护元
2022-06-16 17:22:24 2528
原创 低边驱动和高边驱动
驱动负载有两种基本方法:高边驱动,低边驱动。 低边驱动(LSD): 在电路的接地端加了一个可控开关,低边驱动就是通过闭合地线来控制这个开关的开关。容易实现(电路也比较简单,一般由MOS管加几个电阻、电容)、适用电路简化和成本控制的情况 通常用于与动力总成相关的负载,例如电机,加热器。 高边驱动(HSD): 在电路的电源端加了一个可控开关。高边驱动就是控制这个开关的开关。高边驱动器的设计比同等的低边复杂一些,一个原因是它通常使用(NMOSF
2022-06-06 11:26:47 21372 2
原创 死区时间和消隐时间
PWM是脉冲宽度调制,常用到整流和逆变,这就需要用到整流桥和逆变桥。对于三相电,需要三个桥臂。以高低电平为例,每个桥臂上有两个电子器件,比如IGBT,大致如下图所示: 这两个IGBT不能同时导通,否则会出现短路的情况,从而对系统造成损害。 这个时候需要考虑为什么会出现短路的情况呢? 这就涉及到制造工艺和设计工艺的差异。而且不同的厂家,针对这块的优化也不尽相同。 所以在驱动开关元器件门极的时候需要增加一段延时,确保另一个开关管完全
2022-06-02 12:15:43 5325
原创 Battery Reverse Connect Protect - 电源反接保护
本文中的例子为上图: 正接: 当电池与正常极性连接时,Q5的寄生二极管将正向导通,将其源极驱动到 Vbat。当这种情况发生时,栅极接地,Q5将被打开(它是一个 p 通道MOS) ,使其能够处理更大电流。 反接: 当电池反向连接时,二极管反向偏置,使栅极和 Q5源极处于同一电位,保持 Q5处于关闭状态,系统其余部分不供电。R1的阻值很高(100k左右) ,因为在正常运行时,它连接着 Vbat
2022-06-01 16:28:42 529
原创 [4.6]-AutoSAR零基础学习-CAN通信协议
通信架构介绍一文中已经对autoSAR里通信模块进行详细分析,特别是信号的接收发送,这一节,将通过CAN通信实例详细介绍,来对autoSAR的通信模块进一步加深印象!1 概述CAN通讯的核心模块有4个:COM模块,PDU Router模块, CAN Interface模块和CAN Driver模块。can通信相关的文档2 流程2.1 接收流程根据ISO 11898-1标准可知,CAN接收功能...
2022-05-10 15:48:04 2063
原创 [4.8]-AutoSAR零基础学习-UDS介绍
1 基于OSI模型的UDS参考实现 2 UDS的相关概念 客户端 诊断请求的提出者--测试仪,发送诊断请求 服务器 诊断相应的提供者--某个诊断ECU,发送诊断响应 本地客户端和本地服务器 两者在同一网段进行连接 远程客户端和远程服务器 两者不在同网段,通过远程地址进行标识 协议数据单元-PDU ...
2022-04-19 00:53:41 2656
原创 [4.7]-AutoSAR零基础学习-诊断的概念
目录1 诊断的概念2 诊断协议2.1 诊断协议通信机制 2.2 诊断协议的发展历史2.3 诊断通信框架(对等实体通信)1 诊断的概念诊断的概念其实很好理解,比如人身体不舒服,去医院治疗,但是有些病,医生没法直接通过眼睛看出来,这个时候就需要借助一些工具,比如血常规,CT之类,通过这些辅助的手段,才能够确定确定病因。同样,汽车出故障了,某些信号灯亮了,可以直接通过眼睛判断大概出错的位置,但是具体的出错原因,以及是否仍有隐藏的问题,这是无法通过外观来判断的...
2022-04-19 00:43:33 913
原创 [4.5]-AutoSAR零基础学习-通信协议栈介绍
目录1 通信架构2 发送流程3 接收流程本文介绍的通信协议不包括诊断协议和标定协议,内容仅为单纯通信。1 通信架构Autosar的通信模型,在autosar架构BSW一层中,通信功能单独拎出来分析,可以看到在BSW里面的,分为通信服务、硬件抽象、通信驱动。如下: COM 接收应用层传下来的数据,同时COM上传的数据也是单纯的数据,起了一个信号接口和网关的作用。 PDU Router .........
2022-04-15 16:24:16 4633 2
原创 [4.2]-AutoSAR零基础学习-XCP 测量/校准 <<2>>
4. XCP协议规范4.1 数据包简介4.2 数据包报文格式5. XCP测量5.1 异步测量(Poling)5.2 同步测量6 校准/标定4. XCP协议规范4.1 数据包简介XCP的数据包分为两类:指令传送对象CTO(Command Transfer Object)数据传送对象DTO(Data Transfer Object) 如将命令按传递方向,可划分下图:...
2022-04-13 14:02:56 1367
原创 [4.1]-AutoSAR零基础学习-XCP 测量/校准 <<1>>
目录1. XCP是什么?2. XCP用来做什么?3. XCP工作过程3.1 主从模式3.2 网络传输方式3.3测量/标定流程(IMU 陀螺仪校准)3.3.1环境3.3.2 测量/标定流程(详细再第五节进行讲解)前言什么是ECU测量和校准?发现很多小伙伴对ECU的测量和校准不是很清楚,接下来对这两个概念,以及车载相关的方面进行梳理!近些年车机相关的很多控制动作都被数字化,比如刹车,油门,都可以用一个具体的数值来体现...
2022-04-12 19:21:20 2883
原创 [4.4]-AutoSAR零基础学习-Bsw-NvM学习 <下>
目录1 NvM的配置1.1 NvM的Descriptor定义1.2 NvData interface连接1.3 Nv Component的接口属性1.4 Nv Component的block属性1 NvM的配置NvM的配置中,主要包括BSW层NvM的Descriptor配置、APP层Nv Coponent中的Block配置相关的属性和NvData Interface配置。1.1 NvM的Descriptor定义NvM的Descript...
2022-04-12 15:25:54 1115
原创 [4.3]-AutoSAR零基础学习-Bsw-NvM学习 <上>
AutoSAR的架构,大家已经很熟悉了,无非就是APPL/RTE/BSW/MCAL这几层。从架构纵向来说,autoSAR对BSW的功能划分也十分清晰,主要有通信栈、内存栈、CDD、IO操作、系统服务、信息安全的相关协议栈。如下图接下来,我们将对BSW中内存栈的管理模块(NvM)进行梳理。1 AutoSAR Memory Stack1.1 内存栈结构在内存栈中包含服务层(NvM)、抽象层(MemIf、EA、EEP、Fe...
2022-04-07 16:26:31 3170
原创 [2.5]-AutoSAR零基础学习-AutoSAR解决方案
目录1 etas autoSAR系统解决方案2 INTEWORK-EAS3 vector解决方案4 本文解决方案4.1 使用Matlab/Simulink来实现部分软件组件级的开发4.2 使用ETAS ISOLAR-A工具来进行AUTOSAR系统的设计与配置4.3 ECU级开发阶段基于ETAS RTA系列工具(RTA-RTE/RTABSW/RTA-OS)实现ECU级的发4.4 代码集成通过先前的知识学习,我们了解到,autoSAR是一种规范和架构,为了满足auto..
2022-04-06 11:43:03 4045 2
原创 【车载】轮速-AK协议
1 AK协议定义AK协议是一种轮速传感器(WSS)和电子控制单元(ECU)的标准接口,用于数据信号的传输。传感器产生的信号经过信号调制单元处理,产生速度信号和数据信号。2 如何测量AK信号AK信号是通过改变电流的大小来传输数据,电流分为三级。高等级电流(I_CCH,HIGH-level supply current),一般取28mA,用于速度脉冲;中等级电流(I_CCM,MID-level supply current),一般取14mA,用于数据协议......
2022-04-02 14:22:18 9356 5
原创 【车载】轮速算法-卡尔曼滤波算法
1 背景Kalman Filter 是一个高效的递归滤波器,它可以实现从一系列的噪声测量中,估计动态系统的状态。 起源于 Rudolf Emil Kalman 在 1960 年的博士论文和发表的论文《A NewApproach to Linear Eiltering and Prediction Problems》(《线性滤波与预测问题的新方法》)。 并且最先在阿波罗登月计划轨迹预测上应用成功,此后 kalman filter 取得重大发展和完善。 它的广泛应用已经超过 30 年,包...
2022-03-25 11:28:45 2568
原创 【车载】轮速算法-IIR一阶滤波
1、算法介绍公式:滤波结果 = a*当次采样值 +(1-a)*前次滤波结果a 为0~1之间的数,一阶滤波相当于是将新的采样值与上次的滤波结果计算一个加权平均值,a 的取值决定了算法的灵敏度,a越大,新采集的值占的权重越大,算法越灵敏,但平顺性差;a越小,新采集的值占的权重越小,灵敏度差,但平顺性好。优点:对周期干扰有良好的抑制作用,适用于波动频率比较高的场合,它不用记录历史数据缺点:滞后、灵...
2022-03-23 16:09:57 1198
原创 [2.4]-AutoSAR零基础学习-AutoSAR方法论
1 方法论概念1.1 汽车产业链名词 英文简写 OEM TIER 1 TIER 2 中文 主机厂/整车厂 一级供应商 二级供应商 行业职责 整车装配工作 给主机厂商提供ECU等部件 主要给TIER1 提供零件的,如电阻等等 行业代表
2022-03-22 12:50:54 4261
原创 [2.3]-AutoSAR零基础学习-AutoSAR分层架构与软件组件
1 AutoSAR架构分层AUTOSAR规范主要包括分层架构、方法论和应用接口三部分内容。其中,分层架构是实现软硬件分离的关键,使汽车系统软件开发者摆脱了之前ECU软件开发与验证时对硬件系统的依赖。在AUTOSAR分层架构中,汽车嵌入式系统软件自上而下分别为:应用软件层(Application Software Layer,ASW)运行时环境 (Runtime Environment,RT...
2022-03-16 21:31:22 4155
原创 [2.2]-AutoSAR零基础学习-autosar的发展历程
目录1 AUTOSAR的由来2 AUTOSAR的原则及核心思想3 AUTOSAR的发展历程及应用现状3.1成员3.2 分支3.3 应用1 AUTOSAR的由来autosar之前的方案,缺点很明显,总的来说就是四点:风险高,成本高,可复用性差,开发周期长。为解决上述问题,2003 年,由全球汽车制造商、零部件供应商及其他电子、半导体和软件系统 公司联合建立了汽车开放系统架构联盟 (AUTom...
2022-03-16 20:10:10 1296
原创 [2.1]-AutoSAR零基础学习-汽车电子控制系统简介
目录1 汽车电子的发展历史2 汽车电子的现状2.1 动力传动总成电子系统2.2 底盘电子系统2.3 车身电子系统2.4 汽车通信与娱乐电子系统3 汽车电子控制系统的基本构成3.1 传感器:3.2 电子控制单元(ECU)3.3 执行器4 汽车控制器软件标准的发展1 汽车电子的发展历史大致可以分为4个历史阶段:第一阶段:起始阶段,只是开发一些电子部件来改善机械部件的性能,代表性装置有电子喇叭,汽车收音机等。...
2022-03-16 14:44:34 1882
SHE Secure Hardware Extension.pdf
2022-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人