HardFault issue of FLS module occurs after enabling PIT

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

HardFault issue of FLS module occurs after enabling PIT

855 Views
zp001
Contributor III

Hello NXP team,

I'm using Fls module which is RTD 2.0.1, if we enable PIT, system will crash, here is the call stack:

Fls_Example_S32K344.elf
Thread #1 (Suspended : Signal : SIGTRAP:Trace/breakpoint trap)
HardFault_Handler() at exceptions.c:86 0x401c66
() at 0xfffffff1
SchM_Enter_Gpt_GPT_EXCLUSIVE_AREA_03() at SchM_Gpt.c:585 0x40985c
Pit_Ip_ClearInterruptFlag() at Pit_Ip.c:698 0x405dc2
Pit_Ip_ProcessCommonInterrupt() at Pit_Ip.c:861 0x4060bc
PIT_0_ISR() at Pit_Ip.c:1,508 0x4060bc
() at 0xfffffff9
C40_Ip_AccessCode() at C40_Ip_Ac.c:179 0x40cf12
Fls_IPW_CallAccessCodeWrite() at Fls_IPW.c:1,700 0x4057e0
Fls_IPW_SectorEraseC40Jobs() at Fls_IPW.c:1,545 0x4057e0
Fls_IPW_SectorErase() at Fls_IPW.c:1,321 0x4057e0
Fls_DoJobErase() at Fls.c:1,075 0x4054b2
Fls_ProcessRequestedJobs() at Fls.c:2,318 0x4054b2
Fls_MainFunction() at Fls.c:3,211 0x4054b2
main() at main.c:255 0x401676
screenshot as below:

zp001_0-1671855293614.png

I'd like to know why it went wrong.

Thanks!

0 Kudos
Reply
2 Replies

824 Views
Robin_Shen
NXP TechSupport
NXP TechSupport

Hi 

Please check if the Hardfault is caused by the following reasons:

Flash read-while-write error.png


Best Regards,
Robin
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply

821 Views
zp001
Contributor III

Hi Robin,

Here is my FLS sector configuration:

static const Fls_Flash_InternalSectorInfoType * const FlsConfigSet_VS_0_aSectorList[17U] =
{
&FlsSector_dflash0_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S000 */
&FlsSector_1_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S001 */
&FlsSector_2_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S002 */
&FlsSector_3_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S003 */
&FlsSector_4_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S004 */
&FlsSector_5_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S005 */
&FlsSector_6_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S006 */
&FlsSector_7_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S007 */
&FlsSector_8_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S008 */
&FlsSector_9_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S009 */
&FlsSector_10_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S010 */
&FlsSector_11_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S011 */
&FlsSector_12_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S012 */
&FlsSector_13_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S013 */
&FlsSector_14_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S014 */
&FlsSector_15_FlsConfigSet_VS_0_sInternalSectorInfo, /* FLS_DATA_ARRAY_0_BLOCK_4_S015 */
&FlsSector_16_FlsConfigSet_VS_0_sInternalSectorInfo /* FLS_CODE_ARRAY_0_BLOCK_0_S104 */
};

I used 16 sectors of data flash and 1 setor of code flash, and the code text is also stored at block 0(0x40000000).

if we run code from block 0(start address:0x40000000), in the meantime, I try to write data into sector which belong to BLOCK0, that is not allowed?

 

0 Kudos
Reply