EWAVR 5.1x 프로젝트 옵션 설정(1_2) 2. Project -> > Option -> > General Option -> > Output / Library Configuration Library Configuration 은 사용하게 될 Library file을



Similar documents
1-1) 1) Derivative Information < CPU 의선택 > 사용하고자하는 8051 MCU 를폴더별로분리되어있습니다. 해당되는 Device 의 *.i51 파일을불러옵니다. 다양한 8051 Core 의메모리를지원하기위하만들어놓은 Memory Mapping

Microsoft PowerPoint - Getting Started with IAR C for ARM _.ppt

Compiler SPEC Highlights in EW430 Version 4.20 MISRA C:2004 support Multiple inheritance Improved hardware multiplier support Advanced cycle counter f

강의10

MPLAB C18 C

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

Microsoft Word - Armjtag_문서1.doc

APOGEE Insight_KR_Base_3P11

슬라이드 1

슬라이드 1

untitled


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

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

PRO1_04E [읽기 전용]

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Orcad Capture 9.x

김기남_ATDC2016_160620_[키노트].key

슬라이드 1

PowerPoint 프레젠테이션

6주차.key

DE1-SoC Board

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

Microsoft PowerPoint - o8.pptx

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

Voice Portal using Oracle 9i AS Wireless

PRO1_02E [읽기 전용]

Deok9_Exploit Technique

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

LXR 설치 및 사용법.doc

PCServerMgmt7

Microsoft PowerPoint APUE(Intro).ppt

SW¹é¼Ł-³¯°³Æ÷ÇÔÇ¥Áö2013

1

PRO1_09E [읽기 전용]

인켈(국문)pdf.pdf

매력적인 맥/iOS 개발 환경 그림 A-1 변경 사항 확인창 Validate Setting... 항목을 고르면 된다. 프로젝트 편집기를 선택했을 때 화면 아 래쪽에 있는 동일한 Validate Settings... 버튼을 클릭해도 된다. 이슈 내비게이터 목록에서 변경할

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - PL_03-04.pptx

KDTÁ¾ÇÕ-1-07/03

BMP 파일 처리

untitled

untitled

T100MD+

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Remote UI Guide

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

C++-¿Ïº®Çؼ³10Àå

슬라이드 제목 없음

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Adobe Flash 취약점 분석 (CVE )

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

CD-RW_Advanced.PDF

슬라이드 1

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1

No Slide Title

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

chapter4

untitled

Microsoft PowerPoint - a10.ppt [호환 모드]

ISP and CodeVisionAVR C Compiler.hwp

1

hd1300_k_v1r2_Final_.PDF

API 매뉴얼

SRC PLUS 제어기 MANUAL

untitled

(SW3704) Gingerbread Source Build & Working Guide

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Microsoft Word - Automap3

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

Microsoft Word - USB복사기.doc

Microsoft PowerPoint - ARM 개발 환경.ppt

chap7.key

CL100B_manual_kor_m.0.2.indd

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

untitled

Oracle Apps Day_SEM

Oracle Database 10g: Self-Managing Database DB TSC

Mentor_PCB설계입문

Ⅱ. Embedded GPU 모바일 프로세서의 발전방향은 저전력 고성능 컴퓨팅이다. 이 러한 목표를 달성하기 위해서 모바일 프로세서 기술은 멀티코 어 형태로 발전해 가고 있다. 예를 들어 NVIDIA의 최신 응용프 로세서인 Tegra3의 경우 쿼드코어 ARM Corte

The_IDA_Pro_Book

초보자를 위한 C++

강의개요

2013<C724><B9AC><ACBD><C601><C2E4><CC9C><C0AC><B840><C9D1>(<C6F9><C6A9>).pdf

1217 WebTrafMon II

Intro to Servlet, EJB, JSP, WS

C# Programming Guide - Types

03.Agile.key

PowerPoint 프레젠테이션

Microsoft PowerPoint - Install Guide[ ].ppt [호환 모드]

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - polling.pptx

DIY 챗봇 - LangCon

歯CRM개괄_허순영.PDF

Deok9_PE Structure

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

KDTÁ¾ÇÕ-2-07/03

Transcription:

