i.MX8M Mini Core0/Core1 Software Reset Issue - Core Hangs

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.MX8M Mini Core0/Core1 Software Reset Issue - Core Hangs

359件の閲覧回数
sirishaB
Contributor I

 

Hi,

I'm working with the i.MX8M Mini processor and trying to perform a software reset of Core0 and Core1. I have implemented the following approach where I set the reset vector using the SRC General Purpose Register (GPR) and then trigger a core reset using the A53 register. However, after resetting Core0 (or Core1), the core enters a hang state and doesn't resume properly.

Here’s a summary of what I did:

 

 

  • Set Core0 Reset Vector: I wrote the high and low parts of the reset vector to the SRC_GPR1 and SRC_GPR2 registers.

  • Trigger Core0 Reset: I used the SRC_A53RCR0 register to trigger a software reset of Core0.

 

 

void trigger_core0_reset(void) {

    #define SRC_A53RCR0_ADDR 0x30390004   // Address of SRC_A53RCR0

    #define CORE0_RESET (1 << 0)          // Bit 0 for Core0 software reset

 

    volatile uint32_t *src_a53rcr0 = (uint32_t *)SRC_A53RCR0_ADDR;

    *src_a53rcr0 |= CORE0_RESET;  // Trigger Core0 software reset

}

I called the functions with:

 

set_core0_reset_vector(0x7E1000);  // Example reset vector address

trigger_core0_reset();

 

Issue: After resetting Core0, it appears to enter a hang state and does not recover. I also tried this approach for Core1 with the same result — the core hangs after the reset.

I would appreciate any help or insights into why the cores are hanging and what might be missing in my approach.

 

Thank you in advance!

ラベル(1)
0 件の賞賛
返信
0 返答(返信)