모듈 코딩시 메모리 주소를 얻어와 값을 확인하고 싶습니다 ㅠ 고수님들 많은 관심 부탁드립니다

모듈에 관해 공부를 하고 있는 학생입니다.

모듈을 공부하던중 물리적 메모리 주소를 API를 써서 가상 메모리 주소로 매핑하여 가져 오는것 까지는 했는데 문제는 가상 메모리 주소에 있는 값을 읽을려고하면 세그먼트 오류가 발생 하내요 ㅠ

무엇이 문제인지 잘 모르겠습니다.

고수님들 많은 조언 부탁드립니다.
밑에는 소스 코드 입니다.

#include <linux/module.h>
#include <linux/kernel.h>
#include <asm/page.h>
#include <asm/io.h>

int init_module()
{
unsigned int* vir1;
//unsigned long* vir3;
volatile unsigned int* vir2 = 0;

vir1 = (unsigned int *)phys_to_virt(0xFFE00320);
printk(&quot;address 3 %p\n&quot;, vir1);

vir2 = (volatile unsigned int *)virt_to_phys(vir1);

printk(&quot;address 5 %p \n&quot;, vir2);

printk(&quot; ddd   %ld    \n&quot;, (long unsigned int) (*vir1));
//iounmap(vir);
	
return 0;

}

void cleanup_module(){
printk("out\n");
}

여긴 개발자의 비중이 좀 적어서…

지금은 잠시 서버 교체중이지만 나중에 kldp.org 이런 곳에 가보시는게 더 도움되실것같습니다.