1 / 13

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

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

iola
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Index • 개발 현황 • 예정 사항 • QnA • 프로젝트 목표 • Bootstrap Loader • KGDB 지원 • 진행 상황 • USB Enumeration • Bulk transfer • Data transmit Application • 실행 예 • 완성 정도 • Bootstrap Loader • KGDB 지원 S E V E N C O R E - 경 주 현

  3. 프로젝트 목표 • Bootstrap loader • 사용 부트 로더 : BLOB • USB Device Software Stack 이식 • USBBulk Transfer 이용 HOST to CLIENT 파일 전송 Bootstrap Loader (BLOB) USB Device Software Stack Hardware Layer 그림1. USB Device software stack 이식 S E V E N C O R E - 경 주 현 Bootstrap Loader

  4. 프로젝트 목표 • KGDB I/O 지원 (USB) • 사용 커널 : 2.6.27_r5 • USB CDC SPEC 구현 • USB 장치를 KGDB I/O Device로등록하여 커널 디버깅이가능한 상태로 만듦. Target Eclipse KGDB Plug-in Ethernet Serial USB GDB 그림2. KGDB I/O Device로써 USB 장치 추가 S E V E N C O R E - 경 주 현 KGDB

  5. 진행 상황 • USB Enumeration • USB 장치 인식을 위한 작업. • Host Controller -> Control EP0 • Host Specific (OHCI , UHCI) Device descriptor request Device descriptor Configuration descriptor request Control Endpoint 0 Configuration descriptor TARGET HOST Connected 그림3. USB Enumeration S E V E N C O R E - 경 주 현 USB Enumeration

  6. 진행 상황 5~8 Seconds • USB Bulk transmit • 이미지 다운로드 가능 • Kernel 이미지 write 작업 없이 다운로드 받은 Ram영역으로 점프 KERNEL IMAGE DOWNLOAD OVER USB Cable 30~35 Seconds WRITE KERNEL IMAGE TO FLASH JUMP TO KERNEL STARTING POINT REBOOT STARTING KERNEL 그림4. flash영역에 write없이 kernel 실행 S E V E N C O R E - 경 주 현 Bulk transfer

  7. 진행 상황 • LINUX Host 파일 전송 프로그램 • 삼성 SoC계열에서 일반적으로 쓰이던USB Donwloader 프로그램 DNW을 대체 가능한 GPL 기반응용프로그램 • 타겟에 Bulk Transfer를 위한 USB device controller 가 구현되어 있으면 어떤 SoC에서든 사용 가능한 libUSB 응용 프로그램 • Full speed, 초당 400Kbytes 가량 전송가능.(기존 Serial 통신보다 약 30배 속도 증가) 그림5. DNW (Downloader for windows) S E V E N C O R E - 경 주 현 Bulk transfer

  8. 진행 상황 Plugged in BLOB • Blob 메뉴화면에 들어간다. • usbdownload 명령어를 사용하면 USB cable이 연결될 때까지 기다린다. • 연결이 일단 되면 파일이 전송될 때까지 다시 기다린다. S E V E N C O R E - 경 주 현 실행 예

  9. 진행 상황 Application BLOB • USB Cable이 연결 된 것이 확인 되면 usbupload 프로그램으로 파일을 전송한다. • 파일 전송이 시작되면 BLOB과 App 양쪽 모두 진행상황이 표시된다. S E V E N C O R E - 경 주 현 실행 예

  10. 완성 정도 • Bootstrap Loader • 당초 제안 사항이었던 USB Bulk 통신을 이용한 다운로드 완료. • Interrupt 방식을 사용하지 않고 Polling 방식으로 구현. • CDC Spec이 아닌 Bulk transfer 방식으로 구조 변경. • KGDB • KGDB I/O Device로 USB장치를 사용하기 위한 구조 설계 • KGDB의 Polling 장치 찾는 루틴에 USB rx, USB tx 맵핑 • 외부 참여 인원과 상의 S E V E N C O R E - 경 주 현

  11. 개발 현황 • - 문서화 현황 • 7개 공식 문서 등록 • 5개 비공식 문서 등록 및 작성 중 • - 외부 인력 참여 현황 • Sourceforge 를 통해 접촉한 인도인. • KGDB 동작 방식에 관한 문서 작성 • KGDB I/O 장치 지원 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 S E V E N C O R E - 경 주 현 활성화 정도

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

More Related