ucOS-II Porting Os(운영체제)

2007/06/07 17:20

복사 http://blog.naver.com/induction04/90018431532

uCOS-II 포팅

1. 포팅(Porting)이란

- 리얼 타임 커널을 마이크로프로세서나 마이크로컨틀롤러에서 사용할수 있도록 하는 작업을 말한다.

2. uCOS-II를 포팅하기 위해 필요한 일반적인 조건(5가지)

- 재진입(Reentrancy)을 지원하는 코드를 생성할 수 있는 C컴파일러(선점형 커널이므로)

- C언어에서 인터럽트 비활성화, 활성화를 지원

- 인터럽트 지원및 일정한 주기로 발생하는 타이밍 인터럽트를 제공해야 한다.(주기는 초당 10회에서 100회정도)

- 프로세서 수준에서 지원하는 적정크기의 하드웨어 스택기능(수 KByte정도 크기)

- 스택포인터와 레지스터를 스택이나 메모리로 저장하고 가져올 수 있는 프로세서 명령어

 

3. uCOS-II 하드웨어/소프트웨어 구조

하드웨어(CPU, 타이머) + 소프트웨어 (uCOS-II포트, -> uCOS-II(프로세서 독립코드), uCOS-II설정(응용프로그램 의존코드), -> 응용 소프트웨어)

- uCOS-II포트 (포팅을 완료한 프로세서 의존적인 코드) : OS_CPU.H, OS_CPU_A.H, OS_CPU_C.H

- uCOS-II(프로세서 독립코드) : OS_CORE.C, OS_MBOX.C, OS_MEM.C, OS_Q.C, OS_SEM.C, OS_TASK.C, OS_TIME.C,  (uCOS_II.C, uCOS_II.H,)  

- uCOS-II설정 : OS_CFG.H, INCLUDES.H

4.포팅 작업순서

- #define 상수값을 설정(OS_CPU.H)

- 10개의 데이터 타입을 정의한다.(OS_CPU.H)

- 3개의 매크로 함수를 정의한다. (OS_CPU.H)

- 6개의 간단한 C언어 함수를 작성(OS_CPU_C.H)

- 4개의 간단한 어셈블리 함수를 작성한다.(OS_CPU_A.ASM)

 

<<<ucos-II 공식 웹사이트>>>

http://www.ucos-ii.com/

+ Recent posts