임베디드 리눅스

생활코딩

linux driver, softIrq 실습

인터럽트 후반부를 처리하는 soft irq를 배웠다. 자 이제 사용해 보자. 불행히도 요즘은 일반화된 tasklet을 사용하고 low level인 soft irq를 사용하지 […]

생활코딩

6장 IRQ thread ftrace log

코드를 분석한 내용을 자기의 것으로 만들기 위한 과정으로 실습이 중요합니다. p432. 디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 프로그램을 디버깅을

생활코딩

5장 인터럽트, p345 실습

책이 dwc_otg_driver.c의 request_irq로 인터럽트를 등록을 설명했다. 그러나, 라즈베리 파이4가 dwc-otg_driver.c 함수를 사용하지 않는다. 있긴 있는데, 4로 오면서 의도적으로 사용하지 않는

생활코딩

linux kernel 중 container_of 이해와 사용

container_of를 사용하여 double linked list로 연결된 task_struct가 가진 다른 멤버에 접근할 수 있다. 자세한 원리는 모르겠지만, 컴파일러가 offset을 고정시키는데, 구조체를 미리 알고 있기때문에, 거꾸로 세어 나가는 원리인 듯 하다. 이것은 기술인가? 잔머리인가? 두 번 탐색하지 않아도 되기 때문에 많은 부분에서 사용된다 한다.

위로 스크롤