新闻  |   论坛  |   博客  |   在线研讨会
汽车电子ECU BootLoader开发之基于CAN总线通信的MPC57xx系列MCU bootloader开发详解(以MPC574xP为例介绍)
HXW718059156 | 2017-11-19 09:46:43    阅读:26649   发布文章

内容提要
引言
1. MPC5744P的bootloader和应用程序存储器地址分配
1.1 MPC574xP系列MCU的SRAM资源
1.2 MPC574xP系列MCU的Flash资源
1.3 MPC5744P CAN总线bootloader和应用程序存储器地址分配
2. Flash 驱动开发(下载安装和使用C55 Flash SSD)
3. FlexCAN驱动开发
3. 1 DEVKIT-MPC5744P CAN总线硬件设计
3.2 Qorivva MPC57xx系列MCU FlexCAN 模块功能简介
Qorivva MPC57xx系列MCU使用FlexCAN 模块进行CAN总线通信,其具有如下特性:
3.3 FlexCAN模块通信波特率配置
3.4 FlexCAN模块RX ID滤波器设置,中断设置以及驱动程序API介绍
4. 上位机软件及CAN总线通信协议介绍
5. bootloader程序流程介绍(解析S19文件、调用 Flash SSD编程应用程序以及跳转方法)
6. 使用本文介绍的bootloader
6.1 基于DEVKIT-MPC5744P的测试硬件连接
6.2 在DEVKIT-MPC5744P上测试本例bootloader
总结

引言


Qorivva MPC57xx系列汽车级MCU至21015年底开始产量到现在,被广泛使用于各种汽车电子ECU产品中,而汽车电子ECU中,越来越多的要求开发基于CAN总线通信的bootloader功能,以实现在线升级应用程序的功能,或者对接未来基于车联网的FOTA--Firmware Over-The-Air功能。


640.webp.jpg


而Qorivva MPC57xx系列汽车级MCU相对来说,其外设功能模块更加复杂,片上集成的存储器--SRAM和Flas模块较之前的S12(X)系列MCU尺寸更大而且更加复杂,另外,其软件开发环境--S32DS for Power V1.0/1/2也是一个推出不到两年的新环境,用户相对不是和熟悉,这些因素都导致Qorivva MPC57xx系列汽车级MCU的bootloader具有一定的挑战。


基于以上考虑,作者基于Qorivva MPC57xx系列的C55 Flash SSD和S32DS for Power V1.2开发完成了MPC5744P的CAN总线bootloader,并在DEVKIT-MPC5744P上测试OK。


本文旨在以MPC574xP为例介绍MPC57xx系列MCU的bootloader开发流程和注意事项,希望对大家有所帮助。


Tips:关于汽车电子ECU bootloader开发的一般原理和注意事项,请参考本公众号之前的文章《汽车电子ECU bootloader开发要点详解》(直接点击跳转阅读);



详细内容和参考设计BootLoader和app demo工程(S32DS for Power V1.2版本)请关注博主微信公众号--汽车电子expert成长之路,阅读。


关注方法:


微信直接长按扫描识别下方二维码关注,或者在微信添加朋友-->公众号-->输入"汽车电子expert成长之路"搜索-->点击关注。若对本文观点有任何意见和建议也欢迎留言指出。您的关注、点赞、转发分享是对我辛勤写作的最大肯定。

我的微信公众号二维码.jpg





