FOTA S32K

news2024/9/21 22:28:55

目的

OTA的概括和挑战
理解 NXP是如何在自己的产品处理线上更新
了解如何处理低成本边缘节点mcu(如S32K设备)中的空中更新

背景

一般车辆更新固件需要

  1. 在经销商完成更新
  2. 指定使用更新固件的工具
  3. 引擎并非在运动状态
  4. 目标节点应用被暂停
  5. 主应用程序被擦出和在编程

动机

  1. 不断增加回调软件的数量
  2. 经销商更新需要额外的花费
  3. 随着软件的不断增加复杂度,可能要求的软件更新也不断增加
  4. 用户便捷 VS 去经销商
  5. 快速更新软件的安全性能够被提高

汽车ECU和FOTA

FOTA由原来的信息系统或车联网系统更新,随着汽车ECU不断增加,fota面临新的挑战,汽车更多域的ECU。
在这里插入图片描述
车厂的汽车OTA架构
在这里插入图片描述

OTA两种方式

A/B 交换使用用例

A或B版本固件存储在Flash中。
在这里插入图片描述

优势:
● 更新固件,同时应用也在flash运行。
● 支持原始的固件回滚。
● 汽车可用
劣势:
● 需要两个flash的存储
● Higher max current(run current in block A+ 擦出/编程在B块)

替换

在这里插入图片描述

把当前的Fireware替换成新的固件。
优势:不需要额外的flash。
劣势:
● 要求在更新的过程中,汽车处于停工状态。
● 不支持版本回滚
● ECU操作时,具有高风险。

设定

  1. 终端
  • 需要获得部分或者全部镜像
  • 烧写一个完整的镜像至少需要足够的空间
  • 通过串行链路接收更新的软件
  • 启动块永远不会随着OTA更新而改变
  1. 最好情况:在执行更新时,运行存在的软件。
  2. 在新的软件被激活之前,应用APP/启动boot 软件能执行
  • 安全生效
  • 功能性生效
  1. 在更新完成后复位,新的软件开始执行。

全FOTA demo

在NXP设备上,本演示旨在演示许多系统中常见的固件更新功能。demo验证使用两个MPC5748G评估板:

  • 一个评估板通过CAN发送更新
  • 其他评估板接收更新,程序放进flash里,确保下次启动时,使用默认固件。

演示的关键特征

  • 擦出重修映射 flash映射到不同的地址,提供一个简单的方式去切换固件。
  • 闪存即可读又可写(RWW)能力 能够擦出或者编程一个flash块,同时能执行另一个flash块。
  • 固件验证 确保固件来自有用源并在传输的过程中未收到干扰。

芯片

S32K1 OTA

flash 系统

在这里插入图片描述
Flash阵列

  1. FOTA相关特征:
    1.1 区域尺寸(最小擦出尺寸)
  • 程序Flash里4K Bytes(Bank 0)

  • 数据Flash最小擦出尺寸2K Bytes(Bank 1)

    1.2 bank0(程序Flash)和bank1(数据Flash)同时具有读写特征

  1. 关键附加的flash特征:
  • C90TFS(Thin-Film-Storage)技术
  • ECC支持:单bit错误纠正和双bit错误检测。
    • 数据flash 32bit ECC word
    • 程序flash 64bit ECC word
  • 访问时间:Flash时钟大约是1/4的core时钟

A/B 固件交换在这里插入图片描述

A/B固件更换步骤

检测更新镜像请求,并在bootloader开始握手。
1
下载flash程序并擦出RAM或者Dflash代码。
在这里插入图片描述
握手开始,接收新的部分镜像并擦出旧镜像,将新的部分镜像接入Flash块中,握手结束。重复上诉握手步骤直到镜像写入结束完成。
在这里插入图片描述
设置更新完成标识,产生reset信号。检测新的镜像和更新标识,切换到新镜像分支。擦出更新状态标识。
在这里插入图片描述

A/B交换总结

优势:A/B固件交换允许立即备份
限制:与具有多个代码分区的大型mcu相比,不能实时更新映像。

参考连接

NXP OTA

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

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

相关文章

flutter Android 自定义输出路径 apk名称

默认 Flutter flutter build apk, 是默认的名字 默认的路径,直接修改输出路径 会造成 打包可以,直接运行 会提示找不到 apk 文件; 这里的解决思路是:打包完成后 拷贝目标路径的 APK 到自定义的路径,这样既可以正常打…

XILINX 4种7系列FPGA的特点与应用场景详解

🏡《Xilinx FPGA开发宝典》 目录 1,概述2,性能成本分析3,性能提升方法4,总结 1,概述 7系列FPGA包括Spartan-7,Artix-7,Kintex-7和Virtex-73类,分别简称为S7,A7,K7和V7。本…

【数据结构OJ题】移除链表元素

移除链表元素 原题链接:力扣 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回新的头节点 。 方法一:原地删除节点 思路: 首先,定义两个指针&#xff1…

minikube从入门到精通系列之一:部署minikube详细步骤

minikube从入门到精通系列之一:部署minikube详细步骤 一、认识Minikube二、Minikube核心知识点三、minikube官方地址四、minikube 启动五、minikube的配置需求六、Mac安装minikube七、CenotOS7上安装minikube八、启动集群九、与集群交互十、部署应用程序1.Service2.…

方向元件软件原理

