안녕하세요 용인보라 협력점입니다.
임베디드C로 바이올로이드에 청기백기 변형 게임을 넣어보았습니다.
uCOS-II V2.91을 포팅하였는데 uCOS-II는 멀티타스킹이 가능한 RTOS이므로 난수를 발생하여
5초마다 왼쪽, 오른쪽 또는 양쪽 손을 번갈아 들도록 하는 Task를 생성하였고,
난수 발생 Task에서 전달하는 명령을 처리하는 Task를 따로 두어 실제 바이올로이드를 동작 시키
도록 하였습니다.
또한 리모컨 처리 Task에서 리모컨의 키 값을 감지하여 500ms 이내에 오른손은 2번, 왼손은 4번,
양손은 3번이 입력되었는지 감지하여 정상적인 입력이면 정상 입력음을 그렇지 않으면
비정상 입력음을 내도록 하였습니다.
자체 제작이며 다이나믹셀을 제어하기 위한 라이브러리만 본사에서 제공해 주시는 것을 사용했습니다.
2010.09.03 11:42:42 *.152.250.233
실시간OS포팅 어렵나요 음 이런방법도 있네요 좀 어려울것 같은데 더 신뢰도 높은 청기백기가 될듯합니다 한번 배워보고 싶네요 :-)
2010.09.04 00:56:27 *.12.224.113
실시간 OS의 장점은 프로그램 구조가 간단해지고 busy waiting을 줄여 CPU 실행 효율을 높이는데 있습니다. uCOS는 책으로도 소개되어 있는 이름난 OS이며 포팅이 크게 어렵지 않습니다. 한번 도전해 보세요.
2010.09.04 13:45:26 *.152.250.233
그런데 선점방식에서 교착상태 관련 세마포어라는 개념이 있던데 내부적으로 워케 되는거입니깡 인터럽트는 어느정도 이해가 가는 중인데경험이 미천하게 말로만 듣다보니 당최 뭔 말인지 모르겠어용 ㅠㅠ 관련 책덜도 뜬구름잡는식설명이 많아서 좀 재미나게 설명요 ㅎㅎ
2010.09.05 07:47:35 *.12.224.113
리나엄마님께선 RTOS에 관심이 많으시군요^^
교착상태는 두 Task가 같은 자원을 두고 서로 무한히 경쟁하는 상태를 말합니다. 일반적으로 임베디드용 RTOS에서는 잘 발생하지 않고 대형 멀티타스팅 시스템에서 발생합니다. 대부분 커널이 세마포어를 획득할 때 timeout을 허용하기 때문에 교착상태를 피할 수 있습니다.
로그인 유지
실시간OS포팅 어렵나요 음 이런방법도 있네요 좀 어려울것 같은데 더 신뢰도 높은 청기백기가 될듯합니다 한번 배워보고 싶네요 :-)