AVR Studio 를 사용한 디버깅[2] – 실제 디버깅 작업하기

자신이 프로그램한 결과물인 HEX 파일을 AVR Studio 에서 불러오면 어셈블리 단계에서 코드를 모니터링 할 수 있으며 C 로 프로그래밍한 펌웨어의 모니터링을 원한다면 AVR C 컴파일러(AVR 의 컴파일러들인 WinAVR(AVR-GCC), AVR 버전의 IAR, ImageCraft 사의 ICC, CodeVision…) 에 의해 생성된 cof 파일을 불러들이면 됩니다.

AVR Studio 4.XX 버전을 실행시키면 맨처음 아래와 같은 프로젝트 위저드 박스가 띄워집니다.

AVRStudio_ProjectWizard

 

 

여기서 왼쪽 새로운 프로젝트 생성(Create New Project) 버튼을 눌러도 되나 여러가지 정보를 기입해야 하므로 번거로운 면이 있어 오른쪽 Open 버튼을 눌러 직접 자신이 작성한 펌웨어의 COF 파일을 선택합니다.
이전에 수행했던 파일이 있었다면 박스의 아래 리스트에서 직접 선택해줄 수도 있습니다.

선택한 COF 파일이 AVR Studio 에서 처음 수행되는 상태라면 아래 그림과 같이 에뮬레이션(시뮬레이션) 될 기반장치 선택부분과 타겟 칩 선택 창이 보입니다. 그러면 아래와 같이 JTAGICE 와 자신의 타겟 CPU 를 선택하고 FINISH 를 누르면 됩니다.
만일 AVR Simulator 를 선택하면 가상환경에서 시뮬레이션이 가능합니다.

AvrStudio_SelectChip

 

 

FINISH 를 누르면 타겟과 AVR JTAG 이 이상없이 연결 돼 있을경우 디버깅 정보가 로딩이 메인창에 자신이 작성한 코드가 표시되며 노란화살표가 메인함수 가장 첫줄에 위치하게 되고 타겟장치는 정지상태에 놓이게 됩니다.

아래 그림은 AVR Studio 가 전체화면으로 실행된 모습입니다.
윗쪽에 각 기능을 하는 툴바와 그아래 주 화면이 보이고 그 왼쪽에 AVR 칩의 각 레지스터의 상태를 트리로 도식화 한 Workspace 창, 메인 창 아래에는 코드에서 선언된 변수를 등록시켜주면 스텝단위로 코드가 실행될때 변수값의 상태와 위치를 모니터링 할 수 있는 Watch 창이 위치되어 있습니다.

(하단 오른쪽 Watch 창이 안보인다면 [Alt+1] 을 누르거나 메뉴의 [View]->[Watch] 를 선택하면 됩니다.)

AVRStudio

 

이런 배치는 비주얼 C++ 같은 윈도우용 IDE 툴과 크게 다르지 않으며 사용법 또한 그렇습니다.
위 그림에 보이는 코드는 AVR 의 UART 설정을 하고 주기적으로 데이터 전송을 하는 예를 간단하게 만들어 본 것입니다.

툴바의 가장 오른쪽 메뉴나 주메뉴의 Debug 메뉴를 사용하여 타겟을 스텝단위나 지정된 브레이크 포인트까지 일괄 실행되게 하여 각 단계별로 레지스터나 변수들을 모니터링 함으로서 논리적인 버그를 체크하는 등의 자신이 목적하는 작업을 수행할 수 있습니다.

Debug 메뉴들이 이 프로그램의 전부라 할 수 있으며 사용법도 그리 어렵지 않아 처음 대하는 분이라면 예제 프로그램이라도 하나 만들어 돌려보면서 연습한다면 금방 습득하실 수 있을 것입니다.

아래 링크는 AVR Studio 의 디버그 메뉴들에 대해 설명한 홈페이지에 대한 링크이니 참고하시기 바랍니다.

http://www.yklogic.co.kr/avr/avr_asd.html

 

 

이 글을 공유하기:

Be the first to comment

Leave a Reply