회원 및 비회원 모두 열람이 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.

안녕하세요.
오늘 타 커뮤니티에서 안드로이드 OS를 사용할수있는 하드웨어는 어떻게 되냐는 글이 올라와

딴소리로 쭈욱 적었는데
저도 컴펌을 받고 싶어 이리 올려봅니다 ㅎㅎㅎ

아래의 글은 제가 댓글로 남길 글입니다.


저도 고수는 아니지만... 안드로이드 제품 개발들을 해보고 시중의 제품들에 포팅이나 AP 업체들과 진행해보니 이런 것 같습니다. 

안드로이드의 소스코드(BSP, 요즘은 그냥 SDK라고 부르는 것 같더라고요.)는 SOC(AP) 업체가  
자사의 AP에 맞는 소스코드를 제공해줍니다.  

이때는 보통 자기들이 테스트하는 레퍼런스 보드에 동작되는 코드를 작성하게 되죠. 

이렇게 제작된 BSP(레퍼런스 보드의 개발 자료와 소스코드)를 AP를 가져다 사용하는 업체에게 제공되며  
업체들은 자기들 입맛에 맞게 주변 하드웨어를 수정하고 그에 맞게 드라이버(리눅스 커널, 안드로이드 HAL) 코드도 수정하게 됩니다. 

예를 들면 레퍼런스 보드의 오디오 IC가 리얼텍 거였는데 울프슨으로 바꾼다든지 하는 것이지요. 
이러한 개발사 중 AP 업체와 협력관계를 맺고 포팅을 해주는 경우도 있습니다.  

왜 처음부터 포팅 하면 되지 AP 업체에서 제공해주는 BSP를 가지고 하는지 궁금하실 수 있는데요 
(저도 처음에 그랬거든요...) 

보통 AP 업체에서 자사 AP의 페리페럴중 일부는 소스코드를 공개하지 않습니다. 이런 부분은 라이브러리와 시켜 제공해주죠. 
(주로 카메라나 HDMI, 멀티미디어 부분이 비공개인 경우가 많더라고요.) 

또한, 데이터 시트에도 모든 부분을 공개하는 게 아니고 특정 부분은 스킵 되어 있습니다. 
(이 부분 또한 AP와 협력 업체는 자료를 가지고 있긴 합니다.) 

이런저런 이유로 AP에서 레퍼런스 보드에 돌아가게 구성한 BSP를 가지고 새로운 보드를 파생하는 식입니다. 

물론 AP 업체에서 제공하는 코드 말고 직접 포팅도 가능은 하겠지만 칩의 성능(또는 내부 로직)을 제대로 이해하지 못한 상태에서 개발하게 되면 이런저런 문제들 때문에 고생을 하고 제품화에 무리가 있게 되는 것 같습니다. 

이러한 이유로 라즈베리 파이에도 안드로이드 포팅은 가능하겠지만 아마 AP(브로드컴) 업체에서 지원을 안 해주는 것은 아닐까 합니다. 

또한 라즈베리 파이에 안드로이드를 올리면 성능이 많이 떨어질 것으로 판단됩니다. 

보통 안드로이드를 제대로 동작하려면 eMMC와 같은 고속 통신과 안정성을 가진 저장소와 DDR3정도 대역폭이 돼야 할 텐데 이러한 부분은 라즈베리 파이가 성능이 많이 떨어지죠. 

마지막으로 요즘 위와 같은 문제들 때문에 구글에선 안드로이드 코드와 하드웨어를 분리하는 작업을 하고 있습니다. 
즉, 안드로이드의 버전이 업데이트되어도 많은 작업 없이 업그레이드를 시킬 수 있게 하는 것이지요. 

그리고 끝으로 경험상 Freescale의 i.MX 시리지가 가장 코드와 문서 오픈이 잘 되어 있습니다. 
국내에 Telechips도 문서는 잘되어 있습니다. 
중국은 많은 것이 막혀있지만 요즘 락칩의 경우 SBC가 많이 나오면서 자연스럽게 코드와 문서가 오픈되고 있는 것 같습니다. 

예전엔 무조건 중국 AP가 성능 문제가 있다고 양산까지 가기 어렵단 얘기 많이 들었는데  
요즘 보면 그렇진 않은 것 같습니다.


김민욱

2018.09.28 08:49:56
*.123.73.49

좋은 글. 감사합니다..  ^^

천동이

2018.10.06 16:12:38
*.21.250.185

제가 경험한 것을 위주로 작성되다 보니 맞는 건지도 모르겠습니다 ㅎ

고도리

2018.10.06 15:20:53
*.37.5.61

블로그에서 봤었는데, 여기도 쓰셨었네요...ㅎㅎ

천동이

2018.10.06 16:12:11
*.21.250.185

ㅎㅎ 제 블로그는 안드로이드 고수분들이 잘 안 보셔서 ㅎㅎ

여기에 올리면 고수분들께서 좀 지적이나 덧붙여주시지 않을까 해서 올려봅니다 ㅎㅎ

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 교육 홍보 및 광고는 "교육 및 세미나 홍보" 게시판을 이용해 ... 관리자 2010-07-15 106987
» 안드로이드 OS 개발에 대한 잡설.. [4] 천동이 2018-09-27 160
1881 Firefly RK3399 안드로이드 8.1(하드웨어 NN API 지원) SD... 천동이 2018-09-21 107
1880 요즘같은 세상에는 일등 기술력만 있으면 살아 남는것 같읍니다... 솜사탕천사 2018-08-26 167
1879 [SDL2] Android SDL2로의 발전과 OpenGL or OpenGL ES... [2] 고도리 2018-07-29 238
1878 Khadas Edge(RK3399 보드) 샘플 무상 지원 행사를 하는 것 같... file [2] 천동이 2018-07-27 236
1877 [SDL2] SDL2로의 발전과 OpenGL or OpenGL ES(1) [2] 고도리 2018-07-25 153
1876 [언어] 근래 취미(?)로 Go 언어를 보고 있습니다. [5] 고도리 2018-07-25 226
1875 QT 개발 말아먹었나봐요... [5] 김민욱 2018-07-16 341
1874 [같이 애기해 봐요] 요즘 IT 개발로 돈벌이하는 큰 흐름 ..... [3] 솜사탕천사 2018-06-29 310
1873 Pine64에서 드디어 RK3399 SBC가 출시 되었네요. [1] 천동이 2018-06-11 361
1872 이솝 사이트 개편 작업은 언제쯤 이루어지나요 ? [1] 솜사탕천사 2018-06-04 182
1871 라즈베리파이에 아마존 알렉사를 올려봤습니다 ^^ [1] 천동이 2018-05-28 281
1870 Ubuntu 18.04 소식 [6] 이제현 2018-05-02 616
1869 샤오미 AI 스피커를 분해해봤습니다. [7] 천동이 2018-04-10 408
1868 설문조사 - 오프라인 강의한다면 참여 의사가 있는 강의 투표에... 천동이 2018-04-09 112
1867 DSRC 대역에서 Ping6 관련 질문 [15] 김증일 2018-03-20 250
1866 이메일 인증 처리 문제. [2] 유형목 2018-03-19 102
1865 [RK3399] Odroid-N1 소스가 링크에 보이네요. [2] 고도리 2018-03-19 230
1864 [RK3399] FireFly 169불 주고 샀어요. 근데 [1] 김민욱 2018-03-12 220
1863 [서버이전] 우분투 10.04 ->16.04로 OS 교체 및 가상화처리... [1] 유형목 2018-03-12 203

사용자 로그인