기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요.

Android 플랫폼에 간단한 디바이스를 붙여보려고 노력중인 대학원생입니다.

Android 프레임워크에 대해서 공부하고 있습니다.


Android 프레임워크에 HAL이 왜 필요한지 잘 이해가 되질 않습니다.

만약 리눅스에서 잘 동작하는 디바이스 드라이버가 있다면

이 디바이스 드라이버를 Android 플랫폼에 옮기고,

디바이스 드라이버를를 Java 언어로도 접근 할 수 있도록

JNI를 이용하여 연결만 해주면될거 같은데...

만약 추가하는 장치를 위한 Android 서비스를 생성한다고

해도 서비스도 JNI을 이용하여 디바이스에 충분히 접근

가능할거 같습니다.


안드로이드용 디바이스 드라이버는

리눅스드라이버와 다른점이 있나요?


HAL의 의마가 Hardware Abstract Layer인데

그냥 디바이스 드라이버마다 다른 인터페이스를

추상화시켜 통합만 해주는 역활을 하는건가요?


그런데 또 잘 이해가 되지 않는점은

HAL은 공개되지 않는걸로 알고 있는데

단순히 인터페이스 통합을 위한 Layer를

굳이 비공개로 유지해야하나?하는 생각이 듭니다.

인터페이스 통합말고도 다른 기능이 있을거같은데..


잘 이해가 되질 않습니다.

감사합니다. 


고도리

2015.10.03 02:28:40
*.200.239.210

Android HAL이 있는 이유는 표준화 때문입니다.


리눅스 디바이스 드라이버가 있어도, 예를 들어..........카메라의 경우 Qualcomm과 삼성 Exynos 시리즈는 

카메라를 다루는 방법이 확연히 다릅니다(v4l2란 스택을 쓰지만, 드라이버를 다루는 방식이 다릅니다).


하지만, android app은 표준화된 방식으로 Qualcomm이건 Exynos건 접근을 해야합니다.

해서 app이 하드웨어에 공통된 표준방식으로 접근하기 위해서는 중간에 표준을 맞춰서 리눅스를 제어해 주는 완충코드가 필요한 겁니다.

Supsupi

2015.10.08 18:34:44
*.234.67.230

답글 감사드립니다.


그렇다면 Android는 App에 제공하는 표준 인터페이스만 정의하고

각 디바이스 밴더들이 표준 인터페이스에 맞게 HAL을 제작한다.

그리고 디바이스를 어떻게 제어하는지를 감추기위해서

라이브러리화 하여 Android에 넣는다

이게 맞을까요?


맞다면 HAL이 app에 제공해야하는 정의된? 인터페이스를

어디서 확인할 수 있을까요?


감사합니다.



조이재즈

2015.10.08 18:40:59
*.241.151.50

구현하고자 하는 HAL 의 종류에 따라 구현해야할 인터페이스는 각각 다르겠지요.


hardware/libhardware/modules

hardware/libhardware_legacy


두 폴더의 내용을 확인해보시기 바랍니다.

Supsupi

2015.10.08 19:48:24
*.234.67.230

답글 감사드립니다.!!

List of Articles
번호 제목 글쓴이 날짜sort 조회 수
6248 IEEE1394 포트에 외장하드 연결해서 리눅스부팅<==완료 [3] 오주열 2006-07-28 1187
6247 3차보드구매하고 싶습니다. <= 완료 [1] 마승환 2006-07-29 1034
6246 질문) 2440 의watchdog 사용에 관해서 [4] 김형기 2006-07-30 1188
6245 [질문] 이번에는 su 관련 질문입니다. 이재훈 2006-07-31 1307
6244 ==>이렇게 하시면 됩니다. [1] 고현철 2006-07-31 1237
6243 aesop 2440과 smdk2440 질문입니다. <= 완료 [4] 안정섭 2006-08-02 2145
6242 2차 보드에서 LCD 출력을 일반 그래픽 카드의 디지털 출력으로 구... [7] 조준동 2006-08-02 1169
6241 CE 부터로더 다운로드 질문 [3] 안정섭 2006-08-03 1291
6240 안녕하세요 zd1211 컴파일까지 완료 하였습니다만 <==완료 [3] 윤현승 2006-08-05 1067
6239 [질문] Email 전송 애플리케이션을 보다가... [4] 이재훈 2006-08-11 857
6238 이솦 uboot에서 128 nand 지원? [4] 김대영 2006-08-11 1219
6237 SMDK2440A 타겟보드에서 ping 사용하기...ㅠㅠ <= 133에 추... [2] 류민희 2006-08-11 1512
6236 SMDK2440A 보드 ping 문제에 관한 질문 두번째 <= 132번과 ... [5] 류민희 2006-08-12 1363
6235 u-boot 에서 usb 메모리스틱 읽기...<==[완료!] [3] 이율삼 2006-08-12 1856
6234 [고현철님] SMDK2440A 보드 ping 문제에 관한 질문 세번째 &lt... [4] 류민희 2006-08-12 1341
6233 [완료] 디바이스 드라이버에서 플래쉬 메모리에 접근하는법 [2] 오주열 2006-08-14 1299
6232 [질문] 이솝보드에 삼성의 DNW(USB/Sireal 다운로더)사용하려면..? [6] 박재흥 2006-08-16 2760
6231 [질문] u-boot 에서 USB OHCI의 지원 ? [<= 완료] [2] 김정호 2006-08-16 1210
6230 mmc 사용중 질문입니다 <==완료 [1] 박현진 2006-08-17 1285
6229 2440 nandboot 관련 <== 완료 [6] 전병환 2006-08-18 1245

사용자 로그인