안녕하세요!
리눅스 PCI Device Driver를 개발을 시작했습니다.
궁금한것은 pci_get_config_dword(...)이런 함수로
BASE ADDRESS 0, BASE ADDRESS 1의 두개 BASE ADDRESS를
획득했습니다.
궁금한것은 이 BASE ADDRESS에 data를 read/write하기 위해
물리주소가 필요하다고 해서요...
pci_get_config_dword()함수로 획득한 ADDRESS를 직접사용
할 수가 없다고 합니다. 물리주소를 알 수 있는 방법은
없을까요? 제가 질문을 잘 했는지 모르겠습니다.
=================================================================
I/O region이라면 in, out 시리즈의 함수(inb, inw, inl, outb, outw, outl)를 이용하면 됩니다.
Memory region이라면 ioremap을 하고 read/write 시리즈의 함수(readb, readw, readl, writeb, writew, wirtel)를 이용하는 것 같습니다.
자세한 사용법은 kernel 소스의 driver 아래에 있는 소스중에 pci를 사용하는 것들 아무거나 열어서 살펴보시면 좋겠습니다.
버젼 2.2.X kernel에서는 ioremap을 찾아보기 힘들었던 것으로 기억하는데...
오늘은 PCI 버스의 날인 듯 싶네요..쿨럭..
=================================================================
윗분이 잘 말씀해주셨듯이..
리소스가 뭐냐에 따라서 틀립니다.
아이오리소스라면 그냥 쓰면 되고, 메모리라면 리멥해야지요.
그런데 메모리리소스가 더 좋다고(?)하는것같더군요.
아님 말구요 -_-
ps.
한글만 쓰기 참 힘드네요ㅠ
리눅스 PCI Device Driver를 개발을 시작했습니다.
궁금한것은 pci_get_config_dword(...)이런 함수로
BASE ADDRESS 0, BASE ADDRESS 1의 두개 BASE ADDRESS를
획득했습니다.
궁금한것은 이 BASE ADDRESS에 data를 read/write하기 위해
물리주소가 필요하다고 해서요...
pci_get_config_dword()함수로 획득한 ADDRESS를 직접사용
할 수가 없다고 합니다. 물리주소를 알 수 있는 방법은
없을까요? 제가 질문을 잘 했는지 모르겠습니다.
=================================================================
I/O region이라면 in, out 시리즈의 함수(inb, inw, inl, outb, outw, outl)를 이용하면 됩니다.
Memory region이라면 ioremap을 하고 read/write 시리즈의 함수(readb, readw, readl, writeb, writew, wirtel)를 이용하는 것 같습니다.
자세한 사용법은 kernel 소스의 driver 아래에 있는 소스중에 pci를 사용하는 것들 아무거나 열어서 살펴보시면 좋겠습니다.
버젼 2.2.X kernel에서는 ioremap을 찾아보기 힘들었던 것으로 기억하는데...
오늘은 PCI 버스의 날인 듯 싶네요..쿨럭..
=================================================================
윗분이 잘 말씀해주셨듯이..
리소스가 뭐냐에 따라서 틀립니다.
아이오리소스라면 그냥 쓰면 되고, 메모리라면 리멥해야지요.
그런데 메모리리소스가 더 좋다고(?)하는것같더군요.
아님 말구요 -_-
ps.
한글만 쓰기 참 힘드네요ㅠ
'QnA' 카테고리의 다른 글
[Q/A] volitile 포인터에 대해서 질문입니다. (0) | 2009.06.23 |
---|---|
[Q/A] Address decoding (0) | 2009.06.22 |
[답글] PXA255의 Memory Address에 대해서... (0) | 2009.06.17 |
__init(), __initfunc() (0) | 2009.06.09 |
포팅순서도(?) 비스 므리한 방법을 알려주세요 (0) | 2009.06.08 |
WRITTEN BY
- RootFriend
개인적으로... 나쁜 기억력에 도움되라고 만들게되었습니다.
,