首页 > 其他分享 >S32Kxxx bootloader之CAN FD UDS bootloader

S32Kxxx bootloader之CAN FD UDS bootloader

时间:2023-12-26 23:36:49浏览次数:24  
标签:UDS S32Kxxx 比特率 应用程序 ECU FD bootloader

  了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序)。

  六年前, 汽车内ECU CAN 网络 还有低速CAN 网络, 速度是250kbps,不用接终端电阻就可以组网。但是很快ECU CAN网络都转为高速CAN 网络,速度高于500kbps. 但是最近2年,ECU CAN 网络越来越多的采用CAN FD。ECU 越来越多,交互数据也越来越多,所以再过2,3年,估计ECU 高速CAN 网络也不多见,绝大多数都会转为CAN FD网络。通过CAN FD 总线借口bootloader升级ECU应用程序也会越来越常见,今天想给大家介绍的就是最近刚完成的S32K1xxx系列的CAN FD UDS bootloader。

       CAN FD bootloader 烧写到ECU 的主芯片后,后续ECU 的应用程序需要升级,通过CAN FD 总线即可实现升级,不需要把ECU 拆出来,也不需要烧写口,只需一台电脑通过CAN FD bus和ECU相连,即可给汽车内的ECU 完成应用程序更新。

        

       此UDS bootloader 是基于NXP芯片S32K116的CAN FD总线接口bootloader. 软件架构如下图:

            CAN FD UDS bootloader 是放置在芯片S32K116 pflash 的0x00000000 ~ 0x0000EFFF,memory map 如图:

        ECU 上电后运行进入bootloader程序,判断是否有更新请求,没有更新请求且应用程序有效则跳转到应用程序,有更新请求或应用程序无效则停留在bootloader,  flash driver 可以由上位机下载到RAM, Erase 和Program pflash的动作是通过调用RAM中的flash driver API 完成的。 flash driver 也可以固化在ROM中,此时,Erase 和Program pflash的动作是通过调用ROM中的flash driver API 完成的。上电流程如下图:

  CAN FD UDS Bootloader 升级应用程序的整个流程主要使用了ISO 14229-1 标准中定义的以下UDS Services:

       上位机是我使用C#开发GUI host 程序zFlash, 使用zFlash时有一个地方需要注意,比特率的选择,如果选择405002,代表CAN FD 盒子主芯片工作时钟频率40M,仲裁段比特率500K,数据段比特率2M。如果选择4010002,代表CAN FD 盒子主芯片工作时钟频率40M,仲裁段比特率1000K,数据段比特率2M。目前只支持这两种选择,后续会增加更多的选择项。

  此CAN FD bootloader 遵从UDS 协议,比起自定义协议的bootloader 速度要快很多。更新应用程序的log 如下截图。

 

 

 

 

      

标签:UDS,S32Kxxx,比特率,应用程序,ECU,FD,bootloader
From: https://www.cnblogs.com/geekygeek/p/s32k_canfd_uds_bootloader.html

相关文章

  • bootloader and fireware
    简介bootloader扮演的角色bootloader是一段代码,负责以下基本功能:基础的硬件初始化。从闪存、网络或其他类型的非易失性存储中加载二进制应用程序,通常是操作系统内核。可能需要对应的二进制程序文件进行解压缩。执行应用程序。除了这些基本功能外,大多数引导加载程序还......
  • 05_bootloader开发
    05_bootloader开发需要准备:usb转串口线、SD卡、MINIUSB程序没有运行的时候是放在Nandflash(相当于硬盘)中的,这个地址为程序地址。运行起来的时候是放在DRAM(相当于内存)里的,这个地址为程序链接地址。1.ARM启动顺序1.1.第一个点亮LED的程序(GPIO)参考NoOS(裸机程序)\s......
  • 分布式进阶-链路追踪SpringCloudSleuth、Zipkin【实战篇】
    一、前言我们在使用微服务的时候,往往设计到各个微服务之间的调用,肯定会存在深度的调用链路,如果出现BUG或者异常,就会让问题定位和处理效率非常低。有了Sleuth,就可以帮助我们记录、跟踪应用程序中的请求和操作。通常与Zipkin配合使用,从而提供更全面的可视化应用程序跟踪和分析功......
  • UDS之29服务:认证服务
    1、服务概述  汽车工业的很多领域都有严格的国际标准,其中针对车载诊断的ISO14229规定了车载诊断服务的通用需求(UDS),UDS主要应用于OSI模型的应用层,UDS协议根据功能的不同定义了26种诊断服务。 为了应对网联汽车日益增加的安全风险,在ISO14229-1的2020版本增加了29服务。29......
  • 使用CloudStats监控Linux服务器
    CloudStats是一个服务器监控平台,可让您轻松地监控整个服务器基础平台,同时也可以立即采取行动并解决问题。CloudStats监控工具不需要任何特殊技能或知识来执行设置并开始监控您的服务器。因为是国外的服务器,打开有点慢!在服务器( /Debian/Ubuntu/Fedora等)上安装CloudStats......
  • 初识uds之abstract socket
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。环境说明  无前言  在《记一次有趣的hwclock写RTC的PermissionDenied错误》(https://www.cnblogs.com/Iflyinsky/p/17841708.html或者https://https......
  • hudson.plugins.git.GitException: Failed to delete workspace
    持续集成环境(git+gitlab+jenkins+pipeline+maven+harbor+docker+k8s)之前都是ok的,突然就报错了:CloningtheremoteGitrepositoryCloningrepositorygit@192.168.117.180:qzcsbj/gift.gitERROR:Failedtocleantheworkspacejenkins.util.io.CompositeIOExc......
  • 自制x86 Bootloader开发笔记(3)——— 进入长模式
    前言本项目是基于IA32架构架构(32位Intel架构)的,而IA32架构有以下的操作模式:实模式、保护模式、虚拟8086模式和系统管理模式。这些模式被称为传统模式。实模式是计算机刚启动时的模式,在实模式下可以随意访问可用的内存地址,实模式比较简单直接,但是随着操作系统的发展,实模式这......
  • 论文阅读:Transformer for 3D Point Clouds
    Transformerfor3DPointClouds摘要深度神经网络被广泛用于理解三维点云。在每一个点卷积层,特征从三维点的局部邻域计算出来,并结合起来进行后续处理,以提取语义信息。现有的方法在整个网络层中采用相同的单个点邻域,由固定的输入点坐标的相同度量定义。这种常见的做法很容易实现,但......
  • u-boot和bootloader到底有什么区别
    嵌入式软件工程师都听说过u-boot和bootloader,但很多工程师依然不知道他们到底是啥。今天就来简单讲讲 u-boot 和 bootloader 的内容以及区别。BootloaderBootloader从字面上来看就是启动加载的意思。用过电脑的都知道,windows开机时会首先加载bios,然后是系统内核,最后启动完毕......