EWAVR 5.1x 프로젝트 옵션 설정(1) 1. Project -> Option -> General Options General Options Target 은 IAR Compiler 를 사용 프로세서에 맞추는 가장 중요한 초기화 과정이다. Processor configuration 에서 V0~ V6 설정은 Code/ Data Memory 를 기준으로 사용되는 전체 옵션을 설정하는 것 이며, 혹은 실제 사용하는 디바이스에 맞춰서 이미 설정된 기본 값으로 Compiler 전체 시스템을 자동 변경 시켜준다. 일반적으로 User 라면, 프로세서를 직접 선택하는 것이 올바른 사항이다. V옵션은 메모리 설정 이외에 프로세서별 Stack, Heap 사이즈를 XCL 파일을 직접 조절해야 한다. 전체 V 옵션이 6가지인데 불구하고 40가지 이상의 프로세서가 혼용해서 사용하기 위해서는 부득이한 사항이다. 하지만, XCL 파일을 직접 다루기란 쉽지가 않다. Ex) 8535 SRAM(512 byte), Code (8K) -> V1, Max 64Kbyte data, 8Kbyte code Enhanced core 는 내부에 Hardware Multiplier 가 있는 디바이스의 경우에 자동 선택하여 준다. System Configuration 은 기본 XCL 파일 의 사용유무와 Heap Configuration 과 System 사용 유무를 결한다. 기본설정은 Enable

EWAVR 5.1x 프로젝트 옵션 설정(1_2) 2. Project -> > Option -> > General Option -> > Output / Library Configuration Library Configuration 은 사용하게 될 Library file을 결정한다. 이미, 기본적으로 참조하게 될 Library file 은 Target 설정에 의해서 대부분 자동 선택된다. - Library (Normal or Full ) - Processor Configuration Options - Memory Model Output 은 컴파일 후에 실행 될 혹은 참조하게 될 파일 들이 생성되는 Output files 이 저장되는 폴더를 명시한다. Output files : Executable type 과 Library type 중 선택 Output Directories : Executable(Libraries) /Object /List (MAP) files 생성 디렉토리 설정

EWAVR 5.1x 프로젝트 옵션 설정(1_3) 3. Project -> > Option -> > General Option -> > Library Options Library Options 은 printf /scanf formatter 의 Level 을 설정할 수 있다. Printf formatter : Large/ Small (default) / Tiny Scanf formatter : Large / Small (default) * : Library Configuration 설정에 따라 ON/OFF ( Normal - No/ Full Yes ) * EWAVR Compiler guide diagnostics 참조

EWAVR 5.1x 프로젝트 옵션 설정 (1_4) 4. Project -> > Option -> > General Option -> > Heap Configuration / System General 에서 기본 XCL 파일을 참조하지 않겠다고 선언했다면, XCL 파일설정 내용들을 위와 같이 편리하게 설정할 수 있다. Heap Size 및 각각의 Stack 사이즈와 외부 메모리 RAM, ROM 및 Flash 메모리의 시작번지(Base)와 메모리 사이 즈를 설정할 수가 있다. 또한, 헤더파일에 define 되어 있는 비트명 을 사용하기 위해서 Enable bit definitions in I/O-include files. 을 체크 해줘야 하며, 보통 자주 잊는 옵션 중에 하나이니 명심하도록 하자. ( 초기값은 Disable ) Initialize unused interrupt. 는 사용하지 않는 인터럽트 루틴을 수행되더라도 자동 복귀할 수 있도록 해준다. Target 에서 Processor configuration을 v0, v1 등과 같은 일반적인 옵션을 선택했을 경우 Dynamic memory allocation은 활성화 되지 않는다.

EWAVR 5.1x 프로젝트 옵션 설정(1_5) 4. Project -> > Option -> > General option -> > MISRA C MISRA C 는 자동차 산업용으로 개발된 추가 Option 팁 유틸이다. What is MISRA C? The Motor Industry Software Reliability Association (MISRA) is an organization in the UK that promotes safety in automotive software. In 1998, MISRA published its Guidelines for the Use of the C Language in Vehicle Based Software. The guidelines address the ambiguities of the C language and establish coding rules for the automotive industry. MISRA C includes 127 rules. 93 of these are required and the remaining 34 are advisory. All rules apply to the source code and not to the object code generated by the compiler. Who should use MISRA C? Compliance with the MISRA C guidelines is a requirement in many automotive companies but could be beneficial in any development organization. How does it work? The IAR MISRA C Checker is completely integrated with the IAR C Compiler. From IAR Embedded Workbench, you can control which MISRA C rules are checked; the settings will be used for both the compiler and the linker. The guidelines enforce sound coding practices and address the ambiguities of C; they help developers write code in a consistent manner and avoid confusing constructions.

