2012-12-21 3 views
1

운영체제가없는 마이크로 컨트롤러에서 직접 실행되는 기존의 임베디드 소스 코드가 있습니다. 특정 RTOS에서 실행되도록 코드를 이식해야합니다.임베디드 소스 코드를 RTOS로 이식하기

많은 일을 시도 할 때 어디에서 시작해야하는지에 대한 지침이 있습니까? 리소스, 모범 사례 및 기타 통찰력이 크게 향상 될 것입니다.

+1

비정형 동작 (주변 장치 구성, 인터럽트 처리기 등)을 확인하고이를 분리해야합니다 간단한 프로그램 논리에서 RTOS와 호환되는 방식으로 구현/대체하는 방법을 생각할 수 있습니다. 그런 다음 프로그램 조직을 살펴볼 필요가 있습니다 n - 이벤트 주도, 루프 폴링 등입니까? 때로는 풍부한 환경에서 원시 환경을 에뮬레이트하고 대부분의 코드를 변경하지 않고, OS 컨텍스트에서 하드웨어가 만족스럽게 플레이 할 수있게 해준 하드웨어를 가정 한 무언가를 실제로 재구성해야하는 경우가 있습니다 . –

+1

먼저 대답해야 할 주요 질문은 : 왜 RTOS에서 코드를 이식 할 필요가 있습니까? 병렬 이벤트를보다 쉽게 ​​처리 할 수 ​​있도록 애플리케이션을 리팩토링해야합니까? 레거시 코드와 동시에 실행해야하는 기존 기능에 새로운 기능을 추가해야합니까? – greydet

+0

이 RTOS에 이름이 있습니까? 나는 일반적으로 당신이 (마스터 한) 한 두 가지, 그들은 모두 거의 동일하지만 여전히 당신이 UC/OS-II (작은)에 대해 이야기하고 있는지를 아는 것을 도울 수 있다는 사고 방식입니다. OSE 또는 VxWorks 대 뭐든간에 ... – Dan

답변

1

RTOS 선점 형 멀티 태스킹은 모두 I/O 성능에 관한 것입니다. 입출력이 완료되면 스레드를 준비 할 수있는 드라이버가 필요합니다. 세마포어 신호. 그 밖에 원격으로 중요한 것은 없습니다. 마이크로 컨트롤러에 포팅 할 모든 ((

0

첫째, RTOS가있다 RTOS가 이미 지원하는 경우 :

슬프게도,이 일반적으로 이전을 존재 성능 마비 폴링을 제거하기 위해 시스템 재 설계를 의미한다. 그런 다음 RTOS에 대한 코드를 조정할 것입니다.이 경우 RTOS의 사용자 가이드를 참조해야합니다.