快速从S32K358切换到328
文章目录
- 前言
- MCAL配置
- Resource修改
- MCU修改
- OS配置
- 代码修改
- 总结
前言
项目中可能需要使用328,但官网demo和开发版基本都是基于358,但358和328的核心分布不一样,正常使用的逻辑核在328是核0和核1,而在358中是核0和核2(核1默认为锁步核)。本文介绍MCAL配置及软件如何快速从358切换到328
MCAL配置
328和358都需要使用新一点的MCAL包,我们使用的是如下的版本
Resource修改
将Resource中的MCU从358改为328
该配置变更后,会有一些外设数量的减少
MCU修改
在Resource切换为328后,保存完重新打开工程,CM7_2的配置项会消失,对于358到328,只需要将CM7_1使能即可
以上,MCAL配置就完成了,可以生成MCAL代码
OS配置
将OS variant切换为328,并保存配置
保存完配置之后会生成一个Os_EcucParamDef.arxml的文件,将这个文件删除,否则打不开OS的配置
将OsRTATarget中的Variant切换到328
将PhysicalCoreAssignment从0,2切换为0,1
配置完后生成OS代码即可
代码修改
MCAL生成的代码在生成CAN模块时,生成了S32K328.h的头文件,但给的DEMO都是358的,为了不改动MCAL代码,需要新增一个S32K328.h,里面包含S32K358.h即可
启动文件修改:将设置核2改为设置核1
在编译工程中,将S32K358的宏定义修改为S32K328
以上修改之后,328双核就可以正常运行了
总结
如果想328的软件完全兼容358,可以考虑把核1的锁步解锁,这样核1也作为逻辑核使用,理论上来说就可以把328的软件直接刷到358上运行了