오픈태그
OpenTag개발자 | JP 노어 |
---|---|
기록 위치 | C |
OS 제품군 | 임베디드 운영 체제 |
작업 상태 | 현재 |
소스 모델 | 오픈 소스 |
초기 릴리즈 | 2011; | 전(
최신 릴리즈 | 0.4.0 / 2012년 11월 8일; | 전
마케팅 대상 | 무선 센서 네트워크 |
다음에서 사용 가능 | 영어 |
플랫폼 | MSP430, STM32 |
커널형 | 엑소커넬 |
면허증 | 오픈태그 라이선스 |
공식 웹사이트 | 오픈태그위키 |
OpenTag는 DASH7 프로토콜 스택 및 최소 실시간 운영 체제(RTOS)로, C 프로그래밍 언어로 작성된다. 마이크로컨트롤러나 무선 시스템 on a 칩(SoC)에서 구동되도록 설계됐다. OpenTag는 매우 컴팩트한 소프트웨어 패키지로 설계되었다. 그러나 적절한 구성으로 어떤 POSIX 환경에서도 실행할 수 있다. OpenTag는 또한 단순한 "태그"형 엔드포인트 장치만이 아니라 모든 유형의 DASH7 Mode 2 장치에 필요한 모든 기능을 제공할 수 있다.
디자인 철학
![]() | 이 섹션은 대부분의 독자들이 이해하기에는 너무 기술적일 수 있다.(2013년 9월) (이 과 시기 |
OpenTag는 DASH7 Mode 2를 구현하는데, DASH7 Mode 2는 OSI 레이어 1~6, 레이어 7의 일부, 애플리케이션 레이어를 포괄하는 단일 시스템을 지정한다. 오픈태그는 리소스 제약을 받는 마이크로컨트롤러에서 구동하는 것을 목표로 하기 때문에 가볍고 컴팩트하게 설계되었다. 일체형 시스템으로서, WSN과 M2M 노드에 의해 활용되는, 일반적이고 거의 보편적인 MCU+RF 송수신기 아키텍처와는 다른 시스템에 OSI 모델의 다른 레이어를 구현할 수 있는 방식으로는 구현하지 않는다.[1] 단, OpenTag RTOS는 엑소커넬 아키텍처 (버전 0.4 기준)를 채용하고 있으므로 일체형 커널이 필요하지 않다. OpenTag용으로 개발된 애플리케이션은 외부 채널 설계 모델에 적합하게 라이브러리를 안전하게 참조하거나 하드웨어에 직접 액세스할 수 있다.
특징들
- 경량 선제 멀티태스킹 엑소커넬 RTOS를 탑재했다.
- 대부분의 커널은 고정된 우선 순위 태스크를 사용한다.
- 다음을 포함한 완전한 DASH7 모드 2 프로토콜 스택을 포함한다.
- 웨어 레벨링, 플래시 기반 경량 파일 시스템(Velite)을 사용한다.
- 내부 C 기반 API를 가지고 있다.
- 클라이언트-서버 상호작용을 위한 외부 NDEF 기반 메시징 API를 가지고 있다.
실행
OpenTag는 DASH7 구현을 위해 특별히 설계된 멀티태스킹 실시간 커널을 구현한다. 사용자 작업은 커널에 의해 관리될 수 있으며, 커널은 컴파일 시간에 할당되어야 하지만 커널을 선점할 수 있다. 스케줄링 주파수, 즉 커널 분해능은 구현에 의존하지만 최소 1024Hz 이상이어야 하며 1024Hz의 정수 배수여야 한다.[2]
커널 이벤트는 콜백을 사용하여 "애플릿"이라고 불리는 사용자 지정 애플리케이션 코드를 호출한다. 임베디드 환경에 효율적인 콜백 기능을 제공하기 위해 광범위한 템플리트를 사용한다. 따라서 OpenTag의 콜백은 동적(실시간 동안 할당됨)이거나 정적일 수 있으며, 이는 컴파일 시간에 할당이 필요하지만 오버헤드를 줄일 수 있다. OpenTag가 엑소커넬을 구현함에 따라 사용자 작업은 커널에 의해 전적으로 관리되거나, 커널에 의해 부분적으로 관리되거나, 외부 이벤트에 의해 부분적으로 관리되거나, 외부 이벤트에 의해 전적으로 관리될 수 있다. 작업과 커널 간의 통신은 시스템 호출의 API와 메시지 파이프 인터페이스를 통해 이루어진다.[3]
OpenTag의 외부 API는 단순화된 클라이언트-서버 모델과[4] NDEF를 사용하여 데이터 래핑을 한다. NDEF 래퍼는 특히 클라이언트와 서버 사이의 유선 통신에 사용되는데, 클라이언트는 일반적으로 사람 인터페이스 장치, 서버는 OpenTag SoC이다. 내부 API는 외부 API와 1:1 방식으로 노출되어 클라이언트가 OpenTag 커널의 외부 프로세스와 같은 역할을 할 수 있다.
지원되는 장치
작성 시 대부분의 OpenTag 하드웨어는 OpenTag와 함께 사용하도록 보증된 Texas Instruments CC430 또는 MSP430 장치에 구현된다.[5] 현재 OpenTag 소스 트리는 다양한 유형의 STM32, CC11xx 및 Semtech SX12xx 구성 요소와 같은 많은 다른 MCU 및 RF 송수신기를 지원한다.[6]
참조
- ^ "OpenTag Features Overview". OpenTag Wiki. Indigresso.com. Retrieved 9 July 2012.
- ^ Norair, JP (13 May 2011). "Building DASH7 Apps with OpenTag". Retrieved 9 July 2012.
- ^ "OpenTag API". OpenTag Wiki. Retrieved 9 July 2012.
- ^ "OpenTag Client-Server Architecture". OpenTag Wiki.
- ^ "The all new CC430 combines leading MSP430 MCU and low power RF technology". ti.com. Texas Instruments. Retrieved 9 July 2012.
- ^ "OpenTag Mainline Repository". Retrieved 9 July 2012.