Goodmorning,
I'm trying to understand documentation and support to develop safety radar application with S32 chip.
Reading this forum it seems that some kind of "safety sdk" exists to help the implementation of the assumptions of the safety manual.
Can you tell me if I'm right and give me some hints to find it (or other sw support related to safety sw)
Thank you
Fabrizio Gallo
S32K does not have a safety library exactly, but there is a safety manual, BIST/Core test software, ISO26262 AUTOSAR MCAL drivers.
S32 is a very generic term for many different chips. We are developing a safety library for S32G and Maybe the latest Radar processor. Check with your sales folks for details on how to obtain these. They cost extra money
So to add clarity and close this issue the following products will have safety framework software available:
S32K3 and S32G (also likely future Radar processors)
If someone needs safety software for S32K1 they will have to write it themselves. To help with this we do have core self test software available for purchase.
Some other ideas that might help the end user create software checks are:
Module in MCU | Failure Mode | Failure Detection Mechanism |
CPU (ALU, Addressing, Registers) | CPU, addressing modes stuck-at, and stuck at wrong value |
Core self-test: m4_scst_branch_test1 m4_scst_loadstore_test1 |
ALU output stuck-at, and stuck-at wrong value | Core self-test: m4_scst_alu_test1 | |
Clock | Short circuit Clock fault | Configure the XTAL/EXTAL pin as GPIO and read its status. |
Stuck at value | Configure the XTAL/EXTAL pin as GPIO and read its status. | |
Control Logic/Program Sequence | Wrong sequence coding | Watchdog reset or hard fault caused by CPU accessing illegal address |
No code executed | Watchdog reset. | |
Execution too slow | Run specified code and check the duration with the expected time. | |
Stack overflow/underflow | Captured by MPU and hard fault exception. | |
Interrupt Handling | Incorrect interrupt execution | Check corresponding interrupt status in the interrupt status register (polling) of the related peripheral before executing the Interrupt Service Routine (ISR) code. |
No interrupts | Refresh Watchdog in ISR; | |
Continuous interrupts | Refresh Watchdog in non-ISR routine; | |
ADC, Digital I/O | Stuck open; | Use ADC to sample pins with different known states and check the results. |
Stuck Close | Use ADC to sample pins with different known states and check the results. | |
Drift or offset | Use ADC to sample pins with different known states and check the results. | |
Power Supply | Under/over voltage; | LVD reset for under-voltage; ADC monitor bandgap voltage or external SBC to detect over-voltage. |
Drift; | ADC monitor bandgap voltage to calculate power supply voltage | |
Memory (RAM, ROM/FLASH, EEPROM) | Memory corruption | SRAM/Flash ECC can detect data corruption. |
Stack overflow, underflow; | User software to check stack area | |
Illegal memory access; | MPU to protect memory access rights | |
Peripheral Registers | Registers corrupt/stuck (GPIO, Configuration Registers, internal RAM) | Need user app software to compare the registers values with expected values periodically |
Hello @Daniel_Wax,
thank you.
About the core self-test software, are you sure that we need to purchase it?
I found it on the S32K14x page:
Library of optimized tests for the Arm Cortex M4 core of S32K14. Tested with IAR, Green Hills, and GCC compilers. Diagnostic coverage target 90%.
Is that the right one to use?
Thank you,
Simone
yes that is the link to the download. The source code is free but there is a license fee once you are in production.
there are two license types
1) DISM - support $6000/year
2) Project License
I encourage you to talk to your distributor or NXP sales person to get an official quote
I am interested in a S32K safety library too, I have already asked in the forum and by e-mail to NXP, but nobody answered.
We do have safety sdk for S32K3xx family that was recently released.
Thanks
-Aarul