Hi,
I'm using BMS SDK Gen2 with EB Tresos. I want to pass to the Bjb_D1xx driver and to the Bcc_774a driver a config struct during initialization, thus I need to select "Config Variant: VariantPostBuild" in both modules.
However, each driver gets generated with a DriverConfig variable that gets included, leading to compilation errors:
[build] In file included from /workspaces/template/EBTresosProjectFiles/NextGen_RevA/generate/include/CDD_Bjb_D1xx_Cfg.h:48,[build] from /workspaces/template/S32DSProjectFiles/BMS_GEN2_0.9.1_CD01/Bjb_D1xx_TS_TxDxM9I1R0/include/CDD_Bjb_D1xx.h:46,[build] from /workspaces/template/S32DSProjectFiles/BMS_GEN2_0.9.1_CD01/Bms_common_TS_TxDxM9I1R0/src/CDD_Bms_common.c:60:[build] /workspaces/template/EBTresosProjectFiles/NextGen_RevA/generate/include/CDD_Bjb_D1xx_PBcfg.h:85:44: error: conflicting types for ‘DriverConfig’[build] 85 | extern const Bjb_D1xx_DriverConfigType DriverConfig;[build] | ^~~~~~~~~~~~[build] /workspaces/template/EBTresosProjectFiles/NextGen_RevA/generate/include/CDD_Bjb_D1xx_PBcfg.h:85:44: note: in definition of macro ‘BJB_D1XX_INITCONFIG_PB’[build] 85 | extern const Bjb_D1xx_DriverConfigType DriverConfig;[build] | ^~~~~~~~~~~~[build] /workspaces/template/S32DSProjectFiles/BMS_GEN2_0.9.1_CD01/Bjb_D1xx_TS_TxDxM9I1R0/include/CDD_Bjb_D1xx.h:1013:1: note: in expansion of macro ‘BJB_D1XX_CONFIG_EXT’[build] 1013 | BJB_D1XX_CONFIG_EXT[build] | ^~~~~~~~~~~~~~~~~~~[build] In file included from /workspaces/template/EBTresosProjectFiles/NextGen_RevA/generate/include/CDD_Bcc_774a_Cfg.h:49,[build] from /workspaces/template/S32DSProjectFiles/BMS_GEN2_0.9.1_CD01/Bcc_774a_TS_TxDxM9I1R0/include/CDD_Bcc_774a.h:46,[build] from /workspaces/template/S32DSProjectFiles/BMS_GEN2_0.9.1_CD01/Bms_common_TS_TxDxM9I1R0/src/CDD_Bms_common.c:54:[build] /workspaces/template/EBTresosProjectFiles/NextGen_RevA/generate/include/CDD_Bcc_774a_PBcfg.h:86:44: note: previous declaration of ‘DriverConfig’ was here[build] 86 | extern const Bcc_774a_DriverConfigType DriverConfig;[build] | ^~~~~~~~~~~~[build] /workspaces/template/EBTresosProjectFiles/NextGen_RevA/generate/include/CDD_Bcc_774a_PBcfg.h:86:44: note: in definition of macro ‘BCC_774A_INITCONFIG_PB’[build] 86 | extern const Bcc_774a_DriverConfigType DriverConfig;[build] | ^~~~~~~~~~~~[build] /workspaces/template/S32DSProjectFiles/BMS_GEN2_0.9.1_CD01/Bcc_774a_TS_TxDxM9I1R0/include/CDD_Bcc_774a.h:851:1: note: in expansion of macro ‘BCC_774A_CONFIG_EXT’[build] 851 | BCC_774A_CONFIG_EXT[build] | ^~~~~~~~~~~~~~~~~~~
How can I configure both drivers to allow post-build parameterisation without leading to compilation errors?
Please note that during the Christmas holiday period, our support response times may be longer than usual. In some cases, your request might be addressed after the New Year. Thank you for your understanding.
Hello @PhilippH,
As I mentioned privately, the case was under review by the development team.
They have provided the following answer:
"To fix the issue, the customer can prefix these variables with the module name (e.g. Bcc_774a_ and Bjb_D1xx_) in the generated code. Note that this change shall only be used for testing purposes and shall not be used in production."
Best regards,
Daniel