도와주세요!!
글 수 15,339
2002.05.22 09:48:19 (*.186.48.184)
6831
님의 스위치 입력은 GPIO27~21 까지라고 하셨으니
디바이스 드라이버의 read 함수에서 이부분을 정확히 읽으셨나요??
밑의 답변중
read(dev, (char *) &data, 4); // 4 라는 숫자에 주의
라고 했는데 님의 소스는 아직도 2 길이를 읽고 있군요..
read 함수에서 길이는 바이트길이를 말하는 것이니 주의하시고
data 의 정의는 unsigned char data[4] 로 정의하세요..
그러면 이렇게 되겠죠..
read(dev, &data[0], 4);
님의 코딩으로 보아서는 data 를 int 형으로 선언하신것 같은데
리틀엔디언 이라면 문제가 없지만 그외에는 문제가 될수 있죠..
write 함수도 마찬가지 입니다. 데이타 길이를 맞추어 주세요
write(dev,buff,1);
이부분은 이지보드의 led를 그래도 사용하시는 걸로 생각됩니다.
: 그리고 또 한가지 궁금한 것이 있는데요... 테스트 할때 전송받은 데이터를
: ram 영역이 아닌 rom에다가 넣고 싶을때는 어떻게 해야 하나요... => rom 이라면 flash 이겠죠.. MTD 를 올려서 하시면 될것같군요..
아님 직접 플래시메모리를 제어하셔도 되구요..
: 그리고 내가 추가한 디바이스 드라이버를
: 자동으로 부팅시 시작시킬려면 어떤 방법으로 해야 되나요???
=> /etc/init.d/rc.local 의 스크립트화일에 추가하세요
디바이스 드라이버의 read 함수에서 이부분을 정확히 읽으셨나요??
밑의 답변중
read(dev, (char *) &data, 4); // 4 라는 숫자에 주의
라고 했는데 님의 소스는 아직도 2 길이를 읽고 있군요..
read 함수에서 길이는 바이트길이를 말하는 것이니 주의하시고
data 의 정의는 unsigned char data[4] 로 정의하세요..
그러면 이렇게 되겠죠..
read(dev, &data[0], 4);
님의 코딩으로 보아서는 data 를 int 형으로 선언하신것 같은데
리틀엔디언 이라면 문제가 없지만 그외에는 문제가 될수 있죠..
write 함수도 마찬가지 입니다. 데이타 길이를 맞추어 주세요
write(dev,buff,1);
이부분은 이지보드의 led를 그래도 사용하시는 걸로 생각됩니다.
: 그리고 또 한가지 궁금한 것이 있는데요... 테스트 할때 전송받은 데이터를
: ram 영역이 아닌 rom에다가 넣고 싶을때는 어떻게 해야 하나요... => rom 이라면 flash 이겠죠.. MTD 를 올려서 하시면 될것같군요..
아님 직접 플래시메모리를 제어하셔도 되구요..
: 그리고 내가 추가한 디바이스 드라이버를
: 자동으로 부팅시 시작시킬려면 어떤 방법으로 해야 되나요???
=> /etc/init.d/rc.local 의 스크립트화일에 추가하세요