试用NXP官方的UDS bootloader

文章目录

    • 1.前言
    • 2.资料获取
        • 2.1 MCU例程
      • 2.2 开发环境
      • 2.3 上位机
      • 2.4 硬件
    • 3.工程修改
      • 3.1 boot工程修改
    • 3.2 app工程修改
    • 4.测试情况
    • 5.例程分享

1.前言

最近很多客户在开发S32K系列MCU时咨询是否可以提供基于UDS协议的bootloader。本文以S32K144为例,介绍如何使用NXP官方提供的UDS bootloader例程。

如果客户有S32K3的uds bootloader需求,可以查看NXP社区提供的资料,链接如下:

  • Unified bootloader Demo - NXP Community

2.资料获取

2.1 MCU例程
  1. 打开NXP的S32K1 MCU的官网,如下链接:
  • S32K1 General-Purpose MCUs | NXP Semiconductors
  1. 按下图方式找到unified Bootloader Framework.zip并下载,然后执行压缩包里的S32K1xx_unified_bootloader_demo_V1.0.exe,将例程安装到客户常用的文件夹。

也可以复制下面的链接到浏览器直接下载:

  • https://www.nxp.com/downloads/en/snippets-boot-code-headers-monitors/unified_bootloader_framework.zip

unified Bootloader Framework

3.最终安装好的文件夹内容如下:

S32K1xx_unified_bootloader_demo_V1.0

2.2 开发环境

开发环境使用的是S32DS2.2,安装使用说明参考如下链接:

  • S32 Design Studio for ARM 2.2 快速入门 (qq.com)

2.3 上位机

  1. 上位机为github上面的ECUBUS,打包好的可执行文件地址如下:
  • Releases · frankie-zeng/ECUBus · GitHub
  1. 选择最新的0.2.24版本进行下载。

ECUBUS v0.2.24

也可以复制下面的链接到浏览器直接下载:

  • https://github.com/frankie-zeng/ECUBus/releases/download/v0.2.24/ECUBus.exe

2.4 硬件

硬件需要准备如下这些:

  • PEAK厂家的CAN卡
  • S32K144EVB-Q100
  • 12V电源以及若干杜邦线

笔者这次测试使用的是PEAK厂家的PCAN-USB(IPEH-002021),推荐下载对应的CAN卡软件PCAN-View,用于测试MCU升级时,跟踪总线上面的数据,可以复制下面的链接到浏览器直接下载:

  • https://peak-system.com.cn/wp-content/uploads/2022/06/pcanview.zip

3.工程修改

本次使用的是S32K144的CAN UDS bootloader工程,按如下路径找到相关的bootloader工程和app工程

S32K144工程

3.1 boot工程修改

  1. 首先打开S32K144_CAN_bootloader工程,先将原先的备份文件删除,防止和后面切换SDK保留的备份文件混合。

  2. 然后打开Sources文件夹,将S32K144_CANunified_stack两个文件删除。

  3. 以管理员身份运行脚本build_test.bat,会发现Sources文件夹内新增了两个文件夹,

  4. 打开S32DS 2.2 ,导入boot工程,步骤如下图。

  5. 随后会弹出警告,版本SDK不对,点击Skip loading。因为原始工程使用的是SDK2.0,而S32DS 2.2默认安装的是SDK3.0,所以需要进行SDK的更换。

  6. 将原本工程的pe组件全部删除。

  7. 右击工程名字,点击属性,然后在弹出的界面选择SDK选项。

  8. 在弹出detach SDK V2.0.0的时候,选择Yes,然后将SDK3.0.0 Attach。

  9. 点击SDK选项界面的OK,会弹出一个对话框,main.c选择不要替换,点击OK。

  10. 然后删除SDK替换之后,工程出现的PE组件。

  11. 然后导入原始工程的pe配置,步骤如下图。

  12. 删除boot工程原本的SDK代码。

  13. 接下来需要将老的linker file的一些配置移到新版的linker file,可以先按下图方式,了、将两个文件进行对比。

  14. 总的来说,下图这些地方需要修改。

  1. 点击pe界面的生成代码按钮,SDKGenerated Code文件夹内的文件都重新生成了。

  2. 因为SDK是灰色的,代表不会参与工程编译,需要添加到工程编译目录中,操作如下图。

  3. 因为这个工程用到了EWC库,所以还需要打开工程属性界面,增加这个库,操作如下图。

  4. 最后点击Debug按钮进行编译,无报错。

3.2 app工程修改

