05_컴파일러 설정

Download Report

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