8051같은 MPU는 C/asm으로 프로그램 하잖아요.
C같은 경우 하드웨어 주소를 unsigned로 선언해서
사용고요.
리눅스에서도 가능 한가요? 아니면 윈도우라도..
리눅스나 윈도우 모두 API가 있겠지만, 해보고 싶네요.
직접 i/o를 제어 하려면 메모리나 i/o멥도 있어야 하는데
....
당연히 가능합니다. 커널 개발자는 아니지만 보통 하드웨어를 직접 제어하는 것은, user-level에서 할 수 없습니다. 즉 device driver를 만들어야 한다는 결론이 나오는데, 물론 I/O mapping을 알아야 합니다.
MMU를 쓰지 않는 uClinux라면, 대개 virtual address와 physical address가 같으므로 device driver를 만들지 않고 바로 user-level progarm에서 특정 주소를 접근할 수 있으므로 더 만들기가 쉬울 수도 있지만, uClinux는 x86용으로는 없습니다. 또 직접 physical address를 쓰는 것은 아주 나쁜 방법입니다.
네 둘다 가능합니다.
네 둘다 가능합니다.
당연히 가능합니다. 커널 개발자는 아니지만 보통 하드웨어를 직접 제어하는
당연히 가능합니다. 커널 개발자는 아니지만 보통 하드웨어를 직접 제어하는 것은, user-level에서 할 수 없습니다. 즉 device driver를 만들어야 한다는 결론이 나오는데, 물론 I/O mapping을 알아야 합니다.
MMU를 쓰지 않는 uClinux라면, 대개 virtual address와 physical address가 같으므로 device driver를 만들지 않고 바로 user-level progarm에서 특정 주소를 접근할 수 있으므로 더 만들기가 쉬울 수도 있지만, uClinux는 x86용으로는 없습니다. 또 직접 physical address를 쓰는 것은 아주 나쁜 방법입니다.
자세한 것은 커널 프로그래밍 쪽 게시판을 이용하시기 바랍니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기