This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM2634-Q1: AM2634 fails to restart after soft reset

Part Number: AM2634-Q1
Other Parts Discussed in Thread: AM2634

Hi, experts,

Customer encountered a soft reset issue, that occasionally AM2634 can NOT restart normally after triggering a soft reset in application code.

Below is one captured abnormal status. When the expected reset not observed, customer got below screenshot by connecting JTAG and found the PC is 0x000039F6. But from the map file, there is no application code placed in this address. Is it possible that the running was stuck in ROM code? 

Customer uses Mcu_PerformReset() to trigger soft reset in project using MCAL. I have done some tests with Mcu_PerformReset() with example from MCAL package, but can NOT reproduce the issue.

Please help to guide the ways to find the root cause, what may be the reason.

Thanks.

  • Hello,

    Could you please elaborate in what scenarios this issue is being observed and in how many number of samples? It would be difficult to find the root cause if we can't reproduce this issue on our side, hence the above information would be useful to know.

    Thanks,

    Sahana

  • 521177 13
    R PC 0x0000000B 0x000039F6
    R SP 0x0000000B 0x00080F64
    R LR 0x0000000B 0x00004C93
    R CPSR 0x0000000B 0x600001FF
    R R0 0x0000000B 0x600001FF
    R R1 0x0000000B 0x50F01400
    R R2 0x0000000B 0x50F02400
    R R3 0x0000000B 0xFFFFFFFD
    R R4 0x0000000B 0x000815E4
    R R5 0x0000000B 0x6C828934
    R R6 0x0000000B 0x00000002
    R R7 0x0000000B 0x75A9CEAF
    R R8 0x0000000B 0x000004BC
    R R9 0x0000000B 0x00000000
    R R10 0x0000000B 0x00000000
    R R11 0x0000000B 0x00000000
    R R12 0x0000000B 0x70000000
    R R13 0x0000000B 0x00080F64
    R R14 0x0000000B 0x00004C93
    R USER_Registers_R8_USER 0x0000000B 0x000004BC
    R USER_Registers_R9_USER 0x0000000B 0x00000000
    R USER_Registers_R10_USER 0x0000000B 0x00000000
    R USER_Registers_R11_USER 0x0000000B 0x00000000
    R USER_Registers_R12_USER 0x0000000B 0x70000000
    R USER_Registers_R13_USER 0x0000000B 0x00080F64
    R USER_Registers_R14_USER 0x0000000B 0x00004C93
    R FIQ_Registers_SPSR_FIQ 0x0000000B 0x600001FF
    R FIQ_Registers_R8_FIQ 0x0000000B 0x000004BC
    R FIQ_Registers_R9_FIQ 0x0000000B 0x00000000
    R FIQ_Registers_R10_FIQ 0x0000000B 0x00000000
    R FIQ_Registers_R11_FIQ 0x0000000B 0x00000000
    R FIQ_Registers_R12_FIQ 0x0000000B 0x70000000
    R FIQ_Registers_R13_FIQ 0x0000000B 0x00080F64
    R FIQ_Registers_R14_FIQ 0x0000000B 0x00004C93
    R Supervisor_Registers_SPSR_SVC 0x0000000B 0x6000015F
    R Supervisor_Registers_R13_SVC 0x0000000B 0x00081E94
    R Supervisor_Registers_R14_SVC 0x0000000B 0x700FBD58
    R Abort_Registers_SPSR_ABT 0x0000000B 0x860B6F20
    R Abort_Registers_R13_ABT 0x0000000B 0x00081E94
    R Abort_Registers_R14_ABT 0x0000000B 0x20000000
    R IRQ_Registers_SPSR_IRQ 0x0000000B 0x8000003F
    R IRQ_Registers_R13_IRQ 0x0000000B 0x00081E94
    R IRQ_Registers_R14_IRQ 0x0000000B 0x0000420E
    R Undefined_Registers_SPSR_UND 0x0000000B 0xFA0B0E36
    R Undefined_Registers_R13_UND 0x0000000B 0x00081E94
    R Undefined_Registers_R14_UND 0x0000000B 0x0800001C
    R All_Banked_Registers_SPSR_FIQ 0x0000000B 0x600001FF
    R All_Banked_Registers_R8_FIQ 0x0000000B 0x000004BC
    R All_Banked_Registers_R9_FIQ 0x0000000B 0x00000000
    R All_Banked_Registers_R10_FIQ 0x0000000B 0x00000000
    R All_Banked_Registers_R11_FIQ 0x0000000B 0x00000000
    R All_Banked_Registers_R12_FIQ 0x0000000B 0x70000000
    R All_Banked_Registers_R13_FIQ 0x0000000B 0x00080F64
    R All_Banked_Registers_R14_FIQ 0x0000000B 0x00004C93
    R All_Banked_Registers_SPSR_SVC 0x0000000B 0x6000015F
    R All_Banked_Registers_R13_SVC 0x0000000B 0x00081E94
    R All_Banked_Registers_R14_SVC 0x0000000B 0x700FBD58
    R All_Banked_Registers_SPSR_ABT 0x0000000B 0x860B6F20
    R All_Banked_Registers_R13_ABT 0x0000000B 0x00081E94
    R All_Banked_Registers_R14_ABT 0x0000000B 0x20000000
    R All_Banked_Registers_SPSR_IRQ 0x0000000B 0x8000003F
    R All_Banked_Registers_R13_IRQ 0x0000000B 0x00081E94
    R All_Banked_Registers_R14_IRQ 0x0000000B 0x0000420E
    R All_Banked_Registers_SPSR_UND 0x0000000B 0xFA0B0E36
    R All_Banked_Registers_R13_UND 0x0000000B 0x00081E94
    R All_Banked_Registers_R14_UND 0x0000000B 0x0800001C
    R Debug_Registers_REG_DIDR 0x0000000B 0x77040013
    R Debug_Registers_BPWP_VERSION 0x0000000B 0x00040013
    R Debug_Registers_BPWP_NUM_BP_AVAILABLE 0x0000000B 0x00000008
    R Debug_Registers_BPWP_NUM_BP_WITH_CONTEXT 0x0000000B 0x00000001
    R Debug_Registers_BPWP_FIRST_CONTEXT_BP 0x0000000B 0x00000007
    R Debug_Registers_BPWP_NUM_WP_AVAILABLE 0x0000000B 0x00000008
    R Debug_Registers_BPWP_BP_ADDR0 0x0000000B 0x7FD80F30
    R Debug_Registers_BPWP_BP_ADDR1 0x0000000B 0x673F08DC
    R Debug_Registers_BPWP_BP_ADDR2 0x0000000B 0x93151F34
    R Debug_Registers_BPWP_BP_ADDR3 0x0000000B 0x1F5CAB0C
    R Debug_Registers_BPWP_BP_ADDR4 0x0000000B 0x7AEDA490
    R Debug_Registers_BPWP_BP_ADDR5 0x0000000B 0x6AC7A3B4
    R Debug_Registers_BPWP_BP_ADDR6 0x0000000B 0xA967AEB8
    R Debug_Registers_BPWP_BP_ADDR7 0x0000000B 0x490A82FB
    R Debug_Registers_BPWP_BP_ADDR8 0x0000000B 0x7FD80F30
    R Debug_Registers_BPWP_BP_ADDR9 0x0000000B 0x673F08DC
    R Debug_Registers_BPWP_BP_ADDR10 0x0000000B 0x93151F34
    R Debug_Registers_BPWP_BP_ADDR11 0x0000000B 0x1F5CAB0C
    R Debug_Registers_BPWP_BP_ADDR12 0x0000000B 0x7AEDA490
    R Debug_Registers_BPWP_BP_ADDR13 0x0000000B 0x6AC7A3B4
    R Debug_Registers_BPWP_BP_ADDR14 0x0000000B 0xA967AEB8
    R Debug_Registers_BPWP_BP_ADDR15 0x0000000B 0x490A82FB
    R Debug_Registers_BPWP_BP_CNTL0 0x0000000B 0x107F0186
    R Debug_Registers_BPWP_BP_CNTL1 0x0000000B 0x1A3A0184
    R Debug_Registers_BPWP_BP_CNTL2 0x0000000B 0x12360000
    R Debug_Registers_BPWP_BP_CNTL3 0x0000000B 0x1A2D0060
    R Debug_Registers_BPWP_BP_CNTL4 0x0000000B 0x1A2001E2
    R Debug_Registers_BPWP_BP_CNTL5 0x0000000B 0x18220180
    R Debug_Registers_BPWP_BP_CNTL6 0x0000000B 0x050E0186
    R Debug_Registers_BPWP_BP_CNTL7 0x0000000B 0x160601E6
    R Debug_Registers_BPWP_BP_CNTL8 0x0000000B 0x107F0186
    R Debug_Registers_BPWP_BP_CNTL9 0x0000000B 0x1A3A0184
    R Debug_Registers_BPWP_BP_CNTL10 0x0000000B 0x12360000
    R Debug_Registers_BPWP_BP_CNTL11 0x0000000B 0x1A2D0060
    R Debug_Registers_BPWP_BP_CNTL12 0x0000000B 0x1A2001E2
    R Debug_Registers_BPWP_BP_CNTL13 0x0000000B 0x18220180
    R Debug_Registers_BPWP_BP_CNTL14 0x0000000B 0x050E0186
    R Debug_Registers_BPWP_BP_CNTL15 0x0000000B 0x160601E6
    R Debug_Registers_BPWP_WP_ADDR0 0x0000000B 0x9CAC2C24
    R Debug_Registers_BPWP_WP_ADDR1 0x0000000B 0x5E49FB5C
    R Debug_Registers_BPWP_WP_ADDR2 0x0000000B 0xD84CA6D0
    R Debug_Registers_BPWP_WP_ADDR3 0x0000000B 0xE96697B0
    R Debug_Registers_BPWP_WP_ADDR4 0x0000000B 0xF63257D4
    R Debug_Registers_BPWP_WP_ADDR5 0x0000000B 0xC03A1334
    R Debug_Registers_BPWP_WP_ADDR6 0x0000000B 0x140AB3E4
    R Debug_Registers_BPWP_WP_ADDR7 0x0000000B 0x96576048
    R Debug_Registers_BPWP_WP_ADDR8 0x0000000B 0x9CAC2C24
    R Debug_Registers_BPWP_WP_ADDR9 0x0000000B 0x5E49FB5C
    R Debug_Registers_BPWP_WP_ADDR10 0x0000000B 0xD84CA6D0
    R Debug_Registers_BPWP_WP_ADDR11 0x0000000B 0xE96697B0
    R Debug_Registers_BPWP_WP_ADDR12 0x0000000B 0xF63257D4
    R Debug_Registers_BPWP_WP_ADDR13 0x0000000B 0xC03A1334
    R Debug_Registers_BPWP_WP_ADDR14 0x0000000B 0x140AB3E4
    R Debug_Registers_BPWP_WP_ADDR15 0x0000000B 0x96576048
    R Debug_Registers_BPWP_WP_CNTL0 0x0000000B 0x0A1204FE
    R Debug_Registers_BPWP_WP_CNTL1 0x0000000B 0x0A0306FE
    R Debug_Registers_BPWP_WP_CNTL2 0x0000000B 0x00061DBC
    R Debug_Registers_BPWP_WP_CNTL3 0x0000000B 0x151F043C
    R Debug_Registers_BPWP_WP_CNTL4 0x0000000B 0x131E04BE
    R Debug_Registers_BPWP_WP_CNTL5 0x0000000B 0x1B1A18B6
    R Debug_Registers_BPWP_WP_CNTL6 0x0000000B 0x1A130286
    R Debug_Registers_BPWP_WP_CNTL7 0x0000000B 0x0F06020E
    R Debug_Registers_BPWP_WP_CNTL8 0x0000000B 0x0A1204FE
    R Debug_Registers_BPWP_WP_CNTL9 0x0000000B 0x0A0306FE
    R Debug_Registers_BPWP_WP_CNTL10 0x0000000B 0x00061DBC
    R Debug_Registers_BPWP_WP_CNTL11 0x0000000B 0x151F043C
    R Debug_Registers_BPWP_WP_CNTL12 0x0000000B 0x131E04BE
    R Debug_Registers_BPWP_WP_CNTL13 0x0000000B 0x1B1A18B6
    R Debug_Registers_BPWP_WP_CNTL14 0x0000000B 0x1A130286
    R Debug_Registers_BPWP_WP_CNTL15 0x0000000B 0x0F06020E
    R System_Registers_CP15_ID_CODE 0x0000000B 0x411FC153
    R System_Registers_CP15_MAIN_ID 0x0000000B 0x411FC153
    R System_Registers_CP15_CACHE_TYPE 0x0000000B 0x8003C003
    R System_Registers_CP15_TCM_TYPE 0x0000000B 0x00010001
    R System_Registers_CP15_MPU_TYPE 0x0000000B 0x00001000
    R System_Registers_CP15_MULTIPROCESSOR_ID 0x0000000B 0xC0000000
    R System_Registers_CP15_PROCESSOR_FEATURE_0 0x0000000B 0x00000131
    R System_Registers_CP15_PROCESSOR_FEATURE_1 0x0000000B 0x00000001
    R System_Registers_CP15_DEBUG_FEATURE_0 0x0000000B 0x00010400
    R System_Registers_CP15_AUXILIARY_FEATURE_0 0x0000000B 0x00000000
    R System_Registers_CP15_MEMORY_MODEL_FEATURE_0 0x0000000B 0x00210030
    R System_Registers_CP15_MEMORY_MODEL_FEATURE_1 0x0000000B 0x00000000
    R System_Registers_CP15_MEMORY_MODEL_FEATURE_2 0x0000000B 0x01200000
    R System_Registers_CP15_MEMORY_MODEL_FEATURE_3 0x0000000B 0x00000211
    R System_Registers_CP15_INSTRUCTION_SET_ATTRIBUTE_0 0x0000000B 0x02101111
    R System_Registers_CP15_INSTRUCTION_SET_ATTRIBUTE_1 0x0000000B 0x13112111
    R System_Registers_CP15_INSTRUCTION_SET_ATTRIBUTE_2 0x0000000B 0x21232141
    R System_Registers_CP15_INSTRUCTION_SET_ATTRIBUTE_3 0x0000000B 0x01112131
    R System_Registers_CP15_INSTRUCTION_SET_ATTRIBUTE_4 0x0000000B 0x00010142
    R System_Registers_CP15_INSTRUCTION_SET_ATTRIBUTE_5 0x0000000B 0x00000000
    R System_Registers_CP15_CURRENT_CACHE_SIZE_ID 0x0000000B 0xF00FE019
    R System_Registers_CP15_CURRENT_CACHE_LEVEL_ID 0x0000000B 0x09200003
    R System_Registers_CP15_CACHE_SIZE_SELECTION 0x0000000B 0x00000000
    R System_Registers_CP15_SYSTEM_CONTROL 0x0000000B 0x00E7187D
    R System_Registers_CP15_AUXILIARY_CONTROL 0x0000000B 0x00000227
    R System_Registers_CP15_COPROCESSOR_ACCESS 0x0000000B 0xC0F00000
    R System_Registers_CP15_DATA_FAULT_STATUS 0x0000000B 0x00000000
    R System_Registers_CP15_INSTRUCTION_FAULT_STATUS 0x0000000B 0x00000000
    R System_Registers_CP15_AUX_DATA_FAULT_STATUS 0x0000000B 0x00000000
    R System_Registers_CP15_AUX_INSTRUCTION_FAULT_STATUS 0x0000000B 0x00000000
    R System_Registers_CP15_DATA_FAULT_ADDRESS 0x0000000B 0x00000000
    R System_Registers_CP15_INSTRUCTION_FAULT_ADDRESS 0x0000000B 0x00000000
    R System_Registers_CP15_MPU_REGION_BASE_ADDRESS 0x0000000B 0x48200000
    R System_Registers_CP15_MPU_REGION_SIZE_ENABLE 0x0000000B 0x00000027
    R System_Registers_CP15_MPU_REGION_ACCESS 0x0000000B 0x00001100
    R System_Registers_CP15_MPU_REGION_NUMBER 0x0000000B 0x00000009
    R System_Registers_CP15_TCM_BTCM_REGION 0x0000000B 0x0008001D
    R System_Registers_CP15_TCM_ATCM_REGION 0x0000000B 0x00000025
    R System_Registers_CP15_TCM_TCM_SELECTION 0x0000000B 0x00000000
    R System_Registers_CP15_PERFORMANCE_MONITOR_CONTROL 0x0000000B 0x41151800
    R System_Registers_CP15_COUNT_ENABLE_SET 0x0000000B 0x00000000
    R System_Registers_CP15_COUNT_ENABLE_CLEAR 0x0000000B 0x00000000
    R System_Registers_CP15_OVERFLOW_FLAG_STATUS 0x0000000B 0x00000000
    R System_Registers_CP15_COUNTER_SELECTION 0x0000000B 0x00000000
    R System_Registers_CP15_CYCLE_COUNT 0x0000000B 0x00000000
    R System_Registers_CP15_EVENT_SELECTION 0x0000000B 0x00000000
    R System_Registers_CP15_PERFORMANCE_MONITOR_COUNT 0x0000000B 0x00000000
    R System_Registers_CP15_USER_ENABLE 0x0000000B 0x00000000
    R System_Registers_CP15_INTERRUPT_ENABLE_SET 0x0000000B 0x00000000
    R System_Registers_CP15_INTERRUPT_ENABLE_CLEAR 0x0000000B 0x00000000
    R System_Registers_CP15_SLAVE_PORT_CONTROL 0x0000000B 0x00000000
    R System_Registers_CP15_FCSE_PID 0x0000000B 0x00000000
    R System_Registers_CP15_CONTEXT_ID 0x0000000B 0x00000000
    R System_Registers_CP15_USER_READ_WRITE_THREAD_PROCESS_ID 0x0000000B 0x00000000
    R System_Registers_CP15_USER_READ_ONLY_THREAD_PROCESS_ID 0x0000000B 0x00000000
    R System_Registers_CP15_PRIVILEDGED_ONLY_THREAD_PROCESS_ID 0x0000000B 0x00000000
    R System_Registers_CP15_SECONDARY_AUXILIARY_CONTROL 0x0000000B 0x00400000
    R System_Registers_CP15_NVAL_IRQ_ENABLE_SET 0x0000000B 0x00000000
    R System_Registers_CP15_NVAL_FIQ_ENABLE_SET 0x0000000B 0x00000000
    R System_Registers_CP15_NVAL_RESET_ENABLE_SET 0x0000000B 0x00000000
    R System_Registers_CP15_NVAL_DEBUG_REQUEST_ENABLE_SET 0x0000000B 0x00000000
    R System_Registers_CP15_NVAL_IRQ_ENABLE_CLEAR 0x0000000B 0x00000000
    R System_Registers_CP15_NVAL_FIQ_ENABLE_CLEAR 0x0000000B 0x00000000
    R System_Registers_CP15_NVAL_RESET_ENABLE_CLEAR 0x0000000B 0x00000000
    R System_Registers_CP15_NVAL_DEBUG_REQUEST_ENABLE_CLEAR 0x0000000B 0x00000000
    R System_Registers_CP15_BUILD_OPTIONS_1 0x0000000B 0x00080000
    R System_Registers_CP15_BUILD_OPTIONS_2 0x0000000B 0x4ABFC5C7
    R System_Registers_CP15_CORRECTABLE_FAULT_LOCATION 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_CTRL0 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_CTRL1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_CTRL2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_INTS 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_INTR 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_STATUS_REG 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_INT_OFFSET_REG 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_BUSY 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_PCOUNT_REG1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_SCOUNT_REG1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_CURSEC_REG1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_WDTOPLD1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_BCTOPLD1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SIGREGL1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SIGREGH1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_REGL1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_REGH1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SECSIGREGL1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SECSIGREGH1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_RAW_DATAREGL1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_RAW_DATAREGH1 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_PCOUNT_REG2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_SCOUNT_REG2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_CURSEC_REG2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_WDTOPLD2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_BCTOPLD2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SIGREGL2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SIGREGH2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_REGL2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_REGH2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SECSIGREGL2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SECSIGREGH2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_RAW_DATAREGL2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_RAW_DATAREGH2 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_PCOUNT_REG3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_SCOUNT_REG3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_CURSEC_REG3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_WDTOPLD3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_BCTOPLD3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SIGREGL3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SIGREGH3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_REGL3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_REGH3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SECSIGREGL3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SECSIGREGH3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_RAW_DATAREGL3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_RAW_DATAREGH3 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_PCOUNT_REG4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_SCOUNT_REG4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_CURSEC_REG4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_WDTOPLD4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_BCTOPLD4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SIGREGL4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SIGREGH4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_REGL4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_CRC_REGH4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SECSIGREGL4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_PSA_SECSIGREGH4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_RAW_DATAREGL4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_RAW_DATAREGH4 0x0000000B 0x00000000
    R MCRC0_MCRC0_MCRC0_MCRC_BUS_SEL 0x0000000B 0x00000007
    R MCRC0_MCRC0_MCRC0_MCRC_RESERVED 0x0000000B 0x00000000
    

    the code is the CPU state and ctrl  reg when the it happen ,any help for analyse the problem ?

  • Hi, Sahana,

    Below further info may helps on your analysis.

    1. During the debug with customer engineer today. The issue appears every time when triggering a software reset.

    2. Customer is using "Mcu_PerformReset();" to trigger soft reset when receiving a CAN message asking for a OTA. If triggering soft reset in a period manner instead of triggering it by a specific CAN message, the soft reset works properly. During this test, external host still send CAN message asking for OTA continuously.

    3. Customer is using MCAL_9_0_1_0 now. And we try to use below code snippets instead of "Mcu_PerformReset();", the issue is still.

    4. Customer feedbacks that, before updating to MCAL_9_0_1_0, they were using MCAL_8_6_2 with above code snippets to trigger soft reset, the issue do NOT appear.

    5. We try to add a while() loop in the beginning of SBL, in the issue scenario, the code can not run into this while() loop. The PC points to 0x39F6, but this address is not used in SBL and APP.

    6. We add GPIO toggle code snippet in r5fss1-0 and r5fss1-1, and observing through oscilloscope to check running status of these two cores. The GPIO toggling stop when the chip stuck in soft reset. The soft reset command is issued in r5fss0-0.

    7. Customer has tried to porting his applications to running on TI EVM, the issue did NOT appear in hundreds time tests.

    Thanks.

  • Hello,

    Since you mentioned that this was not observed while using MCAL_8_6_2, it looks to be a software issue that's causing this. Our MCAL expert will take a look at this and get back to you on what could be the problem. Thanks for your patience.

    Regards,

    Sahana

  • Hi Fan,

    As discussed during the call can you please put a while loop in SBL resetvector and debug from there?Also check the RAM contents to verify if any corruption.

    Thanks And Regards,

    Sunil Kumar M S

  • Hi, Sunil,

    We have checked the content in SRAM, it seems SBL is NOT loaded to load address as expected.

  • Hi Fan,

    So this issue happens only after receiving CAN message and then issuing reset right?

    Thanks And Regards,

    Sunil Kumar M S

  • Hi, Sunil,

    The whole process is "receiving CAN message -> sending CAN response -> writing a Byte in SRAM -> triggering soft reset".

    We tried simplifying the process to "receiving CAN message -> triggering soft reset", the issue occurs also. 

  • Hi, Sunil,

    Please help to check if content in SRAM is flushed during soft reset.

    When power on, SBL can be loaded to 0x70002000 correctly. Then when stuck on soft reset, the content in 0x70002000 is flushed to 0x00. If soft reset does not flush SRAM, it can be a clue for analyzing the issue.

    Thanks.

  • Hi, Sunil,

    I have tested and verified that content in SRAM is flushed to all 0x00 after soft reset.

    Please focus on analyze the cause of SBL not loaded into SRAM after soft reset while the issue occurs.

    Thanks. 

  • Hi, Sunil.

    Here is pseudocode of the condition the issue can be reproduced:

    void task_CAN_10ms(void)
    {
    	if (get_OTA_cmd)
    	{
    		// do some pure software process
    		SRAM_write(0x01);	// write a flag into a certain address in SRAM
    		CAN_send(response);
    		Mcu_PerformReset();
    	}
    }

    And below is pseudocode of the condition the issue can NOT be reproduced. In this condition, the CAN rx/tx is processed continuously.

    void task_CAN_10ms(void)
    {
    	if (get_OTA_cmd)
    	{
    		// do some pure software process
    		SRAM_write(0x01);	// write a flag into a certain address in SRAM
    		CAN_send(response);
    		//Mcu_PerformReset();	// comment out to trigger soft reset in periodic task 
    	}	
    }
    
    void task_3s(void)
    {
    	if (it_is_time)
    	{
    		Mcu_PerformReset();
    	}
    }

  • Hi Fan,

    It is advised to issue a flash reset command before you call Mcu_PerformReset()?Is this done?

    Thanks And Regards,

    Sunil Kumar M S

  • Hi, Sunil,

    What is the API for issue a flash reset command within MCAL?

    Thanks.

  • Hi, Sunil,

    By issuing flash reset command before triggering soft reset, the issue does not occur.

    Thanks for your advice.