2024/10 33

리눅스의 디렉터리 구조

리눅스의 디렉터리 구조    arch  arch 하부 디렉터리에는 아키텍처별로 동작하는 커널 코드가 있습니다.  Ÿ arm: 32비트 계열 ARM 아키텍처 코드가 있으며, 라즈비안도 이 하부 디렉터리 코드를 실행합니다.  Ÿ arm64: 64비트 계열 ARM 아키텍처 코드가 있습니다.  Ÿ x86: 폴더 이름과 같이 인텔 x86 아키텍처 코드가 있습니다. ​  /bin  ​일반 사용자 및 관리자가 사용하는 명령어의 실행파일이 배치되어있는 디렉터리입니다.  특히 시스템과 관련된 중요한 명령어를 포함하고 있습니다.    /dev  디파이스 파일이 배치되어있는 디렉터리입니다. 디바이스 파일이란 디스크나 키보드 등 하드웨어를 다루기 위한 특수파일입니다.​     drivers​  모든 시스템의 디바이스 드라이버..

Wenston

1.  WenstonWayland  - X11을 대체하는 새로운 window manager이며, 클라이언트 및 서버에서 사용할 수 있는 프로토콜, 라이브러리를 제공  - 윈도우 서버(컴포지터)와 클라이언트가 통신하기 위한 프로토콜 정의(wayland.xml)  - 윈도우 매니징, 컴포지팅 역할 수행  - wayland client: wayland 클라이언트 라이브러리를 이용하여 window를 생성(클라이언트 어플리케이션)  - wayland server: wayland 서버 라이브러리를 이용하여 window를 관리하고 화면에 출력 하는 서비스(weston 서버)  - Wayland protocol/compositor을 구현  - Shell plugin 지원(desktop-shell, xdg-shell) ..

Embedded Linux 디스플레이 출력 / DRI / DRM

1.  디스플레이 출력   디스플레이 패널은 CPU/GPU가 준비해 놓은 버퍼를 특정 주기마다 출력한다(AP를 사용하는 임베디드에서는 디스플레이 컨트롤러 H/W IP가 이역할을 담당한다). 이 출력되는 구간을 Vertical Blank(일반적인 패널에서 좌측 위 끝에서 우측아래 끝까지 그려지는 구간)라고 하며 이 주기가 패널의 fps를 결정 하게 된다. 또한 tearing을 방지하기 위해 이 구간 동안 AP의 디스플레이 컨트롤러 IP가 frame buffer에 접근하지 않도록 구현되어 있다.(Vsync, sync/fence 활용) *  tearing: framebuffer가 패널로 출력 되고 있는도중 CPU가 frambuffer 영역을 갱신하여 패널 화면에 다음 frame이 섞여 출력되어 화면이 깨져보이..