14
ATmel AVR 8Bit RISC MCU PROCHILD Semiconductor.INC www.prochild.com 1. EWAVR 의 의의의의 IAR C – 의의 AVR 용용용 용용 C 용용용용용용 용용용용용 IAR C, ImageCraft C, CodeVision C, AVRGCC 용 용 용용용 용용용 용 용용용 용용용용용 용용용용용 용용용 용용용용 용용용 용용용용 용용용용 IAR 용용 EWAVR 용용용 용용용용용 용용 . 용용 용용 용용 용용 용용용 EWAVR 2.28a 용용용용 용용용용용 용용 용용 용용 30 용 용용 용용용 용 용용 . 용용 용용용 IAR 용 용용 용용용용 용용용용용용 (http://www.microvision.co.kr) 용용 IAR 용 (http://www.iar.com) 용용 용용 용용 용 용용 . IAR 용용용 용용 용용 용용 용용 용 용용 용용용 용용 용용 용용용용용 용용용 FTP 용 ftp://ftp.iar.com/pub /mirror/EWMIRROR/001097/ 용 용용 용용용 용용용 용용용용용 용용 용 용용 . 용용 용용용 용용용 MIRROR 용용용 용용 용용 용용 용용 용용 ewavr-ev-????.exe 용용용 용용용 용용 . 용용용용 용용용용용 용용 용용용 EWAVR 2.26c 용용용용 용용 용용용 용용 용용 용용용용용용 용용 2 Kbyte 용용용 용용용 용 용 용용 . 용용용용용 http://www.allmcu.com 용 Atmel 용용 용용 용용 용 용용 . 용용 용용용용용 용용용용용 용용용용 용 용용용 용용 용용용 용용 용용용 용용 용용용용 , 2 Kbyte 용용용 용용용 용용 용용용 용용용 용 용용 용용용용 . 용 용용용 용용 용 용용 용용용용용 용용용용 용용용 용용용용 용용용 용용용 용용 용용용용용 용용용 용 용용 . 용용 용용용 용용 setup.exe 용 용용용용 용용용 용용용용 , 용용 용용용 용용 용용 -> 용용용용 -> IAR Systems -> IAR Embed ded Workbench KickStart for Atmel AVR -> IAR Embedded Workbench 용 용용 용용용용 EWAVR 용 용용용용 용 용용 . 용 용용용 용용용용용 용용용 용용용 용용 용용용 용용용 -> 용용 용용용 용용 용용 용용용 용 용용 용용용용용 용용용용 용용 용용용용 , 용용 -> 용용용용 -> IAR Systems -> IAR launcher 용 용용용 용용용용 용용용 용용용 System tray 용 용용용 IAR launc her 용 용용용용 용용용 용용 Embedded Workbench 용용 용용용용용 용용용용용 용용용용 용용용 용 용용 . - EWAVR 의의 의의의의 - 의의의의의의 : http://www.microvision.co.kr IAR : http://www.iar.com allMCU : http://www.allMCU.com

IAR C – 소개

Embed Size (px)

DESCRIPTION

IAR C – 소개. 1. EWAVR 의 다운로드. AVR 용으로 나온 C 컴파일러로는 대표적으로 IAR C, ImageCraft C, CodeVision C, AVRGCC 등 네 가지가 있으며 그 중에서 상대적으로 고가이지만 뛰어난 압축률과 안정된 컴파일을 지원하는 IAR 사의 EWAVR 버전을 소개하고자 한다 . 현재 나와 있는 최신 버전은 EWAVR 2.28a 버전이며 데모버전은 기능 제한 없이 30 일 동안 사용할 수 있다 . - PowerPoint PPT Presentation

Citation preview

Page 1: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

1. EWAVR 의 다운로드

IAR C – 소개

AVR 용으로 나온 C 컴파일러로는 대표적으로 IAR C, ImageCraft C, CodeVision C, AVRGCC 등 네 가지가 있으며 그 중에서 상대적으로 고가이지만 뛰어난 압축률과 안정된 컴파일을 지원하는 IAR 사의 EWAVR 버전을 소개하고자 한다 .

현재 나와 있는 최신 버전은 EWAVR 2.28a 버전이며 데모버전은 기능 제한 없이 30 일 동안 사용할 수 있다 .

다운 로드는 IAR 의 한국 대리점인 마이크로비젼 (http://www.microvision.co.kr) 이나 IAR 사 (http://www.iar.com) 에서 다운 받을 수 있다 . IAR 사에서 직접 다운 받을 경우 몇 가지 등록을 해야 하는 번거로움이 있지만 FTP 인 ftp://ftp.iar.com/pub/mirror/EWMIRROR/001097/ 에 가서 받으면 약간의 번거로움을 줄일 수 있다 . 혹시 여기에 없으면 MIRROR 까지만 가서 여러 개의 폴더 중에 ewavr-ev-????.exe 파일을 찾으면 된다 .

여기에서 사용하려고 하는 버전은 EWAVR 2.26c 버전이며 날짜 제한이 없는 대신 코드사이즈가 최대 2 Kbyte 까지만 컴파일 할 수 있다 . 다운로드는 http://www.allmcu.com 의 Atmel 에서 다운 받을 수 있다 . 굳이 최신버전의 컴파일러를 제쳐두고 구 버전을 찾은 이유는 날짜 제한이 없기 때문이며 , 2 Kbyte 안에서 원하는 모든 기능을 구현할 수 있기 때문이다 . 단 최근에 나온 몇 가지 디바이스는 지원하지 않지만 개별적인 작업을 통해서 모든 디바이스를 사용할 수 있다 .

일단 압축을 풀고 setup.exe 를 실행하면 설치가 시작되며 , 모두 종료된 뒤엔 시작 -> 프로그램 -> IAR Systems -> IAR Embedded Workbench KickStart for Atmel AVR -> IAR Embedded Workbench 를 클릭 함으로써 EWAVR 을 실행시킬 수 있다 .

이 과정이 번거롭다면 마우스 오른쪽 키를 눌러서 보내기 -> 바탕 화면에 바로 가기 만들기 를 눌러 바탕화면에 아이콘을 등록 시키거나 , 시작 -> 프로그램 -> IAR Systems -> IAR launcher 를 누르면 바탕화면 오른쪽 하단의 System tray 에 모양의 IAR launcher 가 등록되며 이것을 눌려 Embedded Workbench 에서 해당버전의 컴파일러를 선택해서 실행할 수 있다 .- EWAVR 관련 홈페이지 -

• 마이크로비젼 : http://www.microvision.co.kr

• IAR : http://www.iar.com

• allMCU : http://www.allMCU.com

Page 2: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

IAR Embedded Workbench( 이하 ew23) 을 실행시키면 아래와 같은 화면이 뜬다 .

2. IAR Embedded Workbench 의 실행 , 새 프로젝트 만들기

IAR C – 새 프로젝트 만들기

먼저 File -> New 를 눌러 Project 를 선택하고 확인 을 누르면

New Project 창이 뜨고 파일 이름에 새로운 프로젝트 이름을 쓰고 Create 를 누르면 새로운 프로젝트가 생성된다 .

기존의 프로젝트를 열 경우엔 File -> Open 을 눌러 해당 프로젝트를 선택하면 된다 .

Page 3: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

3. 새 파일 등록하기

IAR C – 새 소스파일 등록하기(1)

다시 File -> New 에서 Source/Text 를 선택하고 확인을 누르면 새로운 텍스트 문서창이 뜨며 ,

File -> Save As… 를 눌러 원하는 파일명을 입력하고 저장을 누른다 . 이때 확장자를 특성에 맞게 저장 해 주어야 한다 .

즉 , 소스는 *.c , 헤더파일은 *.h 로 확장자를 꼭 붙여 주어야 한다 .

Page 4: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

IAR C – 새 소스파일 등록하기(2)

Project -> Files… 을 누르면 아래의 창이 뜨며 , 원하는 소스를 더블 클릭하거나 선택하여 Add 버튼을 누르면 프로젝트에 소스가 등록이 된다 . 만약 어셈불러 형식의 파일이나 다른 파일을 등록하고자 한다면 파일형식에서 Assembler Files 나 해당하는 다른 것을 선택하여 주면 된다 .

이제 프로젝트창에 원하는 소스 파일이 등록 된 것을 확인할 수 있다 .

Page 5: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

IAR C – 소스파일의 작성

이제 소스를 작성하여 저장을 한다 . IAR 은 ina90.h 안에 기본적인 함수를 가지고 있다 . 자세한 것은 해당 헤더파일을 열어보기 바란다 .

IAR 1.5x 버전에서는 ina90.h 를 include 하였으나 2.2x 버전에서는 inavr.h 로 바뀌었다 . 하지만 호환성을 유지하기 위해 2.2x 버전에서도 ina90.h 를 포함시키면 inavr.h 와 comp_a90.h 를 호출하여 1.5x 버전에서 사용하던 함수를 그대로 사용할 수 있다 .

4. 소스 파일 작성

Page 6: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

IAR C – 프로젝트 옵션 설정(1)

5. Project -> Option -> General

Project -> Option 을 누르면 제일 먼저 General 이 나온다 . Target 에서는 일반적인 디바이스 옵션을 설정한다 .

Processor configuration 에서는 1.5x 버전에서처럼 v0, v1 과 같은 일반적인 옵션을 선택할 수가 있고 , --cpu=8535, AT90S8535 와 같이 디바이스에 맞게 설정된 것을 선택할 수가 있다 . 일반적인 옵션을 사용할 경우 디바이스에 맞는 코드사이즈와 데이터 크기를 선택하여 준다 . 가령 8535 의 경우 내부 SRAM 의 크기가 512 byte 이고 코드 사이즈는 8K 이므로 V1 을 선택하여 준다 . 메모리 모델은 V0 인 모델 (tiny26, 90s2313, 90s4433) 을 제외하곤 Small 을 선택한다 .

Enhanced core 는 내부에 하드웨어 곱셈기가 있는 디바이스의 경우에 선택하여 준다 .

일반적인 설정의 경우 XLINK 에서 xcl 파일을 선택해 주어야 하기 때문에 여기에서는 디바이스에 특화된 설정값을 사용하도록 한다 .

Page 7: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

IAR C – 프로젝트 옵션 설정(2)

Library Configuration 에서는 헤더파일에 define 되어 있는 비트명 을 사용하기 위해서 Enable bit definitions in I/O-include files. 에 체크 한다 .

Target 에서 Processor configuration 을 v0, v1 등과 같은 일반적인 옵션을 선택했을 경우 Dynamic memory allocation은 활성화 되지 않는다 .

Page 8: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

IAR C – 프로젝트 옵션 설정(3)

System Configuration 에서 데이터스택과 어드레스스택의 크기를 지정해 준다 .

만약 External RAM 을 붙여서 사용하는 경우엔 현재 비활성화 되어 있는 External Memory Configuration 에서 시작번지와 크기를 정해 줘야 한다 .

※ Target 에서 V0, V1 과 같은 일반적인 설정을 하였을 경우 System Configuration 의 내용들은 활성화 되지 않는다 .

모든 부분은 XLINK 에서 선택하는 XCL파일의 내부에서 수정해 주어야 한다 .

현재 비활성화 되어 있지만 ATmega128 등과 같이 외부메모리를 사용 가능한 디바이스의 경우 이 부분이 활성화 된다 .

외부 메모리를 사용할 경우 Enable external memory bus 에 체크를 하고 Base 에 시작 어드레스를 , Memery 에 크기를 적어준다 .

예로 128 의 경우 Base 는 0x1100 이며 64K 를 썼을 경우 Memory 는 0xEEFF 가 된다 . Base 에 값을 써 넣어도 Memory 부분이 활성화가 되지 않는데 ROM 이나 Non-Volatile 의 Base부분을 한번 클릭하면 활성화 된다 .

Page 9: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

IAR C – 프로젝트 옵션 설정(4)

6. Project -> Option -> ICCAVR

틀별히 ICCAVR 옵션에서 셋팅해 줄 것은 없지만 , Optimizations 에서 최적화 레벨을 선택해 준다 . Debug 모드와 Release 모드의 디폴트 값이 다르므로 주의 해야 한다 .

Page 10: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

IAR C – 프로젝트 옵션 설정(5)

6. Project -> Option -> XLINK

Output file 에 보면 비 활성화된 창에 확장자가 *.d90 임을 알 수 있다 . 이것은 현재 프로젝트가 Debug 모드이므로 그렇다 .

AVR Studio 에서 지원하는 디버깅 파일은 확장자가 *.obj, *.cof, *.d90 으로 *.obj 는 어셈블러에서 , *.cof 는 ImageCraft C, CodeVision C, Avrgcc 의 디버깅 파일 형식이며 IAR 에서는 *.d90 을 사용한다 .

만약 AVR Studio 4.0x 버전을 사용하면 이대로 사용하면 되지만 3.5x 일 경우 Override default 를 체크하고 Format 에서 Other 를 선택하고 Output format 에서 ubrof 6 (forced) 를 선택해 주어야 한다 .

1

23

Page 11: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

IAR C – 프로젝트 옵션 설정(6)

만약 General 에서 Processor configuration 을 디바이스 모델이 아닌 일반적인 모델 (v0,v1,v3…) 을 선택했을 경우

XLINK -> Include 에서 XCL file name 에서 해당 디바이스에 맞는 XCL 파일을 선택해 주어야 한다 .

XCL 파일은 IAR C 의 설치 디렉토리 밑에 config 디렉토리에 들어 있다 . 일단 Override default 에 체크를 하고 를 눌러서 브라우져가 뜨면 config 폴더를 찾아가서 디바이스에 맞는 *.xcl 파일을 선택하여 준다 .

가령 C:\의 Program files 에 IAR C 를 설치 했다면 C:\Program files\IAR\avr\config\ 폴더에 가면 lnk8535s.xcl 등과 같이 해당 디바이스에 맞는 xcl 파일이 있을 것이다 .

General 의 Processor configuration 에서 디바이스에 특화된 모델을 선택하였다면 이 부분은 설정할 필요가 없다 .

Page 12: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

IAR C – Hex 파일 만들기7. Project 창에서 Release 로 바꾸어

준다 .8. Project -> Option 을 Debug 와 동일하게 설정해 준다 .

9. Project -> Option -> XLINK 에서 Output format 을 intel-standard 로 바꾸어 준다 .

*.a90 은 intel-standard hex 파일 포맷이다 . 만약 롬라이터가 a90 확장자를 지원하지 않는다면 Override default 를 체크하고 확장자를 *.hex 로 바꾸어 주면 된다 .

Page 13: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

IAR C - 컴파일

Project -> Build All 을 하거나 화면의 을 누르면 컴파일을 시작하고

에러가 없다면 작업 디렉토리에 Dubug 나 Release 폴더가 생기고 그 폴더 밑의 exe 폴더에 각각 출력 파일이 생긴다 .

Page 14: IAR C  – 소개

ATmel AVR 8Bit RISC MCU

PROCHILD Semiconductor.INC www.prochild.com

IAR C - 기타

- 프로차일드 TEL : 02-2619-9662

FAX : 02-2689-8886

Web : http://www.prochild.com

- 마이크로비젼

TEL : 02-786-5456

FAX : 02-786-5458

Web : http://www.microvision.co.kr , http://www.allmcu.com

IAR C 구입 문의

※ 기타 AVR 과 관련된 질문 사항은 프로차일드의 홈페이지인 www.prochild.com 의 Question 에 올려

주시면 최대한 답변해 드리겠습니다 .

이 문서에 더 추가되거나 수정해야 할 사항이 있으면

[email protected] 이나 [email protected] 으 로 연락 주시면 감사하겠습니다 .