강연자소개 대외활동 동호회설립및운영자 (2004 년 12 월설립 ) 운영진 고현철, 김재훈, 유형목, 와함께국내에몇개남지않은임베디드리눅스를전문으로하는 community. 현재가입자수약만 4 천여명

Similar documents
Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

서현수

Microsoft PowerPoint - 01.Android-개요 done.pptx

모바일 안드로이드 아키텍처

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

02_3 지리산권 스마트폰 기반 3D 지도서비스_과업지시서.hwp

THE TITLE

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Microsoft PowerPoint - chap01-C언어개요.pptx

4S 1차년도 평가 발표자료

Microsoft PowerPoint Android-구조.애플리케이션 기초(1.0h).pptx

1부

Microsoft PowerPoint - Mobile SW Platform And Service Talk pptx

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

Microsoft PowerPoint - 03-Development-Environment-2.ppt

임베디드디바이스개발시커널로리눅스를많이사용하는데, 그때그커널과함께리눅스명령어도필요하게된다. 모든명령어를지원하기위해서는다수의개별적인패키지들이필요하다. 한프로젝트에서그많은명령어를한번에지원해준다면자원제약적인임베디드환경에서공간효율성이극대화될것이다. 상대적으로경량화된리눅스명령어세

PowerPoint Template

Windows Live Hotmail Custom Domains Korea

..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * A

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

[Brochure] KOR_TunA

Microsoft PowerPoint - Chapter_02-1_DevEnv.pptx

KT Community Relations White Book

보안공학연구회

슬라이드 1

¨ìÃÊÁ¡2

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

vRealize Automation용 VMware Remote Console - VMware

USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 최초작성 by 김정현 스크립트추가, 설명보충 by 유형목 1. VritualBox

PowerPoint Presentation

슬라이드 1

KEY 디바이스 드라이버

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

슬라이드 1

52 l /08

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

PA for SWE2007

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

ConnectCore i.mx53 / Wi-i.MX53 Freescale i.mx53 Cortex A8 system-on-module 네트워크가가능한 i.mx53 ConnectCore는새로운프리스케일 i.mx53 Application 프로세서기반인고성능 32-bit S

Microsoft PowerPoint - Windows CE Programming_2008 [호환 모드]

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

CodeVisor Technical Document


PowerPoint 프레젠테이션

PowerPoint Presentation

슬라이드 1

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft PowerPoint App Fundamentals[Part1].pptx

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

( )부록

Microsoft Word - 안드로이드_개발_매뉴얼1.docx

Microsoft Word - IT기획시리즈.doc

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

SBR-100S User Manual

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

PowerPoint 프레젠테이션

Microsoft PowerPoint - 13-em14-안드로이드.ppt [호환 모드]


리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

디지털 공학

PowerPoint 프레젠테이션

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

슬라이드 1

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

Microsoft PowerPoint - mvtech_company_introduction.ppt [호환 모드]

<4D F736F F D F4E464320B1E2BCFAB0FA20BCADBAF1BDBAC0C720C7F6C0E7BFCD20B9CCB7A120C0FCB8C15FBCF6C1A45F>

2009방송통신산업동향.hwp

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

WinCE 실험실습 #1

슬라이드 1

ANDROID 기반의 usb 통신을 이용한 smART PHONE MOUSE

PCServerMgmt7

PowerPoint 프레젠테이션

LATEX과 Mendeley를 활용한 문헌 관리 2017년 2월 6일 제1절 서지 관리 프로그램 연구 주제를 찾거나 선행 연구를 조사하는 가장 대표적인 방법이 문헌들을 찾아보는 것이다. 수없이 많은 논문들을 찾게 되고, 이런 논문들을 다운로드한 후 체계적으로 관리할 필

PowerPoint 프레젠테이션

슬라이드 1

Agenda 오픈소스 트렌드 전망 Red Hat Enterprise Virtualization Red Hat Enterprise Linux OpenStack Platform Open Hybrid Cloud

아이패드에 주목하는 것은 현재 성능 때문이 아니다. 오히려 기존 PC나 휴대폰과 구분되는 가치와 사용형태로부터 파생될 변화 때문이다. 되는 선호도 조사에서는 아이패드가 넷북과 e-book보다 월등한 것으로 나타났다. 제품별 인지도는 넷북이 아이패드보다 월등하게 나타 났

포스코 사회공헌 활동 백서 2003_2006


이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Microsoft PowerPoint - Introduction.pptx

<BDBAB8B6C6AEC6BCBAF12DC3D6C3D6C1BE5B315D2E687770>

PowerPoint 프레젠테이션

< DB9CCB7A1B1B3C0B020C3BCC7E8B0FC20C0CCC0FC20B1B8C3E0C0BB20C0A7C7D120BCB3B0E820BFACB1B820B9D720BFEEBFB520C7C1B7CEB1D7B7A520B0B3B9DF2E687770>

소프트웨어 검증 및 설계

슬라이드 1

스마트월드캠퍼스 교육교제