三段方向电流保护的方向元件,可以由软压板选择正方向、反方向动作方式。这里仅以正方向为例来说明方向元件原理。 为了保证在各种相间短路故障时,方向元件能可靠而灵敏动作,微机保护的方向元件的“接线方式”(指软件的接线方式&am…

深度学习(25)——YOLO系列(4)

深度学习(25)——YOLO系列(4) 文章目录 深度学习(25)——YOLO系列(4)1. dataset准备(1)数据详解(2)dataset(3)…

Navicat连接Oracle报错:Oracle library is not loaded

Navicat连接Oracle报错:Oracle library is not loaded 用Navicat连接Oracle数据库时报错:Oracle library is not loaded 解决办法:::!! 这是oci.dll版本不对。因为Navicat是通过Oracle客户端…

11. requests.post()函数访问网页(小白入门)

11. requests.post()函数访问网页(小白入门) 文章目录 11. requests.post()函数访问网页(小白入门)1. 常用的http请求方法2. requests.post()语法3. 确定请求网址和请求方法4. 开发者工具中的Fetch/XHR表示什么5. requests.post()访问网页实操5.1 导入库,随机生成一…

Linux磁盘不足,解决办法

解决 一 查看 Linux大于1G的文件 命令 sudo find / -type f -size 1G -exec ls -lh {} \; 解决 二 清理docker的日志 Docker日志可能会占用大量的磁盘空间。可以使用以下命令清理Docker日志: sudo truncate -s 0 /var/lib/docker/containers/*/*json.log 解决…

5G无线帧结构与空口资源

时域资源分配< Time Domain Resource Allocation > 下表指示了传送SS/PBCH的第一个OFDM符号号码&#xff0c;基于TS38.213-4.1 cell search。 1. 子载波间隔 Numerology - Subcarrier Spacing 在载波间隔subcarrier spacing和时域的符号长度symbol length方面&#xff…

Kafka可视化平台EFAK搭建及使用

文章目录 1.EFAK可视化平台介绍2.搭建EFAK可视化平台2.1.安装JDK环境2.2.安装MySQL数据库2.3.下载EAK二进制安装包并部署2.4.配置EFAK连接Zookeeper集群2.5.调整Eagle启动文件中的变量信息2.6.启动EFAK可视化平台 3.使用EFAK可视化平台3.1.登陆EFAK可视化平台3.2.EFAK仪表盘展示…

智云通CRM:识破客户在谈判中的十大谎言

智云通CRM系统是一款专为企业打造的客户管理系统&#xff0c;可以有效帮助企业进行客户关系管理、数据分析和数字化转型。在销售过程中&#xff0c;客户谈判是不可避免的环节。然而&#xff0c;客户在谈判中经常会说一些谎言&#xff0c;以获取更有利的交易条件。对于销售人员来…

【Docker】Docker Desktop更换非C盘符(减轻占用率)

Win10中的Docker Desktop调整到其他盘符&#xff0c;由于新版本已经不让修改软连接了&#xff0c;只好另谋策略&#xff0c;最终还是改成功了。 出现问题 使用软连接修改 上面代码我们可以科幻的理解一下 幻想破灭 //TODO 用户点击执行安装 if(检查文件夹是否软连接){有则&a…

ThinkPHP6基础使用

ThinkPHP6基础使用 前言1.基础1.1 开启调试模式1.2测试运行1.3单应用模式和多应用模式区别1.4安装视图1.5模板渲染1.6模板赋值 总结 前言 这里的操作可能有点难懂&#xff0c;没关系的&#xff0c;只需要了解大致的框架构造就可以了 1.基础 1.1 开启调试模式 通过create-proje…

springboot+vue在线外卖点餐系统,附源码,数据库

今天要和大家聊的是基于springbootvue在线外卖点餐系统 源码下载地址&#xff1a; https://download.csdn.net/download/gdutxiaoxu/87651066 开发环境&#xff1a; 后端&#xff1a; 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 …

酷开科技携手京东深入布局投影赛道

沉浸式观影&#xff0c;需要氛围感。大屏幕&#xff0c;大空间&#xff0c;才能让人有身临其境之感&#xff0c;居家生活想要更大的屏幕&#xff0c;除了大屏电视&#xff0c;就要数投影仪了。一部投影仪&#xff0c;再加上充足的空间&#xff0c; 就能够投满整面墙&#xff0c…

第44步 深度学习图像识别:ResNet50建模(Tensorflow)

基于WIN10的64位系统演示 一、写在前面 &#xff08;1&#xff09;ResNet50 ResNet50是一种深度学习模型&#xff0c;由微软研究院的研究人员在2015年提出。"ResNet"的全称是"Residual Network"&#xff0c;意为"残差网络"&#xff0c;"…

WPS 智能办公体验官公测-附申请链接

&#x1f951; Welcome to Aedream同学 s blog! &#x1f951; 文章目录 WPS 智能办公体验官官网步骤1:填写申请表单&#xff1a;步骤2:获取兑换码&#xff1a; AI办公时代 WPS大家都了解就不再多介绍了&#xff0c;个人还是很期待的&#xff0c;可以申请体验一波。 WPS 智能…

“京津冀现代商贸物流金融创新实践基地”揭牌成立

来源 | 廊坊银行 在6月17日举办的京津冀现代商贸物流金融创新发展论坛上&#xff0c;“京津冀现代商贸物流金融创新实践基地”正式授牌。据介绍&#xff0c;这是目前京津冀区域内首个商贸物流金融创新实践基地。中国物流与采购联合会会长何黎明、廊坊市现代商贸物流领导小组办…

G2. Teleporters (Hard Version)(二分)

Problem - 1791G2 - Codeforces 这道题给定一个数轴上的点 0,1,...,n1&#xff0c;其中每个点 i (1 ≤ i ≤ n) 都有一个传送门。在第 i 个点&#xff0c;你可以进行以下操作&#xff1a; 向左移动一格&#xff1a;花费 1 个金币。 向右移动一格&#xff1a;花费 1 个金币。 使…