Cross Compiler를이용한 커널 컴파일 및 포팅

Slides:



Advertisements
Similar presentations
2013 년 2 학기 임베디드 프로그래밍. 권장사양  HOST PC 권장사항  리눅스 배포판이 설치된 PC - 권장 배포판 : Asianux open edition3 ( 라곤 하지만 Ubuntu, Fedora, CentOS 등 다양한 리눅스 프랫폼이 가능 )  PC.
Advertisements

Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
Term Project iTUTOR를 이용한 PIC 동작 검증 보고서와 모든 소스코드 압축하여 제출
개발 환경 설치 Embedded System Software
EZ Board-M In-Ho, Roh Real Time System Lab.
임베디드 시스템 개발 환경 (1) Lecture #3.
Image & Video processing
Consumer PC & AIO PC DMI Refresh 방법 설명 (UEFI DMI Ver)
제6장 FUSING.
Cross Compiler를이용한 커널 컴파일 및 포팅 1
PXA270 개발환경 설정 Ubuntu 실습용.
크로스 컴파일 환경 구축.
Tool Chain, JTAG, Bootp, TFTP 의 설치
커널 컴파일 및 개발 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim
cafe.naver.com/embeddedcrazyboys
제4장 Cross Compiler 설치.
FUSING.
Tftp, nfs, samba 실습 임베디드 시스템 I.
ANSYS17.2 Student 제품 무료 다운로드
QT 프로그래밍 발표: 김래영.
임베디드 리눅스 설치 및 동작 Lecture #5.
Mysql Install on Azure
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
임베디드 시스템 개론 3주차 Embedded System..
Embedded System Porting (2)
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
4-1장. MySQL 제13장.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Root Filesystem Porting
C / C++ Programming in multi platform
Root Filesystem Porting
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
Cross Compiler 설치.
Host PC & Target Board 환경설정 Embedded Linux Image 올리기
환경 : Windows7 64bit 버전 : apache-ant-1.9.7
Cross Compiler를이용한 커널 컴파일 및 포팅
홈 네트워크 시뮬레이션 정 찬 번 석 성 환.
시스템 인터페이스 Lab3 Unix 사용법 실습.
솔라리스10 3장. 솔라리스 패키지 관리.
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
Device Driver 임베디드 시스템 I.
Windows에서 Virtual Box를 이용한 Ubuntu 설치
IPython Notebook + Spark + TensorFlow on MacOS
cafe.naver.com/embeddedcrazyboys
영상처리 실습 인공지능연구실.
ADC 디바이스 사용법.
임베디드 시스템 개론 임베디드 타겟 보드 포팅 및 H/W 제어 3일차 강의 자료 Embedded System Lab.
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
BERT Install Guide 숭실대학교 test.
툴 설치 가이드 PrimeTime SynopsysMentor.
툴 설치 가이드 Formality SynopsysMentor.
학기 C/C++ 프로그래밍 실습 1주차.
HyperWorks Apps 설치 가이드.
리눅스 커널 프로그래밍 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Kernel, Ramdisk, JFFS2 Porting
OpenCV 설정 2.21 만든이 딩딩.
DK-128 개발환경 설정 아이티즌 기술연구소
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
Homework #3 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
Internet Protocol and Programming
임베디드 시스템 개론 3주차.
Kernel Porting Lecture #7.
숙제 작성 및 제출 과정 김진하 2008/03/14.
Homework #7 (1/3) 1. 다음 순서에 따라 수행하고, 그 과정의 화면을 캡쳐한다.
임베디드 리눅스 설치 및 동작 Lecture #5.
Docker Study 6~7.
Presentation transcript:

Cross Compiler를이용한 커널 컴파일 및 포팅

Cross Compiler 설정 Cross Compiler Target 보드에서 동작하는 실행파일을 Host PC에서 컴파일 할 수 있는 컴파일러 Cross compile Toolchain Download ->SAMBA를 이용한 다운로드 가능 /usr/local/arm/ 경로에 압축 풀기 /usr/local/arm 경로로 이동 후 압축 풀기 압축풀기 작업 후 결과 : /usr/local/arm/arm-2009q3 폴더 생성

Cross Compiler 설정 Path 설정 컴파일러 확인 Cross 컴파일 테스트 vi ~/.bashrc 실행 후 아래의 내용 추가 #source ~/.bashrc 실행 컴파일러 확인 arm-linux-gcc –v Cross 컴파일 테스트 자신의 학번과 이름을 출력하는 C코드 작성 다음의 과정을 통하여 컴파일 및 확인, 실행 (option과제 : gcc를 이용한 컴파일 및 실행)

Cross Compiler 설정 실습1. 자신의 학번 이름을 출력하는 프로그램 소스를 타겟보드용으로 컴파일 한 후 실행 한 결과가 실행되지 않는 이유를 설명하시오 실습2. 실습1에서 만들어진 실행파일을 Target Board에서 nfs로 마운트하여 실행한 결과 를 캡처하시오 nfs가 되지 않을 경우 tftp를 활용 tftp –r 해당파일 서버IP –g Ex) tftp –r test 192.168.0.10 -g

커널 컴파일 및 포팅 vi Makefile에서 크로스 컴파일러 Path설정

커널 컴파일 및 포팅 #apt-get install libncurses5-dev #make menuconfig 명령 실행 및 설정(NFS 및 카메라 설정 등등) File systems 선택 후 Enter

커널 컴파일 및 포팅 Network File Systems 선택 후 Enter

커널 컴파일 및 포팅 NFS client support 선택 후 하위 옵션 선 택(Space 키 사용) 설정 후 Exit Save화면에서 Yes선택 후 Enter

커널 컴파일 및 포팅 커널 소스가 있는 경로에서 make 명령어 실행 /arch/arm/boot/zImage  컴파일된 커널 이미지 cp /arch/arm /boot/zImage /tftpboot

커널 컴파일 및 포팅 Target Board의 u-boot에서 커널 이미지 다운로드 tftp [다운로드 받을 Target Board의 RAM Address] [다운로드 받을 파일이름] ex) tftp 24000000 zImage 다운로드 받은 커널이미지를 Nand영역에 Write write할 nand영역 삭제 nand erase [삭제 할 nand 시작주소] [삭제 할 nand영역의 크기] ex) nand erase 80000 300000(download zImage size) nand 영역에 커널이미지 write Nand write [다운로드 받은 RAM Address] [Write할 nand 시작주소] [write할 nand영역 크기] nand write 24000000 80000 300000 커널이미지 Write 작업 후 boot 명령 실행

커널 컴파일 및 포팅 Target 보드에서 커널 이미지 다운로드 및 포팅 실행화면

파일시스템 포팅 홈페이지에서 rootfs_441.yaffs2파일 다운로드 다운받은 파일을 samba를 이용해서 /tftpboot에 복사 tftp 24000000 root_441.yaffs2 nand erase 440000 f9c0000 (tftp로 받은 size를 써도 무관함) nand write.yaffs 24000000 440000 xxxxxx(tftp로 받은 size = 정확히 입력해야 가능) *명령어가 다르니 주의 NAND Address Size Contents 0x0(0x0 – 0x80000) 512KB Bootloader 0x80000(0x80000-0x440000) 3.75MB Kernel 0x440000(0x440000-0xFE00000) 249.75MB Filesystem 0xFE00000(0xFE00000-0x10000000) 2MB Boot log