예제 #1
0
/**
 * \brief ICM interrupt hander.
 */
void ICM_Handler(void){
    uint32_t status;
    status = ICM_GetIntStatus();
    if (status & ICM_ISR_RHC_Msk) {
        regionHashCompleted |= (status & ICM_ISR_RHC_Msk);
        ICM_DisableIt(status & ICM_ISR_RHC_Msk);
    }
    if (status & ICM_ISR_RDM_Msk) {
        regionDigestMismatch |= ((status & ICM_ISR_RDM_Msk)>> ICM_ISR_RDM_Pos);
        printf ("-I- Digest mismatch occurs @ region(s) %x \n\r", (unsigned int)regionDigestMismatch);
        ICM_DisableIt((status & ICM_ISR_RDM_Msk) >> ICM_ISR_RDM_Pos);
    }
예제 #2
0
파일: main.c 프로젝트: gstroe/Arm
/**
 * \brief ICM interrupt hander.
 */
void ICM_Handler(void)
{
	uint32_t status;
	status = ICM_GetIntStatus();

	if (status & ICM_ISR_RHC_Msk) {
		regionHashCompleted |= (status & ICM_ISR_RHC_Msk);
		ICM_DisableIt(status & ICM_ISR_RHC_Msk);
	}

	if (status & ICM_ISR_RDM_Msk) {
		regionDigestMismatch |= ((status & ICM_ISR_RDM_Msk) >> ICM_ISR_RDM_Pos);
		ICM_DisableIt((status & ICM_ISR_RDM_Msk) >> ICM_ISR_RDM_Pos);
	}