190 likes | 441 Views
Real-Time Software Components Real-time monitoring of RTSC modules. Dave Russo, Texas Instruments Eclipse DSDP/RTSC Project Lead. 1. . QUALITY. In 25 Words Or Less. RTSC is a C-based software component model for building, testing, and deploying re-usable target software content
E N D
Real-Time Software ComponentsReal-time monitoring of RTSC modules Dave Russo, Texas Instruments Eclipse DSDP/RTSC Project Lead 1
QUALITY In 25 Words Or Less .... RTSC is a C-based software component model for building, testing, and deploying re-usable target software content for diverse embedded platforms without compromising system performance !
Key Characteristics Benefits Application Application B A C A RTSC Component A RTSC Component C RTSC Component B target-code target-code target-code (C) target-code (C) target-code (C) target-code (C) target-code (C) meta-code (JavaScript) meta-code (JavaScript) meta-code (JavaScript) RTSC Components • dual-existence • target-code: runs on resource limited HW • meta-code: runs on rich client platforms • meta-code manages component lifecycle • build of component (including target-side) • integration during application assembly • monitoring during test andafter deployment • significant design-time optimizations • transparently bind alternate implementations • objects can be created at design-time • minimal embedded runtime requirements • enables new tooling opportunities • meta-code can proxy for target-code • natural bridge to other host capabilities Rich Client Platform Embedded Platform
MSP430F2274 push button leds CR2500 Timer A 1KB RAM 0x200 : 0x600 Timer B WDT Antenna UART 32KB Flash 0x8000 : 0xFFFF GPIO ADC-10 eZ430-RF2500 Hardware • MSP430F2274: 16-bit microcontroller, 1KB data RAM, 32KB ROM (Flash) • one push button, two leds (red and green) • CCR2500: 2.4-GHz radio-frequency (RF) transceiver
End Device End Device MSP430 MSP430 AAA AAA Access Point MSP430 UART Wireless Sensor Application • Multiple low-power temperature sensors • End Device transmits 1/sec to an Access Point • One Access Point always powered • Access Point communicates via UART to Host • Host interprets & displays sensor data • Host also controls Access Point via UART Eclipse Platform (Windows) eZ430-RF2500 Platforms
End Device(s) End Device End Device mon_ED.c MSP430 MSP430 AAA AAA xdc.runtime local.rf Log Radio Bsp local.runtime LogCallback Access Point mon_AP.c Host Control Application xdc.runtime local.rf System Log Radio Bsp xdc.rta local.console Access Point Main Decoder MSP430 local.runtime HostEvent SysUart LogUart xdc.tools.sg UART Wireless Sensor Architecture • Apps fully leverage RTSC modules • xdc.runtime reuse, leverage tooling support • Embeds RTSC Real-Time Analysis • explicit “printf” & implicit runtime visibility • Reuses existing SimpliciTI Radio stack • “no changes” needed to integrate this code • Host application is RTSC meta-module • xdc.rta decodes: minimizing target overhead SimpliciTI SimpliciTI Eclipse Platform (Windows) eZ430-RF2500 Platforms
End Device MSP430 AAA ED ROM space Access Point MSP430 AP ROM space Wireless Sensor Performance • 18 modules used by both AP& ED • un-optimized, yet room for more • printf BSS exceeds total AP RAM #include <stdio.h> int main() { printf("Hello World\n"); }
http://rtsc.eclipse.org • RTSC-Pedia: all RTSC documentation: primers, FAQs, examples … • RTSC White Paper: high-level introduction to RTSC • XDCtools User’s Guide: using XDCtools to create & use components • XDCtools: the starting point for the RTSC project’s code base Summary • RTSC components scale to highly-resource contained platforms 18 modules, runtime controllable trace in < 115 bytes RAM and 3K bytes ROM • RTSC content integrates well with existing software re-used existing SimpliciTI stack with “no modifications” • Dual-domain enables real-time visibility into deployed end-devices by decoding events on host, device overhead is minimal but visibility is high