기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하십니까?
안드로이드관련 프로젝트를 하던 중에 궁금한 점이 있어서 이렇게 질문드립니다.
일단 상황은
적외선 센서 PCB를 제작한 후 거기서 나온 데이터를 안드로이드에서 받아서 써야 하는 상황입니다.
PCB에서 15x7 배열 데이터를 전달하는데 일단 그것을 영상처리 해야 합니다.
150x70으로 확장해서 greyscale 만든 후 이진화해서 하얀 부분 좌표 결정까지 입니다.
참고로 적외선 센서 PCB는 터치인식을 위해 LCD 뒷면에 부착됩니다.
그런데 검색을 해보니 안드로이드는 리눅스와 달라서
디바이스 드라이버 / 어플리케이션이 아니고
디바이스 드라이버 / HAL / Java 어플리케이션의 형태를 하고 있더군요.
우선 이 HAL이란 것을 어떻게 만들어야 하는 지를 모르겠습니다.
디바이스 드라이버에 전달된 15x7 배열 데이터를 단순히 그냥 java 어플리케이션으로 전달만 해주는지
아니면 HAL에서 추가적인 작업을 할 수 있는 것인지가 궁금합니다.
특히 HAL에서 영상처리를 할 수 있는지 (lib를 써서) 궁금합니다.
driver에서 데이터를 추출한후 HAL단에서 영상 처리를 한후 java단으로 넘겨주는게 나을겁니다.
jvm위에서 돌아가는 java단보다 커널 위에서 바로 돌아가는 so(shared library)가 30배 정도 빠른걸로 알고 있습니다.
linux kernel driver 로 부터 data를 가져오고 영상 처리 하는 부분을 JNI 로 만들어서 java 단과 연결하면 될 것 처럼 보이네요.