사이트맵 보기

활용사례

[이벤트 - 디버깅 경험 수상작] 메모리 Read/Write Breakpoint

작성자 관리자

조회수 7081

첨부파일
* 문제점 및 증상

카메라폰에서 Camera 사용 시 때때로 Reset이 발생하며, Reset이 되는 부분은 Protocol, Memory Management 등과 같이 Camera Preview와는 관계없는 경우가 발생하였습니다.



* TRACE32로의 접근 방법(디버깅)

가장 많이 Reset이 나는 부분에서 원인을 파악해 본 결과, 관련 메모리에 쓰레기 값이 적히는 것을 TRACE32로 확인하였습니다.



Camera 사용 시에 누가, 왜 관련되지 않은 부분에 쓰레기 값을 채우는지 이해할 수 없었으나 TRACE32로 해당 메모리에 Read/Write Breakpoint를 설정하여 테스트를 진행하였습니다.



값이 바뀌었음에도 TRACE32가 Break를 수행하지 못하는 결과를 보고, ARM Memory bus를 통해서 누군가 Write하지 않고 외부 Device가 임의의 값을 쓰는 것이라고 확신하였습니다.



가능한 Device중에 가장 의심스러운 Camera 칩의 Control Sequence만을 중심으로 Sequence중 어떤 부분이 메모리 값을 쓰레기로 변하게 하는지 체크하여 해당부분을 파악하고 문제를 해결할 수 있었습니다.



* 결론

TRACE32의 메모리 Read/Write Breakpoint를 이용하여 문제 코드를 발견할 수도 있지만, 역으로 문제부분이 ARM CORE에 독립적인 부분이란 것을 파악하여, 문제의 범위를 줄여 해당되는 문제를 해결할 수도 있습니다.
고객문의 기술지원/
데모/
SW요청
031-627-
3116