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
    +关注

    关注

    147

    文章

    19285

    浏览量

    405441
  • 汽车电子
    +关注

    关注

    3048

    文章

    9257

    浏览量

    173496
  • S32DS
    +关注

    关注

    0

    文章

    9

    浏览量

    1342

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在 S32DS 上实现 CMSIS-DSP ?

    Hi, 有人可以告诉我如何在 S32DS 上实现 CMSIS-DSP 吗?我想在 S32K3 上使用 FFT。谢谢。
    发表于 05-21 08:15

    s32ds 导入的 32k 的 LIN 主代码错误是什么原因

    /S32DS.3.5/S32DS/software/PlatformSDK_S32K1_S32M24/RTD/BaseNXP_TS_T40D2M20I0R0/include/Mcal.h:61:10
    发表于 05-20 06:08

    Elektrobit与辰至半导体发布AutoNexKit高性能汽车网络开发套件

    2026年4月26日,Elektrobit与国内车规半导体设计新锐企业辰至半导体在2026北京车展“中国芯展区”,联合正式发布AutoNexKit高性能汽车网络开发套件。Elektrobit携手辰至
    的头像 发表于 04-30 14:47 1262次阅读

    如何在 S32DS 3.6 中安装 IAR Eclipse 插件并创建 IAR 项目?

    如何在 S32DS 3.6 中安装 IAR Eclipse 插件并创建 IAR 项目? There is an article here that explains how to operate
    发表于 04-23 07:44

    如何在 S32DS v3.6.1 中通过 DDR TOOL 为基于客户板的 RDB3 板生成新的 DDR 固件?

    我正在处理基于 RDB3 的板的 ddr 固件问题,我安装了 S32DS v3.6.1,但我在 S32DS 中没有找到通过 DDR 工具生成 ddr 固件的文件或引用。 您能否帮助告诉我并给我构建 ddr 固件的资源和步骤。
    发表于 04-23 06:32

    集成Simulink 与 NXP S32 Design Studio (S32DS)使用基于模型的设计工具箱,关于版本兼容性的疑问求解

    我正在努力集成Simulink 与 NXP S32 Design Studio (S32DS)使用基于模型的设计工具箱 (MBDT 1.6.0 版本),我正在为版本兼容性而苦苦挣扎。 这是我的情况
    发表于 04-16 07:41

    如何为 S32DS 中的特定变量(RAM、闪存、数据闪存)强制使用特定内存区域?

    我正在使用S32K358并使用S32 设计工作室 (S32DS)作为我的 IDE。我想预留特定内存区域对于某些变量,并确保这些分配是在构建期间不受编译器或链接器的影响——尤其是当项目后期引入新变量或
    发表于 04-16 06:52

    S32DS 3.5 内存映射视图在闪存擦除/写入后不更新问题怎么解决

    (我可以通过读回数据来确认这一点)。但是,“内存映射”视图不会刷新并继续显示旧值。 详: 环境S32DS 3.5 RDT GHS 工具链 项目生成并成功运行。 闪存擦除/写入作按预期工作(通过读取
    发表于 04-15 08:26

    S32DS无法调用ghs来编译asm代码,为什么?

    将ghs集成到s32ds中,并使用S32ds IDE构建项目,如您所见,我已经导入了asm文件,但是日志显示S32DS无法调用ghs来编译asm代码,我不知道为什么。我需要一些帮助。 谢谢。 在构建日志中,我看不到要编译的
    发表于 04-08 06:36

    AMMCLIB 无法在 S32DS 上运行怎么解决?

    i have added the AMMCLIB 1.1.18 into the S32DS, my S32DS version is i have readed the user&
    发表于 03-17 07:58

    RA MCU众测宝典 | 环境搭建之【FPB-RA0E2】开发环境搭建

    FPB-RA0E2是一款针对RA0E2系列微控制器(MCU)的快速原型板,旨在帮助用户无缝评估RA0E2MCU的各项特性,并利用灵活配置软件包(FSP)和e²stu
    的头像 发表于 03-11 16:33 1817次阅读
    RA <b class='flag-5'>MCU</b>众测宝典 | <b class='flag-5'>环境</b>搭建之【FPB-RA0E2】<b class='flag-5'>开发</b><b class='flag-5'>环境</b>搭建

    瑞萨FPB-RA0E2开发板简介及环境搭建指南

    FPB-RA0E2是一款针对RA0E2系列微控制器(MCU)的快速原型板,旨在帮助用户无缝评估RA0E2 MCU的各项特性,并利用灵活配置软件包(FSP)和e²studio集成
    的头像 发表于 01-29 17:44 6524次阅读
    瑞萨FPB-RA0E2<b class='flag-5'>开发</b>板简介及<b class='flag-5'>环境</b>搭建指南

    常见 MCU 开发环境对比:Keil、IAR、VS Code 该选谁?

    在嵌入式开发中,选择合适的开发环境(IDE、编译器、调试工具)对提高效率、减少踩坑至关重要。不同MCU有自己的生态优势和劣势,理解它们的特性,可以让你在
    的头像 发表于 01-09 19:03 2424次阅读
    常见 <b class='flag-5'>MCU</b> <b class='flag-5'>开发</b><b class='flag-5'>环境</b>对比:Keil、IAR、VS Code 该选谁?

    快速上手FRDM-KE17Z512开发板:开启高效MCU开发之旅

    快速上手FRDM-KE17Z512开发板:开启高效MCU开发之旅 作为电子工程师,在MCU开发
    的头像 发表于 12-24 16:50 574次阅读

    先楫半导体生态日成功举办,高性能RISC-V MCU开发者共筑新生态

    2025年10月18日,深圳|“先楫半导体生态日——高性能RISC-VMCU开发平台体验”活动在深圳南山区益田威斯汀酒店成功举办。本次活动汇聚众多专家、开发者及合作伙伴,围绕先楫半导体高性能
    的头像 发表于 10-21 11:34 1304次阅读
    先楫半导体生态日成功举办,<b class='flag-5'>高性能</b>RISC-V <b class='flag-5'>MCU</b><b class='flag-5'>开发</b>者共筑新生态