Porting cFEto spacecraft onboard with SpaceWire Engine and...

Post on 11-Mar-2020

14 views 0 download

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