다음은 QEMU 가상환경에서 커스텀 PCI 장치를 직접 만들고, 그 장치를 제어하는 리눅스 커널 드라이버와 유저 애플리케이션을 작성하는 학습 프로젝트이다.
https://github.com/joeteo/pci-vip
GitHub - joeteo/pci-vip
Contribute to joeteo/pci-vip development by creating an account on GitHub.
github.com
2026.01.18 - [임베디드 개발/임베디드 리눅스] - Linux 호스트에서 QEMU 빌드
Linux 호스트에서 QEMU 빌드
대부분 리눅스 배포판 저장소에는 이미 QEMU 바이너리 패키지를 제공하기 때문에 sudo apt install qemu-system-arm 등으로 간단히 설치할 수 있다. 단, 저장소 버전보다 최신 버전을 사용하고 싶거나 커스
eteo.tistory.com
2026.01.18 - [임베디드 개발/임베디드 리눅스] - QEMU 기반 커스텀 PCIe 장치 에뮬레이션 - (1)
QEMU 기반 커스텀 PCIe 장치 에뮬레이션 - (1)
x86 리눅스 호스트 PC AArch32(ARMv7) 타겟을 대상으로 QEMU 기반 가상 개발환경을 만들고 커스텀 PCI 장치를 에뮬레이션하는 방법에 대해 정리한다. 준비물ARM 머신 에뮬레이션을 위한 QEMU크로스 컴파일
eteo.tistory.com
2026.01.26 - [임베디드 개발/임베디드 리눅스] - QEMU 기반 커스텀 PCIe 장치 에뮬레이션 - (2)
QEMU 기반 커스텀 PCIe 장치 에뮬레이션 - (2)
qemu 소스 설치 경로의 miscellaneous를 모아둔 hw/misc 경로로 이동하면 Custom PCI 장치를 만들 때 참고할만한 소스들이 있다. $ cd $ ls qemu/hw/misc/pci-testdev.c$ ls qemu/hw/misc/edu.c pci-testdev.c는 간단히 게스트 OS
eteo.tistory.com
2026.01.29 - [임베디드 개발/임베디드 리눅스] - QEMU 기반 커스텀 PCIe 장치 에뮬레이션 - (3)
QEMU 기반 커스텀 PCIe 장치 에뮬레이션 - (3)
커스텀 PCI 장치 설계QEMU에서 커스텀 디바이스를 에뮬레이션하려면 QOM(QEMU Object Model) 프레임워크에 맞춰 소스코드를 작성해야 한다. 처음부터 모든 구조를 직접 구현할 필요는 없고, qemu/hw/misc 안
eteo.tistory.com
2026.02.08 - [임베디드 개발/임베디드 리눅스] - LDD ] PCIe 디바이스 드라이버 작성하기 - Char with ioctl & mmap (1/2)
LDD ] PCIe 디바이스 드라이버 작성하기 - Char with ioctl & mmap (1/2)
이전 글에서 작성한 가상의 커스텀 PCI 장치를 다룰 디바이스 드라이버를 작성해본다. 설계 요건은 이렇다.캐릭터 디바이스(Character Device) 드라이버 형태로 구현한다.여러 장치를 동시에 지원할
eteo.tistory.com
2026.02.08 - [임베디드 개발/임베디드 리눅스] - LDD ] PCIe 디바이스 드라이버 작성하기 - Char with ioctl & mmap (2/2)
LDD ] PCIe 디바이스 드라이버 작성하기 - Char with ioctl & mmap (2/2)
테스트파일 준비테스트용 이미지 파일은 GPT한테 컬러풀한 코딩하는 펭귄 이미지 그려달라고 해서 준비했다. RAW 파일 생성과 뷰어로는 ffmpeg를 사용한다. # ffmpeg 설치$ sudo apt update && sudo apt install
eteo.tistory.com
2026.03.22 - [임베디드 개발/임베디드 리눅스] - QEMU 기반 커스텀 PCIe 장치 에뮬레이션 - (4) DMA + MSI
QEMU 기반 커스텀 PCIe 장치 에뮬레이션 - (4) DMA + MSI
이전 글에서 작성한 커스텀 PCIe 장치의 기본 구조와 기능은 유지한채로, 데이터 전송 방식과 인터럽트 방식을 변경하였다.데이터 전송 : 장치의 RAM을 BAR1 영역에 할당하던 방식에서 DMA(Direct Memory
eteo.tistory.com
2026.03.30 - [임베디드 개발/임베디드 리눅스] - LDD ] PCIe 디바이스 드라이버와 유저앱 작성하기 - DMA & MSI
LDD ] PCIe 디바이스 드라이버와 유저앱 작성하기 - DMA & MSI
이번엔 지난 글에서 다룬 PCI 장치를 제어하기 위한 드라이버와 유저 앱을 작성해 보겠다. 편의상 MMIO + INTx 방식의 장치를 v1, DMA + MSI 방식의 장치를 v2로 구분한다. 드라이버와 유저 앱을 설계할
eteo.tistory.com
'임베디드 개발 > 임베디드 리눅스' 카테고리의 다른 글
| LDD ] PCIe 디바이스 드라이버와 유저앱 작성하기 - DMA & MSI (0) | 2026.06.21 |
|---|---|
| QEMU 기반 커스텀 PCIe 장치 에뮬레이션 - (4) DMA + MSI (0) | 2026.06.14 |
| LDD ] PCIe 디바이스 드라이버 작성하기 - Char with ioctl & mmap (2/2) (0) | 2026.05.03 |
| LDD ] PCIe 디바이스 드라이버 작성하기 - Char with ioctl & mmap (1/2) (0) | 2026.04.26 |
| QEMU 기반 커스텀 PCIe 장치 에뮬레이션 - (3) (0) | 2026.04.19 |