"일반적인 메모리 맵I/O는 ioremap()함수로도 충분하지만 PCI디바이스의 경우에는 ioremap()함수만 사용하면 제어에 문제가 발생한다.
PCI 디바이스는 I/O로 할당되는 주소 공간이 non-prefetchable 영역과 prefetchable영역으로 나뉜다.
prefetchable영역은 ioremap()함수를 이용해 PCI의 물리주소를 커널의 가상 주소로 변환하면 되지만,
non-prefetchable 영역은 반드시 ioremap_nocache()함수를 이용해야 한다."
user application program에서 동적 memory할당을 위해서, malloc함수를 사용합니다.
그리고, 이 malloc 함수에 의해서 할당된 메모리는 memory 영역중에서 heap이라는 영역에 존재합니다.
kernel(driver포함)에서는 동적 memory할당을 위해서, kmalloc함수를 사용합니다.
이 때에도 이 kmalloc 함수에 의해서 할
제가 간단한 시리얼 에코 기능을 구현하려고 하는데요. 처음에 GPIO 설정하는 부분에 설명이 너무 좀 이상해서
질문 드려요.
To select any of the alternate
functions, the GPDR register must configure the GPIO to be an input.
이 문장을 읽으면 부가 기능을 설정하기 위해서는 GPIO를 input으로 하라고 나오잖아요.