디바이스 레지스터(Device Register)들에 대한 접근 방법은 Memory-Mapped I/OI/O Mapped I/O 가 있다.

Memory-Mapped I/O : 메모리의 일부 공간을 디바이스의 레지스터 공간으로 mapping 한다.

I/O mapped I/O: 메모리와 I/O 영역이 별도의 공간의 저장되어 Memory-Mapped I/O처럼 메모리 용량이 줄어드는 문제는 없어진다. 메모리에 대한 데이터 Access는 Load, Store 로 이뤄지며, I/O 입출력은 Input, Output 으로 이뤄진다.


Memory-Mapped I/O의 레지스터 접근 예)

violatile dword *PMM;
PMM = (volatile dword *)0x000111F3

I/O Mapped I/O 레지스터 접근 )

unsigned inb( unsigned port);
void outb(unsigned char byte, unsigned port);

 

'프로그래밍 > 리눅스 드라이버' 카테고리의 다른 글

쓰레드 동기화(synchronization)  (0) 2013.08.14
make 간단 설명  (0) 2013.08.14
GCC 옵션 간단하게 정리하기  (0) 2013.08.14
모듈 프로그래밍 #2  (0) 2013.08.14
모듈 프로그래밍 #1  (0) 2013.08.14

+ Recent posts