Transcript 05_컴파일러 설정
UNIT 05 컴파일러 설정 로봇 SW 교육원 조용수 학습 목표 • • • • • Compiler 선택 Download and Install BSP? BPS 설치 MCU Project 생성 2 Cross Compiler • Cross Compiler – 현 컴파일 환경에서 다른 프로세서 의 바이너리를 생성하는 컴파일러 • Tool Chain – Cross Compiler 를 지원하기 위한 각종 Library 모음 • Output file – Binary • 실 장비에 라이팅을 위하여 개발 관련 정보가 삭제된 Raw Binary – Elf : Executable and Linkable Format • UNIX 에서 개발된 실행파일 포맷 • 컴파일된 정보가 포함되어 디버깅용으 로 사용 3 Compiler 선택 4 • IAR Embedded Workbench • http://www.iar.com/kr/ • 8, 16, 32 Bit Microprocessor 지원 – – – – – 최적화된 C/C++ 컴파일러C, Embedded C++ 및 C++ 지원 MISRA C 코딩룰 자동체크 (MISRA C:2004) Advanced inline assembler Function inlining 및 loop unrolling 등 코드 크기 변환에 따른 다양한 최적화 및 기능 ARM CMSIS (Cortex Microcontroller Software Interface Standard) 지원 Compiler 선택 • • • • • 5 Coocox Compiler Gcc 기반의 Free Compiler http://www.coocox.org/ Eclipse 기반 IDE 사용 환경 설정이 까다롭고, 문제 발생시 처리가 어려움 Compiler 선택 • • • • • • KEIL uVision http://www.keil.com/ 8, 16, 32 Bit Compiler 공급 2005년 ARM 에 합병 편리한 IDE 환경 제공 체험판 제공 : 32K binary 제한 6 Download and Install • http://www.keil.com • Download -> Product Downloads 7 Download and Install • MDK-ARM v4 Download 8 Download and Install • MDK-ARM v4 Download 9 Download and Install • MDK-ARM v4 Download 10 Download and Install • MDK-ARM v4 Install 11 Download and Install • MDK-ARM v4 Install 12 BSP? 13 • BSP: Board Support Package • H/W 동작에 필요한 Source 를 제공한다. • MCU 에서는 컴파일러가 다양한 MCU를 지원하기 위하여 필요한 라이브러리 제공 BSP 설치 • http://www.nuvoton.com • Products -> ARM Cortex-M0 14 BSP 설치 • M051 Base Series 15 BSP 설치 • Software 16 BSP 설치 • BSP Download : M051_Series_BSP_CMSIS 17 BSP 설치 • BSP Download : M051_Series_BSP_CMSIS 18 MCU Project 생성 19 MCU Project 생성 20 MCU Project 생성 21 MCU Project 생성 22 MCU Project 생성 23 MCU Project 생성 24 MCU Project 생성 25 Start Up Code 26 • MCU 에 Power 가 공급되면 제일 처음으로 실행하 게 될 Code • System 초기화 와, Interrupt Vector 그리고 C code 로의 Jump 를 담당한다. Start Up Code • Interrupt Vector 27 Start Up Code • Jump to Main 28 main() 29 main() 30 main() 31 main() 32 Compile & RUN 33 Compile & RUN 34 Compile & RUN 35 Compile & RUN 36