디버그 통신 채널참고DCC 레지스터 액세스에 대한 자세한 내용은 해당 프로세서의 기술 참조 문서를참조하십시오.7.2.1 인터럽트 구동 디버그 통신예제 7-1에는 간단한 DCC 루틴을 보여 주는 코드 조각이 나와 있습니다. 디버그도구에서 보낸 텍스트는 대소문자가 변경되어 타겟에서 다시 표시됩니다. 이 예제 (install_directory\RVDS\Examples\...\dcc\) 에서 실행 가능 이미지를 빌드한 다음 JTAG 포트를 사용하여 타겟에서 해당 이미지를 실행합니다. RealView 디버거의 통신 채널 뷰를 사용하여 타겟과 통신할 수 있습니다. 자세한 내용은 RealView디버거 사용 설명서를 참조하십시오.예제 7-1 타겟 및 호스트 디버그 도구 간의 DCC 통신AREA DCC, CODE, READONLYENTRYpollinMRC p14,0,r3,$SCReg,0 ; Read Debug Status and Control RegisterTST r3, $TestFullBEQ pollin ; If R bit clear then loopreadMRC p14,0,r0,$DReg,0 ; read word into r0char_masksMOV r4, #0x20 ; EOR mask to invert case of a char by flipping bit 6MOV r5, #0xC0 ; AND mask to clear all but top 2 bits of each charchangeCaseTST r0, r5 ; Check whether character value >0x3FEORNE r0, r0, r4 ; If character value >0x3F, flip bit 6 to invert caseMOV r5, r5, LSL #0x8 ; Shift the character mask left by 1 charMOVS r4, r4, LSL #0x8 ; Shift the case inverter pattern left by 1 charBNE changeCase ; Branch to do the next charpolloutMRC p14,0,r3,$SCReg,0 ; Read Debug Status and Control RegisterTST r3, $TestEmptyBNE pollout ; if W set, register still fullwriteMCR p14,0,r0,$DReg,0 ; Write word from r0B pollin ; Loop for more words to readEND7-4 Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0203IKNon-ConfidentialUnrestricted Access
디버그 통신 채널Embedded ICE 논리의 COMMRX 및 COMMTX 신호가 인터럽트 컨트롤러에 연결되는 경우 이러한 유형의 폴링 방식 예제를 인터럽트 구동 예제로 변환할 수 있습니다.그런 다음 읽기 및 쓰기 코드를 인터럽트 처리기에서 사용할 수 있습니다. 인터럽트 처리기 작성에 대한 자세한 내용은 6-11페이지의 인터럽트 처리기를 참조하십시오.<strong>ARM</strong> DUI 0203IK Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. 7-5Unrestricted AccessNon-Confidential