Porting cFEto spacecraft onboard with SpaceWire Engine and...

20
Porting cFE to spacecraft onboard with SpaceWire Engine and RTOS based on uITRON specification Mitsutaka Takada, Hiroaki Takada (Nagoya University) Takanori Narita, Masaki Kusano (Mitsubishi Heavy Industries, ltd) Seisuke Fukuda, Keiichi Matsuzaki, Takayuki Ishida, Naoki Ishihama(JAXA) Masaharu Nomachi (Osaka University) This is a non-ITAR presentation, for public release and reproduction from FSW website. 1

Transcript of Porting cFEto spacecraft onboard with SpaceWire Engine and...

PortingcFE tospacecraftonboardwithSpaceWireEngineandRTOSbasedonuITRON specification

Mitsutaka Takada,HiroakiTakada(NagoyaUniversity)Takanori Narita,MasakiKusano (MitsubishiHeavyIndustries,ltd)

Seisuke Fukuda,KeiichiMatsuzaki,TakayukiIshida,NaokiIshihama(JAXA)Masaharu Nomachi (OsakaUniversity)

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSWwebsite. 1

Contents• MotivationtousecFE• AboutSOI-SOC3(spacecraftonboard)• FeaturesofTOPPERS/HRP2(uITRON RTOS)• cFE/CFSsupportedbyTOPPERSOS– TOPPERSOSextensionforcFE– BreakingpointofOSAL /PSPporting– SupportfunctionlistsandUnittests– HowtoconfigurationTOPPERSOSwithcFE

• Conclusion

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSWwebsite. 2

MotivationtousecFE

• InJapan,SpaceWireisadoptedastheintra-satellitenetworkmainlyformedium/largesciencesatellites.

• ByusingSpaceWire,flexiblenetworkconfigurationandremoteaccesswithRMAPbecomepossible,butatthesametimeapplicationdevelopersarerequiredtoincreaseSpaceWirerequestknowledge.

• Insatelliteapplicationdevelopment,wethinkthatbuildingasoftwareplatformsuchascFE/CFS,SOISandsoonwillbeimportant,sothatweexaminedtheuseofcFE /CFSandportingforspacecraftonboardincollaborationwithJAXAandNagoyaUniv.

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.3

Whatconditionsspacecraftofoursoftwareplatform(SPF)

Inconsideringthesoftwareplatform,weconductedasurveywiththefollowing:– ApplicationcanuseSpaceWireprotocolservice– OpenstandardAPIorOpen-sourcesoftware– SpecificationisavailablebothwithinandoutsideJapan

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.4

JAXAInternalSoftwarePlatform,SOIS,CFE/CFS…

SOISOCseries- onboardapplication-• MHIandISAS/JAXAdevelopedthespace-gradesystem-on-chipprocessor• SOISOCistargetinghighreliability,severeenvironmentapplications.• SOISOC2hasbeeninsideofalargenumberofsatellitesanditisalsoused

inacommercialproduct,aradiationmonitorasdual-use.

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.5

SOISOC3microprocessor• SOISOC3isournewspace-gradesystem-on-chipprocessorwhichiscurrently

beingdevelopedbyMHIinpartnershipwithJAXA.• SOISOC3hasahigh-reliabilitySpaceWireengine,whichMHIhasdeveloped,

supportingforincomingSpaceWirestandards.– Fordeterministicdatadelivery(SpaceWire-D:DraftDIssue0.15)– Forreliabledatatransferservice(SpaceWire-R:SCDHA151-0.4Issue0.4)

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.6

SpaceWireEngine• SpaceWireengineismainlyperformedonhardware.

– HighaccuracyschedulingandhighperformancewithlessCPUload

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.7

Protocol Function Hardwaresupport

SpaceWire-D RMAPwrite • Headerformatcheck• Data transfertoext memorywithDMA

RMAPread • Headerformatcheck• Data transfertoext memorywithDMA

TimingControl • Controlofsendtimingof RMAPcommand

Time-CodeWatchdog • DetectEarly/Late watchdog

SpaceWire-R Segmentation • BreakSDU(ServiceDataUnit)intoSpW-Rdatapacketsatsendingend

• ReconstructSDUfromdatapacketsatreceivingend

DataAck Reply • CheckSpW-Rdatapacket• Replydataack packet

uITRON - TOPPERS/HRP2-

• NagoyaUniv.andJAXAhavedevelopeduITRONRTOSforspacesystems.

• AdditiontothememoryprotectionfunctioninthekernelofuITRON specification.– ObjectAccessfunction– Mutexfunction– Overrunhandlerfunction

• HRP2(HighReliablesystemProfileversion2)kernel• TOPPERSOSisplannedtobeusedinsomespace

systems.

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.8

H-IIB(JAXA)

TOPPERSProject

• Developedvariousopen-sourcesoftwareforembeddedsystemincludingRTOSandpromotetheiruse.

• Incorporatedasanon-profitorganizationin2003.• ApplicationsTOPPERSOS

• TOPPERSOSiswidelyusedinindustries.• consumerapplications• industrialapplications• automotivesystems• spacesystems

http://www.toppers.jp/en/

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.9

Kizashi (Suzukiauto) Privia (CASIO)

PortingOSAL• OSALVersion4.2.1• cFE Version6.4.2• Referenceinformation(beforetheportingOSAL)

– OSALsourcecodesanddocuments• cFE OSALConfigurationGuide- howtobuildcFE,param info,etc• cFE OSALLibraryAPI- understandingAPIbehavior• FunctionandUnittests– howtouseanddevelop“bsp_start.c”

– JAXAhadbeentryingtoportcFE• Howeveritwasminimalsupportfunctions• ItwasrestrictionsincetheRTOSfunctionsarenotextended