app工程的修改和boot方式差不多,但是有两个注意点。

  1. 需要修改下driver/clock里面的clock.hclock.c文件名称,因为SDK文件夹里也有一个clock.h

  2. 第二个最终升级需要使用app工程生成的bin文件,所以需要在工程属性里面设置一下,如下图:

4.测试情况

最后进行升级测试,详细步骤如下:

  1. 给S32K144EVB-Q100开发板供电12V,将boot工程下载到开发板中,会看到开发板RGB灯闪烁蓝色。

  2. 在桌面新建一个文件夹,将第三节开始介绍的S32K144_CAN_user_config文件中的flash_api.bin复制过去,里面的json文件因为是旧版本的,所以本次用不上。

  3. 将app工程生成的bin文件也复制到桌面新建的文件夹内。

  4. 打开ECUBUS软件,点击Powerful UDS Tester框内的go按钮。

  5. 点击Open UDS Project,选择之前准备的好的ECUBUS工程(文末会分享出来)。

  6. 点击 DoCAN框内的go按钮。

  7. 点击第一个Group:DownloadFile1的编辑按钮。

  8. 在弹出的界面点击Choose File按钮,选择之前放到桌面的flash_api.bin文件,然后点击Change Group按钮完成更改。

  9. 同样的方法修改第二个Group:DownloadFile1,选择的文件是app工程的bin文件。

  10. 连接上PCAN-USB,点击设置按钮,然后点击Connect按钮。如果提示没有识别到硬件,需要去peak官网下载驱动安装一下。

  11. 其它配置如下图,点击ADD按钮添加即可。

  12. 接着打开PCAN-View,配置好波特率。

  13. 跳转到Trace窗口,并点击开始录制的按钮。

  14. 最后点击ECUBUS的start按钮。

  15. 当下载成功后,会有提示成功的logo出来,并且在PCAN-View的Trace窗口也能看到交互的报文信息。此时,开发板的RGB灯也变成闪烁红色。

  16. 如果客户想要做压力测试,可以将Cycle的参数设置到需要测试升级的次数,进行自动测试。

5.例程分享

关于本文提到的ECUBUS软件、ECUBUS工程、修改后的boot和app工程,笔者整理之后放在gitee上面了,链接如下。

  • https://gitee.com/Yingming_Cai/S32K144EVB_UDS_Bootloader_Example.git

如果觉得本文有用,不妨给个一键三连!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL——系统变量

使用 #最大连接用户数 select MAX_CONNECTIONS; #临时存放构成每次事务的SQL的缓冲区长度 select BINLOG_CACHE_SIZE; #SQL Server的版本信息 select VERSION; 查询结果

云原生测试实战-云计算大数据云原生架构容器技术Kubernetes计算机软件工程软件开发

系列文章目录 送书第一期 《用户画像:平台构建与业务实践》 送书活动之抽奖工具的打造 《获取博客评论用户抽取幸运中奖者》 送书第二期 《Spring Cloud Alibaba核心技术与实战案例》 送书第三期 《深入浅出Java虚拟机》 送书第四期 《AI时代项目经理成长之道》 …

政安晨:【Keras机器学习示例演绎】(三十六)—— 用聚合注意力增强信念网络

目录 导言 设置和导入 超参数 加载 CIFAR10 数据集 增强层 卷积干 卷积主干 注意力汇集 Patch convnet 回调 学习率时间表 训练 推理 结论 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望…

Linux-02

Linux常用命令: ls: 列出目录touch: 创建文件 touch test.txt echo:往文件写内容echo "i love linux" >>test.txtcd:切换目录pwd:显示目前的目录mkdir:创建一个新的目录 mkdir dai:创建目录dai mkdir -p test1/t…

Isaac Sim 6 仅使用isaacsim中自带的工具进行语义分割、实例分割(学习笔记5.09)

一.概要 建立场景,给场景内的物体赋予语义,使用Replicator进行分割操作,从而获得带标签信息的mask掩码图,可作为数据集、验证集等训练使用。 二.具体操作步骤 场景部分 1.搭建一个基础场景 这里建议在搭建的时候就按类别分好类…

L2TP-VPN 专题笔记

笔记连接: 有道云笔记https://note.youdao.com/s/EJBaLwhS 思维导图:

鸿蒙OpenHarmony开发板解析:【 部件配置规则】

部件 部件配置规则 部件的bundle.json放在部件源码的根目录下。以泛sensor子系统的sensor服务部件为例,部件属性定义描述文件字段说明如下: 开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击…

爬虫爬取必应和百度搜索界面的图片

