tasklet을 배우고 실습하다 보니, 캐릭터 디바이스를 활용한 예제를 찾았다. 하다보니 강제로 character device를 등록, 열고, 닫고, 읽고, 쓰는 방법을 배웠다. 대충 이해한 다음 아래 동작을 구성했다. read: 앞쪽부터 읽음.write: 데이터가 있다면 뒤로 채워 넣음.인터럽트: gpio를 시물레이션하여 앞에서 한 글자씩 지움.버퍼 용량은 char 256개 사용. 전에 사용한 파일을 수정했고, 모듈을 만들기 위한 makefile을 그대로 사용했다. #include…… character device를 tasklet으로 테스트 계속 읽기
linux driver, softIrq 실습
인터럽트 후반부를 처리하는 soft irq를 배웠다. 자 이제 사용해 보자. 불행히도 요즘은 일반화된 tasklet을 사용하고 low level인 soft irq를 사용하지 않는다고 한다. 그래도 아래 사이트에서 강제로?? 사용할 수 있는 방법을 찾았다. 실습하고 쓰지 말아야 한다. 드라이버를 로딩 후 언로딩하면 시스템이 죽어버린다. https://embetronicx.com/tutorials/linux/device-drivers/softirq-in-linux-kernel/ 요점은 kernel에서 export_symbol로 raise_softirq, open_softiq 등 3개 함수를 내보내 사용할 수 있게한다. interrrupt.h에…… linux driver, softIrq 실습 계속 읽기
항공기 구조설계 실무
isbn: 9791162221396 우리나라에 항공기 설계 할만한 사람이 한 100명 정도 되지 않을까 생각한다. 그럼에도 저자가 책을 굳이 냈는지 궁금하다. 많이 팔려야 몇만권정도 팔릴려나. 자기 일에 자존심을 갖고, 과거 항공기 설계 경험을 널리 전하기 위해 책을 내지 않았나 한다. 책 내용이 너무 실무위주라 항공기 설계 할 사람이 아니면 절대 쓸 일이 없어 보인다. 이걸 이렇게 설계한다…… 항공기 구조설계 실무 계속 읽기
6장 IRQ thread ftrace log
코드를 분석한 내용을 자기의 것으로 만들기 위한 과정으로 실습이 중요합니다.p432. 디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 프로그램을 디버깅을 통해 배워야 된다 생각했는데, 저자역시 같은 생각이다. 따라서 왜 코드만 보고 이해할 수 없었는지 명확하다. 사람이 코드만 보고 어떻게 동작하는지 이해할 수 없다. <idle>-0 [000] d.h. 43045.401470: irq_handler_exit: irq=37 ret=handled <idle>-0 [000] d.h. 43045.417578: irq_handler_entry: irq=36…… 6장 IRQ thread ftrace log 계속 읽기
전기차 사용자가 전해주는 전기차 이야기
기존 글로 가득한 구성이 아니라, 기업이 제품을 설명하는 카다로그를 보는 기분이다. 시장에서 판매되는 다양한 제품을 분석했는데, 이를 보면 그림이 많다고 그 질이 떨어지지 않는다. 보는 사람이 쉽게 이해할 수 있도록 많이 노력했다.