深入理解ARM體系架構(gòu)(S3C6410)---S3C6410復(fù)位
S3C6410X has three types ofreset signals and SYSCON can place the system into one of three resets.
本文引用地址:http://cafeforensic.com/article/201611/317825.htm• Hardware reset: It isgenerated by asserting XnRESET. It is an uncompromised, ungated, total andcomplete reset that is used when you do not require information in system anymore. It fully initializes all system.
• Watchdog reset: It isgenerated by a special hardware block, i.e., watchdog timer. When the system ishanged due to an unpredictable software error, the hardware block monitorsinternal hardware status and generates reset signal to escape from this status.
• Wakeup reset: It is generatedwhen S3C6410X wake up from SLEEP mode. Since internal hardware states are notavailable any more after SLEEP mode, they must be initialized.
Hardwarereset
當(dāng)XnRESET 引腳被聲明后,系統(tǒng)內(nèi)的所有單元(除了RTC 之外)復(fù)位到預(yù)先定義好的狀態(tài)時,硬件復(fù)位被調(diào)用。在這段期間,將發(fā)生下面的動作:所有內(nèi)部寄存器和ARM1176 內(nèi)核都到預(yù)先定義好的復(fù)位狀態(tài)。所有引腳都得到它們的復(fù)位狀態(tài)。當(dāng)XnRESET 被聲明的同時,XnRSTOUT 引腳就被聲明了。
XnRESET是不被屏蔽的,始終保持使能狀態(tài)。XnRESET 的聲明,無論先前為何模式,S3C6410 都進(jìn)入復(fù)
位狀態(tài)。XnRSET 必須持有足夠長的時間允許內(nèi)部穩(wěn)定和傳播。
The hardwarereset is invoked when XnRESET pin is asserted and all units in the system(except RTC) are reset to pre-defined states. During this period, the followingactions occur.
• All internalregisters and ARM1176 core go to the pre-defined reset states.
• All pins gettheir reset state.
• XnRSTOUT pinis asserted when XnRESET is asserted.
XnRESET isun-maskable and is always enabled. Upon assertion of XnRESET, S3C6410X entersinto reset state regardless of the previous mode. XnRSET must be held longenough to allow internal stabilization and propagation of the reset state toenter proper reset state.
Powerregulator for S3C6410X must be stable prior to the deassertion of XnRESET.Otherwise, it may damage S3C6410X and the operation is unpredictable. Figure3-17 is the timing diagram of power-on reset and pll turn-on sequence.
Watchdogreset
當(dāng)軟件掛起時,看門狗復(fù)位被調(diào)用。因此,在看門狗不能及時喂到時,就會發(fā)出超時命令。在看門狗復(fù)位期間,有以下動作發(fā)生:
除了ALIVE 和RTC 模塊,所有模塊進(jìn)入預(yù)先定義好的復(fù)位狀態(tài)。所有引腳都進(jìn)入復(fù)位狀態(tài)。在看門狗復(fù)位期間,nRSTOUT 引腳被聲明。
在正常模式和閑置模式下,看門狗可被激活,并可產(chǎn)生超時信號。當(dāng)看門狗定時器超時并復(fù)位使能時,其
可被調(diào)用。因此,下列依次發(fā)生:
1) WDT 產(chǎn)生超時信號。
2) SYSCON 調(diào)用復(fù)位信號,初始化內(nèi)部IP。
3)包括nRSTOUT 復(fù)位被聲明,直到復(fù)位計數(shù)器RST_STABLE 被終止。
Watchdog resetis invoked when a software hang-up. Then, the software cannot initialize aregister within WDT and WDT makes time-out signals for watchdog reset. As theoccurrence of watchdog reset means that system has fatal problem, it behaveslike external reset except reset status register. During the watchdog reset,the
followingactions occur:
• All blocksexcept reset status register in ALIVE block go to their pre-defined resetstate.
• All pins gettheir reset state.
• The nRSTOUTpin is asserted during watchdog reset.
Watchdog resetcan be activated in NORMAL and IDLE mode, since WDT can generate time-outsignal. It is invoked when watchdog timer and reset are enabled. Then, thefollowing sequence occurs:
1. WDTgenerate time-out signal.
2. SYSCONinvokes reset signals and initialize internal IPs.
3. The resetincluding nRSTOUT will be asserted until the reset counter, RST_STABLE, isexpired.
Wakeupreset
Wakeup reset is invoked whenS3C6410 is woken-up from SLEEP by a wakeup event. The details are described inSLEEP mode section.
評論