4th International ICST Conference on Simulation Tools and Techniques

Research Article

A LEON3 Virtual Platform with real SpaceWire interfaces for dependable space software development

Download725 downloads
  • @INPROCEEDINGS{10.4108/icst.simutools.2011.245516,
        author={Antonio Da Silva Fari\`{o}a and Sebasti\^{a}n S\^{a}nchez Prieto},
        title={A LEON3 Virtual Platform with real SpaceWire interfaces for dependable space software development},
        proceedings={4th International ICST Conference on Simulation Tools and Techniques},
        publisher={ICST},
        proceedings_a={SIMUTOOLS},
        year={2012},
        month={4},
        keywords={LEON3 Fault Injection XML Faultset Binary Instrumentation Debug Transport Interface},
        doi={10.4108/icst.simutools.2011.245516}
    }
    
  • Antonio Da Silva Fariña
    Sebastián Sánchez Prieto
    Year: 2012
    A LEON3 Virtual Platform with real SpaceWire interfaces for dependable space software development
    SIMUTOOLS
    ICST
    DOI: 10.4108/icst.simutools.2011.245516
Antonio Da Silva Fariña1,*, Sebastián Sánchez Prieto2
  • 1: Technical University of Madrid
  • 2: University of Alcala
*Contact email: adasilva@diatel.upm.es

Abstract

In space software development there are strong robustness requirements that need advanced simulation techniques and tools to analyze the system behavior in the presence of faults. Even more, those simulation tools should provide the ability to communicate embedded software under development with another real working systems using standardized interfaces. In this paper, we present the design of a virtual platform for LEON3, a 32bit SPARC CPU based system used by the European Space Agency, described at Transaction Level using SystemC. By means of virtual I/O this platform allows real SpaceWire communications with another virtual or real equipment using real SpaceWire commercial hardware. Each TLM component of the model exposes a standard TLM2.0 “transport_dbg” interface to allow internal component inspection and modification. This way full fault injection campaigns by corrupting CPU registers or memory locations can be carried out.