爬虫爬取必应和百度搜索界面的图片 爬取bing搜索图片界面爬取百度搜索界面图片结果如下 爬取bing搜索图片界面 浏览器驱动下载地址 对应版本即可 浏览器驱动 mad直接用 import os import re from selenium import webdriver from selenium.webdriver import Keys from sel…

ai智能机器人电销的发展现状如何?

在移动互联网时代,人们对于营销的需求越来越高,而传统的营销方式已经无法满足人们的需求。下面我们来看看智能机器人电销的发展现状如何? 智能机器人电销作为一种全新的营销方式,正在迅速崛起。据市场机构统计,未来几…

基于OceanBase+Flink CDC,云粒智慧实时数仓演进之路

摘要:本文整理自云粒智慧高级技术专家付大伟在 4 月 20 日的 2024 OceanBase 开发者大会上的分享,讲述了其数据中台在传统数仓技术框架下做的一系列努力后,跨进 FlinkCDC 结合 OceanBase 的实时数仓演进过程。 内容主要分为以下几个部分: 业务…

武汉星起航:展望跨境电商新篇章,创新发展助力品牌国际化

随着全球经济一体化的深入发展,跨境电商行业正迎来前所未有的发展机遇。在这个充满机遇的时代,武汉星起航电子商务有限公司以其独特的自营亚马逊跨境电商模式和卖家孵化服务,成为了行业内的一股强劲力量。展望未来,武汉星起航将继…

刷!简单的转录组分析+Cytoscape三小时工作量,思路易复现

说在前面 两样本孟德尔随机化应该大伙都了解的不少,不过今天看到一篇,有点“料”的文章,一句话总结:Cytoscape乱拳打死老师傅,通篇除了WGCNA、差异分析是作为常规的转录组分析方法,剩下的几乎都是ClueGO的…

AndroidStudio开发实现一个音乐播放器

文章目录 项目概述开发环境项目结构功能演示和分析视频演示主要功能点源码获取 项目概述 此次项目使用AndroidStudio开发一个音乐播放器。包含登录注册功能,播放暂停等功能,自动检索和手动检索Mp3功能。还使用Sqlite数据库做了一个音乐收藏,…

使用网络工具监控网络性能

网络工具和实用程序有助于有效地检测网络问题,诊断其原因和位置,以及缓解和解决问题,这有助于确保网络环境的稳定性,使用户免受设备连接问题带来的麻烦。 网络工具已经成为每个网络管理员用于有效诊断和处理网络问题的解决方案中…

.Net MAUI 搭建Android 开发环境

一、 安装最新版本 VS 2022 安装时候选择上 .Net MAUI 跨平台开发 二、安装成功后,创建 .Net MAUI 应用 三、使用 VS 自带的 Android SDK 下载 ,Android镜像、编译工具、加速工具 四、使用Vs 自带的 Android Avd 创建虚拟机 五、使用 Android 手机真机调试

vue3 自定义调控参数-简易生成器

vue3 自定义调控参数-简易生成器 文章目录 封装生成器控件如下父组件使用如下: 此功能好像是某厂的在线视频笔试题,当时写完也没有结果。。。我觉得此 demo 适用场景:自定义动态表单时需要定制字段、用户自定义信息等 封装生成器控件如下 /…

社媒营销必看:Instagram网页版使用指南

Instagram在全球有超过10亿的月活跃用户。其每日故事功能有超过5亿的使用量,Instagram用户每天喜欢超过4 亿个帖子——据Instagram的2024年最新报告,粉丝数在10万以下的小品牌在故事上的点击率增长了35%,少于1万个粉丝的品牌的帖子到达率增长…

【懂车帝注册安全报告-无法登陆的背后是?】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露 短信盗刷的安全问题,影响业务及导致用户投诉 带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

设置smb共享的几个注意事项

samba用户名和密码是可以设置为和创建linux时的系统用户名一样的,方法如下: 1.sudo vi /etc/samba/smb.conf 2.在最下行添加配置 3.添加samba用户名和密码,这里选择和系统用户名一样 sudo smbpasswd -a xuyy 4.重启samba服务 sudo syste…

Linux Ubuntu(玩客云) qBittorrent docker BT下载(qbittorrent 密码错误无法登录 ip地址被禁止登录等)

提示: 需要提前安装Docker 根据qBittorrent官网的更新日志https://www.qbittorrent.org/news ,4.6.1.0包含一个重大更新。可以看到自4.6.1.0开始,qBittorrent将弃用adminadmin默认密码,采用随机密码,将在终端控制台输出…