임베디드 시스템을 위한 usb 장치 지원 진행상황 보고

13
임임임임 임임임임 임임 USB 임임 임임 임임임임 임임

Upload: iola

Post on 03-Feb-2016

102 views

Category:

Documents


0 download

DESCRIPTION

임베디드 시스템을 위한 USB 장치 지원 진행상황 보고. Index. 개발 현황 예정 사항 QnA. 프로젝트 목표 Bootstrap Loader KGDB 지원 진행 상황 USB Enumeration Bulk transfer Data transmit Application 실행 예 완성 정도 Bootstrap Loader KGDB 지원. 프로젝트 목표. Bootstrap loader 사용 부트 로더 : BLOB USB Device Software Stack 이식 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

임베디드 시스템을 위한 USB 장치 지원 진행상황 보고

Page 2: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

Index• 프로젝트 목표

– Bootstrap Loader– KGDB 지원

• 진행 상황– USB Enumeration– Bulk transfer– Data transmit Application

– 실행 예

• 완성 정도– Bootstrap Loader– KGDB 지원

• 개발 현황

• 예정 사항

• QnA

S E V E N C O R E - 경 주 현 2

Page 3: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

프로젝트 목표프로젝트 목표

• Bootstrap loader– 사용 부트 로더 : BLOB– USB Device Software Stack

이식– USB Bulk Transfer 이용

HOST to CLIENT 파일 전송

S E V E N C O R E - 경 주 현 3Bootstrap Loader

그림 1. USB Device software stack 이식

Page 4: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

프로젝트 목표프로젝트 목표

• KGDB I/O 지원 (USB)– 사용 커널 : 2.6.27_r5– USB CDC SPEC 구현– USB 장치를 KGDB I/O

Device 로 등록하여 커널 디버깅이가능한 상태로 만듦 .

S E V E N C O R E - 경 주 현 4

그림 2. KGDB I/O Device 로써 USB 장치 추가

KGDBKGDB

Page 5: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

진행 상황진행 상황

• USB Enumeration– USB 장치 인식을 위한 작업 .

• Host Controller -> Control EP0• Host Specific (OHCI , UHCI)

S E V E N C O R E - 경 주 현 5USB Enumeration

그림 3. USB Enumeration

Page 6: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

진행 상황진행 상황

• USB Bulk transmit– 이미지 다운로드 가능– Kernel 이미지 write 작업 없이

다운로드 받은 Ram 영역으로 점프

S E V E N C O R E - 경 주 현 6

5~8 Seconds

30~35 Seconds

Bulk transfer

그림 4. flash 영역에 write 없이 kernel 실행

Page 7: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

• LINUX Host 파일 전송 프로그램– 삼성 SoC 계열에서 일반적으로 쓰이던

USB Donwloader 프로그램 DNW 을 대체 가능한 GPL 기반 응용프로그램

– 타겟에 Bulk Transfer 를 위한 USB device controller 가 구현되어 있으면 어떤 SoC에서든 사용 가능한 libUSB 응용 프로그램

– Full speed, 초당 400Kbytes 가량 전송가능 .( 기존 Serial 통신보다 약 30 배 속도 증가 )

S E V E N C O R E - 경 주 현 7

그림 5. DNW (Downloader for windows)

진행 상황진행 상황

Bulk transfer

Page 8: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

진행 상황진행 상황

S E V E N C O R E - 경 주 현 8실행 예

1. Blob 메뉴화면에 들어간다 .

2. usbdownload 명령어를 사용하면 USB cable 이 연결될 때까지 기다린다 .

3. 연결이 일단 되면 파일이 전송될 때까지 다시 기다린다 .

Page 9: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

S E V E N C O R E - 경 주 현 9

1. USB Cable 이 연결 된 것이 확인 되면 usbupload 프로그램으로 파일을

전송한다 .

2. 파일 전송이 시작되면 BLOB 과 App 양쪽 모두 진행상황이 표시된다 .

실행 예

진행 상황진행 상황

Page 10: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

• Bootstrap Loader– 당초 제안 사항이었던 USB Bulk 통신을 이용한 다운로드 완

료 .– Interrupt 방식을 사용하지 않고 Polling 방식으로 구현 .– CDC Spec 이 아닌 Bulk transfer 방식으로 구조 변경 .

S E V E N C O R E - 경 주 현 10

완성 정도완성 정도

• KGDB– KGDB I/O Device 로 USB 장치를 사용하기 위한 구조 설계– KGDB 의 Polling 장치 찾는 루틴에 USB rx, USB tx 맵핑 – 외부 참여 인원과 상의

Page 11: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

S E V E N C O R E - 경 주 현 11

개발 현황개발 현황

- 문서화 현황

• 7 개 공식 문서 등록• 5 개 비공식 문서 등록 및 작성 중

활성화 정도

- 외부 인력 참여 현황

• Sourceforge 를 통해 접촉한 인도인 .• KGDB 동작 방식에 관한 문서 작성• KGDB I/O 장치 지원

Page 12: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

S E V E N C O R E - 경 주 현 12

예정 사항예정 사항

활성화 정도

• KGDB– Target

• USB Out Endpoint, USB In Endpoint 이용 Polling Function 작성• KGDB I/O Device 에 Polling 장치로써 위의 Function 등록

– Host• USB 장치를 GDB remote I/O 장치로 이용하기 위한 GDB patch

Page 13: 임베디드 시스템을 위한  USB  장치 지원  진행상황 보고

QnA

S E V E N C O R E - 경 주 현 13