콘텐츠로 바로가기

now0930 일지

이런저런 생각

  • 홈
  • 비공개
  • 강좌
  • 잔여 작업 조회
  • 위치

[태그:] 임베디드 리눅스

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 실습 계속 읽기

발행일 2021-07-06
카테고리 생활코딩 태그 linux, raspberry, softirq, 임베디드 리눅스

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 계속 읽기

발행일 2021-06-26
카테고리 생활코딩 태그 IRQ thread, linux, raspberry, 임베디드 리눅스

5장 인터럽트 실습2

msi가 xhci 드라이버를 잘못 만들었는지 인터럽트를 너무 많이 발생시킨다. 왼쪽부터 36: 인터럽트 번호, 40080: cpu0 발생 횟수, 0: cpu 1, 2, 3 발생횟수, mmc1, mmc0 인터럽트 이름 정도? 모든 인터럽트가 충분하게 많이 일어난다. pi@raspberrypi:~ $ cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 … 36: 40080 0 0 0 GICv2 158 Level mmc1, mmc0 37: 11075 0…… 5장 인터럽트 실습2 계속 읽기

발행일 2021-06-18
카테고리 생활코딩 태그 linux, raspberry, request_irq, 임베디드 리눅스

5장 인터럽트, p345 실습

책이 dwc_otg_driver.c의 request_irq로 인터럽트를 등록을 설명했다. 그러나, 라즈베리 파이4가 dwc-otg_driver.c 함수를 사용하지 않는다. 있긴 있는데, 4로 오면서 의도적으로 사용하지 않는 듯 하다. 아무리 찾아봐도 request_irq를 dump_stack 메세지에서 찾을 수 없다. 내가 본 메세지는 다음과 같다. Jun 14 07:38:24 raspberrypi kernel: [ 0.547246] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0000001000000890 Jun 14 07:38:24…… 5장 인터럽트, p345 실습 계속 읽기

발행일 2021-06-14
카테고리 생활코딩 태그 linux, raspberry, request_irq, 임베디드 리눅스

linux kernel 중 container_of 이해와 사용

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

발행일 2021-05-23
카테고리 생활코딩 태그 container_of, linux, raspberry, 임베디드 리눅스

글 페이지 매김

다음 글 페이지 1 페이지 2 페이지 3 이전 글
2025 6월
일 월 화 수 목 금 토
1234567
891011121314
15161718192021
22232425262728
2930  
5월    

최신 글

  • 자기 회로 정리 2025-06-22
  • common mode, differential mode 2025-05-11
  • signal conditioner, 신호 처리기 2025-05-10
  • strain gage 2025-05-09
  • 칼만 필터 2025-05-01

카테고리

  • 산업계측제어기술사
  • 삶 자국
    • 책과 영화
    • 투자
  • 생활코딩
    • LEGO
    • ROS
    • tensorflow
  • 전기기사
  • 피아노 악보

메타

  • 로그인
  • 엔트리 피드
  • 댓글 피드
  • WordPress.org

페이지

  • 소개
  • 잔여 작업 조회
    • 작업 추가
    • 작업의 사진 조회
    • 작업 수정 페이지
  • 사진
    • GPS 입력된 사진
    • 사진 조회
  • 위치
    • 하기 휴가 방문지
    • 해외 출장

태그

android bash c docker driver FSM gps java kernel LEGO linux mysql network program opcua open62541 plc programmers python raspberry reinforcementLearning ros state space system program tensorflow transfer function 경제 미국 민수 삼국지 세계사 실기 에너지 역사 유전자 일본 임베디드 리눅스 전기기사 조선 중국 채윤 코딩 테스트 통계 한국사 한국어

팔로우하세요

  • Facebook
now0930 일지
WordPress로 제작.