Host PC & Target Board 환경설정 Embedded Linux Image 올리기

Slides:



Advertisements
Similar presentations
㈜다산씨앤씨 The next generation Windows-based Terminal1 교육 정보화를 위한 W B T 제안서.
Advertisements

2013 년 2 학기 임베디드 프로그래밍. 권장사양  HOST PC 권장사항  리눅스 배포판이 설치된 PC - 권장 배포판 : Asianux open edition3 ( 라곤 하지만 Ubuntu, Fedora, CentOS 등 다양한 리눅스 프랫폼이 가능 )  PC.
Distributed and Cloud Computing Lab. Embedded System Software 개발 환경 설정 Dept. of Computer Science and Engineering Sogang University, Seoul, KOREA 1.
개발 환경 설치 Embedded System Software
EZ Board-M In-Ho, Roh Real Time System Lab.
임베디드 시스템 개발 환경 (1) Lecture #3.
임베디드 시스템 개론 8. 임베디드 시스템 개발 환경 8주차 강의 자료 Embedded System Lab.
임베디드 시스템 개발을 위한 리눅스 환경설정.
IoT(사물인터넷) 보안 2016년 2학기 2. 라즈베리파이 준비.
Windows CE 시스템 개발 환경 구축.
제6장 FUSING.
Cross Compiler를이용한 커널 컴파일 및 포팅
Cross Compiler를이용한 커널 컴파일 및 포팅 1
PXA270 개발환경 설정 Ubuntu 실습용.
개발 환경 개발 환경 개요 PXA270과 타겟 시스템 툴체인 환경 구축 JTAG 유틸리티 미니컴 Make 유틸리티
크로스 컴파일 환경 구축.
Tool Chain, JTAG, Bootp, TFTP 의 설치
PC1 E0 R1 로컬 Host 파일 브로드 캐스트 LMHOSTS 조회 Host 파일 조회 DNS Server 조회
Kernel Porting Lecture #7.
제4장 Cross Compiler 설치.
Linux/UNIX Programming
Minicom,tftp,nfs설정,vnc설정
Bootloader Porting Lecture #6.
FUSING.
Tftp, nfs, samba 실습 임베디드 시스템 I.
Linux를 이용한 Embedded 장비 개발
임베디드 리눅스 시스템의 기본 개념 강의 목표 내용 임베디드 리눅스 시스템의 기본 개념과 주제 제시 1. 임베디드 시스템
목차 커널의 개념 및 기능 커널 포팅 램디스크.
2. Linux Installation Target Embedded System은 리눅스 환경을 사용한다. 이 장에서는 리눅스 설치부터, 각 설정의 의미들에 대해 이야기 한다.
Development Environment of Embedded System : part 1
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
임베디드 리눅스 설치 및 동작 Lecture #5.
The next generation Windows-based Terminal
컴퓨터 구조.
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
임베디드 시스템 개론 3주차 Embedded System..
Embedded System Porting (2)
Root Filesystem Porting
부트 로더 (blob pre2 중심) Lecture #8.
임베디드 소프트웨어 동향. 임베디드 소프트웨어 동향 임베디드 S/W 시장분류 솔루션 측면 시스템 측면 운영체제 개발도구 설계도구 테스트도구 유선통신 무선통신 정보가전 자동차제어 산업자동화 사무자동화 군사/항공우주 의료장비 솔루션 공급 업체 임베디드 S/W시장 임베디드.
개발 환경.
Root Filesystem Porting
부트로더와 Self Programming
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
부트로더와 커널 이미지 부트로더 개요 타겟 시스템 부트로더 분석 부트로더 생성 커널 빌드 과정 커널 컴파일 규칙 커널 포팅
Cross Compiler 설치.
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
IPv6 기반의 Mobile IP 기술 개발 (iSCSI 성능 분석) - 프로젝트 중간보고서 -
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
Boot Loader.
Cross Compiler를이용한 커널 컴파일 및 포팅
홈 네트워크 시뮬레이션 정 찬 번 석 성 환.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Windows에서 Virtual Box를 이용한 Ubuntu 설치
임베디드 시스템 개론 임베디드 타겟 보드 포팅 및 H/W 제어 3일차 강의 자료 Embedded System Lab.
툴 설치 가이드 Formality SynopsysMentor.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Kernel, Ramdisk, JFFS2 Porting
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 개발환경 설정 아이티즌 기술연구소
DK-128 직렬통신 실습 아이티즌 기술연구소
셀프 프로그래밍으로 쓰기 셀프 프로그래밍이란? 프린트포트의 ISP 모듈을 사용하지 않음 부트로더에 의한 펌웨어 다운로드
임베디드 시스템 개론 3주차.
Kernel Porting Lecture #7.
임베디드 리눅스 설치 및 동작 Lecture #5.
Eclipse를 이용한 Embedded Linux 응용 프로그램 개발
핸드터미널 조작 및 S/W 업그레이드 통신 확인하기.
Presentation transcript:

