SCV/OS 를 설명하기 위한 문서이다. 처음 SCV/OS 를 접하는 사람들이 읽어서 이해하는 것을 목표로 한다.

들어가기 전에

작품명 SCV/OS(Simple Configurable Verify) OS
기간 2007. 1 ~ 2007. 6
개발환경 OS(Linux(redhat 9)), Language(ARM assembler, C), Hardware(ARM9, PXA255), TOOL(Toolchain gcc 기반)
프로젝트 요약 임베디드 시스템 환경에서 소프트웨어와 하드웨어를 손쉽게 검증할 수 있는 기능을 가진 RTOS 이다. 여러가지의 서로 다른 디바이스가 만들어진 임베디드 시스템에서 사용자가 검증할 하드웨어나 소프트웨어를 선택하여 커널을 만들고 이를 실행하여 검증할 수 있다
구현 내용 커널과 부트로더를 만들었고, 아키텍처는 arm 와 pxa255 기반에서 동작한다. 컴파일러는 gcc-3.3.4 툴체인을 사용한다. 또한 좀더 flexible 한 컴파일 환경을 위해 ncurses 를 사용했다.
강점 보드가 만들어졌을 때, h/w 를 검증하는 작업을 scv/os 를 이용해서 제대로 동작하는지 검증해볼 수 있다. 또한, 보드에서 실행될 s/w 가 제대로 동작하는지를 검증한다

전체적인 시스템 아키텍처

전체적인 디렉토리 구조는 다음과 같다.

디렉토리 설명
bootloader 부트로더를 위한 코드가 들어 있다
bootloader/arm920t 아키텍처별로 나눴는데, arm920t 용 start.S 파일
bootloader/pxa255 pxa255 용 start.S 파일 나중에 ifdef 를 이용해서 통합할 예정
apps 순수 application 코드
bin scvos 가 아닌 순수 컴파일을 하는 데 필요한 코드들이 들어 있다
bin/kconfig ncurse 코드
scvos scvos 커널
scvos/arch 아키텍처 별로 정보들에 관한 코드(cpu.h)
scvos/arch/arm920t arm920t 에 관한 특별한 코드(커널 초기화 코드)
scvos/arch/pxa255 pxa255 에 관한 특별한 코드(커널 초기화 코드)
scvos/drivers 디바이스 드라이버 코드
scvos/include 전체적으로 인클루드할 코드
scvos/kernel 커널의 핵심 코드
scvos/platform 미정
obj 오브젝트 파일들
obj/bootloader 부트로더 오브젝트 파일
obj/kernel 커널 오브젝트 파일
include 컴파일 설정 디렉토리
include/config 컴파일 설정 파일
image 최종 이미지 파일
  • computer/rtcclab/scv_os_설명서.txt
  • Last modified: 3 years ago
  • by likewind