EWAVR 5.1x 프로젝트 옵션 설정(2_1) 5. Project -> > Option -> > C/C++ Compiler -> > Language C/C++ 컴파일러에 관련된 기본적인 옵션을 설정한다. Language : [C] 사용하게 될 컴파일러의 종류에 대해서 결정한다. Default 로 C language 로 설정이 되어있다. Require prototypes : [Disable] 함수에 대한 프로토타입을 설정하여 작업. * EWAVR_User Guide Require prototypes 참조 Language conformance : [ Allow IAR extensions ] 현재 설정된 language 의 상태를 가장 기본적인 Strict ISO/ANSI Type 으로 할 지, 혹은 Core 와 컴파일러에 의해서 확장된 language 로 할지 설정한다. * Compiler Reference Guide IAR language extension 참조 Enable Multibyte Support : [ Disable ] Multibyte의 사용 유무를 결정 할 수 있다. Plain char is : [Unsigned] (Unsigned) Char 변수 타입을 변경할 수 있다.

EWAVR 5.1x 프로젝트 옵션 설정(2_2) 6. Project -> > Option -> > C/C++ Compiler -> > Optimization C/C++ 컴파일러에 관련된 기본적인 옵션을 설정한다. Optimization : [ Size ] ARM IAR C/C++ 컴파일러에서는 기본적으로 2가지의 Optimization model( Size or Speed ) 에 따라서, 각각 의 4가지 Optimization Level 을 선택할 수 있다. Optimization Level : - None [ Best debug support ] - Low - Medium - High [ Maximum optimization ] - Common sub-expression : 중복되는 함수, 계산식 삭제하여 실행시간 및 코드 사이즈 단축 - Function inline : 간단한 함수를 inline 화 하여,시행 시간을 단축시켜준다. - Code Motion : 고정적인 반복 루프를 삭제하여 실행시간 및 사이즈 단축 Enabled transformation : - Common Sub-expression elimination - Loop unrolling - Function in-lining - Code motion - Type-based alias analysis - Static variable clustering - Instruction scheduling * EWAVR compiler Guide Efficient coding for 참조

EWAVR 5.1x 프로젝트 옵션 설정(2_3) 7. Project -> > Option -> > C/C++ Compiler -> > Output / List Output 은 컴파일된 파일을 program module[default] 과 Library module 로 구분하여 컴파일 설정한다. 생성된 module은 임의적으로 이름설정이 가능하며, 디버깅 용 소스 정보를 포함 유무에 대해서도 설정할 수 있다. * EWAVR compiler Guide segment reference 참조 List 는 list 파일(*.lst)과 ASM source (*.s79) 을 생성할 수 있도록 만들어 주는 설정이다. 각각의 file 생성에 따른 부가적으로 Assembler mnemonics 와 diagnostics 가 포함이 된 파일 생성 및 Source include 와 Compiler call frame information 포함이 가능해진다. (Demo 제한) * EWAVR User guide compiler list 참조

EWAVR 5.1x 프로젝트 옵션 설정(2_4) 8. Project -> > Option -> > C/C++ Compiler -> > Preprocessor Preprocessor 는 컴파일러의 고유 기능 중 하나인 전처리 기능이다. Ignore standard include directories : [ Disable ] 기본 설치 디렉토리인 C:\ AVR\inc 폴더를 ( $TOOLKIT_DIR&\INC\ ) 를 기본 참조 include directory 로 설정한다. Additional include directories : (one per line) 설정된 기본 디렉토리 이 외의 include 디렉토리에 대해서 추가 입력할 수 있다. Ex) $PROJ_DIR$\srciar\ $PROJ_DIR$\..\..\ Defined symbols : (one per line) Source 내에서 사용이 될 Define symbol 을 입력해 넣는다. Preprocessor output to file 을 통하여 파일로 저장도 가능하다. Ex) TESTVER = 1 Pre-include : include 파일을 전처리기처럼 컴파일러 옵션상에서 지정할 수 있다. Ex) test_source.h test_asm.s79

EWAVR 5.1x 프로젝트 옵션 설정(2_5) 7. Project -> > Option -> > C/C++ Compiler -> > Diagnostics/ Extra Options Diagnostics 는 컴파일 과정에서 발생 되는 Remark/ Warning/ Error Message 에 대한 처리를 돕는다. * EWAVR User guide diagnostics 참조 * EWAVR Compiler guide diagnostics 참조 Extra Options 는 GUI 환경에서 구현 할 수 없는 컴파일러 의 여러 가지 다른 Option 들에 대해서 사용자에 의해서 임의적으로 설정할 수 있도록 마련해둔 Option 설정 창이다. * GUI : Graphic User Interface

