도와주세요!!
글 수 15,339
2002.12.03 10:09:30 (*.178.141.103)
6675
안녕하세요..
device driver 만들기를 해보다가 보니..
ezboard.c 에 memory map 을 등록하는 부분이 있더군요.
여기서 질문을 드리자면,
1. ezboard.c에 memory map 을 등록할때,
//linux/arch/arm/mach-SA1100/ezboard.c 에서
static struct map_desc ezboard_io_desc[] __initdata = {
// virtual physical length domain r w c b
{ 0xe8000000, 0x00000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 0 }, // Flash
bank 0
{ 0xf0000000, 0x10000000, 0x00100000, DOMAIN_IO, 1, 1, 0, 0 }, //
Crystal Chip
{ 0xf0100000, 0x18000000, 0x00100000, DOMAIN_IO, 1, 1, 0, 0 }, // Sample
IO LAST_DESC
};
위와 같은 예에서 physical address 에 따른 virtual address 를 정하는 일정
한 규칙이 있는 지 궁금합니다.
2. kernel 소스 트리의 ezboard.c 에 위처럼 등록을 하지 않고 memory
mapping 된 i/o address 를 (gpio 가 아닌) 이용한 device driver를 작성 및
사용이 가능한지 궁금합니다.
3. 2번의 질문에서 만약 불가능하다면, 사용하고자하는 device driver 를 추가
할때마다, kernel의 ezboard.c를 수정해서 새로 커널을 컴파일하여 사용해야
하는지 궁금합니다.
답변에 미리 감사드립니다.
수고하세요.