欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 基于EB和S32DS3.5建立基础工程

基于EB和S32DS3.5建立基础工程

2025/6/27 17:53:29 来源:https://blog.csdn.net/nishuawan/article/details/144929508  浏览:    关键词:基于EB和S32DS3.5建立基础工程

本文参考:
https://blog.csdn.net/weixin_41660366/article/details/141949690
https://blog.csdn.net/zhoujingCSDN/article/details/142284796

0、简介

本文基于S32K312 介绍新建工程并引入EB,环境如下:

MCU:NXP S32k312

RTD版本:SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311

EB版本:tresos Studio 29.0

IDE:S32DS3.5

编译器:GHS 2022.1.4

1、新建S32DS工程

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
删除如下文件夹
在这里插入图片描述
加入文件夹:
在这里插入图片描述
在这里插入图片描述

其中Link_Source中Link到MCAL安装路径并加上筛选:
在这里插入图片描述
可以看到如下筛选:
在这里插入图片描述
当然,你也可以选择把MCAL的静态文件拷贝至此。

2、S32DS工程编译选项配置

2.1MCAL_Plugins->Link Source Resource Filters

在这里插入图片描述
这样配置的好处是,如果S32K3 RTD MCAL 软件包有版本更新,在此处修改路径和模块后缀即可。
在这里插入图片描述
1、
MCAL_MODULE_NAME_SUFFIX
_TS_T40D34M40I0R0(从MCAL安装路径找)

2、
MCAL_PLUGIN_PATH
D:\software\NXP\SW32K3_S32M27x_RTD_R21-11_4.0.0\eclipse\plugins

2.2 Includes

在这里插入图片描述
加入Include:
删掉原本的,加入新的:

"${ProjDirPath}/Generate/include"
"${MCAL_PLUGIN_PATH}/Adc${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Ae${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/BaseNXP${MCAL_MODULE_NAME_SUFFIX}/header"
"${MCAL_PLUGIN_PATH}/BaseNXP${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Can_43_FLEXCAN${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/CanIf${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/CanTrcv_43_AE${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Crc${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/CryIf${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Crypto_43_HSE${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Csm${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Dem${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Det${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Dio${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Dpga${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/EcuM${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Eth_43_GMAC${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/EthIf${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/EthSwt${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/EthTrcv${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Fee${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Gdu${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Gpt${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/I2c${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/I2s${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Icu${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Lin_43_LPUART_FLEXIO${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/LinIf${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/LinTrcv_43_AE${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Mcl${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Mcu${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Mem_43_EEP${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Mem_43_EXFLS${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Mem_43_INFLS${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/MemAcc${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/MemIf${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Ocotp${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Ocu${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Os${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Platform${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Platform${MCAL_MODULE_NAME_SUFFIX}/startup/include"
"${MCAL_PLUGIN_PATH}/Port${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Pwm${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Rm${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Rte${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Sent${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Spi${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Uart${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Wdg${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/WdgIf${MCAL_MODULE_NAME_SUFFIX}/include"
"${MCAL_PLUGIN_PATH}/Zipwire${MCAL_MODULE_NAME_SUFFIX}/include"
2.3 Preprocessor

添加项目宏定义
在这里插入图片描述

S32K312
DISABLE_MCAL_INTERMODULE_ASR_CHECK
S32K3XX
START_FROM_FLASH
INIT_STDBY_RAM
ARMCM7_SP
__ITCM_INIT
__DTCM_INIT
__ghs__
ENABLE_FPU
D_CACHE_ENABLE
I_CACHE_ENABLE
2.4 Linker

在这里插入图片描述

M C A L P L U G I N P A T H / P l a t f o r m {MCAL_PLUGIN_PATH}/Platform MCALPLUGINPATH/Platform{MCAL_MODULE_NAME_SUFFIX}/build_files/ghs/linker_flash_s32k312.ld”

2.5 其他编译选项

经过之前项目所做的修改:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、EB建立工程

详见MCU MCAL配置那篇文章。

  1、打开 EB tresos 新建工程,取消勾选默认路径,选择之前在 S32DS 建立的工程目录中的 Tresos_Project 文件夹,注意这里封装了两层。2、输入 ECU ID,目标是 S32K3xx,将默认生成代码的路径改成“..\..\Generate”,链接到之前在 S32DS 工程中建立的 Generate 文件夹。3、勾选“在列表中添加最小数量的子元素”,创建工程阶段我们先不添加任何模块,直接点“Finish”。(添加模块会报错)4、如果前面忘记配置生成路径,也可以在建立好工程之后,右键工程名选择“Properties”并修改“Generation Path”。

注意:若是现有EB工程拷贝至要Tresos_Project 文件夹做此操作:
将默认Generation Path改成:“D:\workSpace\git\autosar\Boot_S32K312_GHS_Project\Boot_S32K312_GHS_Project\Generate”

至此在EB中的配置即可直接生成在Generate 文件夹中。

3 编译前的build_path配置

在S32DS工程中将Generate、Mcal_Plugins文件夹加入build_path。
在这里插入图片描述
在S32DS工程中将Generate的output、Mcal_Plugins中不需要的模块文件夹加入remove from build。
在这里插入图片描述
Mcal_Plugins至少应该留下platform、BaseNXP、Det、Os、MCU、Rte、、Resource(并非编译必须项)。
在这里插入图片描述

Generate的EB工程至少包含:BaseNXP、Platform、Os、Resource(并非编译必须项)。
在这里插入图片描述

才可以编译通过。

注意platform包含build_files/ghs/linker_flash_s32k312.ld

4 示例

可以将RTD DIO example中的EBxdm拷贝到项目中生成.c和.h,将main中代码拷贝过来,注释掉Exit_Example相关代码,编译通过仿真测试。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词