본문 바로가기

개발 환경설정

ATmega128A 개발 환경 설정

이 글에서는 "JMOD-128-1" 모듈과, 이 모듈이 사용하는 마이크로 컨트롤러 "ATmega128A"에 필요한 개발환경을 설정하는 방법을 다루고 있다.

 

<목 차>

1. 사용 장비
2. 프로그램 설치
3. 프로젝트 생성
4. 프로젝트/솔루션 빌드
5. 모듈 인식 및 펌웨어 퓨징
6. 장치 제거

 

1. 사용 장비

 

사용할 장비는 "JMOD-128-1" 모듈로, 마이크로 프로세서는 ATmega128A를 사용한다.

(구매 링크: https://www.eleparts.co.kr/goods/view?no=528130 )

 

 

장치 관리자에서 인식하는 모습

 

모듈을 컴퓨터에 연결했다면, 장치 관리자의 "포트(COM & LPT)" 에서 인식이 됬는 지 확인해야 한다. 

 

장치에 필요한 드라이버는 바로 아래에서 설치할 것이다.

 

 

2. 프로그램 설치

설치해야 하는 프로그램에는 VCP 드라이버, microchip studio 총 2가지가 있다.

 

VCP 드라이버는 컴퓨터~모듈 간 통신, microchip studio는 펌웨어의 개발 및 퓨징에 필요하다.

 

1) VCP 드라이버 설치

설치해야 하는 드라이버(적색 밑줄)

 

 

우선 silabs.com 에서 "CP210x Universal Windows Driver"를 다운받아 압축을 해제한다.

 

 

silabser.inf의 위치

 

압축을 해제한 폴더에서 "silabser.inf"를 우클릭하여, 설치 버튼을 누른다.

 

그러면 모듈과의 통신에 필요한 드라이버를 설치할 수 있다.

 

 

2) Microchip studio(구 명칭: Atmel studio)

설치해야 하는 installer(적색 밑줄)

 

이는 Mirochip Studio의 공식 사이트에서 다운로드 받을 수 있다.

 

단, "Offline Installer"를 설치해야 인터넷 연결이 없는 상태에서도 개발을 진행할 수 있다.

 

 

3. 프로젝트 생성

신규 프로젝트 생성

 

Microchip studio의 맨 왼쪽 상단에서, "New"의 "Project"를 클릭한다.

 

 

신규 프로젝트 초기 설정

 

그 다음, 새로 생성할 프로젝트의 종류와 이름, 생성 위치를 설정한다.

 

종류는 "GCC C executable project"를 선택하고, 생성 위치는 기억하기 쉬운 장소를 사용한다.

 

생성 위치의 경로에는 한글이 들어있어선 안된다는 점에 주의하자.

 

 

마이크로 컨트롤러 선택

 

이름과 경로를 선택했다면, 프로젝트가 사용할 마이크로 프로세서를 선택한다.

 

"JMOD-128-1" 모듈은 "ATmega128A"를 사용하므로, "ATmega128A"를 찾아 선택한다.

 

 

새로 만든 프로젝트의 모습

 

모두 설정했다면, 위와 같이 C언어 소스코드를 작성할 수 있는 창이 나타난다.

 

 

4. 프로젝트/솔루션 빌드

 

Build 메뉴 위치

 

"Build"의 "Build 프로젝트_이름" 버튼을 누르면, 현재 우리가 사용하는 프로젝트(이름: "DempApp1")의 소스코드를 컴파일하여, 펌웨어로 만들 수 있다.

 

Build 결과

 

빌드된 펌웨어의 위치

 

빌드한 펌웨어는 "솔루션_이름/프로젝트_이름/모드" 아래서 찾아볼 수 있다.

 

 

5. 모듈 인식 및 펌웨어 퓨징

"ISP/UART" 스위치(주황색 표시)

 

펌웨어를 퓨징하기 위해선, 모듈의 "ISP/UART" 스위치는 위와 같이 "ISP"(왼쪽)로 위치시켜야 한다. 그렇지 않다면 펌웨어를 모듈에 퓨징할 수 없다. 

 

다음으로 "Add target" 메뉴에서 타겟 (펌웨어를 설치할 모듈)이 사용하는 COM 포트를 microchip studio에게 알려줘야 한다.

 

그래야 "Device programming"메뉴를 통해 타겟을 인식하고, 펌웨어를 퓨징할 수 있다.

 

1) COM 포트 인식

"Add target" 메뉴 위치

 

펌웨어를 퓨징하기 위해선, 모듈이 사용하는 COM 포트를 microchip studio에게 알려줘야 한다.

 

이는 "Tools"의 "Add target" 메뉴에서 설정할 수 있다.

 

 

 

"Select tool" 에서 STK500을 선택하면, 모듈이 사용하고 있는 COM 포트 (여기서는 COM3)는 자동적으로 설정이 된다.

 

마지막으로 "Apply"를 누르면, 타겟을 추가할 수 있다.

 

 

2) 퓨징

"Device programming"의 위치

 

"Device programming" 메뉴

 

모듈에 펌웨어를 퓨징하기 위해, tool과 device를 먼저 설정해야 한다.

 

"Device programming" 메뉴에서 "tool"은 STK500, "device"는 ATmega128A를 선택하여 "Apply"를 누르면 아래와 같은 설정 화면을 볼 수 있다.

 

 

펌웨어(ELF) 위치 설정

 

"Memories" 메뉴에서 퓨징할 펌웨어를 선택할 수 있다.

 

 

펌웨어 퓨징 완료

 

마지막으로 "Program" 버튼을 누르면, 앞서 빌드한 펌웨어를 모듈에 퓨징할 수 있다.

 

 

6. 장치 제거

연결한 모듈

 

Microchip studio 창을 닫고, "설정"에서 "Bluetooth 및 장치" 메뉴에 들어가서, "기타 디바이스" 아래에 앞서 연결한 모듈이 있는 지 확인한다.

 

모듈 연결 해제

 

 

해당 모듈을 누르고, "제거" 버튼을 누르면 컴퓨터에서 모듈을 안전하게 뺄 수 있다.

 

 

모듈을 인식하지 않는 모습

 

 

장치관리자에서 확인하면, 연결한 모듈이 인식되지 않는 모습을 확인할 수 있다.

 

이제 컴퓨터에서 모듈과 연결한 USB선을 빼도 무방하다.