Host PC & Target Board 환경설정 Embedded Linux Image 올리기

준비 사항 HOST PC Target System 개발하고자 하는 embedded 시스템 보드 타겟 임베디드 시스템을 개발하기위한 환경을 제공하는 시스템 교차개발환경 제공 Cross compiler, monitor, Debugger 등을 제공 Tool chain을 통해서 Target용 code를 생성한다. JTAG을 운용하기 위한 환경 제공(bootloader flash) Boot loader용 Terminal 환경 제공(Minicom) Target Linux용 Terminal 환경 제공(Minicom) 사양(예) Platform : Pentium급 컴퓨터 OS : Linux Ethernet Serial port JTAG을 위한 병렬 포트 CDROM Application , Bootloader ,Toolchain,….. Target System 개발하고자 하는 embedded 시스템 보드 Xstation 개발키트

준비 사항 Xstation-AP 개발키트

준비 사항 Xstation-AP 개발키트 JTAG 케이블 + parallel 케이블 serial 케이블 LAN 케이블 (Cross Cable) 전원 케이블

HOST 컴퓨터 와 TARGET 컴퓨터 연결 Host System Backend Target System Host용 터미널 Minicom (타겟용 터미널) JTAG cable Serial cable Ethernet cable Host System Backend Target System

Target 시스템을 위한 터미널 환경 TARGET은 출력을 위한 별도의 터미널을 가지고 있지 않음 일반적으로 serial port/LAN 을 통한 터미널 emulator 이용 Linux에서는 일반적으로 minicom 이용 Windows 에서는 Hyper-Terminal 등을 이용 Host용 터미널 Minicom (타겟용 터미널) JTAG cable Serial cable Ethernet cable

minicom 실행 및 설정 Host 컴퓨터에서 Minicom 실행 및 설정 Serial port setup 항목 선택

Minicom 실행 및 설정 새로운 메뉴가 뜨면 “A-Serial Device”를 선택하여 직렬 케이블이 연결된 포트를 선택 /dev/ttyS0(COM1 연결) 또는 /dev/ttyS1(COM2 연결) “E-bps/Par/Bits” 항목을 선택하여 환경 설정 값을 확인한다. Bps를 11520 Data bit를 8로 Stop bit를 1로 Parity를 NO로 “F-Hardware Flow Control” 항목을 선택 : NO 로 “G-Software Flow Control” 항목을 선택 : 설정이 끝나면 Enter 키를 누른다. Esc 키를 눌러 다시 메인 메뉴가 뜨면 “Save setup as dfl” 을 선택 구성 메뉴에서 빠져 나온다. “Exit” 항목을 선택 => 이 후 minicom 프로그램이 실행되는 호스트 시스템은 임베디드 리눅스의 콘솔 역할을 하게 된다.

minicom 환경설정 minicom 환경설정 화면 1. Device를 선택한다. 2. 속도, 데이트 비트와 스톱 비트를 설정한다. 3. 흐름제어는 없다. 4. 설정이 끝나면 ENTER를 누른다 5. 설정된 값을 저장하고 빠져 나온다.

minicom 환경설정 Minicom 설정 후 타겟보드의 전원을 ON하면, 다음과 같은 접속화면이 나온다.

