0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用S32DS开发环境快速开发高性能汽车MCU应用

华兴万邦技术经济学 来源:华兴万邦技术经济学 作者:华兴万邦技术经济 2022-03-31 14:48 次阅读

随着市场需求和汽车行业不断推进电动化、网联化、智能化和共享化等“新四化”,工程师将会面对越来越多的软件开发项目,去用高性能的、获得车规级和功能安全认证MCU开发相关应用。将MCU供应商匹配提供的MCU开发环境,与业内领先的开发工具相结合,将会给开发人员带来开发效率和成果性能的大幅提升。

本文以在汽车行业被广泛使用的S32K系列32位Arm Cortex汽车MCU为例,来介绍通过整合利用其S32DS开发环境和在行业中已被广泛采用的IAR Embedded Workbench for Arm工具链,快速开发高性能汽车MCU应用。

自2017年推出以来,NXP S32K1 MCU在汽车电子市场上被广泛应用。在此基础上,NXP于2020年推出S32K3 MCU,进一步扩展了基于Arm Cortex-M0+/M4F的S32K1 MCU系列产品。全新的S32K3 MCU基于Arm Cortex-M7,并提供了多核和锁步选项,可支持功能安全 ISO 26262 ASIL B/D。S32K3 MCU主要用于汽车车身电子系统、电池管理和新兴的域控制器

01

459745bc-b0a5-11ec-aa7f-dac502259ad0.png

图1:NXP S32K(来源:NXP)

为了解决与日俱增的软件复杂度问题,NXP推出了实时驱动(RTD),可支持AUTOSAR和非AUTOSAR应用上的实时软件,主要用于Arm Cortex-M内核,使所有软件层均符合ISO 26262要求。从而可以快速完成符合相关认证要求的应用。

45b151b4-b0a5-11ec-aa7f-dac502259ad0.png

图2:NXP 实时驱动(RTD) (来源:NXP)

NXP S32K3 MCU拥有广泛的合作伙伴来帮助客户开发。作为NXP的重要合作伙伴,IAR Systems提供专业的嵌入式软件开发工具。最新推出的IAR Embedded Workbench for Arm V9.20.1已经正式支持NXP S32K3 MCU (见参考材料1)。IAR Embedded Workbench for Arm V8.50.10 功能安全版本可用于基于S32K3实时驱动(RTD)的应用开发。

45c22ec6-b0a5-11ec-aa7f-dac502259ad0.png

图3:IAR Systems嵌入式软件开发工具

IAR Embedded Workbench for Arm广泛应用于汽车电子软件开发。其高度优化的编译器可以生成运行效率极高、并且体积小的可执行代码,最大程度释放MCU性能,降低FLASH和RAM的占用。同时IAR Embedded Workbench for Arm具有强大的调试器、代码分析工具可以帮助研发人员提升开发效率,提高代码质量,保障产品的可靠性。

为了方便客户的应用开发,IAR Embedded Workbench for Arm与NXP S32DS工具做了相应的集成,方便客户在IAR Embedded Workbench for Arm工具上快速进行工程初始化。

NXP的S32 Design Studio中的S32配置工具(Configuration Tools) 可以快速配置引脚、时钟和外设,大大简化了S32K3 MCU的配置工作,可以加速开发前期的准备工作。通过S32DS做项目工程初始化,然后导入到IAR Embedded Workbench for Arm中进行项目开发,可以为S32K3系列芯片用户带来极大的便捷。

02

下面将具体介绍如何利用NXP S32DS建立工程并导入到IAR Embedded Workbench for Arm来加快基于NXP S32K3 MCU的汽车软件开发。

在NXPS32DS中安装IAREclipse插件

NXP S32DS支持IAR Eclipse插件,但是IAR Eclipse插件没有包含在S32DS安装包中,需要单独安装,其方法可具体可以阅读(参考材料2)。在实际应用中,这适用于S32 Design Studio for ARM,同样也适用于S32 Design Studio for S32 Platform。

在NXPS32DS中建立工程

在NXP S32DS中建立工程并选择IAR Toolchain for Arm作为对应的工具链:

45df3b92-b0a5-11ec-aa7f-dac502259ad0.png

然后通过Configuration Tools配置对应的引脚、时钟和外设并自动生成相应的代码:

45efd97a-b0a5-11ec-aa7f-dac502259ad0.png

导出S32DS工程到IAREmbedded Workbench for Arm

在S32DS中建立工程时,如果选择了IAR Toolchain for Arm 作为工具链,对应的工程可以导出并导入到IAR Embedded Workbench for Arm,具体步骤可以查阅(参考材料3)。导出工程的操作适用于S32 Design Studio for ARM和S32K1,同样也适用于S32 Design Studio for S32 Platform和S32K3。