Visual Studio online Limited preview 간략하게살펴보기

PowerPoint 프레젠테이션

Todo list Universal app

2019년도 지엠디 교육

I I-1 I-2 I-3 I-4 I-5 I-6 GIS II II-1 II-2 II-3 III III-1 III-2 III-3 III-4 III-5 III-6 IV GIS IV-1 IV-2 (Complement) IV-3 IV-4 V References * 2012.

PowerPoint 프레젠테이션

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

PowerPoint 프레젠테이션

Transcription:

고성능어플리케이션개발을위한안드로이드시스템의이해 2011. 12. 19. ghcstop@insignal.co.kr 고현철

강연자소개 대외활동 http://www.aesop.or.kr 동호회설립및운영자 (2004 년 12 월설립 ) 운영진 고현철, 김재훈, 유형목, http://kelp.or.kr 와함께국내에몇개남지않은임베디드리눅스를전문으로하는 community. 현재가입자수약만 4 천여명 임베디드리눅스의보급및활성화 저렴한임베디드리눅스용개발보드공급 (S3C2440, S3C6410, S5PC100,...) 최신임베디드기술의소개및의견교환, 질문 / 답변 오픈세미나개최및그외.. 회사운영 주식회사인시그널 2010 년창립 ( 현재인원 10 명 ) 임베디드리눅스및안드로이드포팅전문회사 KT alle Pad(2010), 안드로이드네비게이션 (2012) 집필서적 안드로이드의모든것 : 분석과포팅 한빛미디어 (2011.6) 고현철, 유형목공저 http://www.yes24.com/24/goods/5240739?scode=032&ozsrank=1

안드로이드개발방법의분류 Android SDK(JAVA) 일반적인안드로이드어플리케이션개발과정 Windows에서이클립스 + ADT 플러그인설치 에뮬레이터 (QEMU) 와통합되어있어빌드한결과를즉시실행 하드웨어와관련된프로그램은테스트불가능 ( 카메라, 센서, 기타..) Android NDK(C/C++) 기존의임베디드리눅스에서사용하던 C/C++ 을안드로이드에서사용. JAVA에서는불가능한어플리케이션프로그램이나미들웨어작성에사용. JNI 를통해서 SDK(JAVA) 에서 C/C++ 호출. HAL의구성에따라개발방법에차이가남. PDK에서도 NDK를이용해개발이가능하다. Android PDK(Platform Porting) 안드로이드의포팅개념으로서 SDK및 NDK를모두포함. WiFi Connect Manager, RILD(Modem Control), 그외.. PDK를사용하려면반드시유닉스계열 OS 필요 (MacOS, Linux, ) Windows 에서는사용불가능

Android SDK SDK 를이용한개발 주로 Application 의경우이방법사용 Android Emulator 와 SDK 를이용해서개발

SDK 를이용한개발 GPS 의예

Android NDK NDK(Native Development Kit) 를이용한개발방법 Application을개발할때사용 기존의 C/C++ 라이브러리이용 Library는 C/C++ 로사용, Application개발은 SDK사용

PDK 를이용한개발 PDK(Platform Development Kit) 를이용한개발방법 1 Android Porting의개념 : Android 전체소스를가지고개발 주로 Android 소스만으로이루어진서비스개발시사용

PDK 를이용한개발 PDK(Platform Development Kit) 를이용한개발방법 2 Android Porting의개념 : Android 전체소스를가지고개발 기존의 Linux용 Daemon 프로그램을 Android가이용하는방법 RILD(Radio Interface Layer Daemon), WiFi, Bluetooth

PDK 를이용한개발 RILD 의예 RILD 와 Vendor RIL 과의관계

PDK 를이용한개발 Wifi 의예

돌발퀴즈 현재안드로이드에서지원되지않고 있는음악파일포맷은무엇이있을까?

안드로이드소스코드빌드 Android Open Source Project 구글이안드로이드새버전을내놓을때마다소스코드도공개 http://android.googlesource.com 다운로드및빌드방법 http://source.android.com/source/initializing.html 안드로이드실전개발 Chip 제조사에서배포하는 BSP를이용하여개발. 부트로더, 안드로이드용으로패치된리눅스커널 최신 ARM Chip에맞도록패치된안드로이드소스코드 크로스컴파일러, 기타라이브러리제공. 안드로이드 = 임베디드리눅스 + Dalvik(Java)VirtualMachine 기존의임베디드리눅스위에 JavaVM 이얹어진형태의플랫폼 안드로이드포팅을위해서는임베디드리눅스를잘다룰수있어야함.

안드로이드포팅과정 안드로이드용리눅스커널의 Device Driver 작성 리눅스커널의 Device Model에따른 Driver 작성 예 ) 국내의지상파DMB서비스 안드로이드에는기본으로없음. 가장유사한 TV수신카드 Driver 를참고삼아서새로작성. Android HAL 작성 안드로이드의미들웨어중에커널의 Device Driver 와통신하는부분 C/C++ 코드가섞여있고, 디렉토리통일되어있지않음. Android 라이브러리작성 안드로이드에서기본으로제공하는라이브러리 + 이외의새로추가될라이브러리작성 Application FrameWork 작성 Android SDK 에서불러쓸수있도록 JAVA 로 Class 작성

