22.4.2 Memory Check Function
Initialization
Before using the Memory Check function, initialize the HWP as shown below.
1. Configure the HWP operating clock as necessary. (Refer to "Clock Settings.")
2. Set the HWPCTL.HWPEN bit to 0.
3. Set the following HWP internal register bits (Memory Check function register bits):
- Set the FUNCTION.ID[7:0] bits to 0x03.
- INTMASK.TO_PROCESSING bit
- INTMASK.TO_IDLE bit
4. Set the following bits when using the interrupt:
- Write 1 to the interrupt flags in the HWPINTF register.
- Set the HWPINTE.HWPIE bit to 1.
5. Set the HWPCTL.HWPEN bit to 1.
6. Wait until the HWPINTF.HWP0IF bit is set to 1 and the STATE.STATE[15:0] bits are set to 0x0001 (mc_
state_idle = Memory Check function idle state).
Initialize the HWP again if the HWPINTF.HWP1IF bit = 1.
Once the Memory Check function register bits have been set in Step 3, it is not necessary to set again until they
need to be altered. When altering these register bits, perform the above processing from Step 2.
Memory check state transition
Figure 22.4.2.1 shows the memory check state transition diagram.
HWPCTL.HWPEN bit = 0
Memory check function
mc_state
_ram_rw
As shown in the figure above, there are seven operating states in the Memory Check function.
S1C31D41 TECHNICAL MANUAL
(Rev. 1.1)
MCU boot up
hwp_sleep
mc_state_init
mc_state_idle
mc_state
_ram_march_c
Figure 22.4.2.1 Memory check State Transition Diagram
Seiko Epson Corporation
22 HW Processor (HWP) and Sound Output (SDAC2)
(Disable HWP)
(Select Memory Check function)
(Set check start interrupt mask)
(Set check completed/idle state interrupt mask)
(Clear interrupt flags)
(Enable interrupts)
(Enable HWP)
FUNCTION.ID[7:0] bits = 0x03 (memory check),
HWPCTL.HWPEN bit = 1
mc_state
_checksum
mc_state
_crc
22-13