linux에서 장치가 인식된 상태일 때 /dev/fpga
device에 접근해서 write를 하는 코드가 있는데 내부적으로 어떻게 작동되는지 궁금합니다.
소스코드는
fd = open("/dev/fpga",O_RDWR);
struct{ u32 addr; u32 data} fpga;
fpga.addr = 0x123456; fpga.data = 0x99;
write(fd,(char *)&fpga,4);
이런식으로 코드가 있다고하면
write했을 때 device에서 내부적으로 어떻게 동작하는지 궁금합니다.
보내는 데이터가 address와 data인데 책을 찾아보면 address에 data를 쓴다 이렇게만 나와있더라구요 ㅠ
좀더 세부적인 동작 내용이 궁금합니다.
관련 자료나, 서적도 알려주시면 감사하겠습니다.