Issue with no changes in generated code after configuring Flash parameters for S32K312

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Issue with no changes in generated code after configuring Flash parameters for S32K312

Jump to solution
2,874 Views
Chris-Sun
Contributor III
I am currently working on a project involving the S32K312 chip and using S32DS for configuring the Flash. However, I have encountered an issue where modifying certain parameters does not result in any changes in the generated code.
I would like to inquire whether these configuration settings are being applied correctly. Could anyone please provide some guidance or advice on how to resolve this issue? Thank you in advance for your assistance.
1.png2.png
0 Kudos
Reply
1 Solution
2,711 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Chris-Sun,

1. Yes, this is correct. The latest version for Design Studio and RTD packages do not include these parameters for the module.

2. Yes, since these parameters are no longer available for configuration. You can use them in your project if your RTD packages support them, and as I've shared in the previous, these parameters describe the maximum time for the operations.

3. The PRE-COMPILE and POST-BUILD variants both function as an AUTOSAR specific option.

If you configured Config Variant as PRE-COMPILE, you won't need to add a parameter for the initialization function in the main code (e.g Eth_Init(NULL)).
If configured as POST-BUILD, then it is necessary to add the pointer to your configuration type name as parameter (e.g Eth_Init(&Eth_Config_BOARD_INITPERIPHERALS))

In PRE-COMPILE, technically it will auto find the config in your module (normally, will be predefined for the name) and start the Init process. In POST-BUILD, Init function will find the config name which is given by Parameter in post-build time. In post-build, you can use the functional groups mentioned in the community post I've shared.

This is why it is not reflected directly at the code, as there is no code change necessary for this configuration, the only change visible will be at the .mex file.

Best regards,
Julián

View solution in original post

0 Kudos
Reply
10 Replies
2,853 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Chris-Sun,

Could you share the S32 Design Studio version you are using? As well as the RTD version and any patches (if you installed any).

These parameters are not present in the latest RTD (4.0.0) for S32DS 3.5.

Best regards,
Julián

0 Kudos
Reply
2,843 Views
Chris-Sun
Contributor III

Hi@Julián_AragónM  

Thank you for your response to my post.
The version information:
 

DS: 3.5

RTD: S32K3_RTD_3_0_0_D2303_ASR_REL_4_7_REV_0000_20230331

Best regards,
Chris

 

0 Kudos
Reply
2,790 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Chris-Sun,

After looking into the User Manuals, I can see this parameter was last implemented in the RTD 2.0.0:

Julin_AragnM_0-1708661118468.png

These were removed with the implementation of RTD 3.0.0. They are no longer relevant for current C40 implementation.

As for the Post Variant Build, you can look into the following post for more information: Solved: Autosar - Setting acceptance code and mask at runtime - NXP Community

Best regards,
Julián

0 Kudos
Reply
2,738 Views
Chris-Sun
Contributor III

Hi @Julián_AragónM 

Thank you for your response to my post.
 
1. Based on your response, I understand that the current S32DS+RTD combination cannot be configured using the "Mem Erase Time" and "Mem Write Time" options.
2. I have reviewed the post link you provided, which describes the functionality of creating "Function groups" to achieve multiple configurations.
However, since the current version of S32DS+RTD does not support the "Mem Erase Time" and "Mem Write Time" configurations, would it also be impossible to achieve this configuration using "Function groups"? If there is a solution, could you please explain it?
3. Regarding the "Post Build Variant Used" configuration option that I mentioned earlier, there doesn't seem to be any change in the generated code.
Could you please explain how it is supposed to be effective and configured?
 
Best regards,
Chris
0 Kudos
Reply
2,712 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Chris-Sun,

1. Yes, this is correct. The latest version for Design Studio and RTD packages do not include these parameters for the module.

2. Yes, since these parameters are no longer available for configuration. You can use them in your project if your RTD packages support them, and as I've shared in the previous, these parameters describe the maximum time for the operations.

3. The PRE-COMPILE and POST-BUILD variants both function as an AUTOSAR specific option.

If you configured Config Variant as PRE-COMPILE, you won't need to add a parameter for the initialization function in the main code (e.g Eth_Init(NULL)).
If configured as POST-BUILD, then it is necessary to add the pointer to your configuration type name as parameter (e.g Eth_Init(&Eth_Config_BOARD_INITPERIPHERALS))

In PRE-COMPILE, technically it will auto find the config in your module (normally, will be predefined for the name) and start the Init process. In POST-BUILD, Init function will find the config name which is given by Parameter in post-build time. In post-build, you can use the functional groups mentioned in the community post I've shared.

This is why it is not reflected directly at the code, as there is no code change necessary for this configuration, the only change visible will be at the .mex file.

Best regards,
Julián

0 Kudos
Reply
2,695 Views
Chris-Sun
Contributor III

Hi @Julián_AragónM 

Thank you for your response to my post.

Here are additional questions:
1. Regarding your previous response to the second question, if the S32DS+RTD version I am using does not support a specific configuration parameter, but I still want to use this parameter without switching to a different version, do I need to manually modify parts of the RTD to implement it?
 
2.Is the "Mem Block 4 Pip Select" configuration also no longer supported?
3.png
 
3.Where can I find information about which version of S32DS and RTD a specific parameter is no longer supported?
 
Best regards,
Chris
0 Kudos
Reply
2,679 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Chris-Sun,

1. Functionality of the specific configuration parameter is not guaranteed for outdated RTD values in different versions. If the value exists in the drivers, it can be modified manually.

2. Mem Block 4 Pipe Select selects the pipe to be used for accessing the internal flash block 4. PFLASH has four independent command pipes to issue four parallel read commands to different flash memory blocks. The access to block 4 can be through any of the command pipes: MEM_COMMAND_PIPE_0/1/2/3 or MEM_ANY_COMMAND_PIPES. 

This value is still supported for the current drivers.

3. Normally, all changes are documented through the Release Notes for each RTD package release, although sometimes not every parameter or variable change is documented.

Best regards,
Julián

0 Kudos
Reply
2,612 Views
Chris-Sun
Contributor III

Hi @Julián_AragónM 

Thank you for your response to my post.

Regarding your previous response:
2. Mem Block 4 Pipe Select selects the pipe to be used for accessing the internal flash block 4. PFLASH has four independent command pipes to issue four parallel read commands to different flash memory blocks. The access to block 4 can be through any of the command pipes: MEM_COMMAND_PIPE_0/1/2/3 or MEM_ANY_COMMAND_PIPES.
==>
Is the configuration item "Mem Block 4 Pipe Select" only applicable to S32K3x8 and S32K3x4?
 
Best regards,
Chris
0 Kudos
Reply
2,585 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Chris-Sun,

Julin_AragnM_0-1709568908917.png

Chapter 22.1.2 Flash memory controller describes which blocks are not present in which derivatives of the MCU.

Best regards,
Julián.

0 Kudos
Reply
2,575 Views
Chris-Sun
Contributor III

Hi @Julián_AragónM 

Thank you for your response to my post.

 
Best regards,
Chris