OBD2

블랙박스, 후방 카메라 알아보다가 언젠가 한번 알아보리라 생각했던 OBD2. 급 관심이 생겨서 막 찾아보았다.

내 차에는 커넥터가 핸들 아래 패달 근처 왼쪽 쯤에 붙어 있는 듯 하다. 찾아봐야지..

16핀 짜리 커넥터를 쓰는데. 차량 관련 다양한 정보를 얻을 수 있다.

통신 방식은 여러가지가 있는데, VPW-PWM (SAE-J1850), CAN(ISO 15765, SAE-J2234), ISO (ISO 1941-2, ISO 14230-4) 이렇게 쓰인다고 한다.

전송 신호 방식은 자체는 PWM이나 UART, GPIO 통신과 비슷한 면이 많은 듯. 처리 IC가 많이들 있다고 한다.

https://en.wikipedia.org/wiki/On-board_diagnostics


OBD2 PID(parameter id)와 그 의미

https://en.wikipedia.org/wiki/OBD-II_PIDs

http://www.totalcardiagnostics.com/support/Knowledgebase/Article/View/21/0/genericmanufacturer-obd2-codes-and-their-meanings


얻을 수 있는 차량 정보가 엄청 많다.. 이거 다 알면 정비 공부 따로 안해도 되겠는데..;;

[Linux:Kernel] worker thread 의 work function 확인

https://lkml.org/lkml/2011/3/31/68 를 참고하면 된다.

첫번째 방법은 다음을 실행한 후

$ echo workqueue:workqueue_queue_work > /sys/kernel/debug/tracing/set_event

다음을 실행해서 trace 결과를 파일로 저장하는 것이다.

$ cat /sys/kernel/debug/tracing/trace_pipe > out.txt

파일로 저장하는 것은 android 에서 adb 를 이용한다면 다음과 같이 adb pull 로 /sys/kernel/debug/tracing/trace_pipe 를 가져오도록 해도 될 것이다.

adb pull /sys/kernel/debug/tracing/trace_pipe out.txt

두번째 방법은 해당 workqueue의 pid로 다음과 같이 얻어내는 것이다.

$ cat /proc/<pid>/stack