C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

Similar documents
iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

ISP and CodeVisionAVR C Compiler.hwp

DE1-SoC Board

MAX+plus II Getting Started - 무작정따라하기

MPLAB C18 C

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

<5BC6EDC1FD5D4B485520B1DBB7CEB9FA20B1E2BEF7B9FDB9AB20B8AEBAE42037B1C72031C8A32E687770>

Chapter 1

System Recovery 사용자 매뉴얼

서현수

Orcad Capture 9.x

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Install stm32cubemx and st-link utility


PowerPoint 프레젠테이션

세계 비지니스 정보

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

[96_RE11]LMOs(......).HWP

(SW3704) Gingerbread Source Build & Working Guide

4S 1차년도 평가 발표자료

2 ㆍ 大 韓 政 治 學 會 報 ( 第 20輯 1 號 ) 도에서는 고려 말에 주자학을 받아들인 사대부들을 중심으로 보급되기 시작하였고, 이후 조선시대에 들어와서는 국가적인 정책을 통해 민간에까지 보급되면서 주자 성리학의 심 화에 커다란 역할을 담당하였다. 1) 조선시대

PRO1_02E [읽기 전용]

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

_USB JTAG Ver1.0 User's Manual.hwp

鍮뚮┰硫붾돱??李⑤낯

Interstage5 SOAP서비스 설정 가이드

23

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

게임 기획서 표준양식 연구보고서

Microsoft Word - PEB08_USER_GUIDE.doc

H3050(aap)

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

PowerPoint 프레젠테이션

슬라이드 1

슬라이드 1

슬라이드 1

USBISPV3.0(071112).hwp

Mentor_PCB설계입문

PowerPoint 프레젠테이션

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

영암군 관광종합개발계획 제6장 관광(단)지 개발계획 제7장 관광브랜드 강화사업 1. 월출산 기( 氣 )체험촌 조성사업 167 (바둑테마파크 기본 계획 변경) 2. 성기동 관광지 명소화 사업 마한문화공원 명소화 사업 기찬랜드 명소화 사업 240

슬라이드 1

lecture4(6.범용IO).hwp

PowerPoint 프레젠테이션

Microsoft Word - src.doc

슬라이드 1

untitled

한눈에-아세안 내지-1


COVER.HWP

이슈분석 2000 Vol.1

가볍게읽는-내지-1-2

kbs_thesis.hwp


*통신1802_01-도비라및목차1~11

TViX_Kor.doc

USB-EK001 매뉴얼

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다.

Sena Device Server Serial/IP TM Version

Microsoft Word - EastSocket매뉴얼_ _.doc

슬라이드 1

Microsoft Word - Modelsim_QuartusII타이밍시뮬레이션.doc

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

BMP 파일 처리

Remote UI Guide

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

RealDSP UT 프로그램 메뉴얼

Studuino소프트웨어 설치

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

untitled

PRO1_04E [읽기 전용]

VOL /2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

Microsoft PowerPoint - SY-A3PSK-V1.pptx

MCM, PCB (mentor) : da& librarian jakup & package jakup & layout jakup & fablink jakup & Summary 2 / 66

초보자를 위한 C++

1

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

PCServerMgmt7

KEY 디바이스 드라이버

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

PowerPoint Template

Microsoft Word ARM_ver2_0a.docx

WebPACK 및 ModelSim 사용법.hwp

경제통상 내지.PS

°æÁ¦Åë»ó³»Áö.PDF

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

untitled

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

ODS-FM1

