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 공식 웹사이트>>> |
uCOS2 Porting
2010. 6. 8. 00:07