EWAVR 5.1x 프로젝트 옵션 설정(3,4) 8. Project -> > Option -> > Customer Build Customer Build 기능은 최근에 추가된 Option 으로써, IAR 사에서 제공되는 S/W 이외의 다른 S/W Tool 에 대해서, Tool chain 을 사용해 컴파일 환경을 제공하는 기능이다. Ex) Lex, YACC * EWAVR User guide Extending the tool chain 참조 * EWAVR Compiler guide diagnostics 참조 9. Project -> > Option -> > Build Actions Build Actions 는 필요에 의해서 build 전후에 pre-build / post-build 하기 위해서 설정하는 옵션이다. * EWAVR User guide building 참조

EWAVR 5.1x 프로젝트 옵션 설정(5_1) 10. Project -> > Option -> > Linker -> > Output Output 은 실행파일의 Format 형태와 Output file 타입을 설정할 수 있다. Output : 임의로 설정된 Format 에 따라서 실행파일의 형태 가 선택되며, 기본적으로 실행파일명은 최초 프로젝트 명을 따르도록 되어 있다. Ex) project.dbg ( For C-SPY Debugging format) project.d90 ( For External Debugging format ) project.a90 ( For Hex image format ) Output : [Disable] C-SPY 용 Format 외에 다른 Format 이 필요할 경우 사용한다. Output format : - Intel-standard/extended : HEX file 이 필요한 경우 - UBROF8 : 다른 H/W tool Debugger 를 사용 할 경우 Format : Debug information for C-SPY C : [ Disable ] 디버깅 정보를 C-SPY 용 Format 으로 변경 With runtime control modules : [ Enable ] Program abort, exit, assertions etc. With I/O emulation modules : [ Enable ] Terminal I/O handling 설정 ( stdin stdout ) Buffered terminal output : [ Disable ] Terminal 이용 시 Buffer 역할을 해준다. Allow C-SPYC SPY-specific extra output file:[enable] Extra Output page enable Option Module-local local : Symbol 호출 시 제약 Option 이다.

EWAVR 5.1x 프로젝트 옵션 설정(5_2) 11. Project -> > Option -> > Linker -> > Extra output / List Extra output 은 Output 에서 설정된 Format 의 실행파일 이 외에 다른 실행 파일을 출력하고자 할 경우 사용한다. 일단, Options Linker - Output - (Format) Allow C-C SPY-specific extra output file option 을 Enable 시킨 뒤 에 사용할 수 있다. List 는 MAP 파일(*.map) 수 있도록 만들어 주는 설정이다. C/C++ Compiler 에 List 파일 생성 옵션과는 틀리다. Linking 이 끝난 상태에서만 생성되며, Symbol Option 설정 에 따라서 global / local symbol 포함여부를 결정할 수 있다. Module summary : module 별 메모리 사용량 표시 Include suppressed entries : 일반 List 파일에서 생략된 segment 에 관련된 모든 정보를 확인해 볼 수 있다. Static overlay map : Static overlay system 정보 추가

EWAVR 5.1x 프로젝트 옵션 설정(5_3) 12. Project -> > Option -> > Linker -> Config Config 는 XCL 파일과 Startup code 의 entry point 등의 설정을 도와준다. Linker command file : 기본적으로 iar_avr.xcl 파일을 선택이 되며, XCL 파일 에는 기본적으로, 사용하는 CPU 설정을 비롯하여, Interrupt Vertor 사용 영역 설정과 ROM과 RAM의 세그먼트가 링크 된 어드레스 번지 설정 등의 내용을 포함하고 있다. Override default program entry : Cstartup code 에서 정의 되어 있는 entry point 의 위치 를 재설정해준다. program_start 라면 문제가 되지 않지만, 그렇지 않 을 경우 반드시 변경해 주어야만 한다. Search paths : (one per line) 라이브러리 파일 path 설정

EWAVR 5.1x 프로젝트 옵션 설정(5_4) 13. Project -> > Option -> > Linker -> > Processing Processing 은 컴파일 후 사용하지 않는 Code Memory 영역의 처리를 위해 사용된다. Fill unused code Memory : [ Disable ] Fill pattern : 사용하지 않는 공간에 채워넣을 패턴을 넣는다. Ex) 0xFF Generate checksum : [ Disable ] Size : [ 1/2/4 bytes ] Arithmetic sum 정해진 사이즈에 따라 연속적으로 더한 결과 값 저장 ( 자지 올림 없음 ) CRC16 ( 0x11021 ) CRC 다항식을 사용한 확인 CRC32 ( 0x4C11DB7 ) CRC 다항식을 사용한 확인 Crc polynomial : CRC 다항식( 직접 입력 )을 사용한 확인 Complement : 1과 2의 보수 선택 사용 Bit Order : 상위(MSB)/하위(LSB) 비트의 순서 설정.