2024/11 46

Hot Plug / Cold Plug

Hot Plug & Cold Plug 리눅스에서는 동작 중에 필요한 디바이스 노트 파일을 "/dev" 디렉터리에 미리 정의한다.따라서 application은 별도의 절차를 거치지 않고도 미리 정의된 디바이스 노드 파일을 통해 디바이스 드라이버에 접근한다. 이 "/dev" 디렉터리는 시스템 운용 중 누군가 디바이스 노드 파일을 생성해줘야하는데 이러한 역할을 init process가 담당한다. ​inti process는 두가지 방법으로 디바이스 노드 파일을 생성한다. 첫번째 방법, 미리 정의된 디바이스 정보를 바탕으로 init 프로세스가 실행될 때 일괄적으로 노드파일을 생성하는 방법 두번째 방법, 시스템 동작 중 USB 포트에 장치가 삽입될때 이에 대한 이벤트 처리로 init process가 해당 장치의 디..

Embedded : : Linux 2024.11.12

PCIe 용어와 특징

1.  PCIe 특징    1.1  PCIE 특징  Serial bus   Point to point   Power management active state   자체 내부 공간이 있음  PCIE root complex ​​Pcie root complex(RC)라고 한다. CPU/메모리 서브 시스템을 I/O 연결할 수 있는 I/O계층 루트이다. ​​   1.2  RC와 EPRC 특징  Root complex는 1개 이상의 PCI Express port를 가질 수 있다.   PCI Express Port는 하나의 End point디바이스와 연결되거나, 브리지나 스위치를 통해 확장이 가능  EP 특징  PCIE 토폴로지 트리 구조의 맨 아래에 있음  Endpoint의 줄임말​​​​  2.  PCIe 용어  ..

PCIe states

1.  PCIe states    1.1  PCIe를 사용하는 디바이스 상태 PCIe를 사용하는 디바이스는 크게 3가지 상태가 있다.  D0 : 풀 가동 상태D1/D2 : 가동하고 있지만 일부의 패킷을 처리하지 않아도 된다D3 : 대기 상태     1.2  링크의 상태​링크의 상태도 따로 설정 가능하다. Initalization mode : PCIE link는 active와 pending으로 열거, PCIE 전원 관리 허용 안함Active mode : PCIE link is active 호스트와 디바이스에서 패킷이 교환됨Actice mode and Tx Idle mode : PCIE link는 active 하지만 link의 Tx 섹션은 Idle 상태 L0S_ENTR_LATENCY Inactive mode..

PCIe Interrupt

1. PCIe Interrupt PCIe는 RC를 통해 EP에서 발생하는 인터럽트를 전달하는데 다음 두가지 방법을 사용한다.    1.  Legacy PCI InterruptSystem host에서 제어함, Pci bus는 physical layer로 정의 되어있다. (INTA#, INTB#, INTC#, INTD#)    2.  Message Signal Interrupt (MSI)메모리에 바로 TLP를 쓰기 때문에 미리 메모리 위치를 결정하고 쓴다.      2.  Legacy Interrupt와  MSI 발생 프로세스 만약 PCI device#3이 인터럽트를 생성하는 디바이스라고 가정하고 device#1과 같은 IRQ를 공유한다면     2.1  Legacy Interrupt (pin based i..

PCIe Bus

PCIe BusPcie는 bus 구조로 이어져 있는데 시스템이 처음 켜질 때 시스템 호스트 프로세서에서 실행되는 구성 소프트웨어는 버스 0개의 존재만 인식한다. 소프트웨어가 바로 모든 버스를 인식하지 못한다는 뜻이다. Pcie가 initalize될 때 host bridge는 버스 넘버링(depth-first algo)을 사용하여 PCI 버스를 인식한다. 버스 트랜잭션은 ID 번호로 주소 지정 되도록 구성되는데, ID번호는 bus, device, function number로 구성된다.  Bus number : PCI bus tree에서 몇몇의 PCI bridge는 다른 PCI bridge를 포함한다. System SW는 DFS(depth-first) 알고리즘을 통해 모든 PCI 버스를 but tree n..

AIDL HAL 인터페이스

AIDL HAL 인터페이스 system.img의 경우와 같은 프레임워크 구성요소 및 vendor.img의 경우와 같은 하드웨어 구성요소 간의 커뮤니케이션하는 HAL은 안정적으로 AIDL을 사용해야한다.​하지만 ! 특정 HAL에서 다른 HAL로 커뮤니케이션하는 것과 같이 파티션 내에서 커뮤니케이션 할 때는 사용되는 IPC 매커니즘의 제한 사항이 없다. ​​  AIDL HAL 인터페이스 찾기​HAL용 AOSP 안정적 AIDL인터페이스는 HIDL인터페이스와 동일한 AIDL 폴더에 있다. hardware/interfacesframeworks/hardware/interfacessystem/hardware/interfaces ​ 확장 인터페이스는 vendor 또는 hardware의 다른 hardware/interf..

Android OS 2024.11.12

토폴로지(Topology)

물리적인 설계나 방법론의 특성 그 자체를 말한다. ​​어떠한 특정한 토폴로지는 노드 사이의 물리적, 논리적 연결 구성으로 결정되는데 이러한 토폴로지 연구는 그래프 이론을 사용한다. 노드 사이의 거리, 물리적 상호 연결, 전송 속도, 신호 종류는 두 망 사이에서 각기 다를 수 있지만 이러한 토폴로지는 비슷한 양상을 보인다.​출처: https://csdaniel.tistory.com/80 [IT 컴퓨터공학 자료실]

Device Tree 주소 지정 방법

디바이스의 주소를 디바이스 트리에 명시하기 위해 정해진 속성엔 3가지가 있다. 1) #address-cells (부모노드에서 지정)2) #size-cells (부모노드에서 지정)3) reg (자식노드에서 지정)이 속성들은 서로 연관관계를 가지고 있다. ​​"#address-cells"속성과 "#size-cells"속성은 reg속성 데이터에 대한 갯수 규칙을 지정한다. -> 몇개의 길이를 지정할 것인가 ? #size-cells-> 몇개의 주소를 지정할 것인가 ? #address-cells​​​reg속성은 다음과 같은 형식을 가진다.reg = 1 길이1 [주소2 길이2] [주소3 길이3] ... [주소n 길이n] >*주소와 길이는 하나의 묶음이 된다. - 보드의 길이를 제어하기 위해 하나의 주소일수도 있고 ..