도와주세요!!
글 수 15,339
2007.02.08 14:36:22 (*.193.194.20)
6678
Embedded Linux Programming에 대해 라는 동영상을 보았는데요.
통신포트 여러개를 사용하게 할 경우 제작 프로그램을 하나안에서
다 처리하지 말고 한개씩 한개씩 여러개의 프로그램으로 나눠서
하는게 좋다. 라고 얘기를 하셔서 그러는데요. 제가 초보라서 좀 궁금한 것이 있습니다.
위의 경우 하나의 통신포트가 다른쪽하고 무관하게 동작되면 상관이 없는데
만약 각각의 통신포트로 받아오는 데이타를 상호 연관성있게 동작되는
로직구조라면은 각각의 프로그램간의 데이타를 어떻게 공유해야 하는지요?
공유메모리를 이용한다거나 파일을 이용하는 법은 들어본거 같은데
제가 사용을 못해서 그런지 데이타를 주고 받고 하는데 시간이 심하게 많이 걸려서
하나의 프로그램안에서 멀티태스킹으로 해야하는것이 아닌가라고 생각하고 있는데요
조언 좀 부탁 드립니다.
통신포트 여러개를 사용하게 할 경우 제작 프로그램을 하나안에서
다 처리하지 말고 한개씩 한개씩 여러개의 프로그램으로 나눠서
하는게 좋다. 라고 얘기를 하셔서 그러는데요. 제가 초보라서 좀 궁금한 것이 있습니다.
위의 경우 하나의 통신포트가 다른쪽하고 무관하게 동작되면 상관이 없는데
만약 각각의 통신포트로 받아오는 데이타를 상호 연관성있게 동작되는
로직구조라면은 각각의 프로그램간의 데이타를 어떻게 공유해야 하는지요?
공유메모리를 이용한다거나 파일을 이용하는 법은 들어본거 같은데
제가 사용을 못해서 그런지 데이타를 주고 받고 하는데 시간이 심하게 많이 걸려서
하나의 프로그램안에서 멀티태스킹으로 해야하는것이 아닌가라고 생각하고 있는데요
조언 좀 부탁 드립니다.
문제는 데이타가 변했을때 저쪽에 알리는게 문제죠..(이벤트 필요)
그래서 UDS 를 이용하여 다른 프로그램에 알리는 방식을 씁니다. 역시나 poll() 함수가 필수가 되죠
즉 이벤트의 통지는 UDS 로 하고 데이타는 공유메모리를 한다면 CPU 자원을 많이 사용하지 않아도 되죠. 디버깅시에는 텔넷창을 여러게 띠워 디버깅 해야 합니다. 각 프로그램마다 ^^
UDS 는 프로그램간의 소켓통신을 말합니다.