Hi Team,
We want to implement BIST on s32g. We import example project SAF_EVAL_example_S32G274A_Rev2_M7_0 in s32DS and generate the SAF file according to the peripheral configuration, in which BIST adds BIST2.
main.c in the imported SAF_EVAL_example_S32G274A_Rev2_M7_0 project is empty, so we refer to S32_SAF_Demo and use the call about BIST in main.c of S32_SAF_Demo.
We can compile successfully, but when the program runs to Bist_GetExecStatus(BIST_SAFETYDCD_CFG) on S32G, the program stops running immediately. We used the Lauderbach debugger to show that the project jumps directly to Hardfault_Handler() after Bist_GetExecStatus().
The code we use in main.c is as follows:
It seems that we cannot successfully use BIST, we read S32G_SAF_BIST_UM.pdf, but found no solution.
Hi,
Can you let us know which RTD/SAF version are you working with? Is this a custom board or is this with an NXP reference board?
In general, SAF is a premium software, for which we recommend contacting your local NXP FAE/DFAE/representative for inquiries related to premium software.
As for the overall behavior, we understand that prior to running Bist_GetExecStatus, you required to either execute Bist_Run or previously ran the Self-Test DCD:
Please, let us know.
Thanks Daniel,
We work with RTD 4.0.2 ver, SAF 2.0.1 EVAL , NXP reference board S32G-VNP-RDB2.
Thanks for your advice, we tried running Bist_Run first and encountered the same hardfault problem. We changed Bist_Run directly to an empty function that only returns 0. Running Bist_Run will still cause hardfault. We couldn't get more information with a single point of debugging. This phenomenon is very strange, and we can not locate the root of the problem.
Hi,
Thanks for your feedback. Have you tried running the IVT-based self-test (off-line BIST Configuration)?
Also, it seems that there are pre-requisites that need to be taken care of (when running the On-line BIST Configuration). Since you are using the base example, we assume that these have been taken care, but we can recommend verifying that your setup is compliant:
Please, let us know.