Multi Channel Analysis. Multi Channel Analytics :!! - (Ad network ) Report! -! -!. Valuepotion Multi Channel Analytics! (1) Install! (2) 3 (4 ~ 6 Page

(specifications) 3 ~ 10 (introduction) 11 (storage bin) 11 (legs) 11 (important operating requirements) 11 (location selection) 12 (storage bin) 12 (i

우루과이 내지-1

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

세계 비지니스 정보

chapter4

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도

Transcription:

ASF(Atmel Software Framework) 환경을이용한프로그램개발 1. New Project Template 만들기 A. STK600 Board Template를이용한 Project 만들기 i. New Project -> Installed(C/C++) -> GCC C ASF Board Project를선택하고, 1. Name: 창에 Project Name( gpio_basic_stk600_board) 을입력한다. 2. Location: 창에 Project 정정위치 ( D:\AVR_devlop\studio7.x\) 를선 택한다. 3. Solution: 창에자동으로 Project Name과같은 Solution Name이설정된다. 4. OK 를 Click 한다. Board Selection 창에서 1. Device Family 창에서 XMEGAAA를선택하고 2. Device 선택창에서 ATxmega128A4U를선택한다. 3. Board 선택창에서 STK600 Atxmega128A4U를선택하고 OK 를 Click 한다. i Project Template 가자동으로생성되고 ASF Wizard 창이열린다. 1. Project: 지금생성된 Project( gpio_basic_stk600_board ) 를선택한다. 2. Available Modules 창에현재버전 (Atmel ASF(3.28.1) 에서선택할수있는 Modules 이표시되고, 3. Selected Modules 창에는현재선택되어포함된 Module 이표시된다. 4. 기본으로 Generic board support (driver), GPIO, IOPORT 3개의 Module이 표기된다. 5. 이 Project 에서는기본적인 I/O Port 만사용하기때문에추가 Module을 Add 하지않는다. 만약 USART를사용하는경우에는 USART Module을 ADD 한다. iv. 사용하는 Board Header File 확인및편집 1. Solution Explorer 창에서 A. src -> ASF -> xmega -> board -> stk600 -> rc044x 폴더를선택한다. B. stk600_rc044x.h File를 open 하고내용을확인한다.

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E. BOARD_XOSC_HZ 은 8M 을 16M 로변경하고이 File 를저장한다. 2. Solution Explorer 창에서 A. src -> ASF -> xmega -> board -> stk600 -> rc044x 폴더를선택한다. B. init.c File를 open 하고내용을확인한다. C. LED의초기상태를 LOW(Off) 상태가되도록 ioport_configure_pin 부분의 IOPORT_INIT_HIGH 를 IOPORT_INIT_LOW 로편집한다. 별첨 File 참고요. D. Button 은 2개만사용하기때문에 Button 2,3 번을초기화하는부분을 Comment 처리한다. E. CONF_BOARD_AT45DBX 부분도 Comment 처리하고저장한다. 3. Solution Explorer 창에서 A. src -> ASF -> xmega -> board -> stk600 -> rc044x 폴더를선택한다. B. led.h File을 open 한다. C. STK600_board의 LED는 Low 출력에서 On 되고, High 출력에서 Off 되지만 KHU-EE Board에서는 Low 출력에서 Off 되고, High 출력에서 On 되기때문에 LED_Off와 LED_On 관련 define 문을별첨예와같이편집하고저장한다. v. main() Function 작성 1. 별첨 gpio_basic_stk600_board.zip의 main.c file을참고하여 main() 함수의내용을편집한다. vi. Project를 Build 한다. v Chip45boo2 GUI를이용하여 KHU-EE Board에다운로드하여실행한다. B. User Board Template를이용한 Project 만들기 i. New Project -> Installed(C/C++) -> GCC C ASF Board Project를선택하고, 1. Name: 창에 Project Name( gpio_basic_user_board) 을입력한다.

2. Location: 창에 Project 정정위치 ( D:\AVR_devlop\studio7.x\) 를선 택한다. 3. Solution: 창에자동으로 Project Name과같은 Solution Name이설정된다. 4. OK 를 Click 한다. Board Selection 창에서 1. Device Family 창에서 XMEGAAA를선택하고 2. Device 선택창에서 ATxmega128A4U를선택한다. 3. Board 선택창에서 User Board template - XMEGA AU를선택하고 OK 를 Click 한다. i Project Template 가자동으로생성되고 ASF Wizard 창이열린다. 1. Project: 지금생성된 Project( gpio_basic_user_board ) 를선택한다. 2. Available Modules 창에현재버전 (Atmel ASF(3.28.1) 에서선택할수있는 Modules 이표시되고, 3. Selected Modules 창에는현재선택되어포함된 Module 이표시된다. 4. 기본으로 Generic board support (driver) Module 만표기된다. 5. 이 Project 에서는 I/O Port를사용하기때문에추가 Module을 Add 하여야한다. A. GPIO(service) Module을선택하고 ADD>> 버튼누르고, Apply 번튼을누른다. B. 위와같은과정으로 IOPORT (driver) Module을 ADD 하고 Apply 한다. iv. 사용하는 Board Header 와 init.c File 확인및편집 1. Solution Explorer 창에서 A. src -> ASF -> common -> board -> user_board 폴더를선택한다. B. user_board.h File를 open 하고내용을확인한다. C. gpio_basic_user_board.zip File를다운로드하여 user_board 폴더에덮어쓰기로복사하고, 내용을확인한다. v. main() Function 작성 1. 별첨 gpio_basic_stk600_board.zip의 main.c file을참고하여 main() 함수의내용을편집한다. 2. gpio_basic_user_board.zip 을다운로드하여본인이작성한프로그램과비교하고확인한다.

vi. Project를 Build 한다. v Chip45boo2 GUI를이용하여 KHU-EE Board에다운로드하여실행한다. 2. 자신이개발한 Board를별도의 Board Name으로등록하고이용하기 A. ASF 환경에서새 Project를만드는경우어떤 Board Name을사용하여야하나? i. Atmel Studio에서제공하는개발 Board를사용하는경우 : 예 STK600 Board 1. 본인이개발하고자하는 Board와유사한 Atmel Studio에서제공하는개발 Board 가있는경우적용한다. KHU-EE는 STK600 Board 와유사함. 2. ASF 환경을이용하여완성도높은 Project Template 가생성되기때문에프로그램개발이용이하다. 새 Project 를만들때 User Board 를선택하는경우 1. 본인이개발하고자하는 Board와유사한 Atmel Studio에서제공하는개발 Board 가없는경우에선택한다. 2. ASF 환경을이용하여완성도높은 Project Template 가생성할수없기때문에프로그램개발이어렵다. i 자신이개발한 Board 을새로운보오드이름으로등록하여사용하는경우 1. 본인이개발한 Board에최적화된 Project Template를먼저만들어이용하는경우에유리하다. 2. 이경우완성도높은 Project Template를이용할수있기때문에유리하다. 그러나완성도높은 Project Template를만들수있는능력이필요하기때문에초보자에게는어려울수있다. B. 자신이개발한 Board를새로운 BOARD 이름으로등록하기 i. src/asf/common/board/board.h File에자신의 Board Name을정의한다. #define CHO_XMEGA128A4U 95 // // User-reserved area에 #elif 문으로자신이정의한 name_board.h File을 include 한다. #elif BOARD == CHO_XMEGA128A4U # include "cho_xmega128a4u_board.h" i Project -> Project Name properties -> Toolchin -> AVR/GNU C Compiler -> Symbols -> Defined Symbols 창에있는 Board symbol 를자신의 Board 이름으 로편집한다. BOARD=CHO_XMEGA128A4U C. 자신의 Board Header File 작성하기 : src\asf\common\xmega\board\ 의

user_board.h File 을자신이정의한 new_board_board.h 파일로대치하든가, 아니 면이름을변경하여본인이개발한 Board 의 IO Pin 에적합하게편집한다.( 가장 유사한 Board 의 Header File 를복사하여편집한다. D. Compile 할때 asf.h 에서 user_board.h File 이없다는메시지가발생하는경우 asf.h 내의 #include <user_board.h> 를삭제하거나빈 user_board.h 를만들어 주고, main.c File 에서자신의 Board Header File 을 Include 한다. E. 효과적으로자신의 Header File 만들기 : New Project Template( or New Project sample 만들기 ) 에서자신이개발한 Board 와가장유사한 Board Template 를생성 하여이 Template 에포함된 (src\asf\xmega\board\board-name\ 에위치함 ) board-name.h 파일을참고하여자신의 Board 에적합하도록 user_board.h 파일을 편집하고, 파일이름을앞에서등록한 File 이름으로변경한다. F. 새로작성한 Board Header File 을저장한폴더의 PATH (src\asf\common\xmega\board\new_board_name) 를 Project -> properties -> Tool -> AVR/GNU C Compiler -> Directories 에등록한다. 3. CHO_XMEGA128A4U Board A. External Oscillator: 16M Xtal B. PUSH_BOTTON: PB0, PB1 C. LED: PA0-PA7 까지 8 개, 점퍼소켓으로연결되어있기때문에 PORTA 를다른목적 으로사용하고자하는경우에는해당 Pin 의점퍼소켓을제거한다. D. USART: USARTC0(Transmitter: PC3, Receiver: PC2)) E. USB 4. Project 에필요한 ASF Module 포함시키기. A. ASF Wizard -> Project 선택 -> Available Modules 에서필요한 Module 을선택하 여 -> Add 하고 -> Apply 한다. B. gpio_basic Project 예에서는 i. GPIO(service) Module 을선택하고 ADD>> 버튼누르고, Apply 버튼을누른다. 위와같은과정으로 IOPORT (driver) Module 을 ADD 하고 Apply 한다. 5. Board 를초기화하는 board_init() 함수작성 A. 개발한 Board 와가장유사한 Board Template 에포함된 init.c 파일를참고하여본인이설계한 Board 를초기화하는 board_init() 함수프로그램을편집한다. B. board_init() 함수를포함하는 Init.c File 의위치는 Board Header File 과같은위치에작성한다. C. USART 를사용하는경우 user_board.h 에서 CONF_BOARD_ENABLE_USARTC0 를 Define 하여주어야한다.

#define CONF_BOARD_ENABLE_USARTC0 6. I/O Port 사용을위한 API 설치와프로그램작성 A. ASF Wizard 를이용하여 GPIO Module 과 IOPORT Module 을설치한다. B. User_board.h 에서사용할 Port 의 Pin 의 GPIO Connection 를정의한다. // \name GPIO Connections of LEDs // LEDS connector is connected to PORTA # define LED0_GPIO IOPORT_CREATE_PIN(PORTA,0) # define LED1_GPIO IOPORT_CREATE_PIN(PORTA,1) // \name GPIO Connections of Push Buttons # define GPIO_PUSH_BUTTON_0 IOPORT_CREATE_PIN(PORTB,0) # define GPIO_PUSH_BUTTON_1 IOPORT_CREATE_PIN(PORTB,1) C. 사용할 I/O Port 초기화설정 i. Init.c 에있는 Board 초기화함수 board_int() 에 Port 초기화 Code 를작성한다. ioport_configure_pin(led0_gpio, IOPORT_DIR_OUTPUT IOPORT_INIT_LOW); ioport_configure_pin(gpio_push_button_0, IOPORT_DIR_INPUT IOPORT_PULL_UP); D. 응용프로그램에서 Common GPIO API 와 Common I/O Port API 함수를이용하여 I/O Port 를제어한다. http://asf.atmel.com/docs/3.11.0/xmegaau/html/ 에서 GPIO 와 IOPORT 자료를참고할것 value = ioport_get_pin_level(gpio_push_button_0); ioport_set_pin_level(led1_gpio, value);