但是按照链接中的操作之后,IAR Embedded Workbench for Arm工程文件夹目录和NXP S32DS里面的原有工程文件夹目录不一致:

460ab786-b0a5-11ec-aa7f-dac502259ad0.png

461b7b48-b0a5-11ec-aa7f-dac502259ad0.png

为此IAR提供了一个叫做EWPtool的插件,可以导入对应的源文件目录到工程,具体可以查阅(参考材料4)。

03

下面是在从NXP S32DS导Workbench for Arm中之后的操作:

1. 删除对应的Freescale Processor Expert文件夹(对应的工程文件夹目录都会被删除):

462f6950-b0a5-11ec-aa7f-dac502259ad0.png

2.添加新源文件目录并选择对应工程目录(指向NXP S32DS创建工程的目录):

46405fd0-b0a5-11ec-aa7f-dac502259ad0.png

46571e32-b0a5-11ec-aa7f-dac502259ad0.png

3.对应IAR Embedded Workbench for Arm的工程文件夹目录和NXP S32DS里面的原有工程文件夹目录一致:

466d0daa-b0a5-11ec-aa7f-dac502259ad0.png

468223c0-b0a5-11ec-aa7f-dac502259ad0.png

4.由于NXP S32DS中的startup代码中的程序入口函数和中断向量表与IAR Embedded Workbench for Arm默认使用的程序入口函数和中断向量表不同,需要做下面的配置(在Linker选项中指定对应的程序入口函数,在Debugger选项中指定对应的中断向量表地址:“--drv_vector_table_base=_ENTRY_VTABLE”):

46956458-b0a5-11ec-aa7f-dac502259ad0.png

46b2f0c2-b0a5-11ec-aa7f-dac502259ad0.png

5. 然后就可以在IAR Embedded Workbench for Arm中进行编译,下载和调试等相关操作了:

46cad4da-b0a5-11ec-aa7f-dac502259ad0.png

总结

本文以NXP最新推出的S32K3 MCU及相关的软件开发资源为例,通过展示如何利用NXP原厂配置的S32DS工具建立基于S32K3 MCU的工程,并选择业内广受欢迎的IAR Toolchain for Arm 作为工具链来提升对代码质量要求很高的项目的开发效率。通过NXP S32DS中的Configuration Tools配置对应的引脚、时钟和外设,并自动生成相应的代码,然后导出NXP S32DS工程到IAR Embedded Workbench for Arm进行后续开发。利用NXP S32DS的灵活配置和IAR Embedded Workbench for Arm高效的编译效率加快基于NXP S32K3 MCU的汽车软件开发。

当然,随着越来越多的中国科技企业在工业应用、医疗设备和其他要求高可靠性和高性能的关键应用中发力,在这些领域中也存在着如何结合MCU原厂开发工具,以及诸如IAR Systems这些第三方厂商提供的高性能工具链各自的优势做应用开发的机会,工程师朋友们可以多做了解和尝试。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17135

    浏览量

    351028
  • 汽车电子
    +关注

    关注

    3026

    文章

    7943

    浏览量

    166940
  • S32DS
    +关注

    关注

    0

    文章

    8

    浏览量

    819

原文标题:如何结合原厂MCU和开发环境与业内领先软件工具来加速关键任务型应用开发