本微信公众号已经发布的个人原创精品----嵌入式系统技术文章链接如下,欢迎大家参考学习,并转发分享:

  •           汽车电子expert成长之路公众号系列文章列表

  •         汽车电子ECU bootloader开发要点详解

  •         汽车电子ECU BootLoader开发之基于CAN总线通信的S12(X) 系列MCU独立NVM驱动安全bootloader


  •         浅谈嵌入式MCU开发中的三个常见误区

  •         浅谈嵌入式 MCU 软件开发之应用工程的堆与栈

  •         浅谈嵌入式MCU软件开发之中断优先级与中断嵌套

  •         浅谈嵌入式MCU软件开发之代码风格与代码优化

  •         浅谈嵌入式MCU软件开发之startup过程详解(从复位向量到main函数之前的准备工作)

  •         浅谈嵌入式MCU软件开发之startup过程详解(在CodeWarrior 5.1 中实现RAM自定义初始化)

  •         浅谈嵌入式MCU软件开发之S12(X)系列MCU 中断ISR在CodeWarrior 5.1 IDE 中的三种写法

  •         浅谈嵌入式MCU硬件设计之MCU最小系统电路

  •         S12(X)系列MCU的片上存储器资源与分页访问机制详解(一)   

  •         S12(X)系列MCU的片上存储器资源与分页访问机制详解(二)

  •         S12(X)系列MCU的加密(Secure)原理和解密(Unsecure)方法

  •        使用 Cyclone 离线编程器对 S12(X)和 MagniV S12Z 系列 MCU 片上 NVM 编程

  •       Qorivva MPC56xx系列MCU启动过程全解析(基于CW IDE应用工程--EAB I、链接文件、启动文件和map文件)

  •        CodeWarrior IDE使用Tips-Qorivva MPC56xx应用工程map文件全解析(CW 2.10/10.x )

  •        Qorivva MPC56xx/57xx系列MCU的模式控制与切换(片上外设资源使能与功耗控制)

  •         S32K1xx系列MCU使用Tips--功能介绍及软件开发和硬件设计FAQ

  •         S32K1xx系列MCU使用Tips--Flash加密后不断复位无法连接调试器的问题解决

  •        外设使用Tips之MPC57xx系列MCU C55 Flash模块详解及其SSD(标准软件驱动)使用

  •        外设使用Tips之MSCAN接收ID滤波器设置

  •        外设使用Tips之TIM定时器使用FAQ和使用经验

  •       外设使用Tips之MPC574xP系列汽车级MCU的SWT看门狗定时器配置与使用

  •       S32DS使用Tips--S32DS for Power V1.2 链接文件和启动过程详解


  •        S32DS 使用tips--S32DS for ARM v1.3工程到S32DS for ARM V2.0迁移升级方法和注意事项

  •        S32DS 使用 tips--工程属性配置(编译选项和C编译器、汇编器及链接器设置)

  •       S32DS使用Tips--如何编译生成和调用静态库

  •       S32DS使用Tips--如何通过创建新的编译目标(Build Target)在同一个S32DS工程中同时编译静态库和应用程序

  •       S32DS使用Tips--如何配置和使能Attach功能定位软件程序bug和完成bootloader与应用程序工程的联合调试

  •        S32DS 使用 tips--使用Flash from file下载S19或elf文件


  •        CodeWarrior IDE使用tips之map文件详解

  •        CodeWarrior IDE使用tips之prm链接文件详解(自定义存储器分区以及自定义RAM数据初始化与在RAM中运行函数)

  •        CodeWarrior IDE使用tips之bug定位绝技--hotsync与attach调试

  •         CodeWarrior IDE 版本选择与 License功能(feature)和价格,授权形式差异、激活方法与安装使用

  •         CodeWarrior IDE使用Tips-如何编译生成和调用静态库


如果你喜欢本公众号的文章,请点击文章最开始的公众号关注或微信直接长按扫描识别下方二维码关注,你也可以在微信添加朋友-->公众号-->输入"汽车电子expert成长之路"搜索-->点击关注。若对本文观点有任何意见和建议也欢迎留言指出。您的关注、点赞、转发分享是对我辛勤写作的最大肯定。

我的微信公众号二维码.jpg

胡恩伟

NXP汽车电子FAE

2017年11月14日于江城·武汉




*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
欢迎大家关注我的微信公众号--汽车电子expert成长之路,阅读更多原创性精彩文章。如果你觉得我的文章对你的学习/工作有所帮助,也请你帮忙转发到你的朋友圈,让更多的人能够看到我的文章,大家一起学习,一起进步!
推荐文章
最近访客