우선 인터럽트 코드내에서 bl 이라는 명령을 사용하는지 확인하세요
이 코드를 사용한다면 lr 레지스터를 미리 저장하셔야 합니다.

다른 이유는 없을것 같군요