文章出处:【微信号:Technomics,微信公众号:华兴万邦技术经济学】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    DV2003S2快速充电开发系统

    电子发烧友网站提供《DV2003S2快速充电开发系统.pdf》资料免费下载
    发表于 12-21 11:12 0次下载
    DV2003<b class='flag-5'>S</b>2<b class='flag-5'>快速</b>充电<b class='flag-5'>开发</b>系统

    SiFive 推出高性能 Risc-V CPU 开发板 HiFive Premier P550

    “  HiFive Premier P550:世界上性能最高的 RISC-V CPU 开发板,以 Mini-DTX 外形提供高性能 Linux 开发平台,支持下一波 RISC-V
    的头像 发表于 12-16 11:16 158次阅读
    SiFive 推出<b class='flag-5'>高性能</b> Risc-V CPU <b class='flag-5'>开发</b>板 HiFive Premier P550

    5nm制程,16核心?高性能汽车MCU发展趋势

    重力模式、多种按摩模式等,座椅上越来越多的电机带来更高的性能需求,将压力给到了MCU。   因此各家厂商的产品规划中,更高性能MCU都是重要的方向,
    的头像 发表于 12-13 09:10 1230次阅读
    5nm制程,16核心?<b class='flag-5'>高性能</b><b class='flag-5'>汽车</b><b class='flag-5'>MCU</b>发展趋势

    云端AI开发环境分析

    当今,云端AI开发环境作为支撑AI技术快速迭代与应用部署的关键基础设施,扮演着至关重要的角色。下面,AI部落小编为您分析云端AI开发环境
    的头像 发表于 11-25 10:27 150次阅读

    找方案 | 高性能汽车MCU:芯驰 E3106 方案

    芯驰E3MCU控之芯是针对汽车安全相关应用设计的新一代高性能微控制器产品。E3全系列产品集成了ARMCortexR5及ARMCortexR52+CPU并最高配置对锁步主核,其中最高规格产品配置有接近
    的头像 发表于 11-09 01:07 389次阅读
    找方案 | <b class='flag-5'>高性能</b><b class='flag-5'>汽车</b><b class='flag-5'>MCU</b>:芯驰 E3106 方案

    MCU编程语言和开发环境介绍

    微控制器单元(Microcontroller Unit,简称MCU)是嵌入式系统的核心,广泛应用于各种电子产品中。随着技术的发展,MCU编程语言和开发环境也在不断进步,以适应不同的应用
    的头像 发表于 11-01 11:51 676次阅读

    NXP FRDM-MCXC444开发板在RT-Thread环境下的上手过程

    NXP FRDM-MCXC444开发板是一款基于MCX C444 MCU高性能开发板,它集成了丰富的硬件资源和接口,支持快速原型设计。本文将为读者提供一份详细的RT-Thread上手
    的头像 发表于 10-12 11:51 400次阅读
    NXP FRDM-MCXC444<b class='flag-5'>开发</b>板在RT-Thread<b class='flag-5'>环境</b>下的上手过程

    【GD32 MCU 入门教程】一、GD32 MCU 开发环境搭建(3)使用 Embedded Builder 开发 GD32

    GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL、IAR、 GCC和Embedded Builder,客户可以根据个人喜好来选择相应的开发
    的头像 发表于 08-08 16:03 951次阅读
    【GD32 <b class='flag-5'>MCU</b> 入门教程】一、GD32 <b class='flag-5'>MCU</b> <b class='flag-5'>开发</b><b class='flag-5'>环境</b>搭建(3)使用 Embedded Builder <b class='flag-5'>开发</b> GD32

    【GD32 MCU 入门教程】一、GD32 MCU 开发环境搭建(2)使用 IAR 开发 GD32

    GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL、IAR、 GCC和Embedded Builder,客户可以根据个人喜好来选择相应的开发
    的头像 发表于 08-08 15:40 687次阅读
    【GD32 <b class='flag-5'>MCU</b> 入门教程】一、GD32 <b class='flag-5'>MCU</b> <b class='flag-5'>开发</b><b class='flag-5'>环境</b>搭建(2)使用 IAR <b class='flag-5'>开发</b> GD32

    瑞萨RA8系列高性能MCU开发上手体验

    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是瑞萨RA8系列高性能MCU开发上手体验。
    的头像 发表于 08-08 15:21 1436次阅读
    瑞萨RA8系列<b class='flag-5'>高性能</b><b class='flag-5'>MCU</b><b class='flag-5'>开发</b>上手体验

    【GD32 MCU 入门教程】一、GD32 MCU 开发环境搭建(1)使用Keil开发GD32

    GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL、IAR、 GCC和Embedded Builder,客户可以根据个人喜好来选择相应的开发
    的头像 发表于 08-08 15:01 1176次阅读
    【GD32 <b class='flag-5'>MCU</b> 入门教程】一、GD32 <b class='flag-5'>MCU</b> <b class='flag-5'>开发</b><b class='flag-5'>环境</b>搭建(1)使用Keil<b class='flag-5'>开发</b>GD32

    芯海应用笔记:通用 MCU IAR 开发指南

    本应用笔记旨在帮助指导用户针对芯海通用 MCU 基于 IAR 环境快速开发,帮助用户快速建立应用工程。芯海科技通用
    发表于 05-16 11:50

    芯海应用笔记:通用 MCU 基于 GCC 编译开发应用

    本应用笔记旨在帮助指导用户针对芯海通用 MCU 基于 GCC 环境快速开发。芯海科技通用 MCU 提供的 pack
    发表于 05-16 11:47

    Silicon Labs推出其新一代高性能MCU蓝牙模组HCM511S

    Silicon Labs(亦称“芯科科技”)近期帮助合作伙伴移远通信(Quectel)在2024年德国嵌入式展(Embedded World 2024)期间,推出其新一代高性能MCU蓝牙模组HCM511S
    的头像 发表于 04-19 11:10 811次阅读

    瑞萨RA8T1高性能电机控制新品解读(下)应用与开发

    在上一篇文章中,我们介绍了高性能RA8T1 MCU的整体概况和性能配置解析。最后我们进入到开发人员最为关心的部分,关于目标应用及开发支持。
    的头像 发表于 02-21 12:17 852次阅读
    瑞萨RA8T1<b class='flag-5'>高性能</b>电机控制新品解读(下)应用与<b class='flag-5'>开发</b>篇