Target System : bootloader 설치 u-boot Bootloader 설치 방법 Jtag를 통하여 target system의 flash memory에 전달 JTAG Program (Boot loader Write program) 설치 Directory : /root/work/JTAG 다운로드 : pxa255-jtag.tar.gz Tar xfz pxa255-jtag.tar.gz Cd pxa255-jtag/jtag-0.4 ./configure –with-include=/root/work/JTAG/include-0.2.3 –prefix=/root/work/JTAG/jtag Make Make install Cd /root/work/JTAG/jtag/bin Cp jtag /usr/bin/.

Target System : bootloader 설치 Xstation Boot loader 설치 JTAG cable 연결 /mnt/cdrom/Image에 있는 u-boot이용 Target system Power ON Cd /mnt/cdrom/images #Jtag 실행 jtag > cable parallel 0x378 PXA255 jtag > detect jtag > flashmem 0 u-boot Host pc : Minicom 작동 Target system power OFF  ON Boot loader booting

HOST PC : TFTP (Trivial FTP) /etc/xinetd.d/tftp 파일 편집 /tftpboot directory생성 LINUX setup -> ntsysv (tftp 설정) 확인 Netstat –a |grep tftp Image 복사 Cp /mnt/cdrom/images/* /tftpboot/.

NFS 설정 Host PC Target System NFS를 이용하여 Host PC에서 Target System으로 자료 전달 $ mkdir /nfsserverdir $ vi /etc/exports /nfsserverdir *(rw) $ /etc/rc.d/init/nfs restart ifconfig eth0 100.100.100.100 up Target System $mkdir /nfsclient $mount –t nfs 100.100.100.100:/nfsserverdir /nfsclient NFS를 이용하여 Host PC에서 Target System으로 자료 전달

Memory Map memory map Ox00,030,000

Image 다운로드 이미지 다운로드

Image 다운로드 Host pc minicom 실행 Linux image : /tftpboot u-boot uImage-2.6.21-xstation rootfs-2.6-xstation.jffs2 Target system power OFF -> ON Press any key system IP 설정 u-boot> set ipaddr 100.100.100.101 u-boot> set serverip 100.100.100.100 Image file 설정 u-boot> set boot_file u-boot u-boot> set linux_file uImage-2.6.21-xstation u-boot> set root_file rootfs-2.6-xstation.jffs2 u-boot> save 기존 image 삭제 U-boot> Run linux_erase (linux flash rom 삭제) U-boot> Run root_erase (root flash rom 삭제) U-boot> Run boot_erase (boot flash rom 삭제)

Image 다운로드 Image 올리기 Target system power OFF -> ON U-boot> run bootf U-boot> Run boot_erase (boot flash rom 삭제) U-boot> Run boot_tftp (host pc  SDRAM) U-boot> Run boot_write (SDRAM ->boot flash rom) U-boot> run linuxf U-boot> Run linux_erase ( linux flash rom 삭제) U-boot> Run linux_tftp (host pc  SDRAM) U-boot> Run linux_write (SDRAM ->boot flash rom) U-boot> run rootf U-boot> Run root_erase (root flash rom 삭제) U-boot> Run root_tftp (host pc  SDRAM) U-boot> Run root_write (SDRAM ->boot flash rom) Target system power OFF -> ON Linux kernel booting login

부트로더 주요 기능 hardware 초기화 Flash 에서 RAM으로 memory copy Kernel booting Memory setting CPU Clock setting GPIO setting Serial setting MAC address 획득 및 Ethernet port setting Flash 에서 RAM으로 memory copy 부트로더 자신 copy kernel image copy ramdisk image copy Kernel booting Command mode 제공 포팅의 편의를 위한 Debug 모드 제공 여러 부트로더들 blob, Redboot, ppcboot, armboot, bootldr 등

부트로더 전체적인 흐름 start.S c_main() run command Auto Boot Manual Boot 벡터 테이블 설정 레지스터 설정(클럭, 메모리, GPIO 등) 부트로더 RAM으로 복사 스택 포인터 설정 RAM 상의 부트로더로 제어권 이동 start.S serial init timer init Ethernet init kernel, ramdisk image를 ram에 복사 c_main() wait for 10 seconds Key pressed within 10 seconds command mode run command GetCommand() jump to kernel image address BootKernel() BootKernel() SetClock() Download() Flash() ...... Auto Boot Manual Boot