ioremap 썸네일형 리스트형 linux kernel 의 memory mapping 함수 정리 vaddr* = __ioremap(paddr, size) : paddr 로 시작하는 size만큼의 address 를 PA에서 VA로 mapping 한다. mmu page table에 이 range가 등록된다. vaddr* = phys_to_virt(paddr) paddr* = virt_to_phys(vaddr) : 이미 mmu page table에 등록된 range에서 찾아서, paddr 과 vaddr을 변환해 준다. 등록안된 addr에 대해서는 fail 할 것이다. 더보기 mmap 을 이용한 process memory mapping 원문 : http://naito.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%A7%A4%ED%95%91memory-mapping 공부하면서 더 내용추가를 할 예정이다. 프로세스 메모리 매핑 대량의 데이터를 처리하는 하드웨어를 다루는 DD작성시 mmap은 필수적으로 구현해야.. app에서 dd로 hw를 제어할때 read,write,ioctl은 프로세스 메모리공간과 커널 메모리 공간사이의 메모리 전달과정이 수반되기 때문에 매우 비효율적이다. 고로 mmap을 이용해 직접 hw의 io주소 공간을 메모리 복사없이 직접적으로 사용할 수 있다. mmap함수는 메모리 주소를 이용해 파일에 접근하도록 하는 함수다. 그러나 디바이.. 더보기 이전 1 다음