안녕하세요 또 초보적인 질문을 올리게 되었네요.. ^^

디바이스 드라이버내에 메모리 양이 많아서 kmalloc을 사용하게 되었읍니다.


unsigned char *tempBuffer1;

tempBuffer1 = (unsigned char *) kmalloc(115200 * sizeof(unsigned char),
GFP_KERNEL); //내용은 unsigned char 형으로 115200 바이트 메모리 할당 하느
는것임

kfree(tempBuffer1);

이렇게 코드가 구현이 되어 있읍니다. 컴파일시 warnning 메세지가 뜨네요..



xxxxxx.c:805: warning: implicit declaration of function `kmalloc'
xxxxxx.c:888: warning: implicit declaration of function `kfree'
해당 라인을 찾아보면 위의 소스 코드가 있읍니다.
컴파일 옵셥은 다음과 같읍니다..

# Makefile for a basic kernel module

CROSS_COMPILE=arm-linux-gcc

# Modify this statement to your kernel directory
INCLUDEDIR = /home/Kernel/include

MODCFLAGS := -Wall -lm -O2 -DMODULE -D__KERNEL__ -I$(INCLUDEDIR)



hello_world.o: xxxxxx.c
$(CROSS_COMPILE) $(MODCFLAGS) -c xxxxxx.c



싫은 시스템이 자꾸 쭉쭉 뻣기에 아마두 커널쪽 특히 드바이스 드라이버 내에
메모리 관련 부분이 아닐까 하는 생각이 들어서 이렇게 문의드립니다..

아시는분은 답변좀 부탁드리겠읍니다.. ^^