제4장 Cross Compiler 설치.

Slides:



Advertisements
Similar presentations
제 2 장 프로그램 개발과정. 통합 개발 환경  통합 개발 환경 (IDE: integrated development environment)  에디터 + 컴파일러 + 디버거.
Advertisements

C 언어 Sun Moon University 1 of 25 C 언어 : 강의소개 강의실 : 산 211 담당교수 : 고경철 ( 정보통신공학과 ) 사무실 : 산학협력관 105B 면담시간 : 수업후 1 시간
Embedded System Lab. II GUI Programming in Embedded Linux 경희대학교 컴퓨터공학과 조 진 성.
2013 년 2 학기 임베디드 프로그래밍. 권장사양  HOST PC 권장사항  리눅스 배포판이 설치된 PC - 권장 배포판 : Asianux open edition3 ( 라곤 하지만 Ubuntu, Fedora, CentOS 등 다양한 리눅스 프랫폼이 가능 )  PC.
KAIST 09 SPARCS 10 안재만 (Kuss).  OS  Kernel & Shell  OS Layer  Linux  Linux / GNU  Linux 역사  Linux 배포판  Linux Directories.
Distributed and Cloud Computing Lab. Embedded System Software 개발 환경 설정 Dept. of Computer Science and Engineering Sogang University, Seoul, KOREA 1.
Linux Debugging issues
개발 환경 설치 Embedded System Software
EZ Board-M In-Ho, Roh Real Time System Lab.
임베디드 시스템 개발 환경 (1) Lecture #3.
임베디드 SW 시스템 소개 - 임베디드 운영체제 - 임베디드 리눅스 - 임베디드 인터넷
임베디드 시스템 개발을 위한 리눅스 환경설정.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
리눅스 실습 정성훈.
제6장 FUSING.
Cross Compiler를이용한 커널 컴파일 및 포팅
Cross Compiler를이용한 커널 컴파일 및 포팅 1
PXA270 개발환경 설정 Ubuntu 실습용.
개발 환경 개발 환경 개요 PXA270과 타겟 시스템 툴체인 환경 구축 JTAG 유틸리티 미니컴 Make 유틸리티
크로스 컴파일 환경 구축.
cafe.naver.com/embeddedcrazyboys
제16장 QT/Embedded.
Kernel Porting Lecture #7.
누구나 쉽게 즐기는 C언어 콘서트 한남대학교 컴퓨터공학과 이 재 광 교수.
FUSING.
임베디드 프로그래밍 Lecture #
공학기초설계 Youn-Hee Han 강의 소개 & MinGW & gcc 공학기초설계 Youn-Hee Han
Linux를 이용한 Embedded 장비 개발
임베디드 리눅스 시스템의 기본 개념 강의 목표 내용 임베디드 리눅스 시스템의 기본 개념과 주제 제시 1. 임베디드 시스템
목차 커널의 개념 및 기능 커널 포팅 램디스크.
Development Environment of Embedded System : part 1
Visual ESTO 안정성,편리성,성능을 한단계 높였습니다! Visual ESTO IDE/Debugger/Monitor
Double O to the I to the A+ 문무활, 유용승, 홍민정
임베디드 시스템 개론 3주차 Embedded System..
Embedded System Porting (2)
제 1 장 C 언어의 개요 Google 공동 창업자, 래리 페이지와 세르게이 브린.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
Linux Compile.
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
누구나 즐기는 C언어 콘서트 제2장 기초 사항.
Internet Protocol and Programming
프로그래밍 서울대학교 통계학과 2009년 2학기 컴퓨터의 개념 및 실습 (
임베디드 소프트웨어 동향. 임베디드 소프트웨어 동향 임베디드 S/W 시장분류 솔루션 측면 시스템 측면 운영체제 개발도구 설계도구 테스트도구 유선통신 무선통신 정보가전 자동차제어 산업자동화 사무자동화 군사/항공우주 의료장비 솔루션 공급 업체 임베디드 S/W시장 임베디드.
개발 환경.
Beginning Linux Programming
1장. 프로그래밍 언어, C 프로그래밍.
Cross Compiler 설치.
HBE-SMIII-SV210 리눅스 커널과 디바이스 드라이버
IPv6 기반의 Mobile IP 기술 개발 (iSCSI 성능 분석) - 프로젝트 중간보고서 -
실시간 자원 량 정보 제공을 결합한 Heartbeat
임베디드 소프트웨어 설계.
1주차: 프로그래밍언어란 무엇인가? C 언어란? C 프로그래밍을 위한 준비
Linux/UNIX Programming
Mips cross compile OS LAB.
홈 네트워크 시뮬레이션 정 찬 번 석 성 환.
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
문자 디바이스 드라이버 임베디드 시스템.
Internet Protocol and Programming
쉽게 풀어쓴 C언어 Express 제2장 프로그램 작성 과정 C Express.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발 과정 C Express.
C언어 개론.
뇌를 자극하는 C 프로그래밍.
GDB - GNU Debugger 김진용.
Internet Protocol and Programming
컴퓨터 프로그램 제 1장 공학문제 해결 김 문 기.
Kernel Porting Lecture #7.
C.
Eclipse를 이용한 Embedded Linux 응용 프로그램 개발
Presentation transcript:

제4장 Cross Compiler 설치

목 차 4.1 toolchain 이란? 4.2 toolchain 설치 4.3 toolchain test

4.1 toolchain 이란? Embedded System을 개발하기 위해서는 Host System이란 개발 환경이 필요하다. 이 개발 환경이 필요한 이유는 Embedded System의 특성상 큰 용량의 저장 장치를 가지지 못하기 때문이다. Toolchain은 이런 개발에 필요한 모든 환경을 통칭하여 말한다. X-Hyper270TKU는 PXA270 MPU를 사용하기 때문에, 일반 desktop의 x86계열과는 다른 compiler(ARM cross compiler)를 사용하게 된다.

4.1 toolchain 이란? Target 시스템의 Software 개발을 진행하기 위해 필요한 host system의 cross compile(교차 컴파일)환경. source code 을 compile하고 build하여 binary 실행 파일을 생성하는데 필요한 각종 Utility 및 Library의 모음. 기본적으로 Assembler, Linker, C compiler, C library 등으로 구성되어 있다. 사용할 compiler는 아래와 같이 GNU Tool을 사용한다. GNU gcc compilers for C, C++ GNU binutil assembler, linker, and various object file utilities GNU C Library GNU C header

4.1 toolchain 이란? GNU Tool은 일반 GNU Tool과는(x86계열) 다른 Compiler (ARM cross compiler)를 사용하기 때문에 compile을 하게 되면 ARM에서 실행 가능한 바이너리가 생성된다. Host system X-Hyper270TKU Cross compiler를 이용하여 Host PC에서 바이너리(bootloader, kernel, application)를 생성한후 X-Hyper270TKU로 Download한다. Download는 serial, ethernet을 이용한다. Serial, Ethernet

4.2 toolchain 설치 cdrom mount X-Hyper270TKU는 Red Linux 9.0 환경에서 개발되었다. X-Hyper270TKU에서 사용하는 Toolchain은 소스를 직접 컴파일하여 생성된 디렉토리를 압축한 것이다. 사용한 소스는 다음과 같다. binutils-2.15.tar.gz gcc-3.4.3.tar.gz glibc-2.3.2.tar.gz glibc-linuxthreads-2.3.2.tar.gz 개발 환경 구축을 위한 리소스들은 제공되는 CD에 포함되어있다. 그전에 Host PC에 루트계정으로 로그인되어 있어야 한다. Host PC의 씨디롬에 CD를 넣고 마운트한다.

4.2 toolchain 설치 복사 및 압축 해제 CD의 내용들을 전부 Host PC 디렉토리에 복사를 하여 사용할 것이다. /PXA270-분반번호 이란 이름의 작업 디렉토리를 Host PC에 만들고 난 후에 cdrom 안에 있는 모든 파일들과 디렉토리를 작업 디렉토리에 복사한다. 그리고 그 작업 디렉토리로 이동한다. Toolchain 디렉토리 밑에 있는 iwmmxt-1.0.0.tar.gz 파일을 /opt-분반번호 밑에 복사한다. 그리고 그 곳에서 압축을 해제한다. 압축이 해제 되면 /opt에 iwmmxt-1.0.0 디렉토리가 생성이 된다. #>mount /dev/cdrom /mnt/cdrom #>cd /mnt/cdrom/toolchain/ #>cp iwmmxt-1.0.0.tgz /opt-분반번호 #>cd /opt-분반번호 #>tar xvfz cross-tools.tgz

4.2 toolchain 설치 PATH 설정 PATH 설정을 위해 /root/.bash_profile 파일을 열다. vi ~/.bash_profile PATH=$PATH:/opt/iwmmxt-1.0.0/bin “source” 명령어를 실행하여, PATH를 적용시킨다. # source ~/.bash_profile 이제 arm-linux- 로 시작되는 Toolchain을 어느 디렉토리에서든 사용할 수 있다. (arm-까지 입력하고 tap을 두번 치서 arm-linux로 시작하는 여러 명령어 확인 가능)

4.2 toolchain 설치 Test 하기 X86 계열에서 사용하는 리눅스의 gcc와 다른 점은 생성되는 코드가 ARM용으로 생성이 된다. hello.c 파일을 작성한다. # vi hello.c #include <stdio.h> int main (void) { printf(“hello world.\n”); return 0; }

4.3 toolchain test 컴파일 # gcc –o hello hello.c # arm-linux-gcc –o hello_arm hello.c 실행 두 실행파일을 실행해보고, file 명령어로 파일의 성격 을 보면 cpu type 정보다 다른 것을 확인할 수 있다. #> file hello # ./hello #> file hello-arm 다음과 같은 결과가 나오면.. 크로스 개발 환경이 제대로 설치가 된 것이다. cross_test: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.4.18, dynamically linked (uses shared libs), not stripped