사이트맵 보기

활용사례

[디버깅사례-휴대폰] 특정 Web Site에서 Data Abort 발생

작성일

작성자 관리자

조회수 5244

첨부파일


1. 증 상:
모바일 폰의 Web Browsing 기능으로 특정한 웹사이트 접속 시 일정시간 후에 Data abort exception 발생함

2. 사용장비와 고객 개발환경
TRACE32-PowerDebug와 ARM9/ARM11-License Module
Qualcomm MSM7xxx Chip(ARM926EJs+ARM1136J용), L4-Iguana

3. 해 결 절 차:
1) 각각의 Core용 Power View 프로그램을 실행하고 어느 Core에서 Data abort exception이 발생했는지 먼저 파악하기 위해서 두 군데 모두 err_exception_handler에 Breakpoint를 설정한다


2) 먼저 Exception 발생한 위치를 자동으로 볼 수 있도록 프로그램의 동작을 지정한 L4_excetpoin_handler.cmm 파일을 만들어 실행시킨다


3) 통상 Data Abort는 Access를 할 수 없는 Address에 Read/Write를 해서 발생하는 메시지이며 통상 Virtual Address에서 Application이 주로 동작 하기 때문에, MMU에 의해 Physical address와 Virtual Address mapping이 잘못 지정되어 있는지 의심이 생겨 확인 해봄


4) MMU에 대한 Mapping에 대한 Table 정보를 보기 위한 MMU.PageTable.List Command로 Physical address와 Virtual Address mapping 및 Cache, page size확인해 본 결과 Virtual Address가 Physical address에는 mapping이 되지 않았음을 확인하고 해당 소스를 찾아보니 Physical address를 할당하지 않았음을 발견하고 소스 수정해서 해결함

5. 결 론: OS(L4 Iguana)가 올라간 휴대폰 디버깅에는 기존과 다른 형태의 Exception 디버깅이 필요하며 특히 Physical Address와 Virtual Address의 관계를 정확하게 정의한 MMU Table이 문제를 쉽게 해결하는 Key factor임을 새삼 확인하게 된 게기가 되었다.

6. 소요시간: Bug 분석과 S/W Patch까지 소요시간: 2시간

고객문의 기술지원/
데모/
SW요청
031-627-
3116