[리눅스] 라즈베리 파이 실습을 위한 준비물
By Guillermo Austin Kim | 2019년 12월 23일 |
라즈베리 파이를 설치하기에 앞서 다음과 같은 준비물이 필요합니다.라즈베리 파이USB 연결형 키보드HDMI 케이블충전기마이크로 SD 카드 제가 썼던 라즈베리 파이와 주변 장치는 그림 2.1과 같습니다. 그림 라즈베리 파이와 주변 장치들 각 목록은 다음과 같습니다.① 라즈베리 파이(이 책에서는 Raspberry Pi 3 Model B를 사용)② USB 연결형 키보드 ③ 마우스 ④ 마이크로 SD 카드 리더⑤ 마이크로 SD 카드⑥ 라즈베리 파이 전원 케이블 라즈베리 파이와 전원 케이블 외에는 대부분 이미 가지고 있던 기기를 활용했습니다.
[라즈베리파이] 동기화 - 스핀락(spinlock): spin_unlock_irq() 소개
By Guillermo Austin Kim | 2019년 1월 2일 |
이번에는 spin_lock_irq() 함수와 같이 쓰는 spin_unlock_irq() 함수를 점검합시다. spin_unlock_irq() 함수는 spin_unlock() 함수에서 스핀락 기능을 그대로 물려 받았습니다. 대신 스핀락을 해제 한 후 인터럽트를 다시 활성화하고 Preemption을 실행하는 동작만이 추가된 것입니다. spin_unlock_irq() 함수 동작을 3단계로 나눠서 점검합시다 1단계: 스핀락 해제스핀락을 획득하면 스핀락 인스턴스의 next를 +1만큼 증감합니다. 이와 마찬가지로 owner도 +1만큼 증감시키는 동작을 수행합니다. spin_unlock() 함수와 같은 동작입니다. 2단계: 인터럽트 활성화spin_lock_irq() 함수를 실행할 때 인터럽트를 비활성화했습니다. 이
[라즈베리파이] 커널 정보 확인 - Trace32
By Guillermo Austin Kim | 2018년 2월 12일 |
아래 Trace32 스크립트를 실행하면 라즈베리파이 커널 vmlinux를 Trace32에 올릴 수 있습니다.sys.cpu cortexa7sys.u d.load.elf vmlinux 라즈베리파이 리눅스 커널 정보를 확인하겠습니다.각 섹션 정보는 아래와 같습니다.y.l.sec_____address________|path\section___________________________|acc|init|physicalP:80008000--8000826B|\\vmlinux\.head.text |R-X|L- |P:80100000--80707797|\\vmlinux\.text |R-X|L- |P:80707798--807077B3|\\vmlin
[라즈베리파이] 워크큐(Workqueue) - ftrace 동작 확인
By Guillermo Austin Kim | 2018년 9월 17일 |
이번에는 라즈베리파이에서 워크가 실제 어떻게 동작하는지 ftrace로 확인하겠습니다. 이를 위해 다음과 같이 ftrace 로그를 설정할 필요가 있습니다.#!/bin/sh echo 0 > /sys/kernel/debug/tracing/tracing_onsleep 1echo "tracing_off" echo 0 > /sys/kernel/debug/tracing/events/enablesleep 1echo "events disabled" echo secondary_start_kernel > /sys/kernel/debug/tracing/set_ftrace_filtersleep 1echo "set_ftrace_filter init" echo function > /sys/kern