최근경향 안드로이드 임베디드리눅스에서모든이슈가안드로이드로바뀌었음. 일반적인임베디드리눅스질문은게시판에서거의찾아보기어려울정도. 안드로이드의놀라운성장세가 Community에서도그대로반영됨. 안드로이드를새로운 OS 로착각하는사람들. 임베디드리눅스커널이있다는사실자체를모르는사람들이있음. 실제로 안드로이드 OS 라는용어를사용하는경우가나타남. 안드로이드플랫폼 과 안드로이드 OS 를동일시하는경향. 안드로이드관련질문중에화면처리와관계된내용이많아짐. Android SDK(JAVA) 에대한질문도늘어나는경향. 그러나임베디드 Community 특성상 JAVA에대한질문에대한답변은거의얻기힘듬. 안드로이드에서의 C/C++ 에대한중요성이점점대두되기시작 Android NDK(C/C++) 및디버깅방법에대한질문도많이증가함. 특히.so 파일을가지고있는미들웨어디버깅에대한많은질문이들어옴. 안드로이드용리눅스커널에대한전반적인인식부족 안드로이드의핵심을이루는 Binder 및멀티미디어, 그외.. 리눅스커널 Device Driver 관련내용들이중요하지만제대로알고있는사람들은거의없음. 그러나실전에서는가장중요한위치를차지함. 예 ) 안드로이드에없는국내에서만지원되는 지상파DMB 의경우 Linux Kernel Device Driver HAL Interface MiddleWare JAVA API JAVA App 가장근간이되는시작지점 (Device Driver) 를모르고서는안드로이드에서 새로운서비스를추가하는것은불가능.

최근경향 안드로이드플랫폼의중요성 구글에서새로운안드로이드버전을내놓는시기 3개월 ~ 6개월마다새로운버전출시 Android SDK는몇일이내발표 거의 H/W제품과동시발표. 하드웨어제품이출시된지약 3~4주후에안드로이드전체소스코드발표 새로운안드로이드버전마다많은변화 버전이바뀔때마다많은부분이제거 / 수정 / 교체가일어남. 예 ) 2.2(Froyo) 2.3(GingerBread) 멀티미디어엔진의교체 OpenCore StageFright 리눅스커널도최신버전을적극수용 2.3(GingerBread) 4.0(IcecreamSandwitch) Kernel 2.6.35.7 Kernel 3.0.1 커널버전이올라갈때마다많은내용들이수정됨 이러한내용들역시안드로이드를어렵게만드는요인으로작용. 안드로이드의효과적인이해 리눅스커널 (35%) + 미들웨어 (40%) + JAVA API(25%) 그러나실제로는 JAVA로되어있는 SDK만눈에띔. 미들웨어및리눅스커널은겉으로는보이지않기때문

최근경향 안드로이드의부족한점 Android SDK 에대한책들은많지만 Android 플랫폼을다루는책은거의없는실정 구글이오픈소스로발표를하긴하지만, 핵심코드는 BSD 로되어있어기업체에유리하도록되어있음. 개인수준혹은, 아마추어 Community 수준에서안드로이드의핵심코드에접근하기에는어려움이너무많음. 그러나, 핵심코드를다루지않고서는, 안드로이드멀티미디어및새로운장치에대한추가지원은불가능함. 안드로이드에의외로빠져있는사양이상당수존재함. 예 ] C++ STL 도 Gingerbread 2.3 부터지원시작 또한구글이제시하는개발방법에도여러가지부족한부분이존재함. 예 ] 안드로이드도입초기 YAFFS2 FileSystem 을쓰도록되어있었으나실전에서는사용불가능. 최근들어 emmc 규격의저장장치를쓰고, 파일시스템은 EXT4 로교체됨.)

돌발퀴즈 안드로이드에서 Dalvik VM 의가용메모리 (HeadSize) 를늘리는방법은?

결론 안드로이드플랫폼 효과적인안드로이드플랫폼개발을위해서는 지속적인임베디드리눅스에대한투자가필요하다. SDK만을가지고서는고성능프로그램을개발하기어렵다. 혼자서개인적인방법으로는안드로이드플랫폼을익히기어렵다. 스마트기기 익혀야될내용이많고, 임베디드리눅스를여러해다룬개발자도어려워함. 스마트폰뿐만아니라다른임베디드시스템에도얼마든지적용가능. 안드로이드를기반으로하는스마트기기들이많이탄생하기를.. 다만아직그러한역할을안드로이드가해주기에는열악한상황. 안드로이드의미래 스마트폰에서다른임베디드장비까지끊임없는적응및진화 남아있는영역 안드로이드 TV 시장, 교육시장, E-book,