MDSTECH
TRACE32
TRACE32 Solution
TRACE32 Trace Solution
TRACE32 More Product
TRACE32 Software Solution
Why TRACE32?
교육신청
정규교육
교육과정 안내
교육장 안내
교육설문
자료실
TRACE32 소프트웨어
TRACE32 매뉴얼
iTSP
TRACE32 영상
인증서
고객지원
뉴스레터
Q&A
FAQ
원격지원
검색창
검색버튼
회원가입
로그인
TRACE32
TRACE32 Solution
TRACE32 Trace Solution
TRACE32 More Product
TRACE32 Software Solution
Why TRACE32?
교육신청
정규교육
교육과정 안내
교육장 안내
교육설문
자료실
TRACE32 소프트웨어
TRACE32 매뉴얼
iTSP
TRACE32 영상
인증서
고객 지원
뉴스레터
Q&A
FAQ
원격지원
사이트맵 보기
Tricore 리셋 디버깅 문서 원본 보기
←
Tricore 리셋 디버깅
이동:
둘러보기
,
검색
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게만 가능합니다:
사용자
문서의 원본을 보거나 복사할 수 있습니다:
<h2><span id=".C2.A0overview" class="mw-headline">overview</span></h2> <p>프로세서에 리셋이 발생되면 리셋이 발생된 원인에 따라 부트 코드에서 특정 처리를 하는 경우가 있다. 하지만 JTAG기반 디버깅의 경우 리셋이 발생되면 JTAG연결이 해제 될 수 있으므로 리셋이 발생된 이후 실행 되는 코드를 디버깅 하는 것이 어렵다. TRACE32의 경우 reset event를 인식하고 reset 발생 후 실행 되는 코드를 디버깅 할 수 있는 환경을 제공 한다.</p> <p>아래 그림은 TRACE32에서 제공하는 reset 디버깅을 위한 옵션이다.</p> <p><img src="/data/wiki/2015-12-30/1451438464.png" alt="" /></p> <h2><span id=".C2.A0Soft_reset" class="mw-headline"> Soft reset</span></h2> <p>Soft reset은 application이나 watchdog과 같은 onchip logic에 의해 발생된다. Soft reset의 경우 디버그 로직에는 영향을 주지 않기 때문에 JTAG 연결이 해제되지 않는다. 따라서 기 설정된 break point와 같은 설정이 리셋 이후에도 남아 있기 때문에 리셋이 발생되기 전 디버깅 할 코드에 미리 break point를 설정하기만 해도 디버깅하는데 문제가 없다.</p> <p>TRACE32에서 soft reset이 발생된 이후 디버깅을 위해 아래 세 가지 옵션을 사용하면 된다.</p> <p>- 미리 break point를 설정하고 리셋 발생 이후 실행 코드를 디버깅 하는 경우</p> <p><strong>SYStem.Option RESetBehavior RestoreGo</strong></p> <p><strong>SYStem.Option RESetBehavior RunRestore</strong>.</p> <p><img src="/data/wiki/2015-12-30/1451438474.png" alt="" /></p> <p>위 명령어를 사용하면 reset detect후 TRACE32가 re-attach를 시도하고 타겟을 running 시킨다. 이 때 기존에 설정해둔 break point가 있고 해당 코드가 실행된다면 break point에서 타겟이 halt되고 디버깅 가능 하다.</p> <p> </p> <p><strong>SYStem.Option RESetBehavior Halt</strong></p> <p><img src="/data/wiki/2015-12-30/1451438481.png" alt="" /></p> <p>위 명령어를 사용하면 TRACE32가 reset dectect 후에 re-attach를 시도하고 바로 타겟을 halt시킨다. halt되는 위치는 reset vector로부터 일부 코드가 실행된 이후로 리셋이 발생된 이후 실행된 코드를 디버깅 하기 적합한 옵션이다.</p> <p> </p> <h2><span id=".C2.A0hard_reset" class="mw-headline"> hard reset</span></h2> <p>hard reset의 경우 warm power-on reset으로 일반적으로는 외부 로직이 CPU의 reset 핀을 컨트롤하여 리셋을 발생 시킨다. 이 경우에는 onchip의 디버그 로직에도 영향이 있기 때문에 기 설정된 break point는 지워지게 된다. TRACE32는 CPU의 reset핀을 감시하여 hard reset을 detect하고 리셋 발생된 이후 디버깅 할 수 있는 환경을 제공 한다.</p> <p>- 디버그 설정을 복원하고 타겟 running : <strong>SYStem.Option RESetBehavior RestoreGo</strong></p> <p><img src="/data/wiki/2015-12-30/1451438494.png" alt="" /></p> <p>위 명령어는 hard reset이 발생 되면 reset이 완료될 때까지 대기 후 re-attach를 시도한다. re-attach가 완료된 후에는 target을 halt시켜 기존에 설정된 디버그 관련 기능을 복원하고 다시 타겟을 running시키게 된다.</p> <p>- 타겟 running과 동시에 디버그 설정 복원 : <strong>SYStem.Option RESetBehavior RunRestore</strong></p> <p><img src="/data/wiki/2015-12-30/1451438505.png" alt="" /></p> <p>이 명령어는 hard reset detect와 re-attach가 완료된 이 후 바로 타겟을 running과 디버그 설정을 동시에 복원 시킨다. 따라서 디버그 설정을 복원하는 도중에 trigger되는 break point는 손실될 수 있다. 이 옵션의 경우 타겟 halt를 하면 안 되는 리셋 디버깅에 적합하다.</p> <p>- 타겟 halt : <strong>SYStem.Option RESetBehavior Halt</strong></p> <p><img src="/data/wiki/2015-12-30/1451438510.png" alt="" /></p> <p>이 명령어는 hard-reset발생 후 re-attach를 시도하고 타겟을 halt시키는 동작을 한다. re-attach가 완료되면 자동으로 디버그 설정 또한 복원 된다. 이 옵션은 타겟 리셋 후 리셋 로직과 관련된 코어 레지스터 정보를 자세히 파악해야 하는 디버깅에 적합하다.</p> <p> </p> <h2><span id=".C2.A0power_cycles" class="mw-headline"> power cycles</span></h2> <p>Power cycles는 power-on reset을 의미한다. 타겟의 전원을 완전히 off/on 하는 동작을 의미하며 디버그 관련 설정은 지워진다. TRACE32는 타겟 voltage reference 핀과 reset핀을 감지하여 이를 detect하며 attach를 시도한다.</p> <p>- 타겟 전원 인가 후 attach : <strong>SYStem.Mode StandBy</strong></p> <p><img src="/data/wiki/2015-12-30/1451438514.png" alt="" /></p> <p>이 명령어는 타겟 전원이 off되어 있는 상태에서 실행 해야 한다. standby mode상태에서는 타겟 전원 인가되는 것을 감지하고 전원이 인가되면 attach 및 target을 halt시킨다. 만약 TRACE32 디버그 설정이 되어 있는 상황이라면 이를 타겟에 설정하고 다시 타겟을 running시킨다. 다른 요인에 의한 reset이 아니라 전원 인가 된 후 실행되는 코드를 디버깅 하려면 이 옵션을 사용하면 된다.</p> <p> </p>
Tricore 리셋 디버깅
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
행위
검색
TRACE32 Dummy
TRACE32
iTSP User's Guide
aTSP User's Guide
Linux Debugging
Debugging Tips
Trace Analysis
Virtual Target
TRACE32로 바라본 ARM
TRACE32 FAQ
TRACE32 Trouble Shooting
TRACE32 Software Update
Software Revision History
DT10 / DT-Win
다운로드
DT10 Evaluation
DT-Win Evaluation
TestPoint 삽입 Error
Build Error
DT10 FAQ
도구
여기를 가리키는 문서
가리키는 글의 바뀜
특수 문서 목록
문서 정보