– RTEMSimplementationsourcecodeandbuildscripts• RTEMSissimilartouITRON specification APIparameters

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.10

BreakingpointofOSAL/PSPportingonTOPPERSOS

• TOPPERSOSnotsupportfilesystemfunction– IfwecanusefilesystemonTOPPERSOS,wewillbuildfilesystem

librarymodule(OSSorproprietary)• SOI-SOC3(targetBSP)hasonlymemorystorage

– SOI-SOC3havenotlargestoragedevice– Flashmemoryisonlyusedbybinaryapplicationprogramandlesssize

memorythanRAMmemory– OnlyuseRAMfilesystem

• AnotherImplementationof“ut_assert”functions– BecauseofTOPPERSOSisbare-metalenvironment

• Differentbuildsystemandboot-strapfromotherOS– TOPPERS/HRP2donotsupportdynamicLoaderfunctionofOSAL– OnelinktocFE/CFSandTOPPERS/HRP2

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.11

TOPPERSOSextensionsforcFE• TOPPERS/HRP2(uITRON)hasminimalfunctionforRTOS

– runtimeCreate/DeleteAPIsareoptional– FileSystem libraryisnotsupported– StandardIOfunctions(cf.printf)aretargetimplementationdependent

• TOPPERS/HRP2extensionsforcFE– Create/DeleteAPIsaresupported(butwhenapplicationisconfigured,

OSreservesobjectsresources)– UsingFatFS (OpensourceGenericFATFilesystemModule)– Implementationofalternativeprintf()function

• NOT supportforcFE functions– OSAL:DynamicLoaderandSymbolAPI,NetworkAPI

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.12

SupportOSALfunctiontableOSALfunctionitems OSAPAPI TOPPERS/HRP2 (API)

Miscellaneous OS_API_Init ○

OS_printf ○

OS_printf_disable ○

OS_printf_enable ○

OS_Tick2Micros TO_USEC(clock)

OS_GetLocalTime ○

OS_SetLocalTime ○

OS_Milli2Ticks ○

QueueAPI OS_QueueCreate ○(acre_dtq)

OS_QueueDelete ○(del_dtq)

OS_QueueGet ○(trcv_dtq)

OS_QueuePut ○(psnd_dtq)

OS_QueueGetIdByName ○

OS_QueueGetInfo ○Thisisanon-ITARpresentation,forpublic

releaseandreproductionfromFSWwebsite.

13

SupportOSALfunctiontable

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.14

OSALfunctionitems OSAPAPI TOPPERS/HRP2 (API)

TaskControlAPI OS_TaskCreate ○(acre_tsk)

OS_TaskDelete ○(del_tsk)

OS_TaskInstallDeleteHandler ○

OS_TaskExit ○(ext_tsk)

OS_TaskDelay ○(dly_tsk)

OS_TaskSetPriority ○(chg_pri)

OS_TaskRegister NotSupport

OS_TaskGetId ○(get_tid)

OS_TaskGetIdByName ○

OS_TaskGetInfo ○

DynamicLoaderandSymbolAPI

… NotSupport

NetworkAPI … NotSupport

SOI-SOC3BSPconfiguration• Parameterofosconfig.h

– #undef OS_INCLUDE_NETWORK• NottouseEthernet

– #undef OS_INCLUDE_MODULE_LOADER• Nottosupportloadablemodule

• HowtobootupfromOStoOS_BSPMain()– ProvideBSPinitializefunctionthatnameis“BSP_Init_Toppers()”1. CreateaTASKforstartupforTOPPERSOS2. Thetaskiscalled“BSP_Init_Toppers()”function3. thefunctionruninitializeBSPandfinallycalled“OS_BSPMain()”

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.15

StartupTASK(TOPPERSOS)

BSP_Init_Toppers()- BSPinitialize

OS_BSPMain()

HowtoconfigureTOPPERSbycFE• TheITRONspecificationuses

thestaticAPItosettheOS

• osal.cfg– cFE applicationuse

TOPEPRSkernelobject(cf.MAXnumberofTASK,DATAQEUE,…)

– configurationofmutexandsemaphoreusedinOSAL

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.16

cFE/CFSsupportsbyTOPEPRS• OSALporting

– HRP2kernelsupportsOSALAPIsexceptdynamicloader,symbolandnetworkAPI

– Alternativeprintf()functionforut_assert()

• PSPporting– soisoc3configurationforPSP– Onmemoryfilesystem(soisoc3havenotFLASH(SD,HDD..)memory)

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.17

TOPPERS/HRP2 soisoc3BSPOSALforHRP2 PSPforsoisoc3

cFEcFE API

CFSLibrary

Plarform Abstraction API

cFE Testsrunning• OSALfunctionaltests

– bin-sem-flush,bin-sem,bin-sem-timeout,count-sem,file-api,mutex,osal-core,queue-timeout,timertestsarepassed

• cFE sampleapplication– build“sample_app”andperformtests– Resultsanalysisarenotcarriedoutyet

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.18

Conclusion

• Conclusion– cFE(OSALandPSP)issupportedbyTOPPERSOS– cFE applicationcanrunonSOI-SOC3(spacecraftonboard)

• FuturePlan– SupportSpaceWire

• WemustuseSpaceWireApplicationoncFE• SpaceWiresampleapplicationoncFE

– EnhancedSBNconfiguration• SpaceWire enginesupportsnotonlyRMAPbutalsoSpaceWire-D,SpaceWire-Rprotocols

• IncorporatenetworktimemanagementsettingsintoSBN

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.19

Thankyou!

NagoyaUniversity,CenterforEmbeddedComputingSystems

GraduateSchoolofInformatics

http://www.nces.i.nagoya-u.ac.jp/

Thisisanon-ITARpresentation,forpublicreleaseandreproductionfromFSW

website.20