기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요
간단한 IR 센서를 안드로이드에 포팅해보고 싶은 마음이 있어 도전하려 합니다
jni로 직접 통신은 몇 번 해보아서 이번에는 서비스와 직접 연결을 시켜보고 싶습니다
안드로이드 소스 구조를 뚫어져라 보니 sensors.cpp 쪽이랑 driver 제작만 하면 될 것 같더라구요
어떻게 하면 되겠다! 하는건 이제 알겠는데 막상 실제 적용하려니 전체적인 절차를 잘 모르겠습니다
driver는 kernel에 포함시켜 같이 플래싱하거나 대충 정보를 찾아보면 안드로이드에 어떻게 넣을 수 있을지 알 수 있을꺼 같은데요
문제는 sensors.cpp 입니다
얘도 어떤 녀석은 device/vendor name/device name/ 에 있고
어떤 녀석은 hardware/vendor name/device name/ 에 있는 놈도 있더라구요
그리고 build에 필요해보이는 mk 파일도 한두개가 아니라 감이 안 잡혀 거품속을 휘젓는 느낌입니다
게다가 어떻게해서 작성을 잘 했다고 치면 안드로이드 소스 풀 빌드를 해서 롬을 바꿔야 하는건지요?
구글링을 하고 싶어도 이런 부분은 키워드를 뭐라고 해야할지 모르겠네요
이런저런 많은 조언 부탁드립니다
자문자답입니다만 어차피 보드 전체의 센서를 포팅하지는 않을테니 제가 sensors.cpp의 모든 것을 작성하는데는 무리가 있을꺼 같구요 그렇다면 다행스럽게도 수많은 mk 파일을 만져줄 필요는 없어보이네요(만약 lge나 samsung을 들어가면 모를까 ㅎㅎ)
sensors.cpp (sensor hub)에서 - 각 센서 코드 객체를 생성할 때 호출하는 오브젝트를 구현하는 방식으로 하는게 나을꺼 같네요
예를 들면
device/htc/flounder/sensor_hub/libsensors/
sensors.cpp 에서 생성하는 CwMcuSensor 객체인
CwMcuSensor.cpp 처럼 추가로 저도 뭔가 example_IR_Sensor.cpp를 만들고
Android.mk 정도에 제가 포팅하고 싶은 IR 센서의 cpp파일을 추가해 주면 알아서 컴파일이 될꺼 같네요(아마도)