123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940 |
- Marking local functions: vPortSetBASEPRI ulPortRaiseBASEPRI vPortRaiseBASEPRI
- Marking externally visible functions: ulTaskGenericNotifyValueClear xTaskGenericNotifyStateClear vTaskGenericNotifyGiveFromISR xTaskGenericNotifyFromISR xTaskGenericNotify xTaskGenericNotifyWait ulTaskGenericNotifyTake pvTaskIncrementMutexHeldCount uxTaskResetEventItemValue vTaskList vTaskPriorityDisinheritAfterTimeout xTaskPriorityDisinherit xTaskPriorityInherit xTaskGetSchedulerState xTaskGetCurrentTaskHandle uxTaskGetStackHighWaterMark vTaskGetInfo vTaskSetTaskNumber uxTaskGetTaskNumber vTaskMissedYield xTaskCheckForTimeOut vTaskInternalSetTimeOutState vTaskSetTimeOutState vTaskRemoveFromUnorderedEventList xTaskRemoveFromEventList vTaskPlaceOnEventListRestricted vTaskPlaceOnUnorderedEventList vTaskPlaceOnEventList vTaskSwitchContext xTaskIncrementTick xTaskAbortDelay xTaskCatchUpTicks uxTaskGetSystemState xTaskGetHandle pcTaskGetName uxTaskGetNumberOfTasks xTaskGetTickCountFromISR xTaskGetTickCount xTaskResumeAll vTaskSuspendAll vTaskEndScheduler vTaskStartScheduler xTaskResumeFromISR vTaskResume vTaskSuspend vTaskPrioritySet uxTaskPriorityGetFromISR uxTaskPriorityGet eTaskGetState vTaskDelay xTaskDelayUntil vTaskDelete xTaskCreate
- Marking externally visible variables: uxTopUsedPriority pxCurrentTCB
- Reclaiming functions:
- Reclaiming variables:
- Clearing address taken flags:
- Symbol table:
- sprintf/112 (sprintf) @06ee5620
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: vTaskList/84
- Calls:
- strcpy/111 (strcpy) @06ee5e00
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: prvWriteNameToBuffer/83
- Calls:
- vListInitialise/110 (vListInitialise) @06eacb60
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: prvInitialiseTaskLists/70 prvInitialiseTaskLists/70 prvInitialiseTaskLists/70 prvInitialiseTaskLists/70 prvInitialiseTaskLists/70 prvInitialiseTaskLists/70
- Calls:
- vListInsert/109 (vListInsert) @06e8de00
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: prvAddCurrentTaskToDelayedList/94 prvAddCurrentTaskToDelayedList/94 vTaskPlaceOnEventList/58
- Calls:
- strlen/108 (strlen) @06e8d2a0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: vTaskList/84 prvWriteNameToBuffer/83 xTaskGetHandle/52
- Calls:
- vPortEndScheduler/107 (vPortEndScheduler) @06e768c0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: vTaskEndScheduler/44
- Calls:
- xPortStartScheduler/106 (xPortStartScheduler) @06e76620
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: vTaskStartScheduler/43
- Calls:
- xTimerCreateTimerTask/105 (xTimerCreateTimerTask) @06e76540
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: vTaskStartScheduler/43
- Calls:
- vPortValidateInterruptPriority/104 (vPortValidateInterruptPriority) @0648b7e0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: vTaskGenericNotifyGiveFromISR/91 xTaskGenericNotifyFromISR/90 xTaskGetTickCountFromISR/48 xTaskResumeFromISR/42 uxTaskPriorityGetFromISR/37
- Calls:
- vListInsertEnd/103 (vListInsertEnd) @06e3ec40
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: xTaskResumeFromISR/42 vTaskSuspend/39 vTaskDelete/32
- Calls:
- uxListRemove/102 (uxListRemove) @06e3eee0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: prvAddCurrentTaskToDelayedList/94 vTaskPriorityDisinheritAfterTimeout/82 xTaskPriorityDisinherit/81 xTaskPriorityInherit/80 prvCheckTasksWaitingTermination/71 xTaskAbortDelay/55 xTaskAbortDelay/55 xTaskResumeFromISR/42 vTaskResume/41 vTaskSuspend/39 vTaskSuspend/39 vTaskPrioritySet/38 vTaskDelete/32 vTaskDelete/32
- Calls:
- vPortExitCritical/101 (vPortExitCritical) @06e3ed20
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: ulTaskGenericNotifyValueClear/93 xTaskGenericNotifyStateClear/92 xTaskGenericNotify/89 xTaskGenericNotifyWait/88 xTaskGenericNotifyWait/88 ulTaskGenericNotifyTake/87 ulTaskGenericNotifyTake/87 prvCheckTasksWaitingTermination/71 xTaskCheckForTimeOut/65 vTaskSetTimeOutState/63 xTaskAbortDelay/55 xTaskResumeAll/46 vTaskResume/41 vTaskSuspend/39 vTaskSuspend/39 vTaskPrioritySet/38 uxTaskPriorityGet/36 eTaskGetState/35 vTaskDelete/32 prvAddNewTaskToReadyList/31
- Calls:
- vPortEnterCritical/100 (vPortEnterCritical) @06e3eb60
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: ulTaskGenericNotifyValueClear/93 xTaskGenericNotifyStateClear/92 xTaskGenericNotify/89 xTaskGenericNotifyWait/88 xTaskGenericNotifyWait/88 ulTaskGenericNotifyTake/87 ulTaskGenericNotifyTake/87 prvCheckTasksWaitingTermination/71 xTaskCheckForTimeOut/65 vTaskSetTimeOutState/63 xTaskAbortDelay/55 xTaskResumeAll/46 vTaskResume/41 vTaskSuspend/39 vTaskSuspend/39 vTaskPrioritySet/38 uxTaskPriorityGet/36 eTaskGetState/35 vTaskDelete/32 prvAddNewTaskToReadyList/31
- Calls:
- pxPortInitialiseStack/99 (pxPortInitialiseStack) @06e3e8c0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: prvInitialiseNewTask/30
- Calls:
- vListInitialiseItem/98 (vListInitialiseItem) @06e3e7e0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: prvInitialiseNewTask/30 prvInitialiseNewTask/30
- Calls:
- memset/97 (memset) @06e3e700
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: prvInitialiseNewTask/30 prvInitialiseNewTask/30 prvInitialiseNewTask/30
- Calls:
- vPortFree/96 (vPortFree) @06e3e540
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: vTaskList/84 prvDeleteTCB/76 prvDeleteTCB/76 xTaskCreate/29
- Calls:
- pvPortMalloc/95 (pvPortMalloc) @06e3e460
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: vTaskList/84 xTaskCreate/29 xTaskCreate/29
- Calls:
- prvAddCurrentTaskToDelayedList/94 (prvAddCurrentTaskToDelayedList) @06e3e000
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xSuspendedTaskList/16 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xSuspendedTaskList/16 (addr)xSuspendedTaskList/16 (read)xSuspendedTaskList/16 (write)pxCurrentTCB/7 (read)pxOverflowDelayedTaskList/12 (read)pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxCurrentTCB/7 (read)xNextTaskUnblockTime/25 (read)xNextTaskUnblockTime/25 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by: xTaskGenericNotifyWait/88 ulTaskGenericNotifyTake/87 vTaskPlaceOnEventListRestricted/60 vTaskPlaceOnUnorderedEventList/59 vTaskPlaceOnEventList/58 vTaskDelay/34 xTaskDelayUntil/33
- Calls: vListInsert/109 vListInsert/109 uxListRemove/102
- ulTaskGenericNotifyValueClear/93 (ulTaskGenericNotifyValueClear) @06e2a540
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortExitCritical/101 vPortEnterCritical/100
- xTaskGenericNotifyStateClear/92 (xTaskGenericNotifyStateClear) @06e2ad20
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortExitCritical/101 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- vTaskGenericNotifyGiveFromISR/91 (vTaskGenericNotifyGiveFromISR) @06e2a8c0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/104 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xTaskGenericNotifyFromISR/90 (xTaskGenericNotifyFromISR) @06e2a460
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: xTickCount/18 (read)uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/104 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xTaskGenericNotify/89 (xTaskGenericNotify) @06e1be00
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: xTickCount/18 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortExitCritical/101 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortEnterCritical/100 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xTaskGenericNotifyWait/88 (xTaskGenericNotifyWait) @06e1bd20
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortExitCritical/101 vPortEnterCritical/100 vPortExitCritical/101 prvAddCurrentTaskToDelayedList/94 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- ulTaskGenericNotifyTake/87 (ulTaskGenericNotifyTake) @06e1b8c0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortExitCritical/101 vPortEnterCritical/100 vPortExitCritical/101 prvAddCurrentTaskToDelayedList/94 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- pvTaskIncrementMutexHeldCount/86 (pvTaskIncrementMutexHeldCount) @06e1b460
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls:
- uxTaskResetEventItemValue/85 (uxTaskResetEventItemValue) @06e1b1c0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls:
- vTaskList/84 (vTaskList) @06dffc40
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortFree/96 strlen/108 sprintf/112 prvWriteNameToBuffer/83 uxTaskGetSystemState/53 pvPortMalloc/95
- prvWriteNameToBuffer/83 (prvWriteNameToBuffer) @06dff540
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by: vTaskList/84
- Calls: strlen/108 strcpy/111
- vTaskPriorityDisinheritAfterTimeout/82 (vTaskPriorityDisinheritAfterTimeout) @06dff000
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: uxListRemove/102 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xTaskPriorityDisinherit/81 (xTaskPriorityDisinherit) @06dffb60
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: uxListRemove/102 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xTaskPriorityInherit/80 (xTaskPriorityInherit) @06dff700
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: uxListRemove/102
- xTaskGetSchedulerState/79 (xTaskGetSchedulerState) @06dff460
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls:
- xTaskGetCurrentTaskHandle/78 (xTaskGetCurrentTaskHandle) @06dff1c0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls:
- prvResetNextTaskUnblockTime/77 (prvResetNextTaskUnblockTime) @06df3c40
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by: xTaskIncrementTick/56 xTaskResumeAll/46 vTaskSuspend/39 vTaskDelete/32
- Calls:
- prvDeleteTCB/76 (prvDeleteTCB) @06df3380
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by: prvCheckTasksWaitingTermination/71 vTaskDelete/32
- Calls: vPortFree/96 vPortFree/96
- uxTaskGetStackHighWaterMark/75 (uxTaskGetStackHighWaterMark) @06df3ee0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: prvTaskCheckFreeStackSpace/74
- prvTaskCheckFreeStackSpace/74 (prvTaskCheckFreeStackSpace) @06df3b60
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by: uxTaskGetStackHighWaterMark/75 vTaskGetInfo/72
- Calls:
- prvListTasksWithinSingleList/73 (prvListTasksWithinSingleList) @06df38c0
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by: uxTaskGetSystemState/53 uxTaskGetSystemState/53 uxTaskGetSystemState/53 uxTaskGetSystemState/53 uxTaskGetSystemState/53
- Calls: vTaskGetInfo/72
- vTaskGetInfo/72 (vTaskGetInfo) @06df3620
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by: prvListTasksWithinSingleList/73
- Calls: prvTaskCheckFreeStackSpace/74 eTaskGetState/35 xTaskResumeAll/46 vTaskSuspendAll/45
- prvCheckTasksWaitingTermination/71 (prvCheckTasksWaitingTermination) @06df32a0
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References: xTasksWaitingTermination/14 (read)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxDeletedTasksWaitingCleanUp/15 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by: prvIdleTask/69
- Calls: prvDeleteTCB/76 vPortExitCritical/101 uxListRemove/102 vPortEnterCritical/100
- prvInitialiseTaskLists/70 (prvInitialiseTaskLists) @06defee0
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References: pxReadyTasksLists/8 (addr)xDelayedTaskList1/9 (addr)xDelayedTaskList2/10 (addr)xPendingReadyList/13 (addr)xTasksWaitingTermination/14 (addr)xSuspendedTaskList/16 (addr)pxDelayedTaskList/11 (write)xDelayedTaskList1/9 (addr)pxOverflowDelayedTaskList/12 (write)xDelayedTaskList2/10 (addr)
- Referring:
- Availability: available
- Function flags: body
- Called by: prvAddNewTaskToReadyList/31
- Calls: vListInitialise/110 vListInitialise/110 vListInitialise/110 vListInitialise/110 vListInitialise/110 vListInitialise/110
- prvIdleTask/69 (prvIdleTask) @06def9a0
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- Address is taken.
- References: pxReadyTasksLists/8 (read)
- Referring: vTaskStartScheduler/43 (addr)
- Availability: available
- Function flags: body
- Called by:
- Calls: prvCheckTasksWaitingTermination/71
- vTaskSetTaskNumber/68 (vTaskSetTaskNumber) @06defe00
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls:
- uxTaskGetTaskNumber/67 (uxTaskGetTaskNumber) @06defb60
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls:
- vTaskMissedYield/66 (vTaskMissedYield) @06def8c0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls:
- xTaskCheckForTimeOut/65 (xTaskCheckForTimeOut) @06def620
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xNumOfOverflows/23 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortExitCritical/101 vTaskInternalSetTimeOutState/64 vPortEnterCritical/100 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- vTaskInternalSetTimeOutState/64 (vTaskInternalSetTimeOutState) @06def1c0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: xNumOfOverflows/23 (read)xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by: xTaskCheckForTimeOut/65
- Calls:
- vTaskSetTimeOutState/63 (vTaskSetTimeOutState) @06da9b60
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: xNumOfOverflows/23 (read)xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortExitCritical/101 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- vTaskRemoveFromUnorderedEventList/62 (vTaskRemoveFromUnorderedEventList) @06da9ee0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xTaskRemoveFromEventList/61 (xTaskRemoveFromEventList) @06da9a80
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortRaiseBASEPRI/1
- vTaskPlaceOnEventListRestricted/60 (vTaskPlaceOnEventListRestricted) @06da9620
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: prvAddCurrentTaskToDelayedList/94 vPortRaiseBASEPRI/1
- vTaskPlaceOnUnorderedEventList/59 (vTaskPlaceOnUnorderedEventList) @06da92a0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxSchedulerSuspended/28 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: prvAddCurrentTaskToDelayedList/94 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- vTaskPlaceOnEventList/58 (vTaskPlaceOnEventList) @06d3fa80
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: prvAddCurrentTaskToDelayedList/94 vListInsert/109 vPortRaiseBASEPRI/1
- vTaskSwitchContext/57 (vTaskSwitchContext) @06d3fe00
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxSchedulerSuspended/28 (read)xYieldPending/22 (write)xYieldPending/22 (write)uxTopReadyPriority/19 (read)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxCurrentTCB/7 (write)uxTopReadyPriority/19 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by: vTaskSuspend/39
- Calls: vPortRaiseBASEPRI/1
- xTaskIncrementTick/56 (xTaskIncrementTick) @06d3f9a0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxSchedulerSuspended/28 (read)xTickCount/18 (read)xTickCount/18 (write)pxDelayedTaskList/11 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)pxDelayedTaskList/11 (write)pxOverflowDelayedTaskList/12 (write)xNumOfOverflows/23 (read)xNumOfOverflows/23 (write)xNextTaskUnblockTime/25 (read)pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (read)xYieldPending/22 (read)xPendedTicks/21 (read)xPendedTicks/21 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by: xTaskResumeAll/46
- Calls: prvResetNextTaskUnblockTime/77 vPortRaiseBASEPRI/1
- xTaskAbortDelay/55 (xTaskAbortDelay) @06d3f380
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: xTaskResumeAll/46 vPortExitCritical/101 uxListRemove/102 vPortEnterCritical/100 uxListRemove/102 eTaskGetState/35 vTaskSuspendAll/45 vPortRaiseBASEPRI/1
- xTaskCatchUpTicks/54 (xTaskCatchUpTicks) @06d3f000
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: xTaskResumeAll/46 vTaskSuspendAll/45 vPortRaiseBASEPRI/1
- uxTaskGetSystemState/53 (uxTaskGetSystemState) @06d367e0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxCurrentNumberOfTasks/17 (read)pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xTasksWaitingTermination/14 (addr)xSuspendedTaskList/16 (addr)
- Referring:
- Availability: available
- Function flags: body
- Called by: vTaskList/84
- Calls: xTaskResumeAll/46 prvListTasksWithinSingleList/73 prvListTasksWithinSingleList/73 prvListTasksWithinSingleList/73 prvListTasksWithinSingleList/73 prvListTasksWithinSingleList/73 vTaskSuspendAll/45
- xTaskGetHandle/52 (xTaskGetHandle) @06d362a0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: xTaskResumeAll/46 prvSearchForNameWithinSingleList/51 prvSearchForNameWithinSingleList/51 prvSearchForNameWithinSingleList/51 prvSearchForNameWithinSingleList/51 prvSearchForNameWithinSingleList/51 vTaskSuspendAll/45 vPortRaiseBASEPRI/1 strlen/108
- prvSearchForNameWithinSingleList/51 (prvSearchForNameWithinSingleList) @06d36e00
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by: xTaskGetHandle/52 xTaskGetHandle/52 xTaskGetHandle/52 xTaskGetHandle/52 xTaskGetHandle/52
- Calls:
- pcTaskGetName/50 (pcTaskGetName) @06d36b60
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortRaiseBASEPRI/1
- uxTaskGetNumberOfTasks/49 (uxTaskGetNumberOfTasks) @06d36700
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxCurrentNumberOfTasks/17 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls:
- xTaskGetTickCountFromISR/48 (xTaskGetTickCountFromISR) @06d36460
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortValidateInterruptPriority/104
- xTaskGetTickCount/47 (xTaskGetTickCount) @06d361c0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls:
- xTaskResumeAll/46 (xTaskResumeAll) @06d25e00
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write)uxSchedulerSuspended/28 (read)uxCurrentNumberOfTasks/17 (read)xPendingReadyList/13 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)xPendingReadyList/13 (read)xPendedTicks/21 (read)xYieldPending/22 (write)xPendedTicks/21 (write)xYieldPending/22 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by: vTaskGetInfo/72 xTaskAbortDelay/55 xTaskCatchUpTicks/54 uxTaskGetSystemState/53 xTaskGetHandle/52 vTaskDelay/34 xTaskDelayUntil/33
- Calls: vPortExitCritical/101 xTaskIncrementTick/56 prvResetNextTaskUnblockTime/77 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- vTaskSuspendAll/45 (vTaskSuspendAll) @06d25d20
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by: vTaskGetInfo/72 xTaskAbortDelay/55 xTaskCatchUpTicks/54 uxTaskGetSystemState/53 xTaskGetHandle/52 vTaskDelay/34 xTaskDelayUntil/33
- Calls:
- vTaskEndScheduler/44 (vTaskEndScheduler) @06d25a80
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: xSchedulerRunning/20 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortEndScheduler/107 vPortRaiseBASEPRI/1
- vTaskStartScheduler/43 (vTaskStartScheduler) @06d257e0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: prvIdleTask/69 (addr)xIdleTaskHandle/26 (addr)xNextTaskUnblockTime/25 (write)xSchedulerRunning/20 (write)xTickCount/18 (write)uxTopUsedPriority/27 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortRaiseBASEPRI/1 xPortStartScheduler/106 vPortRaiseBASEPRI/1 xTimerCreateTimerTask/105 xTaskCreate/29
- xTaskResumeFromISR/42 (xTaskResumeFromISR) @06d25540
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxSchedulerSuspended/28 (read)pxCurrentTCB/7 (read)xYieldPending/22 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (addr)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortSetBASEPRI/3 vListInsertEnd/103 uxListRemove/102 prvTaskIsTaskSuspended/40 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/104 vPortRaiseBASEPRI/1
- vTaskResume/41 (vTaskResume) @06d251c0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortExitCritical/101 uxListRemove/102 prvTaskIsTaskSuspended/40 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- prvTaskIsTaskSuspended/40 (prvTaskIsTaskSuspended) @06d1a9a0
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References: xSuspendedTaskList/16 (addr)xPendingReadyList/13 (addr)
- Referring:
- Availability: available
- Function flags: body
- Called by: xTaskResumeFromISR/42 vTaskResume/41
- Calls: vPortRaiseBASEPRI/1
- vTaskSuspend/39 (vTaskSuspend) @06d1ae00
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)xSuspendedTaskList/16 (addr)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read)xSuspendedTaskList/16 (read)uxCurrentNumberOfTasks/17 (read)pxCurrentTCB/7 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vTaskSwitchContext/57 vPortRaiseBASEPRI/1 vPortExitCritical/101 prvResetNextTaskUnblockTime/77 vPortEnterCritical/100 vPortExitCritical/101 vListInsertEnd/103 uxListRemove/102 uxListRemove/102 vPortEnterCritical/100
- vTaskPrioritySet/38 (vTaskPrioritySet) @06d1a8c0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortExitCritical/101 uxListRemove/102 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- uxTaskPriorityGetFromISR/37 (uxTaskPriorityGetFromISR) @06d1a380
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortSetBASEPRI/3 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/104
- uxTaskPriorityGet/36 (uxTaskPriorityGet) @06d1a000
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortExitCritical/101 vPortEnterCritical/100
- eTaskGetState/35 (eTaskGetState) @06d0f2a0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr)
- Referring:
- Availability: available
- Function flags: body
- Called by: vTaskGetInfo/72 xTaskAbortDelay/55
- Calls: vPortExitCritical/101 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- vTaskDelay/34 (vTaskDelay) @06d0fc40
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxSchedulerSuspended/28 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: xTaskResumeAll/46 prvAddCurrentTaskToDelayedList/94 vTaskSuspendAll/45 vPortRaiseBASEPRI/1
- xTaskDelayUntil/33 (xTaskDelayUntil) @06d0f7e0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: uxSchedulerSuspended/28 (read)xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: xTaskResumeAll/46 prvAddCurrentTaskToDelayedList/94 vTaskSuspendAll/45 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- vTaskDelete/32 (vTaskDelete) @06d0f1c0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: pxCurrentTCB/7 (read)uxTaskNumber/24 (read)uxTaskNumber/24 (write)pxCurrentTCB/7 (read)xTasksWaitingTermination/14 (addr)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)uxSchedulerSuspended/28 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: vPortRaiseBASEPRI/1 vPortExitCritical/101 prvResetNextTaskUnblockTime/77 prvDeleteTCB/76 vListInsertEnd/103 uxListRemove/102 uxListRemove/102 vPortEnterCritical/100
- prvAddNewTaskToReadyList/31 (prvAddNewTaskToReadyList) @06cf8540
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (write)uxCurrentNumberOfTasks/17 (read)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (write)uxTaskNumber/24 (read)uxTaskNumber/24 (write)uxTaskNumber/24 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by: xTaskCreate/29
- Calls: vPortExitCritical/101 prvInitialiseTaskLists/70 vPortEnterCritical/100
- prvInitialiseNewTask/30 (prvInitialiseNewTask) @06cf8c40
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by: xTaskCreate/29
- Calls: pxPortInitialiseStack/99 memset/97 memset/97 vListInitialiseItem/98 vListInitialiseItem/98 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 memset/97
- xTaskCreate/29 (xTaskCreate) @06cf8700
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by: vTaskStartScheduler/43
- Calls: prvAddNewTaskToReadyList/31 prvInitialiseNewTask/30 vPortFree/96 pvPortMalloc/95 pvPortMalloc/95
- uxSchedulerSuspended/28 (uxSchedulerSuspended) @06cf15a0
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: vTaskDelete/32 (read)xTaskDelayUntil/33 (read)vTaskDelay/34 (read)vTaskSuspend/39 (read)xTaskResumeFromISR/42 (read)vTaskSuspendAll/45 (read)vTaskSuspendAll/45 (write)xTaskResumeAll/46 (read)xTaskResumeAll/46 (read)xTaskResumeAll/46 (write)xTaskResumeAll/46 (read)xTaskCatchUpTicks/54 (read)xTaskIncrementTick/56 (read)vTaskSwitchContext/57 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskRemoveFromEventList/61 (read)vTaskRemoveFromUnorderedEventList/62 (read)xTaskGetSchedulerState/79 (read)xTaskGenericNotifyFromISR/90 (read)vTaskGenericNotifyGiveFromISR/91 (read)
- Availability: available
- Varpool flags: initialized
- uxTopUsedPriority/27 (uxTopUsedPriority) @06cf1510
- Type: variable definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring: vTaskStartScheduler/43 (read)
- Availability: available
- Varpool flags: initialized read-only
- xIdleTaskHandle/26 (xIdleTaskHandle) @06cf1480
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: vTaskStartScheduler/43 (addr)
- Availability: available
- Varpool flags: initialized
- xNextTaskUnblockTime/25 (xNextTaskUnblockTime) @06cf13f0
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: vTaskStartScheduler/43 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)xTaskIncrementTick/56 (write)prvResetNextTaskUnblockTime/77 (write)prvResetNextTaskUnblockTime/77 (write)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (write)
- Availability: available
- Varpool flags: initialized
- uxTaskNumber/24 (uxTaskNumber) @06cf1360
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskDelete/32 (write)
- Availability: available
- Varpool flags: initialized
- xNumOfOverflows/23 (xNumOfOverflows) @06cf1318
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)vTaskSetTimeOutState/63 (read)vTaskInternalSetTimeOutState/64 (read)xTaskCheckForTimeOut/65 (read)
- Availability: available
- Varpool flags: initialized
- xYieldPending/22 (xYieldPending) @06cf12d0
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: xTaskResumeFromISR/42 (write)xTaskResumeAll/46 (write)xTaskResumeAll/46 (write)xTaskResumeAll/46 (read)xTaskAbortDelay/55 (write)xTaskIncrementTick/56 (read)vTaskSwitchContext/57 (write)vTaskSwitchContext/57 (write)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (write)vTaskMissedYield/66 (write)xTaskGenericNotifyFromISR/90 (write)vTaskGenericNotifyGiveFromISR/91 (write)
- Availability: available
- Varpool flags: initialized
- xPendedTicks/21 (xPendedTicks) @06cf1240
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: xTaskResumeAll/46 (read)xTaskResumeAll/46 (write)xTaskCatchUpTicks/54 (read)xTaskCatchUpTicks/54 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)
- Availability: available
- Varpool flags: initialized
- xSchedulerRunning/20 (xSchedulerRunning) @06cf11b0
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskSuspend/39 (read)vTaskSuspend/39 (read)vTaskStartScheduler/43 (write)vTaskEndScheduler/44 (write)xTaskGetSchedulerState/79 (read)
- Availability: available
- Varpool flags: initialized
- uxTopReadyPriority/19 (uxTopReadyPriority) @06cf1120
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (write)vTaskResume/41 (read)vTaskResume/41 (write)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (write)xTaskResumeAll/46 (read)xTaskResumeAll/46 (write)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)vTaskSwitchContext/57 (read)vTaskSwitchContext/57 (write)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (write)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (write)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (write)vTaskPriorityDisinheritAfterTimeout/82 (read)vTaskPriorityDisinheritAfterTimeout/82 (write)xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (write)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write)
- Availability: available
- Varpool flags: initialized
- xTickCount/18 (xTickCount) @06cf10d8
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: xTaskDelayUntil/33 (read)vTaskStartScheduler/43 (write)xTaskGetTickCount/47 (read)xTaskGetTickCountFromISR/48 (read)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)vTaskSetTimeOutState/63 (read)vTaskInternalSetTimeOutState/64 (read)xTaskCheckForTimeOut/65 (read)xTaskGenericNotify/89 (read)xTaskGenericNotifyFromISR/90 (read)prvAddCurrentTaskToDelayedList/94 (read)
- Availability: available
- Varpool flags: initialized
- uxCurrentNumberOfTasks/17 (uxCurrentNumberOfTasks) @06cf1090
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskDelete/32 (write)vTaskSuspend/39 (read)xTaskResumeAll/46 (read)uxTaskGetNumberOfTasks/49 (read)uxTaskGetSystemState/53 (read)prvCheckTasksWaitingTermination/71 (read)prvCheckTasksWaitingTermination/71 (write)vTaskList/84 (read)vTaskList/84 (read)
- Availability: available
- Varpool flags: initialized
- xSuspendedTaskList/16 (xSuspendedTaskList) @06ceef78
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: eTaskGetState/35 (addr)vTaskSuspend/39 (addr)vTaskSuspend/39 (read)prvTaskIsTaskSuspended/40 (addr)xTaskGetHandle/52 (addr)uxTaskGetSystemState/53 (addr)prvInitialiseTaskLists/70 (addr)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (addr)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (write)
- Availability: available
- Varpool flags:
- uxDeletedTasksWaitingCleanUp/15 (uxDeletedTasksWaitingCleanUp) @06ceeee8
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: vTaskDelete/32 (read)vTaskDelete/32 (write)prvCheckTasksWaitingTermination/71 (read)prvCheckTasksWaitingTermination/71 (write)prvCheckTasksWaitingTermination/71 (read)
- Availability: available
- Varpool flags: initialized
- xTasksWaitingTermination/14 (xTasksWaitingTermination) @06ceee58
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: vTaskDelete/32 (addr)eTaskGetState/35 (addr)xTaskGetHandle/52 (addr)uxTaskGetSystemState/53 (addr)prvInitialiseTaskLists/70 (addr)prvCheckTasksWaitingTermination/71 (read)
- Availability: available
- Varpool flags:
- xPendingReadyList/13 (xPendingReadyList) @06ceedc8
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: prvTaskIsTaskSuspended/40 (addr)xTaskResumeFromISR/42 (addr)xTaskResumeAll/46 (read)xTaskResumeAll/46 (read)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (write)prvInitialiseTaskLists/70 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (write)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write)
- Availability: available
- Varpool flags:
- pxOverflowDelayedTaskList/12 (pxOverflowDelayedTaskList) @06ceed38
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: eTaskGetState/35 (read)xTaskGetHandle/52 (read)uxTaskGetSystemState/53 (read)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)prvInitialiseTaskLists/70 (write)prvAddCurrentTaskToDelayedList/94 (read)
- Availability: available
- Varpool flags:
- pxDelayedTaskList/11 (pxDelayedTaskList) @06ceecf0
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: eTaskGetState/35 (read)xTaskGetHandle/52 (read)uxTaskGetSystemState/53 (read)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (read)prvInitialiseTaskLists/70 (write)prvResetNextTaskUnblockTime/77 (read)prvResetNextTaskUnblockTime/77 (read)prvAddCurrentTaskToDelayedList/94 (read)
- Availability: available
- Varpool flags:
- xDelayedTaskList2/10 (xDelayedTaskList2) @06ceeca8
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr)
- Availability: available
- Varpool flags:
- xDelayedTaskList1/9 (xDelayedTaskList1) @06ceec18
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr)
- Availability: available
- Varpool flags:
- pxReadyTasksLists/8 (pxReadyTasksLists) @06ceeb88
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (addr)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)vTaskPrioritySet/38 (addr)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (addr)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (write)vTaskResume/41 (read)vTaskResume/41 (addr)vTaskResume/41 (read)vTaskResume/41 (write)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (addr)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (write)xTaskResumeAll/46 (read)xTaskResumeAll/46 (addr)xTaskResumeAll/46 (read)xTaskResumeAll/46 (write)xTaskGetHandle/52 (addr)uxTaskGetSystemState/53 (addr)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (addr)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (addr)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)xTaskIncrementTick/56 (read)vTaskSwitchContext/57 (read)vTaskSwitchContext/57 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (addr)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (write)prvIdleTask/69 (read)prvInitialiseTaskLists/70 (addr)xTaskPriorityInherit/80 (addr)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (addr)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (write)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (addr)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (write)vTaskPriorityDisinheritAfterTimeout/82 (addr)vTaskPriorityDisinheritAfterTimeout/82 (read)vTaskPriorityDisinheritAfterTimeout/82 (addr)vTaskPriorityDisinheritAfterTimeout/82 (read)vTaskPriorityDisinheritAfterTimeout/82 (write)xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (addr)xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (write)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write)
- Availability: available
- Varpool flags:
- pxCurrentTCB/7 (pxCurrentTCB) @06ceeb40
- Type: variable definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring: prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskDelete/32 (read)vTaskDelete/32 (read)eTaskGetState/35 (read)uxTaskPriorityGet/36 (read)uxTaskPriorityGetFromISR/37 (read)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (read)vTaskSuspend/39 (read)vTaskSuspend/39 (read)vTaskSuspend/39 (write)vTaskResume/41 (read)vTaskResume/41 (read)xTaskResumeFromISR/42 (read)xTaskResumeAll/46 (read)pcTaskGetName/50 (read)xTaskAbortDelay/55 (read)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (read)vTaskSwitchContext/57 (write)vTaskPlaceOnEventList/58 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnEventListRestricted/60 (read)xTaskRemoveFromEventList/61 (read)vTaskRemoveFromUnorderedEventList/62 (read)xTaskCheckForTimeOut/65 (read)xTaskCheckForTimeOut/65 (read)vTaskGetInfo/72 (read)vTaskGetInfo/72 (read)uxTaskGetStackHighWaterMark/75 (read)xTaskGetCurrentTaskHandle/78 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)xTaskPriorityDisinherit/81 (read)vTaskPriorityDisinheritAfterTimeout/82 (read)uxTaskResetEventItemValue/85 (read)uxTaskResetEventItemValue/85 (read)uxTaskResetEventItemValue/85 (read)pvTaskIncrementMutexHeldCount/86 (read)pvTaskIncrementMutexHeldCount/86 (read)pvTaskIncrementMutexHeldCount/86 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotify/89 (read)xTaskGenericNotifyFromISR/90 (read)vTaskGenericNotifyGiveFromISR/91 (read)xTaskGenericNotifyStateClear/92 (read)ulTaskGenericNotifyValueClear/93 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)
- Availability: available
- Varpool flags: initialized
- vPortSetBASEPRI/3 (vPortSetBASEPRI) @06c1cb60
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: vTaskGenericNotifyGiveFromISR/91 xTaskGenericNotifyFromISR/90 xTaskResumeFromISR/42 uxTaskPriorityGetFromISR/37
- Calls:
- ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @06c1c8c0
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: vTaskGenericNotifyGiveFromISR/91 xTaskGenericNotifyFromISR/90 xTaskResumeFromISR/42 uxTaskPriorityGetFromISR/37
- Calls:
- vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @06c1c540
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: xTaskGenericNotifyStateClear/92 vTaskGenericNotifyGiveFromISR/91 vTaskGenericNotifyGiveFromISR/91 vTaskGenericNotifyGiveFromISR/91 xTaskGenericNotifyFromISR/90 xTaskGenericNotifyFromISR/90 xTaskGenericNotifyFromISR/90 xTaskGenericNotifyFromISR/90 xTaskGenericNotify/89 xTaskGenericNotify/89 xTaskGenericNotify/89 xTaskGenericNotify/89 xTaskGenericNotifyWait/88 ulTaskGenericNotifyTake/87 vTaskPriorityDisinheritAfterTimeout/82 vTaskPriorityDisinheritAfterTimeout/82 xTaskPriorityDisinherit/81 xTaskPriorityDisinherit/81 xTaskCheckForTimeOut/65 xTaskCheckForTimeOut/65 vTaskSetTimeOutState/63 vTaskRemoveFromUnorderedEventList/62 vTaskRemoveFromUnorderedEventList/62 xTaskRemoveFromEventList/61 vTaskPlaceOnEventListRestricted/60 vTaskPlaceOnUnorderedEventList/59 vTaskPlaceOnUnorderedEventList/59 vTaskPlaceOnEventList/58 vTaskSwitchContext/57 xTaskIncrementTick/56 xTaskAbortDelay/55 xTaskCatchUpTicks/54 xTaskGetHandle/52 pcTaskGetName/50 xTaskResumeAll/46 vTaskEndScheduler/44 vTaskStartScheduler/43 vTaskStartScheduler/43 xTaskResumeFromISR/42 vTaskResume/41 prvTaskIsTaskSuspended/40 vTaskSuspend/39 vTaskPrioritySet/38 eTaskGetState/35 vTaskDelay/34 xTaskDelayUntil/33 xTaskDelayUntil/33 xTaskDelayUntil/33 vTaskDelete/32 prvInitialiseNewTask/30 prvInitialiseNewTask/30
- Calls:
- prvAddCurrentTaskToDelayedList (TickType_t xTicksToWait, const BaseType_t xCanBlockIndefinitely)
- {
- struct ListItem_t * const pxIndex;
- const TickType_t xConstTickCount;
- TickType_t xTimeToWake;
- <bb 2> :
- xConstTickCount = xTickCount;
- pxCurrentTCB.152_1 = pxCurrentTCB;
- pxCurrentTCB.152_1->ucDelayAborted = 0;
- pxCurrentTCB.153_2 = pxCurrentTCB;
- _3 = &pxCurrentTCB.153_2->xStateListItem;
- _4 = uxListRemove (_3);
- <bb 3> :
- if (xTicksToWait == 4294967295)
- goto <bb 4>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 4> :
- if (xCanBlockIndefinitely != 0)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- pxIndex = xSuspendedTaskList.pxIndex;
- pxCurrentTCB.154_5 = pxCurrentTCB;
- pxCurrentTCB.154_5->xStateListItem.pxNext = pxIndex;
- pxCurrentTCB.155_6 = pxCurrentTCB;
- _7 = pxIndex->pxPrevious;
- pxCurrentTCB.155_6->xStateListItem.pxPrevious = _7;
- pxCurrentTCB.156_8 = pxCurrentTCB;
- _9 = pxIndex->pxPrevious;
- _10 = &pxCurrentTCB.156_8->xStateListItem;
- _9->pxNext = _10;
- pxCurrentTCB.157_11 = pxCurrentTCB;
- _12 = &pxCurrentTCB.157_11->xStateListItem;
- pxIndex->pxPrevious = _12;
- pxCurrentTCB.158_13 = pxCurrentTCB;
- pxCurrentTCB.158_13->xStateListItem.pvContainer = &xSuspendedTaskList;
- _14 = xSuspendedTaskList.uxNumberOfItems;
- _15 = _14 + 1;
- xSuspendedTaskList.uxNumberOfItems = _15;
- goto <bb 10>; [INV]
- <bb 6> :
- xTimeToWake = xConstTickCount + xTicksToWait;
- pxCurrentTCB.159_16 = pxCurrentTCB;
- pxCurrentTCB.159_16->xStateListItem.xItemValue = xTimeToWake;
- if (xTimeToWake < xConstTickCount)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- pxOverflowDelayedTaskList.160_17 = pxOverflowDelayedTaskList;
- pxCurrentTCB.161_18 = pxCurrentTCB;
- _19 = &pxCurrentTCB.161_18->xStateListItem;
- vListInsert (pxOverflowDelayedTaskList.160_17, _19);
- goto <bb 10>; [INV]
- <bb 8> :
- pxDelayedTaskList.162_20 = pxDelayedTaskList;
- pxCurrentTCB.163_21 = pxCurrentTCB;
- _22 = &pxCurrentTCB.163_21->xStateListItem;
- vListInsert (pxDelayedTaskList.162_20, _22);
- xNextTaskUnblockTime.164_23 = xNextTaskUnblockTime;
- if (xTimeToWake < xNextTaskUnblockTime.164_23)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- xNextTaskUnblockTime = xTimeToWake;
- <bb 10> :
- return;
- }
- ulTaskGenericNotifyValueClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear)
- {
- uint32_t ulReturn;
- struct TCB_t * pxTCB;
- uint32_t D.8222;
- struct TCB_t * iftmp.151;
- <bb 2> :
- if (xTask == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.151 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.151 = xTask;
- <bb 5> :
- pxTCB = iftmp.151;
- vPortEnterCritical ();
- ulReturn = pxTCB->ulNotifiedValue[uxIndexToClear];
- _1 = pxTCB->ulNotifiedValue[uxIndexToClear];
- _2 = ~ulBitsToClear;
- _3 = _1 & _2;
- pxTCB->ulNotifiedValue[uxIndexToClear] = _3;
- vPortExitCritical ();
- D.8222 = ulReturn;
- <bb 6> :
- <L3>:
- return D.8222;
- }
- xTaskGenericNotifyStateClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear)
- {
- BaseType_t xReturn;
- struct TCB_t * pxTCB;
- BaseType_t D.8216;
- struct TCB_t * iftmp.150;
- <bb 2> :
- if (uxIndexToClear != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- if (xTask == 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- iftmp.150 = pxCurrentTCB;
- goto <bb 8>; [INV]
- <bb 7> :
- iftmp.150 = xTask;
- <bb 8> :
- pxTCB = iftmp.150;
- vPortEnterCritical ();
- _1 = pxTCB->ucNotifyState[uxIndexToClear];
- if (_1 == 2)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- pxTCB->ucNotifyState[uxIndexToClear] = 0;
- xReturn = 1;
- goto <bb 11>; [INV]
- <bb 10> :
- xReturn = 0;
- <bb 11> :
- vPortExitCritical ();
- D.8216 = xReturn;
- <bb 12> :
- <L9>:
- return D.8216;
- }
- vTaskGenericNotifyGiveFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, BaseType_t * pxHigherPriorityTaskWoken)
- {
- struct ListItem_t * const pxIndex;
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- UBaseType_t uxSavedInterruptStatus;
- uint8_t ucOriginalNotifyState;
- struct TCB_t * pxTCB;
- <bb 2> :
- if (xTaskToNotify == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- if (uxIndexToNotify != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- vPortRaiseBASEPRI ();
- <bb 7> :
- goto <bb 7>; [INV]
- <bb 8> :
- vPortValidateInterruptPriority ();
- pxTCB = xTaskToNotify;
- uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
- ucOriginalNotifyState = pxTCB->ucNotifyState[uxIndexToNotify];
- pxTCB->ucNotifyState[uxIndexToNotify] = 2;
- _1 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- _2 = _1 + 1;
- pxTCB->ulNotifiedValue[uxIndexToNotify] = _2;
- if (ucOriginalNotifyState == 1)
- goto <bb 9>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 9> :
- _3 = pxTCB->xEventListItem.pvContainer;
- if (_3 != 0B)
- goto <bb 10>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 10> :
- vPortRaiseBASEPRI ();
- <bb 11> :
- goto <bb 11>; [INV]
- <bb 12> :
- uxSchedulerSuspended.147_4 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.147_4 == 0)
- goto <bb 13>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 13> :
- pxList = pxTCB->xStateListItem.pvContainer;
- _5 = pxTCB->xStateListItem.pxNext;
- _6 = pxTCB->xStateListItem.pxPrevious;
- _5->pxPrevious = _6;
- _7 = pxTCB->xStateListItem.pxPrevious;
- _8 = pxTCB->xStateListItem.pxNext;
- _7->pxNext = _8;
- _9 = pxList->pxIndex;
- _10 = &pxTCB->xStateListItem;
- if (_9 == _10)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- _11 = pxTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _11;
- <bb 15> :
- pxTCB->xStateListItem.pvContainer = 0B;
- _12 = pxList->uxNumberOfItems;
- _13 = _12 + 4294967295;
- pxList->uxNumberOfItems = _13;
- _14 = pxTCB->uxPriority;
- uxTopReadyPriority.148_15 = uxTopReadyPriority;
- if (_14 > uxTopReadyPriority.148_15)
- goto <bb 16>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 16> :
- _16 = pxTCB->uxPriority;
- uxTopReadyPriority = _16;
- <bb 17> :
- _17 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_17].pxIndex;
- pxTCB->xStateListItem.pxNext = pxIndex;
- _18 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _18;
- _19 = pxIndex->pxPrevious;
- _20 = &pxTCB->xStateListItem;
- _19->pxNext = _20;
- _21 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _21;
- _22 = pxTCB->uxPriority;
- _23 = &pxReadyTasksLists[_22];
- pxTCB->xStateListItem.pvContainer = _23;
- _24 = pxTCB->uxPriority;
- _25 = pxReadyTasksLists[_24].uxNumberOfItems;
- _26 = _25 + 1;
- pxReadyTasksLists[_24].uxNumberOfItems = _26;
- goto <bb 19>; [INV]
- <bb 18> :
- pxIndex = xPendingReadyList.pxIndex;
- pxTCB->xEventListItem.pxNext = pxIndex;
- _27 = pxIndex->pxPrevious;
- pxTCB->xEventListItem.pxPrevious = _27;
- _28 = pxIndex->pxPrevious;
- _29 = &pxTCB->xEventListItem;
- _28->pxNext = _29;
- _30 = &pxTCB->xEventListItem;
- pxIndex->pxPrevious = _30;
- pxTCB->xEventListItem.pvContainer = &xPendingReadyList;
- _31 = xPendingReadyList.uxNumberOfItems;
- _32 = _31 + 1;
- xPendingReadyList.uxNumberOfItems = _32;
- <bb 19> :
- _33 = pxTCB->uxPriority;
- pxCurrentTCB.149_34 = pxCurrentTCB;
- _35 = pxCurrentTCB.149_34->uxPriority;
- if (_33 > _35)
- goto <bb 20>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 20> :
- if (pxHigherPriorityTaskWoken != 0B)
- goto <bb 21>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 21> :
- *pxHigherPriorityTaskWoken = 1;
- <bb 22> :
- xYieldPending = 1;
- <bb 23> :
- vPortSetBASEPRI (uxSavedInterruptStatus);
- return;
- }
- xTaskGenericNotifyFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue, BaseType_t * pxHigherPriorityTaskWoken)
- {
- struct ListItem_t * const pxIndex;
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- UBaseType_t uxSavedInterruptStatus;
- BaseType_t xReturn;
- uint8_t ucOriginalNotifyState;
- struct TCB_t * pxTCB;
- BaseType_t D.8185;
- <bb 2> :
- xReturn = 1;
- if (xTaskToNotify == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- if (uxIndexToNotify != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- vPortRaiseBASEPRI ();
- <bb 7> :
- goto <bb 7>; [INV]
- <bb 8> :
- vPortValidateInterruptPriority ();
- pxTCB = xTaskToNotify;
- uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
- if (pulPreviousNotificationValue != 0B)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- _1 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- *pulPreviousNotificationValue = _1;
- <bb 10> :
- ucOriginalNotifyState = pxTCB->ucNotifyState[uxIndexToNotify];
- pxTCB->ucNotifyState[uxIndexToNotify] = 2;
- switch (eAction) <default: <L16> [INV], case 0: <L15> [INV], case 1: <L8> [INV], case 2: <L9> [INV], case 3: <L10> [INV], case 4: <L11> [INV]>
- <bb 11> :
- <L8>:
- _2 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- _3 = ulValue | _2;
- pxTCB->ulNotifiedValue[uxIndexToNotify] = _3;
- goto <bb 23>; [INV]
- <bb 12> :
- <L9>:
- _4 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- _5 = _4 + 1;
- pxTCB->ulNotifiedValue[uxIndexToNotify] = _5;
- goto <bb 23>; [INV]
- <bb 13> :
- <L10>:
- pxTCB->ulNotifiedValue[uxIndexToNotify] = ulValue;
- goto <bb 23>; [INV]
- <bb 14> :
- <L11>:
- if (ucOriginalNotifyState != 2)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- pxTCB->ulNotifiedValue[uxIndexToNotify] = ulValue;
- goto <bb 17>; [INV]
- <bb 16> :
- xReturn = 0;
- <bb 17> :
- goto <bb 23>; [INV]
- <bb 18> :
- <L15>:
- goto <bb 23>; [INV]
- <bb 19> :
- <L16>:
- xTickCount.143_6 = xTickCount;
- if (xTickCount.143_6 != 0)
- goto <bb 20>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 20> :
- vPortRaiseBASEPRI ();
- <bb 21> :
- goto <bb 21>; [INV]
- <bb 22> :
- <bb 23> :
- if (ucOriginalNotifyState == 1)
- goto <bb 24>; [INV]
- else
- goto <bb 38>; [INV]
- <bb 24> :
- _7 = pxTCB->xEventListItem.pvContainer;
- if (_7 != 0B)
- goto <bb 25>; [INV]
- else
- goto <bb 27>; [INV]
- <bb 25> :
- vPortRaiseBASEPRI ();
- <bb 26> :
- goto <bb 26>; [INV]
- <bb 27> :
- uxSchedulerSuspended.144_8 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.144_8 == 0)
- goto <bb 28>; [INV]
- else
- goto <bb 33>; [INV]
- <bb 28> :
- pxList = pxTCB->xStateListItem.pvContainer;
- _9 = pxTCB->xStateListItem.pxNext;
- _10 = pxTCB->xStateListItem.pxPrevious;
- _9->pxPrevious = _10;
- _11 = pxTCB->xStateListItem.pxPrevious;
- _12 = pxTCB->xStateListItem.pxNext;
- _11->pxNext = _12;
- _13 = pxList->pxIndex;
- _14 = &pxTCB->xStateListItem;
- if (_13 == _14)
- goto <bb 29>; [INV]
- else
- goto <bb 30>; [INV]
- <bb 29> :
- _15 = pxTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _15;
- <bb 30> :
- pxTCB->xStateListItem.pvContainer = 0B;
- _16 = pxList->uxNumberOfItems;
- _17 = _16 + 4294967295;
- pxList->uxNumberOfItems = _17;
- _18 = pxTCB->uxPriority;
- uxTopReadyPriority.145_19 = uxTopReadyPriority;
- if (_18 > uxTopReadyPriority.145_19)
- goto <bb 31>; [INV]
- else
- goto <bb 32>; [INV]
- <bb 31> :
- _20 = pxTCB->uxPriority;
- uxTopReadyPriority = _20;
- <bb 32> :
- _21 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_21].pxIndex;
- pxTCB->xStateListItem.pxNext = pxIndex;
- _22 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _22;
- _23 = pxIndex->pxPrevious;
- _24 = &pxTCB->xStateListItem;
- _23->pxNext = _24;
- _25 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _25;
- _26 = pxTCB->uxPriority;
- _27 = &pxReadyTasksLists[_26];
- pxTCB->xStateListItem.pvContainer = _27;
- _28 = pxTCB->uxPriority;
- _29 = pxReadyTasksLists[_28].uxNumberOfItems;
- _30 = _29 + 1;
- pxReadyTasksLists[_28].uxNumberOfItems = _30;
- goto <bb 34>; [INV]
- <bb 33> :
- pxIndex = xPendingReadyList.pxIndex;
- pxTCB->xEventListItem.pxNext = pxIndex;
- _31 = pxIndex->pxPrevious;
- pxTCB->xEventListItem.pxPrevious = _31;
- _32 = pxIndex->pxPrevious;
- _33 = &pxTCB->xEventListItem;
- _32->pxNext = _33;
- _34 = &pxTCB->xEventListItem;
- pxIndex->pxPrevious = _34;
- pxTCB->xEventListItem.pvContainer = &xPendingReadyList;
- _35 = xPendingReadyList.uxNumberOfItems;
- _36 = _35 + 1;
- xPendingReadyList.uxNumberOfItems = _36;
- <bb 34> :
- _37 = pxTCB->uxPriority;
- pxCurrentTCB.146_38 = pxCurrentTCB;
- _39 = pxCurrentTCB.146_38->uxPriority;
- if (_37 > _39)
- goto <bb 35>; [INV]
- else
- goto <bb 38>; [INV]
- <bb 35> :
- if (pxHigherPriorityTaskWoken != 0B)
- goto <bb 36>; [INV]
- else
- goto <bb 37>; [INV]
- <bb 36> :
- *pxHigherPriorityTaskWoken = 1;
- <bb 37> :
- xYieldPending = 1;
- <bb 38> :
- vPortSetBASEPRI (uxSavedInterruptStatus);
- D.8185 = xReturn;
- <bb 39> :
- <L38>:
- return D.8185;
- }
- xTaskGenericNotify (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue)
- {
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- uint8_t ucOriginalNotifyState;
- BaseType_t xReturn;
- struct TCB_t * pxTCB;
- BaseType_t D.8156;
- <bb 2> :
- xReturn = 1;
- if (uxIndexToNotify != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- if (xTaskToNotify == 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- vPortRaiseBASEPRI ();
- <bb 7> :
- goto <bb 7>; [INV]
- <bb 8> :
- pxTCB = xTaskToNotify;
- vPortEnterCritical ();
- if (pulPreviousNotificationValue != 0B)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- _1 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- *pulPreviousNotificationValue = _1;
- <bb 10> :
- ucOriginalNotifyState = pxTCB->ucNotifyState[uxIndexToNotify];
- pxTCB->ucNotifyState[uxIndexToNotify] = 2;
- switch (eAction) <default: <L16> [INV], case 0: <L15> [INV], case 1: <L8> [INV], case 2: <L9> [INV], case 3: <L10> [INV], case 4: <L11> [INV]>
- <bb 11> :
- <L8>:
- _2 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- _3 = ulValue | _2;
- pxTCB->ulNotifiedValue[uxIndexToNotify] = _3;
- goto <bb 23>; [INV]
- <bb 12> :
- <L9>:
- _4 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- _5 = _4 + 1;
- pxTCB->ulNotifiedValue[uxIndexToNotify] = _5;
- goto <bb 23>; [INV]
- <bb 13> :
- <L10>:
- pxTCB->ulNotifiedValue[uxIndexToNotify] = ulValue;
- goto <bb 23>; [INV]
- <bb 14> :
- <L11>:
- if (ucOriginalNotifyState != 2)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- pxTCB->ulNotifiedValue[uxIndexToNotify] = ulValue;
- goto <bb 17>; [INV]
- <bb 16> :
- xReturn = 0;
- <bb 17> :
- goto <bb 23>; [INV]
- <bb 18> :
- <L15>:
- goto <bb 23>; [INV]
- <bb 19> :
- <L16>:
- xTickCount.140_6 = xTickCount;
- if (xTickCount.140_6 != 0)
- goto <bb 20>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 20> :
- vPortRaiseBASEPRI ();
- <bb 21> :
- goto <bb 21>; [INV]
- <bb 22> :
- <bb 23> :
- if (ucOriginalNotifyState == 1)
- goto <bb 24>; [INV]
- else
- goto <bb 33>; [INV]
- <bb 24> :
- pxList = pxTCB->xStateListItem.pvContainer;
- _7 = pxTCB->xStateListItem.pxNext;
- _8 = pxTCB->xStateListItem.pxPrevious;
- _7->pxPrevious = _8;
- _9 = pxTCB->xStateListItem.pxPrevious;
- _10 = pxTCB->xStateListItem.pxNext;
- _9->pxNext = _10;
- _11 = pxList->pxIndex;
- _12 = &pxTCB->xStateListItem;
- if (_11 == _12)
- goto <bb 25>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 25> :
- _13 = pxTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _13;
- <bb 26> :
- pxTCB->xStateListItem.pvContainer = 0B;
- _14 = pxList->uxNumberOfItems;
- _15 = _14 + 4294967295;
- pxList->uxNumberOfItems = _15;
- _16 = pxTCB->uxPriority;
- uxTopReadyPriority.141_17 = uxTopReadyPriority;
- if (_16 > uxTopReadyPriority.141_17)
- goto <bb 27>; [INV]
- else
- goto <bb 28>; [INV]
- <bb 27> :
- _18 = pxTCB->uxPriority;
- uxTopReadyPriority = _18;
- <bb 28> :
- _19 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_19].pxIndex;
- pxTCB->xStateListItem.pxNext = pxIndex;
- _20 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _20;
- _21 = pxIndex->pxPrevious;
- _22 = &pxTCB->xStateListItem;
- _21->pxNext = _22;
- _23 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _23;
- _24 = pxTCB->uxPriority;
- _25 = &pxReadyTasksLists[_24];
- pxTCB->xStateListItem.pvContainer = _25;
- _26 = pxTCB->uxPriority;
- _27 = pxReadyTasksLists[_26].uxNumberOfItems;
- _28 = _27 + 1;
- pxReadyTasksLists[_26].uxNumberOfItems = _28;
- _29 = pxTCB->xEventListItem.pvContainer;
- if (_29 != 0B)
- goto <bb 29>; [INV]
- else
- goto <bb 31>; [INV]
- <bb 29> :
- vPortRaiseBASEPRI ();
- <bb 30> :
- goto <bb 30>; [INV]
- <bb 31> :
- _30 = pxTCB->uxPriority;
- pxCurrentTCB.142_31 = pxCurrentTCB;
- _32 = pxCurrentTCB.142_31->uxPriority;
- if (_30 > _32)
- goto <bb 32>; [INV]
- else
- goto <bb 33>; [INV]
- <bb 32> :
- _33 = 3758157060B;
- *_33 = 268435456;
- __asm__ __volatile__("dsb" : : : "memory");
- __asm__ __volatile__("isb");
- <bb 33> :
- vPortExitCritical ();
- D.8156 = xReturn;
- <bb 34> :
- <L34>:
- return D.8156;
- }
- xTaskGenericNotifyWait (UBaseType_t uxIndexToWait, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t * pulNotificationValue, TickType_t xTicksToWait)
- {
- BaseType_t xReturn;
- BaseType_t D.8131;
- struct TCB_t * pxCurrentTCB.138;
- struct TCB_t * pxCurrentTCB.134;
- <bb 2> :
- if (uxIndexToWait != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- vPortEnterCritical ();
- pxCurrentTCB.133_1 = pxCurrentTCB;
- _2 = pxCurrentTCB.133_1->ucNotifyState[uxIndexToWait];
- if (_2 != 2)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- pxCurrentTCB.134 = pxCurrentTCB;
- _3 = pxCurrentTCB.134->ulNotifiedValue[uxIndexToWait];
- _4 = ~ulBitsToClearOnEntry;
- _5 = _3 & _4;
- pxCurrentTCB.134->ulNotifiedValue[uxIndexToWait] = _5;
- pxCurrentTCB.135_6 = pxCurrentTCB;
- pxCurrentTCB.135_6->ucNotifyState[uxIndexToWait] = 1;
- if (xTicksToWait != 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- prvAddCurrentTaskToDelayedList (xTicksToWait, 1);
- _7 = 3758157060B;
- *_7 = 268435456;
- __asm__ __volatile__("dsb" : : : "memory");
- __asm__ __volatile__("isb");
- <bb 8> :
- vPortExitCritical ();
- vPortEnterCritical ();
- if (pulNotificationValue != 0B)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- pxCurrentTCB.136_8 = pxCurrentTCB;
- _9 = pxCurrentTCB.136_8->ulNotifiedValue[uxIndexToWait];
- *pulNotificationValue = _9;
- <bb 10> :
- pxCurrentTCB.137_10 = pxCurrentTCB;
- _11 = pxCurrentTCB.137_10->ucNotifyState[uxIndexToWait];
- if (_11 != 2)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- xReturn = 0;
- goto <bb 13>; [INV]
- <bb 12> :
- pxCurrentTCB.138 = pxCurrentTCB;
- _12 = pxCurrentTCB.138->ulNotifiedValue[uxIndexToWait];
- _13 = ~ulBitsToClearOnExit;
- _14 = _12 & _13;
- pxCurrentTCB.138->ulNotifiedValue[uxIndexToWait] = _14;
- xReturn = 1;
- <bb 13> :
- pxCurrentTCB.139_15 = pxCurrentTCB;
- pxCurrentTCB.139_15->ucNotifyState[uxIndexToWait] = 0;
- vPortExitCritical ();
- D.8131 = xReturn;
- <bb 14> :
- <L14>:
- return D.8131;
- }
- ulTaskGenericNotifyTake (UBaseType_t uxIndexToWait, BaseType_t xClearCountOnExit, TickType_t xTicksToWait)
- {
- uint32_t ulReturn;
- uint32_t D.8114;
- <bb 2> :
- if (uxIndexToWait != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- vPortEnterCritical ();
- pxCurrentTCB.127_1 = pxCurrentTCB;
- _2 = pxCurrentTCB.127_1->ulNotifiedValue[uxIndexToWait];
- if (_2 == 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- pxCurrentTCB.128_3 = pxCurrentTCB;
- pxCurrentTCB.128_3->ucNotifyState[uxIndexToWait] = 1;
- if (xTicksToWait != 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- prvAddCurrentTaskToDelayedList (xTicksToWait, 1);
- _4 = 3758157060B;
- *_4 = 268435456;
- __asm__ __volatile__("dsb" : : : "memory");
- __asm__ __volatile__("isb");
- <bb 8> :
- vPortExitCritical ();
- vPortEnterCritical ();
- pxCurrentTCB.129_5 = pxCurrentTCB;
- ulReturn = pxCurrentTCB.129_5->ulNotifiedValue[uxIndexToWait];
- if (ulReturn != 0)
- goto <bb 9>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 9> :
- if (xClearCountOnExit != 0)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- pxCurrentTCB.130_6 = pxCurrentTCB;
- pxCurrentTCB.130_6->ulNotifiedValue[uxIndexToWait] = 0;
- goto <bb 12>; [INV]
- <bb 11> :
- pxCurrentTCB.131_7 = pxCurrentTCB;
- _8 = ulReturn + 4294967295;
- pxCurrentTCB.131_7->ulNotifiedValue[uxIndexToWait] = _8;
- <bb 12> :
- pxCurrentTCB.132_9 = pxCurrentTCB;
- pxCurrentTCB.132_9->ucNotifyState[uxIndexToWait] = 0;
- vPortExitCritical ();
- D.8114 = ulReturn;
- <bb 13> :
- <L15>:
- return D.8114;
- }
- pvTaskIncrementMutexHeldCount ()
- {
- struct tskTaskControlBlock * D.8098;
- <bb 2> :
- pxCurrentTCB.125_1 = pxCurrentTCB;
- if (pxCurrentTCB.125_1 != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- pxCurrentTCB.126_2 = pxCurrentTCB;
- _3 = pxCurrentTCB.126_2->uxMutexesHeld;
- _4 = _3 + 1;
- pxCurrentTCB.126_2->uxMutexesHeld = _4;
- <bb 4> :
- D.8098 = pxCurrentTCB;
- <bb 5> :
- <L2>:
- return D.8098;
- }
- uxTaskResetEventItemValue ()
- {
- TickType_t uxReturn;
- TickType_t D.8094;
- <bb 2> :
- pxCurrentTCB.122_1 = pxCurrentTCB;
- uxReturn = pxCurrentTCB.122_1->xEventListItem.xItemValue;
- pxCurrentTCB.123_2 = pxCurrentTCB;
- _3 = pxCurrentTCB.123_2->uxPriority;
- pxCurrentTCB.124_4 = pxCurrentTCB;
- _5 = 5 - _3;
- pxCurrentTCB.124_4->xEventListItem.xItemValue = _5;
- D.8094 = uxReturn;
- <bb 3> :
- <L0>:
- return D.8094;
- }
- vTaskList (char * pcWriteBuffer)
- {
- char cStatus;
- UBaseType_t x;
- UBaseType_t uxArraySize;
- struct TaskStatus_t * pxTaskStatusArray;
- <bb 2> :
- *pcWriteBuffer = 0;
- uxArraySize = uxCurrentNumberOfTasks;
- uxCurrentNumberOfTasks.121_1 = uxCurrentNumberOfTasks;
- _2 = uxCurrentNumberOfTasks.121_1 * 36;
- pxTaskStatusArray = pvPortMalloc (_2);
- if (pxTaskStatusArray != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 3> :
- uxArraySize = uxTaskGetSystemState (pxTaskStatusArray, uxArraySize, 0B);
- x = 0;
- goto <bb 12>; [INV]
- <bb 4> :
- _3 = x * 36;
- _4 = pxTaskStatusArray + _3;
- _5 = _4->eCurrentState;
- switch (_5) <default: <L7> [INV], case 0: <L2> [INV], case 1: <L3> [INV], case 2: <L4> [INV], case 3: <L5> [INV], case 4: <L6> [INV]>
- <bb 5> :
- <L2>:
- cStatus = 88;
- goto <bb 11>; [INV]
- <bb 6> :
- <L3>:
- cStatus = 82;
- goto <bb 11>; [INV]
- <bb 7> :
- <L4>:
- cStatus = 66;
- goto <bb 11>; [INV]
- <bb 8> :
- <L5>:
- cStatus = 83;
- goto <bb 11>; [INV]
- <bb 9> :
- <L6>:
- cStatus = 68;
- goto <bb 11>; [INV]
- <bb 10> :
- <L7>:
- cStatus = 0;
- <bb 11> :
- _6 = x * 36;
- _7 = pxTaskStatusArray + _6;
- _8 = _7->pcTaskName;
- pcWriteBuffer = prvWriteNameToBuffer (pcWriteBuffer, _8);
- _9 = (int) cStatus;
- _10 = x * 36;
- _11 = pxTaskStatusArray + _10;
- _12 = _11->uxCurrentPriority;
- _13 = x * 36;
- _14 = pxTaskStatusArray + _13;
- _15 = _14->usStackHighWaterMark;
- _16 = (unsigned int) _15;
- _17 = x * 36;
- _18 = pxTaskStatusArray + _17;
- _19 = _18->xTaskNumber;
- sprintf (pcWriteBuffer, "\t%c\t%u\t%u\t%u\r\n", _9, _12, _16, _19);
- _20 = strlen (pcWriteBuffer);
- pcWriteBuffer = pcWriteBuffer + _20;
- x = x + 1;
- <bb 12> :
- if (x < uxArraySize)
- goto <bb 4>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 13> :
- vPortFree (pxTaskStatusArray);
- <bb 14> :
- return;
- }
- prvWriteNameToBuffer (char * pcBuffer, const char * pcTaskName)
- {
- size_t x;
- char * D.8089;
- <bb 2> :
- strcpy (pcBuffer, pcTaskName);
- x = strlen (pcBuffer);
- goto <bb 4>; [INV]
- <bb 3> :
- _1 = pcBuffer + x;
- *_1 = 32;
- x = x + 1;
- <bb 4> :
- if (x <= 8)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 5> :
- _2 = pcBuffer + x;
- *_2 = 0;
- D.8089 = pcBuffer + x;
- <bb 6> :
- <L3>:
- return D.8089;
- }
- vTaskPriorityDisinheritAfterTimeout (struct tskTaskControlBlock * const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask)
- {
- struct ListItem_t * const pxIndex;
- const UBaseType_t uxOnlyOneMutexHeld;
- UBaseType_t uxPriorityToUse;
- UBaseType_t uxPriorityUsedOnEntry;
- struct TCB_t * const pxTCB;
- <bb 2> :
- pxTCB = pxMutexHolder;
- uxOnlyOneMutexHeld = 1;
- if (pxMutexHolder != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 3> :
- _1 = pxTCB->uxMutexesHeld;
- if (_1 == 0)
- goto <bb 4>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 4> :
- vPortRaiseBASEPRI ();
- <bb 5> :
- goto <bb 5>; [INV]
- <bb 6> :
- _2 = pxTCB->uxBasePriority;
- if (uxHighestPriorityWaitingTask > _2)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- uxPriorityToUse = uxHighestPriorityWaitingTask;
- goto <bb 9>; [INV]
- <bb 8> :
- uxPriorityToUse = pxTCB->uxBasePriority;
- <bb 9> :
- _3 = pxTCB->uxPriority;
- if (uxPriorityToUse != _3)
- goto <bb 10>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 10> :
- _4 = pxTCB->uxMutexesHeld;
- if (uxOnlyOneMutexHeld == _4)
- goto <bb 11>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 11> :
- pxCurrentTCB.119_5 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.119_5)
- goto <bb 12>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 12> :
- vPortRaiseBASEPRI ();
- <bb 13> :
- goto <bb 13>; [INV]
- <bb 14> :
- uxPriorityUsedOnEntry = pxTCB->uxPriority;
- pxTCB->uxPriority = uxPriorityToUse;
- _6 = pxTCB->xEventListItem.xItemValue;
- _7 = (signed int) _6;
- if (_7 >= 0)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- _8 = 5 - uxPriorityToUse;
- pxTCB->xEventListItem.xItemValue = _8;
- <bb 16> :
- _9 = pxTCB->xStateListItem.pvContainer;
- _10 = &pxReadyTasksLists[uxPriorityUsedOnEntry];
- if (_9 == _10)
- goto <bb 17>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 17> :
- _11 = &pxTCB->xStateListItem;
- _12 = uxListRemove (_11);
- <bb 18> :
- _13 = pxTCB->uxPriority;
- uxTopReadyPriority.120_14 = uxTopReadyPriority;
- if (_13 > uxTopReadyPriority.120_14)
- goto <bb 19>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 19> :
- _15 = pxTCB->uxPriority;
- uxTopReadyPriority = _15;
- <bb 20> :
- _16 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_16].pxIndex;
- pxTCB->xStateListItem.pxNext = pxIndex;
- _17 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _17;
- _18 = pxIndex->pxPrevious;
- _19 = &pxTCB->xStateListItem;
- _18->pxNext = _19;
- _20 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _20;
- _21 = pxTCB->uxPriority;
- _22 = &pxReadyTasksLists[_21];
- pxTCB->xStateListItem.pvContainer = _22;
- _23 = pxTCB->uxPriority;
- _24 = pxReadyTasksLists[_23].uxNumberOfItems;
- _25 = _24 + 1;
- pxReadyTasksLists[_23].uxNumberOfItems = _25;
- <bb 21> :
- return;
- }
- xTaskPriorityDisinherit (struct tskTaskControlBlock * const pxMutexHolder)
- {
- struct ListItem_t * const pxIndex;
- BaseType_t xReturn;
- struct TCB_t * const pxTCB;
- BaseType_t D.8060;
- <bb 2> :
- pxTCB = pxMutexHolder;
- xReturn = 0;
- if (pxMutexHolder != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 3> :
- pxCurrentTCB.117_1 = pxCurrentTCB;
- if (pxTCB != pxCurrentTCB.117_1)
- goto <bb 4>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 4> :
- vPortRaiseBASEPRI ();
- <bb 5> :
- goto <bb 5>; [INV]
- <bb 6> :
- _2 = pxTCB->uxMutexesHeld;
- if (_2 == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 7> :
- vPortRaiseBASEPRI ();
- <bb 8> :
- goto <bb 8>; [INV]
- <bb 9> :
- _3 = pxTCB->uxMutexesHeld;
- _4 = _3 + 4294967295;
- pxTCB->uxMutexesHeld = _4;
- _5 = pxTCB->uxPriority;
- _6 = pxTCB->uxBasePriority;
- if (_5 != _6)
- goto <bb 10>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 10> :
- _7 = pxTCB->uxMutexesHeld;
- if (_7 == 0)
- goto <bb 11>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 11> :
- _8 = &pxTCB->xStateListItem;
- _9 = uxListRemove (_8);
- <bb 12> :
- _10 = pxTCB->uxBasePriority;
- pxTCB->uxPriority = _10;
- _11 = pxTCB->uxPriority;
- _12 = 5 - _11;
- pxTCB->xEventListItem.xItemValue = _12;
- _13 = pxTCB->uxPriority;
- uxTopReadyPriority.118_14 = uxTopReadyPriority;
- if (_13 > uxTopReadyPriority.118_14)
- goto <bb 13>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 13> :
- _15 = pxTCB->uxPriority;
- uxTopReadyPriority = _15;
- <bb 14> :
- _16 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_16].pxIndex;
- pxTCB->xStateListItem.pxNext = pxIndex;
- _17 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _17;
- _18 = pxIndex->pxPrevious;
- _19 = &pxTCB->xStateListItem;
- _18->pxNext = _19;
- _20 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _20;
- _21 = pxTCB->uxPriority;
- _22 = &pxReadyTasksLists[_21];
- pxTCB->xStateListItem.pvContainer = _22;
- _23 = pxTCB->uxPriority;
- _24 = pxReadyTasksLists[_23].uxNumberOfItems;
- _25 = _24 + 1;
- pxReadyTasksLists[_23].uxNumberOfItems = _25;
- xReturn = 1;
- <bb 15> :
- D.8060 = xReturn;
- <bb 16> :
- <L20>:
- return D.8060;
- }
- xTaskPriorityInherit (struct tskTaskControlBlock * const pxMutexHolder)
- {
- struct ListItem_t * const pxIndex;
- BaseType_t xReturn;
- struct TCB_t * const pxMutexHolderTCB;
- BaseType_t D.8040;
- <bb 2> :
- pxMutexHolderTCB = pxMutexHolder;
- xReturn = 0;
- if (pxMutexHolder != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 3> :
- _1 = pxMutexHolderTCB->uxPriority;
- pxCurrentTCB.111_2 = pxCurrentTCB;
- _3 = pxCurrentTCB.111_2->uxPriority;
- if (_1 < _3)
- goto <bb 4>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 4> :
- _4 = pxMutexHolderTCB->xEventListItem.xItemValue;
- _5 = (signed int) _4;
- if (_5 >= 0)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- pxCurrentTCB.112_6 = pxCurrentTCB;
- _7 = pxCurrentTCB.112_6->uxPriority;
- _8 = 5 - _7;
- pxMutexHolderTCB->xEventListItem.xItemValue = _8;
- <bb 6> :
- _9 = pxMutexHolderTCB->xStateListItem.pvContainer;
- _10 = pxMutexHolderTCB->uxPriority;
- _11 = &pxReadyTasksLists[_10];
- if (_9 == _11)
- goto <bb 7>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 7> :
- _12 = &pxMutexHolderTCB->xStateListItem;
- _13 = uxListRemove (_12);
- <bb 8> :
- pxCurrentTCB.113_14 = pxCurrentTCB;
- _15 = pxCurrentTCB.113_14->uxPriority;
- pxMutexHolderTCB->uxPriority = _15;
- _16 = pxMutexHolderTCB->uxPriority;
- uxTopReadyPriority.114_17 = uxTopReadyPriority;
- if (_16 > uxTopReadyPriority.114_17)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- _18 = pxMutexHolderTCB->uxPriority;
- uxTopReadyPriority = _18;
- <bb 10> :
- _19 = pxMutexHolderTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_19].pxIndex;
- pxMutexHolderTCB->xStateListItem.pxNext = pxIndex;
- _20 = pxIndex->pxPrevious;
- pxMutexHolderTCB->xStateListItem.pxPrevious = _20;
- _21 = pxIndex->pxPrevious;
- _22 = &pxMutexHolderTCB->xStateListItem;
- _21->pxNext = _22;
- _23 = &pxMutexHolderTCB->xStateListItem;
- pxIndex->pxPrevious = _23;
- _24 = pxMutexHolderTCB->uxPriority;
- _25 = &pxReadyTasksLists[_24];
- pxMutexHolderTCB->xStateListItem.pvContainer = _25;
- _26 = pxMutexHolderTCB->uxPriority;
- _27 = pxReadyTasksLists[_26].uxNumberOfItems;
- _28 = _27 + 1;
- pxReadyTasksLists[_26].uxNumberOfItems = _28;
- goto <bb 12>; [INV]
- <bb 11> :
- pxCurrentTCB.115_29 = pxCurrentTCB;
- _30 = pxCurrentTCB.115_29->uxPriority;
- pxMutexHolderTCB->uxPriority = _30;
- <bb 12> :
- xReturn = 1;
- goto <bb 15>; [INV]
- <bb 13> :
- _31 = pxMutexHolderTCB->uxBasePriority;
- pxCurrentTCB.116_32 = pxCurrentTCB;
- _33 = pxCurrentTCB.116_32->uxPriority;
- if (_31 < _33)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- xReturn = 1;
- <bb 15> :
- D.8040 = xReturn;
- <bb 16> :
- <L20>:
- return D.8040;
- }
- xTaskGetSchedulerState ()
- {
- BaseType_t xReturn;
- BaseType_t D.8018;
- <bb 2> :
- xSchedulerRunning.109_1 = xSchedulerRunning;
- if (xSchedulerRunning.109_1 == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- xReturn = 1;
- goto <bb 7>; [INV]
- <bb 4> :
- uxSchedulerSuspended.110_2 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.110_2 == 0)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- xReturn = 2;
- goto <bb 7>; [INV]
- <bb 6> :
- xReturn = 0;
- <bb 7> :
- D.8018 = xReturn;
- <bb 8> :
- <L6>:
- return D.8018;
- }
- xTaskGetCurrentTaskHandle ()
- {
- struct tskTaskControlBlock * xReturn;
- struct tskTaskControlBlock * D.8010;
- <bb 2> :
- xReturn = pxCurrentTCB;
- D.8010 = xReturn;
- <bb 3> :
- <L0>:
- return D.8010;
- }
- prvResetNextTaskUnblockTime ()
- {
- <bb 2> :
- pxDelayedTaskList.107_1 = pxDelayedTaskList;
- _2 = pxDelayedTaskList.107_1->uxNumberOfItems;
- if (_2 == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- xNextTaskUnblockTime = 4294967295;
- goto <bb 5>; [INV]
- <bb 4> :
- pxDelayedTaskList.108_3 = pxDelayedTaskList;
- _4 = pxDelayedTaskList.108_3->xListEnd.pxNext;
- _5 = _4->xItemValue;
- xNextTaskUnblockTime = _5;
- <bb 5> :
- return;
- }
- prvDeleteTCB (struct TCB_t * pxTCB)
- {
- <bb 2> :
- _1 = pxTCB->pxStack;
- vPortFree (_1);
- vPortFree (pxTCB);
- return;
- }
- uxTaskGetStackHighWaterMark (struct tskTaskControlBlock * xTask)
- {
- UBaseType_t uxReturn;
- uint8_t * pucEndOfStack;
- struct TCB_t * pxTCB;
- UBaseType_t D.8005;
- struct TCB_t * iftmp.106;
- <bb 2> :
- if (xTask == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.106 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.106 = xTask;
- <bb 5> :
- pxTCB = iftmp.106;
- pucEndOfStack = pxTCB->pxStack;
- _1 = prvTaskCheckFreeStackSpace (pucEndOfStack);
- uxReturn = (UBaseType_t) _1;
- D.8005 = uxReturn;
- <bb 6> :
- <L3>:
- return D.8005;
- }
- prvTaskCheckFreeStackSpace (const uint8_t * pucStackByte)
- {
- uint32_t ulCount;
- uint16_t D.7999;
- <bb 2> :
- ulCount = 0;
- goto <bb 4>; [INV]
- <bb 3> :
- pucStackByte = pucStackByte + 1;
- ulCount = ulCount + 1;
- <bb 4> :
- _1 = *pucStackByte;
- if (_1 == 165)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 5> :
- ulCount = ulCount / 4;
- D.7999 = (uint16_t) ulCount;
- <bb 6> :
- <L3>:
- return D.7999;
- }
- prvListTasksWithinSingleList (struct TaskStatus_t * pxTaskStatusArray, struct List_t * pxList, eTaskState eState)
- {
- struct List_t * const pxConstList;
- struct List_t * const pxConstList;
- UBaseType_t uxTask;
- struct TCB_t * pxFirstTCB;
- struct TCB_t * pxNextTCB;
- UBaseType_t D.7997;
- <bb 2> :
- uxTask = 0;
- _1 = pxList->uxNumberOfItems;
- if (_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 3> :
- pxConstList = pxList;
- _2 = pxConstList->pxIndex;
- _3 = _2->pxNext;
- pxConstList->pxIndex = _3;
- _4 = pxConstList->pxIndex;
- _5 = &pxConstList->xListEnd;
- if (_4 == _5)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- _6 = pxConstList->pxIndex;
- _7 = _6->pxNext;
- pxConstList->pxIndex = _7;
- <bb 5> :
- _8 = pxConstList->pxIndex;
- pxFirstTCB = _8->pvOwner;
- <bb 6> :
- pxConstList = pxList;
- _9 = pxConstList->pxIndex;
- _10 = _9->pxNext;
- pxConstList->pxIndex = _10;
- _11 = pxConstList->pxIndex;
- _12 = &pxConstList->xListEnd;
- if (_11 == _12)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- _13 = pxConstList->pxIndex;
- _14 = _13->pxNext;
- pxConstList->pxIndex = _14;
- <bb 8> :
- _15 = pxConstList->pxIndex;
- pxNextTCB = _15->pvOwner;
- _16 = uxTask * 36;
- _17 = pxTaskStatusArray + _16;
- vTaskGetInfo (pxNextTCB, _17, 1, eState);
- uxTask = uxTask + 1;
- if (pxNextTCB != pxFirstTCB)
- goto <bb 6>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 9> :
- D.7997 = uxTask;
- <bb 10> :
- <L9>:
- return D.7997;
- }
- vTaskGetInfo (struct tskTaskControlBlock * xTask, struct TaskStatus_t * pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState)
- {
- struct TCB_t * pxTCB;
- struct TCB_t * iftmp.104;
- <bb 2> :
- if (xTask == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.104 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.104 = xTask;
- <bb 5> :
- pxTCB = iftmp.104;
- pxTaskStatus->xHandle = pxTCB;
- _1 = &pxTCB->pcTaskName[0];
- pxTaskStatus->pcTaskName = _1;
- _2 = pxTCB->uxPriority;
- pxTaskStatus->uxCurrentPriority = _2;
- _3 = pxTCB->pxStack;
- pxTaskStatus->pxStackBase = _3;
- _4 = pxTCB->uxTCBNumber;
- pxTaskStatus->xTaskNumber = _4;
- _5 = pxTCB->uxBasePriority;
- pxTaskStatus->uxBasePriority = _5;
- pxTaskStatus->ulRunTimeCounter = 0;
- if (eState != 5)
- goto <bb 6>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 6> :
- pxCurrentTCB.105_6 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.105_6)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- pxTaskStatus->eCurrentState = 0;
- goto <bb 13>; [INV]
- <bb 8> :
- pxTaskStatus->eCurrentState = eState;
- if (eState == 3)
- goto <bb 9>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 9> :
- vTaskSuspendAll ();
- _7 = pxTCB->xEventListItem.pvContainer;
- if (_7 != 0B)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- pxTaskStatus->eCurrentState = 2;
- <bb 11> :
- xTaskResumeAll ();
- goto <bb 13>; [INV]
- <bb 12> :
- _8 = eTaskGetState (pxTCB);
- pxTaskStatus->eCurrentState = _8;
- <bb 13> :
- if (xGetFreeStackSpace != 0)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- _9 = pxTCB->pxStack;
- _10 = prvTaskCheckFreeStackSpace (_9);
- pxTaskStatus->usStackHighWaterMark = _10;
- goto <bb 16>; [INV]
- <bb 15> :
- pxTaskStatus->usStackHighWaterMark = 0;
- <bb 16> :
- return;
- }
- prvCheckTasksWaitingTermination ()
- {
- struct TCB_t * pxTCB;
- <bb 2> :
- goto <bb 4>; [INV]
- <bb 3> :
- vPortEnterCritical ();
- _1 = xTasksWaitingTermination.xListEnd.pxNext;
- pxTCB = _1->pvOwner;
- _2 = &pxTCB->xStateListItem;
- uxListRemove (_2);
- uxCurrentNumberOfTasks.101_3 = uxCurrentNumberOfTasks;
- _4 = uxCurrentNumberOfTasks.101_3 + 4294967295;
- uxCurrentNumberOfTasks = _4;
- uxDeletedTasksWaitingCleanUp.102_5 = uxDeletedTasksWaitingCleanUp;
- _6 = uxDeletedTasksWaitingCleanUp.102_5 + 4294967295;
- uxDeletedTasksWaitingCleanUp = _6;
- vPortExitCritical ();
- prvDeleteTCB (pxTCB);
- <bb 4> :
- uxDeletedTasksWaitingCleanUp.103_7 = uxDeletedTasksWaitingCleanUp;
- if (uxDeletedTasksWaitingCleanUp.103_7 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 5> :
- return;
- }
- prvInitialiseTaskLists ()
- {
- UBaseType_t uxPriority;
- <bb 2> :
- uxPriority = 0;
- goto <bb 4>; [INV]
- <bb 3> :
- _1 = &pxReadyTasksLists[uxPriority];
- vListInitialise (_1);
- uxPriority = uxPriority + 1;
- <bb 4> :
- if (uxPriority <= 4)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 5> :
- vListInitialise (&xDelayedTaskList1);
- vListInitialise (&xDelayedTaskList2);
- vListInitialise (&xPendingReadyList);
- vListInitialise (&xTasksWaitingTermination);
- vListInitialise (&xSuspendedTaskList);
- pxDelayedTaskList = &xDelayedTaskList1;
- pxOverflowDelayedTaskList = &xDelayedTaskList2;
- return;
- }
- prvIdleTask (void * pvParameters)
- {
- <bb 2> :
- prvCheckTasksWaitingTermination ();
- _1 = pxReadyTasksLists[0].uxNumberOfItems;
- if (_1 > 1)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- _2 = 3758157060B;
- *_2 = 268435456;
- __asm__ __volatile__("dsb" : : : "memory");
- __asm__ __volatile__("isb");
- <bb 4> :
- goto <bb 2>; [INV]
- }
- vTaskSetTaskNumber (struct tskTaskControlBlock * xTask, const UBaseType_t uxHandle)
- {
- struct TCB_t * pxTCB;
- <bb 2> :
- if (xTask != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- pxTCB = xTask;
- pxTCB->uxTaskNumber = uxHandle;
- <bb 4> :
- return;
- }
- uxTaskGetTaskNumber (struct tskTaskControlBlock * xTask)
- {
- const struct TCB_t * pxTCB;
- UBaseType_t uxReturn;
- UBaseType_t D.7966;
- <bb 2> :
- if (xTask != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- pxTCB = xTask;
- uxReturn = pxTCB->uxTaskNumber;
- goto <bb 5>; [INV]
- <bb 4> :
- uxReturn = 0;
- <bb 5> :
- D.7966 = uxReturn;
- <bb 6> :
- <L3>:
- return D.7966;
- }
- vTaskMissedYield ()
- {
- <bb 2> :
- xYieldPending = 1;
- return;
- }
- xTaskCheckForTimeOut (struct TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait)
- {
- const TickType_t xElapsedTime;
- const TickType_t xConstTickCount;
- BaseType_t xReturn;
- BaseType_t D.7961;
- <bb 2> :
- if (pxTimeOut == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- if (pxTicksToWait == 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- vPortRaiseBASEPRI ();
- <bb 7> :
- goto <bb 7>; [INV]
- <bb 8> :
- vPortEnterCritical ();
- xConstTickCount = xTickCount;
- _1 = pxTimeOut->xTimeOnEntering;
- xElapsedTime = xConstTickCount - _1;
- pxCurrentTCB.98_2 = pxCurrentTCB;
- _3 = pxCurrentTCB.98_2->ucDelayAborted;
- if (_3 != 0)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- pxCurrentTCB.99_4 = pxCurrentTCB;
- pxCurrentTCB.99_4->ucDelayAborted = 0;
- xReturn = 1;
- goto <bb 18>; [INV]
- <bb 10> :
- _5 = *pxTicksToWait;
- if (_5 == 4294967295)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- xReturn = 0;
- goto <bb 18>; [INV]
- <bb 12> :
- _6 = pxTimeOut->xOverflowCount;
- xNumOfOverflows.100_7 = xNumOfOverflows;
- if (_6 != xNumOfOverflows.100_7)
- goto <bb 13>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 13> :
- _8 = pxTimeOut->xTimeOnEntering;
- if (xConstTickCount >= _8)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- xReturn = 1;
- *pxTicksToWait = 0;
- goto <bb 18>; [INV]
- <bb 15> :
- _9 = *pxTicksToWait;
- if (xElapsedTime < _9)
- goto <bb 16>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 16> :
- _10 = *pxTicksToWait;
- _11 = _10 - xElapsedTime;
- *pxTicksToWait = _11;
- vTaskInternalSetTimeOutState (pxTimeOut);
- xReturn = 0;
- goto <bb 18>; [INV]
- <bb 17> :
- *pxTicksToWait = 0;
- xReturn = 1;
- <bb 18> :
- vPortExitCritical ();
- D.7961 = xReturn;
- <bb 19> :
- <L19>:
- return D.7961;
- }
- vTaskInternalSetTimeOutState (struct TimeOut_t * const pxTimeOut)
- {
- <bb 2> :
- xNumOfOverflows.96_1 = xNumOfOverflows;
- pxTimeOut->xOverflowCount = xNumOfOverflows.96_1;
- xTickCount.97_2 = xTickCount;
- pxTimeOut->xTimeOnEntering = xTickCount.97_2;
- return;
- }
- vTaskSetTimeOutState (struct TimeOut_t * const pxTimeOut)
- {
- <bb 2> :
- if (pxTimeOut == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- vPortEnterCritical ();
- xNumOfOverflows.94_1 = xNumOfOverflows;
- pxTimeOut->xOverflowCount = xNumOfOverflows.94_1;
- xTickCount.95_2 = xTickCount;
- pxTimeOut->xTimeOnEntering = xTickCount.95_2;
- vPortExitCritical ();
- return;
- }
- vTaskRemoveFromUnorderedEventList (struct ListItem_t * pxEventListItem, const TickType_t xItemValue)
- {
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- struct List_t * const pxList;
- struct TCB_t * pxUnblockedTCB;
- <bb 2> :
- uxSchedulerSuspended.91_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.91_1 == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- _2 = xItemValue | 2147483648;
- pxEventListItem->xItemValue = _2;
- pxUnblockedTCB = pxEventListItem->pvOwner;
- if (pxUnblockedTCB == 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- vPortRaiseBASEPRI ();
- <bb 7> :
- goto <bb 7>; [INV]
- <bb 8> :
- pxList = pxEventListItem->pvContainer;
- _3 = pxEventListItem->pxNext;
- _4 = pxEventListItem->pxPrevious;
- _3->pxPrevious = _4;
- _5 = pxEventListItem->pxPrevious;
- _6 = pxEventListItem->pxNext;
- _5->pxNext = _6;
- _7 = pxList->pxIndex;
- if (pxEventListItem == _7)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- _8 = pxEventListItem->pxPrevious;
- pxList->pxIndex = _8;
- <bb 10> :
- pxEventListItem->pvContainer = 0B;
- _9 = pxList->uxNumberOfItems;
- _10 = _9 + 4294967295;
- pxList->uxNumberOfItems = _10;
- pxList = pxUnblockedTCB->xStateListItem.pvContainer;
- _11 = pxUnblockedTCB->xStateListItem.pxNext;
- _12 = pxUnblockedTCB->xStateListItem.pxPrevious;
- _11->pxPrevious = _12;
- _13 = pxUnblockedTCB->xStateListItem.pxPrevious;
- _14 = pxUnblockedTCB->xStateListItem.pxNext;
- _13->pxNext = _14;
- _15 = pxList->pxIndex;
- _16 = &pxUnblockedTCB->xStateListItem;
- if (_15 == _16)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- _17 = pxUnblockedTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _17;
- <bb 12> :
- pxUnblockedTCB->xStateListItem.pvContainer = 0B;
- _18 = pxList->uxNumberOfItems;
- _19 = _18 + 4294967295;
- pxList->uxNumberOfItems = _19;
- _20 = pxUnblockedTCB->uxPriority;
- uxTopReadyPriority.92_21 = uxTopReadyPriority;
- if (_20 > uxTopReadyPriority.92_21)
- goto <bb 13>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 13> :
- _22 = pxUnblockedTCB->uxPriority;
- uxTopReadyPriority = _22;
- <bb 14> :
- _23 = pxUnblockedTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_23].pxIndex;
- pxUnblockedTCB->xStateListItem.pxNext = pxIndex;
- _24 = pxIndex->pxPrevious;
- pxUnblockedTCB->xStateListItem.pxPrevious = _24;
- _25 = pxIndex->pxPrevious;
- _26 = &pxUnblockedTCB->xStateListItem;
- _25->pxNext = _26;
- _27 = &pxUnblockedTCB->xStateListItem;
- pxIndex->pxPrevious = _27;
- _28 = pxUnblockedTCB->uxPriority;
- _29 = &pxReadyTasksLists[_28];
- pxUnblockedTCB->xStateListItem.pvContainer = _29;
- _30 = pxUnblockedTCB->uxPriority;
- _31 = pxReadyTasksLists[_30].uxNumberOfItems;
- _32 = _31 + 1;
- pxReadyTasksLists[_30].uxNumberOfItems = _32;
- _33 = pxUnblockedTCB->uxPriority;
- pxCurrentTCB.93_34 = pxCurrentTCB;
- _35 = pxCurrentTCB.93_34->uxPriority;
- if (_33 > _35)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- xYieldPending = 1;
- <bb 16> :
- return;
- }
- xTaskRemoveFromEventList (const struct List_t * const pxEventList)
- {
- struct ListItem_t * const pxIndex;
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- struct List_t * const pxList;
- BaseType_t xReturn;
- struct TCB_t * pxUnblockedTCB;
- BaseType_t D.7928;
- <bb 2> :
- _1 = pxEventList->xListEnd.pxNext;
- pxUnblockedTCB = _1->pvOwner;
- if (pxUnblockedTCB == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- pxList = pxUnblockedTCB->xEventListItem.pvContainer;
- _2 = pxUnblockedTCB->xEventListItem.pxNext;
- _3 = pxUnblockedTCB->xEventListItem.pxPrevious;
- _2->pxPrevious = _3;
- _4 = pxUnblockedTCB->xEventListItem.pxPrevious;
- _5 = pxUnblockedTCB->xEventListItem.pxNext;
- _4->pxNext = _5;
- _6 = pxList->pxIndex;
- _7 = &pxUnblockedTCB->xEventListItem;
- if (_6 == _7)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- _8 = pxUnblockedTCB->xEventListItem.pxPrevious;
- pxList->pxIndex = _8;
- <bb 7> :
- pxUnblockedTCB->xEventListItem.pvContainer = 0B;
- _9 = pxList->uxNumberOfItems;
- _10 = _9 + 4294967295;
- pxList->uxNumberOfItems = _10;
- uxSchedulerSuspended.88_11 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.88_11 == 0)
- goto <bb 8>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 8> :
- pxList = pxUnblockedTCB->xStateListItem.pvContainer;
- _12 = pxUnblockedTCB->xStateListItem.pxNext;
- _13 = pxUnblockedTCB->xStateListItem.pxPrevious;
- _12->pxPrevious = _13;
- _14 = pxUnblockedTCB->xStateListItem.pxPrevious;
- _15 = pxUnblockedTCB->xStateListItem.pxNext;
- _14->pxNext = _15;
- _16 = pxList->pxIndex;
- _17 = &pxUnblockedTCB->xStateListItem;
- if (_16 == _17)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- _18 = pxUnblockedTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _18;
- <bb 10> :
- pxUnblockedTCB->xStateListItem.pvContainer = 0B;
- _19 = pxList->uxNumberOfItems;
- _20 = _19 + 4294967295;
- pxList->uxNumberOfItems = _20;
- _21 = pxUnblockedTCB->uxPriority;
- uxTopReadyPriority.89_22 = uxTopReadyPriority;
- if (_21 > uxTopReadyPriority.89_22)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- _23 = pxUnblockedTCB->uxPriority;
- uxTopReadyPriority = _23;
- <bb 12> :
- _24 = pxUnblockedTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_24].pxIndex;
- pxUnblockedTCB->xStateListItem.pxNext = pxIndex;
- _25 = pxIndex->pxPrevious;
- pxUnblockedTCB->xStateListItem.pxPrevious = _25;
- _26 = pxIndex->pxPrevious;
- _27 = &pxUnblockedTCB->xStateListItem;
- _26->pxNext = _27;
- _28 = &pxUnblockedTCB->xStateListItem;
- pxIndex->pxPrevious = _28;
- _29 = pxUnblockedTCB->uxPriority;
- _30 = &pxReadyTasksLists[_29];
- pxUnblockedTCB->xStateListItem.pvContainer = _30;
- _31 = pxUnblockedTCB->uxPriority;
- _32 = pxReadyTasksLists[_31].uxNumberOfItems;
- _33 = _32 + 1;
- pxReadyTasksLists[_31].uxNumberOfItems = _33;
- goto <bb 14>; [INV]
- <bb 13> :
- pxIndex = xPendingReadyList.pxIndex;
- pxUnblockedTCB->xEventListItem.pxNext = pxIndex;
- _34 = pxIndex->pxPrevious;
- pxUnblockedTCB->xEventListItem.pxPrevious = _34;
- _35 = pxIndex->pxPrevious;
- _36 = &pxUnblockedTCB->xEventListItem;
- _35->pxNext = _36;
- _37 = &pxUnblockedTCB->xEventListItem;
- pxIndex->pxPrevious = _37;
- pxUnblockedTCB->xEventListItem.pvContainer = &xPendingReadyList;
- _38 = xPendingReadyList.uxNumberOfItems;
- _39 = _38 + 1;
- xPendingReadyList.uxNumberOfItems = _39;
- <bb 14> :
- _40 = pxUnblockedTCB->uxPriority;
- pxCurrentTCB.90_41 = pxCurrentTCB;
- _42 = pxCurrentTCB.90_41->uxPriority;
- if (_40 > _42)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- xReturn = 1;
- xYieldPending = 1;
- goto <bb 17>; [INV]
- <bb 16> :
- xReturn = 0;
- <bb 17> :
- D.7928 = xReturn;
- <bb 18> :
- <L15>:
- return D.7928;
- }
- vTaskPlaceOnEventListRestricted (struct List_t * const pxEventList, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely)
- {
- struct ListItem_t * const pxIndex;
- <bb 2> :
- if (pxEventList == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- pxIndex = pxEventList->pxIndex;
- pxCurrentTCB.83_1 = pxCurrentTCB;
- pxCurrentTCB.83_1->xEventListItem.pxNext = pxIndex;
- pxCurrentTCB.84_2 = pxCurrentTCB;
- _3 = pxIndex->pxPrevious;
- pxCurrentTCB.84_2->xEventListItem.pxPrevious = _3;
- pxCurrentTCB.85_4 = pxCurrentTCB;
- _5 = pxIndex->pxPrevious;
- _6 = &pxCurrentTCB.85_4->xEventListItem;
- _5->pxNext = _6;
- pxCurrentTCB.86_7 = pxCurrentTCB;
- _8 = &pxCurrentTCB.86_7->xEventListItem;
- pxIndex->pxPrevious = _8;
- pxCurrentTCB.87_9 = pxCurrentTCB;
- pxCurrentTCB.87_9->xEventListItem.pvContainer = pxEventList;
- _10 = pxEventList->uxNumberOfItems;
- _11 = _10 + 1;
- pxEventList->uxNumberOfItems = _11;
- if (xWaitIndefinitely != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- xTicksToWait = 4294967295;
- <bb 7> :
- prvAddCurrentTaskToDelayedList (xTicksToWait, xWaitIndefinitely);
- return;
- }
- vTaskPlaceOnUnorderedEventList (struct List_t * pxEventList, const TickType_t xItemValue, const TickType_t xTicksToWait)
- {
- struct ListItem_t * const pxIndex;
- <bb 2> :
- if (pxEventList == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- uxSchedulerSuspended.76_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.76_1 == 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- vPortRaiseBASEPRI ();
- <bb 7> :
- goto <bb 7>; [INV]
- <bb 8> :
- pxCurrentTCB.77_2 = pxCurrentTCB;
- _3 = xItemValue | 2147483648;
- pxCurrentTCB.77_2->xEventListItem.xItemValue = _3;
- pxIndex = pxEventList->pxIndex;
- pxCurrentTCB.78_4 = pxCurrentTCB;
- pxCurrentTCB.78_4->xEventListItem.pxNext = pxIndex;
- pxCurrentTCB.79_5 = pxCurrentTCB;
- _6 = pxIndex->pxPrevious;
- pxCurrentTCB.79_5->xEventListItem.pxPrevious = _6;
- pxCurrentTCB.80_7 = pxCurrentTCB;
- _8 = pxIndex->pxPrevious;
- _9 = &pxCurrentTCB.80_7->xEventListItem;
- _8->pxNext = _9;
- pxCurrentTCB.81_10 = pxCurrentTCB;
- _11 = &pxCurrentTCB.81_10->xEventListItem;
- pxIndex->pxPrevious = _11;
- pxCurrentTCB.82_12 = pxCurrentTCB;
- pxCurrentTCB.82_12->xEventListItem.pvContainer = pxEventList;
- _13 = pxEventList->uxNumberOfItems;
- _14 = _13 + 1;
- pxEventList->uxNumberOfItems = _14;
- prvAddCurrentTaskToDelayedList (xTicksToWait, 1);
- return;
- }
- vTaskPlaceOnEventList (struct List_t * const pxEventList, const TickType_t xTicksToWait)
- {
- <bb 2> :
- if (pxEventList == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- pxCurrentTCB.75_1 = pxCurrentTCB;
- _2 = &pxCurrentTCB.75_1->xEventListItem;
- vListInsert (pxEventList, _2);
- prvAddCurrentTaskToDelayedList (xTicksToWait, 1);
- return;
- }
- __attribute__((used))
- vTaskSwitchContext ()
- {
- struct List_t * const pxConstList;
- UBaseType_t uxTopPriority;
- <bb 2> :
- uxSchedulerSuspended.74_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.74_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- xYieldPending = 1;
- goto <bb 13>; [INV]
- <bb 4> :
- xYieldPending = 0;
- uxTopPriority = uxTopReadyPriority;
- goto <bb 9>; [INV]
- <bb 5> :
- if (uxTopPriority == 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- vPortRaiseBASEPRI ();
- <bb 7> :
- goto <bb 7>; [INV]
- <bb 8> :
- uxTopPriority = uxTopPriority + 4294967295;
- <bb 9> :
- _2 = pxReadyTasksLists[uxTopPriority].uxNumberOfItems;
- if (_2 == 0)
- goto <bb 5>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 10> :
- pxConstList = &pxReadyTasksLists[uxTopPriority];
- _3 = pxConstList->pxIndex;
- _4 = _3->pxNext;
- pxConstList->pxIndex = _4;
- _5 = pxConstList->pxIndex;
- _6 = &pxConstList->xListEnd;
- if (_5 == _6)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- _7 = pxConstList->pxIndex;
- _8 = _7->pxNext;
- pxConstList->pxIndex = _8;
- <bb 12> :
- _9 = pxConstList->pxIndex;
- _10 = _9->pvOwner;
- pxCurrentTCB = _10;
- uxTopReadyPriority = uxTopPriority;
- <bb 13> :
- return;
- }
- xTaskIncrementTick ()
- {
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- struct List_t * const pxList;
- struct List_t * pxTemp;
- const TickType_t xConstTickCount;
- BaseType_t xSwitchRequired;
- TickType_t xItemValue;
- struct TCB_t * pxTCB;
- BaseType_t D.7895;
- <bb 2> :
- xSwitchRequired = 0;
- uxSchedulerSuspended.61_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.61_1 == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 28>; [INV]
- <bb 3> :
- xTickCount.62_2 = xTickCount;
- xConstTickCount = xTickCount.62_2 + 1;
- xTickCount = xConstTickCount;
- if (xConstTickCount == 0)
- goto <bb 4>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 4> :
- pxDelayedTaskList.63_3 = pxDelayedTaskList;
- _4 = pxDelayedTaskList.63_3->uxNumberOfItems;
- if (_4 != 0)
- goto <bb 5>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 5> :
- vPortRaiseBASEPRI ();
- <bb 6> :
- goto <bb 6>; [INV]
- <bb 7> :
- pxTemp = pxDelayedTaskList;
- pxOverflowDelayedTaskList.64_5 = pxOverflowDelayedTaskList;
- pxDelayedTaskList = pxOverflowDelayedTaskList.64_5;
- pxOverflowDelayedTaskList = pxTemp;
- xNumOfOverflows.65_6 = xNumOfOverflows;
- _7 = xNumOfOverflows.65_6 + 1;
- xNumOfOverflows = _7;
- prvResetNextTaskUnblockTime ();
- <bb 8> :
- xNextTaskUnblockTime.66_8 = xNextTaskUnblockTime;
- if (xConstTickCount >= xNextTaskUnblockTime.66_8)
- goto <bb 9>; [INV]
- else
- goto <bb 24>; [INV]
- <bb 9> :
- pxDelayedTaskList.67_9 = pxDelayedTaskList;
- _10 = pxDelayedTaskList.67_9->uxNumberOfItems;
- if (_10 == 0)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- xNextTaskUnblockTime = 4294967295;
- goto <bb 24>; [INV]
- <bb 11> :
- pxDelayedTaskList.68_11 = pxDelayedTaskList;
- _12 = pxDelayedTaskList.68_11->xListEnd.pxNext;
- pxTCB = _12->pvOwner;
- xItemValue = pxTCB->xStateListItem.xItemValue;
- if (xConstTickCount < xItemValue)
- goto <bb 12>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 12> :
- xNextTaskUnblockTime = xItemValue;
- goto <bb 24>; [INV]
- <bb 13> :
- pxList = pxTCB->xStateListItem.pvContainer;
- _13 = pxTCB->xStateListItem.pxNext;
- _14 = pxTCB->xStateListItem.pxPrevious;
- _13->pxPrevious = _14;
- _15 = pxTCB->xStateListItem.pxPrevious;
- _16 = pxTCB->xStateListItem.pxNext;
- _15->pxNext = _16;
- _17 = pxList->pxIndex;
- _18 = &pxTCB->xStateListItem;
- if (_17 == _18)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- _19 = pxTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _19;
- <bb 15> :
- pxTCB->xStateListItem.pvContainer = 0B;
- _20 = pxList->uxNumberOfItems;
- _21 = _20 + 4294967295;
- pxList->uxNumberOfItems = _21;
- _22 = pxTCB->xEventListItem.pvContainer;
- if (_22 != 0B)
- goto <bb 16>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 16> :
- pxList = pxTCB->xEventListItem.pvContainer;
- _23 = pxTCB->xEventListItem.pxNext;
- _24 = pxTCB->xEventListItem.pxPrevious;
- _23->pxPrevious = _24;
- _25 = pxTCB->xEventListItem.pxPrevious;
- _26 = pxTCB->xEventListItem.pxNext;
- _25->pxNext = _26;
- _27 = pxList->pxIndex;
- _28 = &pxTCB->xEventListItem;
- if (_27 == _28)
- goto <bb 17>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 17> :
- _29 = pxTCB->xEventListItem.pxPrevious;
- pxList->pxIndex = _29;
- <bb 18> :
- pxTCB->xEventListItem.pvContainer = 0B;
- _30 = pxList->uxNumberOfItems;
- _31 = _30 + 4294967295;
- pxList->uxNumberOfItems = _31;
- <bb 19> :
- _32 = pxTCB->uxPriority;
- uxTopReadyPriority.69_33 = uxTopReadyPriority;
- if (_32 > uxTopReadyPriority.69_33)
- goto <bb 20>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 20> :
- _34 = pxTCB->uxPriority;
- uxTopReadyPriority = _34;
- <bb 21> :
- _35 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_35].pxIndex;
- pxTCB->xStateListItem.pxNext = pxIndex;
- _36 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _36;
- _37 = pxIndex->pxPrevious;
- _38 = &pxTCB->xStateListItem;
- _37->pxNext = _38;
- _39 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _39;
- _40 = pxTCB->uxPriority;
- _41 = &pxReadyTasksLists[_40];
- pxTCB->xStateListItem.pvContainer = _41;
- _42 = pxTCB->uxPriority;
- _43 = pxReadyTasksLists[_42].uxNumberOfItems;
- _44 = _43 + 1;
- pxReadyTasksLists[_42].uxNumberOfItems = _44;
- _45 = pxTCB->uxPriority;
- pxCurrentTCB.70_46 = pxCurrentTCB;
- _47 = pxCurrentTCB.70_46->uxPriority;
- if (_45 >= _47)
- goto <bb 22>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 22> :
- xSwitchRequired = 1;
- <bb 23> :
- goto <bb 9>; [INV]
- <bb 24> :
- pxCurrentTCB.71_48 = pxCurrentTCB;
- _49 = pxCurrentTCB.71_48->uxPriority;
- _50 = pxReadyTasksLists[_49].uxNumberOfItems;
- if (_50 > 1)
- goto <bb 25>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 25> :
- xSwitchRequired = 1;
- <bb 26> :
- xYieldPending.72_51 = xYieldPending;
- if (xYieldPending.72_51 != 0)
- goto <bb 27>; [INV]
- else
- goto <bb 29>; [INV]
- <bb 27> :
- xSwitchRequired = 1;
- goto <bb 29>; [INV]
- <bb 28> :
- xPendedTicks.73_52 = xPendedTicks;
- _53 = xPendedTicks.73_52 + 1;
- xPendedTicks = _53;
- <bb 29> :
- D.7895 = xSwitchRequired;
- <bb 30> :
- <L35>:
- return D.7895;
- }
- xTaskAbortDelay (struct tskTaskControlBlock * xTask)
- {
- struct ListItem_t * const pxIndex;
- BaseType_t xReturn;
- struct TCB_t * pxTCB;
- BaseType_t D.7861;
- <bb 2> :
- pxTCB = xTask;
- if (pxTCB == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- vTaskSuspendAll ();
- _1 = eTaskGetState (xTask);
- if (_1 == 2)
- goto <bb 6>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 6> :
- xReturn = 1;
- _2 = &pxTCB->xStateListItem;
- uxListRemove (_2);
- vPortEnterCritical ();
- _3 = pxTCB->xEventListItem.pvContainer;
- if (_3 != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- _4 = &pxTCB->xEventListItem;
- uxListRemove (_4);
- pxTCB->ucDelayAborted = 1;
- <bb 8> :
- vPortExitCritical ();
- _5 = pxTCB->uxPriority;
- uxTopReadyPriority.59_6 = uxTopReadyPriority;
- if (_5 > uxTopReadyPriority.59_6)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- _7 = pxTCB->uxPriority;
- uxTopReadyPriority = _7;
- <bb 10> :
- _8 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_8].pxIndex;
- pxTCB->xStateListItem.pxNext = pxIndex;
- _9 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _9;
- _10 = pxIndex->pxPrevious;
- _11 = &pxTCB->xStateListItem;
- _10->pxNext = _11;
- _12 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _12;
- _13 = pxTCB->uxPriority;
- _14 = &pxReadyTasksLists[_13];
- pxTCB->xStateListItem.pvContainer = _14;
- _15 = pxTCB->uxPriority;
- _16 = pxReadyTasksLists[_15].uxNumberOfItems;
- _17 = _16 + 1;
- pxReadyTasksLists[_15].uxNumberOfItems = _17;
- _18 = pxTCB->uxPriority;
- pxCurrentTCB.60_19 = pxCurrentTCB;
- _20 = pxCurrentTCB.60_19->uxPriority;
- if (_18 > _20)
- goto <bb 11>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 11> :
- xYieldPending = 1;
- goto <bb 13>; [INV]
- <bb 12> :
- xReturn = 0;
- <bb 13> :
- xTaskResumeAll ();
- D.7861 = xReturn;
- <bb 14> :
- <L14>:
- return D.7861;
- }
- xTaskCatchUpTicks (TickType_t xTicksToCatchUp)
- {
- BaseType_t xYieldOccurred;
- BaseType_t D.7846;
- <bb 2> :
- uxSchedulerSuspended.57_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.57_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- vTaskSuspendAll ();
- xPendedTicks.58_2 = xPendedTicks;
- _3 = xTicksToCatchUp + xPendedTicks.58_2;
- xPendedTicks = _3;
- xYieldOccurred = xTaskResumeAll ();
- D.7846 = xYieldOccurred;
- <bb 6> :
- <L3>:
- return D.7846;
- }
- uxTaskGetSystemState (struct TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t * const pulTotalRunTime)
- {
- UBaseType_t uxQueue;
- UBaseType_t uxTask;
- UBaseType_t D.7842;
- long unsigned int D.7838;
- long unsigned int D.7837;
- long unsigned int D.7836;
- long unsigned int D.7835;
- long unsigned int D.7834;
- <bb 2> :
- uxTask = 0;
- uxQueue = 5;
- vTaskSuspendAll ();
- uxCurrentNumberOfTasks.54_1 = uxCurrentNumberOfTasks;
- if (uxArraySize >= uxCurrentNumberOfTasks.54_1)
- goto <bb 3>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 3> :
- uxQueue = uxQueue + 4294967295;
- _2 = uxTask * 36;
- _3 = pxTaskStatusArray + _2;
- _4 = &pxReadyTasksLists[uxQueue];
- D.7834 = prvListTasksWithinSingleList (_3, _4, 1);
- uxTask = D.7834 + uxTask;
- if (uxQueue != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 4> :
- _5 = uxTask * 36;
- _6 = pxTaskStatusArray + _5;
- pxDelayedTaskList.55_7 = pxDelayedTaskList;
- D.7835 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.55_7, 2);
- uxTask = D.7835 + uxTask;
- _8 = uxTask * 36;
- _9 = pxTaskStatusArray + _8;
- pxOverflowDelayedTaskList.56_10 = pxOverflowDelayedTaskList;
- D.7836 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.56_10, 2);
- uxTask = D.7836 + uxTask;
- _11 = uxTask * 36;
- _12 = pxTaskStatusArray + _11;
- D.7837 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4);
- uxTask = D.7837 + uxTask;
- _13 = uxTask * 36;
- _14 = pxTaskStatusArray + _13;
- D.7838 = prvListTasksWithinSingleList (_14, &xSuspendedTaskList, 3);
- uxTask = D.7838 + uxTask;
- if (pulTotalRunTime != 0B)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- *pulTotalRunTime = 0;
- <bb 6> :
- xTaskResumeAll ();
- D.7842 = uxTask;
- <bb 7> :
- <L7>:
- return D.7842;
- }
- xTaskGetHandle (const char * pcNameToQuery)
- {
- struct TCB_t * pxTCB;
- UBaseType_t uxQueue;
- struct tskTaskControlBlock * D.7830;
- <bb 2> :
- uxQueue = 5;
- _1 = strlen (pcNameToQuery);
- if (_1 > 9)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- vTaskSuspendAll ();
- <bb 6> :
- uxQueue = uxQueue + 4294967295;
- _2 = &pxReadyTasksLists[uxQueue];
- pxTCB = prvSearchForNameWithinSingleList (_2, pcNameToQuery);
- if (pxTCB != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- goto <bb 9>; [INV]
- <bb 8> :
- if (uxQueue != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 9> :
- if (pxTCB == 0B)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- pxDelayedTaskList.52_3 = pxDelayedTaskList;
- pxTCB = prvSearchForNameWithinSingleList (pxDelayedTaskList.52_3, pcNameToQuery);
- <bb 11> :
- if (pxTCB == 0B)
- goto <bb 12>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 12> :
- pxOverflowDelayedTaskList.53_4 = pxOverflowDelayedTaskList;
- pxTCB = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.53_4, pcNameToQuery);
- <bb 13> :
- if (pxTCB == 0B)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- pxTCB = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery);
- <bb 15> :
- if (pxTCB == 0B)
- goto <bb 16>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 16> :
- pxTCB = prvSearchForNameWithinSingleList (&xTasksWaitingTermination, pcNameToQuery);
- <bb 17> :
- xTaskResumeAll ();
- D.7830 = pxTCB;
- <bb 18> :
- <L15>:
- return D.7830;
- }
- prvSearchForNameWithinSingleList (struct List_t * pxList, const char * pcNameToQuery)
- {
- struct List_t * const pxConstList;
- struct List_t * const pxConstList;
- BaseType_t xBreakLoop;
- char cNextChar;
- UBaseType_t x;
- struct TCB_t * pxReturn;
- struct TCB_t * pxFirstTCB;
- struct TCB_t * pxNextTCB;
- struct TCB_t * D.7816;
- <bb 2> :
- pxReturn = 0B;
- _1 = pxList->uxNumberOfItems;
- if (_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 3> :
- pxConstList = pxList;
- _2 = pxConstList->pxIndex;
- _3 = _2->pxNext;
- pxConstList->pxIndex = _3;
- _4 = pxConstList->pxIndex;
- _5 = &pxConstList->xListEnd;
- if (_4 == _5)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- _6 = pxConstList->pxIndex;
- _7 = _6->pxNext;
- pxConstList->pxIndex = _7;
- <bb 5> :
- _8 = pxConstList->pxIndex;
- pxFirstTCB = _8->pvOwner;
- <bb 6> :
- pxConstList = pxList;
- _9 = pxConstList->pxIndex;
- _10 = _9->pxNext;
- pxConstList->pxIndex = _10;
- _11 = pxConstList->pxIndex;
- _12 = &pxConstList->xListEnd;
- if (_11 == _12)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- _13 = pxConstList->pxIndex;
- _14 = _13->pxNext;
- pxConstList->pxIndex = _14;
- <bb 8> :
- _15 = pxConstList->pxIndex;
- pxNextTCB = _15->pvOwner;
- xBreakLoop = 0;
- x = 0;
- goto <bb 16>; [INV]
- <bb 9> :
- cNextChar = pxNextTCB->pcTaskName[x];
- _16 = pcNameToQuery + x;
- _17 = *_16;
- if (cNextChar != _17)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- xBreakLoop = 1;
- goto <bb 13>; [INV]
- <bb 11> :
- if (cNextChar == 0)
- goto <bb 12>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 12> :
- pxReturn = pxNextTCB;
- xBreakLoop = 1;
- <bb 13> :
- if (xBreakLoop != 0)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- goto <bb 17>; [INV]
- <bb 15> :
- x = x + 1;
- <bb 16> :
- if (x <= 9)
- goto <bb 9>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 17> :
- if (pxReturn != 0B)
- goto <bb 18>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 18> :
- goto <bb 20>; [INV]
- <bb 19> :
- if (pxNextTCB != pxFirstTCB)
- goto <bb 6>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 20> :
- <bb 21> :
- D.7816 = pxReturn;
- <bb 22> :
- <L22>:
- return D.7816;
- }
- pcTaskGetName (struct tskTaskControlBlock * xTaskToQuery)
- {
- struct TCB_t * pxTCB;
- char * D.7797;
- struct TCB_t * iftmp.51;
- <bb 2> :
- if (xTaskToQuery == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.51 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.51 = xTaskToQuery;
- <bb 5> :
- pxTCB = iftmp.51;
- if (pxTCB == 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- vPortRaiseBASEPRI ();
- <bb 7> :
- goto <bb 7>; [INV]
- <bb 8> :
- D.7797 = &pxTCB->pcTaskName[0];
- <bb 9> :
- <L6>:
- return D.7797;
- }
- uxTaskGetNumberOfTasks ()
- {
- UBaseType_t D.7789;
- <bb 2> :
- D.7789 = uxCurrentNumberOfTasks;
- <bb 3> :
- <L0>:
- return D.7789;
- }
- xTaskGetTickCountFromISR ()
- {
- UBaseType_t uxSavedInterruptStatus;
- TickType_t xReturn;
- TickType_t D.7787;
- <bb 2> :
- vPortValidateInterruptPriority ();
- uxSavedInterruptStatus = 0;
- xReturn = xTickCount;
- D.7787 = xReturn;
- <bb 3> :
- <L0>:
- return D.7787;
- }
- xTaskGetTickCount ()
- {
- TickType_t xTicks;
- TickType_t D.7785;
- <bb 2> :
- xTicks = xTickCount;
- D.7785 = xTicks;
- <bb 3> :
- <L0>:
- return D.7785;
- }
- xTaskResumeAll ()
- {
- TickType_t xPendedCounts;
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- struct List_t * const pxList;
- BaseType_t xAlreadyYielded;
- struct TCB_t * pxTCB;
- BaseType_t D.7783;
- <bb 2> :
- pxTCB = 0B;
- xAlreadyYielded = 0;
- uxSchedulerSuspended.44_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.44_1 == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- vPortEnterCritical ();
- uxSchedulerSuspended.45_2 = uxSchedulerSuspended;
- _3 = uxSchedulerSuspended.45_2 + 4294967295;
- uxSchedulerSuspended = _3;
- uxSchedulerSuspended.46_4 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.46_4 == 0)
- goto <bb 6>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 6> :
- uxCurrentNumberOfTasks.47_5 = uxCurrentNumberOfTasks;
- if (uxCurrentNumberOfTasks.47_5 != 0)
- goto <bb 7>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 7> :
- goto <bb 16>; [INV]
- <bb 8> :
- _6 = xPendingReadyList.xListEnd.pxNext;
- pxTCB = _6->pvOwner;
- pxList = pxTCB->xEventListItem.pvContainer;
- _7 = pxTCB->xEventListItem.pxNext;
- _8 = pxTCB->xEventListItem.pxPrevious;
- _7->pxPrevious = _8;
- _9 = pxTCB->xEventListItem.pxPrevious;
- _10 = pxTCB->xEventListItem.pxNext;
- _9->pxNext = _10;
- _11 = pxList->pxIndex;
- _12 = &pxTCB->xEventListItem;
- if (_11 == _12)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- _13 = pxTCB->xEventListItem.pxPrevious;
- pxList->pxIndex = _13;
- <bb 10> :
- pxTCB->xEventListItem.pvContainer = 0B;
- _14 = pxList->uxNumberOfItems;
- _15 = _14 + 4294967295;
- pxList->uxNumberOfItems = _15;
- __asm__ __volatile__("" : : : "memory");
- pxList = pxTCB->xStateListItem.pvContainer;
- _16 = pxTCB->xStateListItem.pxNext;
- _17 = pxTCB->xStateListItem.pxPrevious;
- _16->pxPrevious = _17;
- _18 = pxTCB->xStateListItem.pxPrevious;
- _19 = pxTCB->xStateListItem.pxNext;
- _18->pxNext = _19;
- _20 = pxList->pxIndex;
- _21 = &pxTCB->xStateListItem;
- if (_20 == _21)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- _22 = pxTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _22;
- <bb 12> :
- pxTCB->xStateListItem.pvContainer = 0B;
- _23 = pxList->uxNumberOfItems;
- _24 = _23 + 4294967295;
- pxList->uxNumberOfItems = _24;
- _25 = pxTCB->uxPriority;
- uxTopReadyPriority.48_26 = uxTopReadyPriority;
- if (_25 > uxTopReadyPriority.48_26)
- goto <bb 13>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 13> :
- _27 = pxTCB->uxPriority;
- uxTopReadyPriority = _27;
- <bb 14> :
- _28 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_28].pxIndex;
- pxTCB->xStateListItem.pxNext = pxIndex;
- _29 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _29;
- _30 = pxIndex->pxPrevious;
- _31 = &pxTCB->xStateListItem;
- _30->pxNext = _31;
- _32 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _32;
- _33 = pxTCB->uxPriority;
- _34 = &pxReadyTasksLists[_33];
- pxTCB->xStateListItem.pvContainer = _34;
- _35 = pxTCB->uxPriority;
- _36 = pxReadyTasksLists[_35].uxNumberOfItems;
- _37 = _36 + 1;
- pxReadyTasksLists[_35].uxNumberOfItems = _37;
- _38 = pxTCB->uxPriority;
- pxCurrentTCB.49_39 = pxCurrentTCB;
- _40 = pxCurrentTCB.49_39->uxPriority;
- if (_38 >= _40)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- xYieldPending = 1;
- <bb 16> :
- _41 = xPendingReadyList.uxNumberOfItems;
- if (_41 != 0)
- goto <bb 8>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 17> :
- if (pxTCB != 0B)
- goto <bb 18>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 18> :
- prvResetNextTaskUnblockTime ();
- <bb 19> :
- xPendedCounts = xPendedTicks;
- if (xPendedCounts != 0)
- goto <bb 20>; [INV]
- else
- goto <bb 24>; [INV]
- <bb 20> :
- _42 = xTaskIncrementTick ();
- if (_42 != 0)
- goto <bb 21>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 21> :
- xYieldPending = 1;
- <bb 22> :
- xPendedCounts = xPendedCounts + 4294967295;
- if (xPendedCounts != 0)
- goto <bb 20>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 23> :
- xPendedTicks = 0;
- <bb 24> :
- xYieldPending.50_43 = xYieldPending;
- if (xYieldPending.50_43 != 0)
- goto <bb 25>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 25> :
- xAlreadyYielded = 1;
- _44 = 3758157060B;
- *_44 = 268435456;
- __asm__ __volatile__("dsb" : : : "memory");
- __asm__ __volatile__("isb");
- <bb 26> :
- vPortExitCritical ();
- D.7783 = xAlreadyYielded;
- <bb 27> :
- <L33>:
- return D.7783;
- }
- vTaskSuspendAll ()
- {
- <bb 2> :
- uxSchedulerSuspended.43_1 = uxSchedulerSuspended;
- _2 = uxSchedulerSuspended.43_1 + 1;
- uxSchedulerSuspended = _2;
- __asm__ __volatile__("" : : : "memory");
- return;
- }
- vTaskEndScheduler ()
- {
- <bb 2> :
- vPortRaiseBASEPRI ();
- xSchedulerRunning = 0;
- vPortEndScheduler ();
- return;
- }
- vTaskStartScheduler ()
- {
- BaseType_t xReturn;
- long unsigned int vol.42;
- <bb 2> :
- xReturn = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
- if (xReturn == 1)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- xReturn = xTimerCreateTimerTask ();
- <bb 4> :
- if (xReturn == 1)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- vPortRaiseBASEPRI ();
- xNextTaskUnblockTime = 4294967295;
- xSchedulerRunning = 1;
- xTickCount = 0;
- _1 = xPortStartScheduler ();
- goto <bb 9>; [INV]
- <bb 6> :
- if (xReturn == -1)
- goto <bb 7>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 7> :
- vPortRaiseBASEPRI ();
- <bb 8> :
- goto <bb 8>; [INV]
- <bb 9> :
- vol.42 = uxTopUsedPriority;
- return;
- }
- xTaskResumeFromISR (struct tskTaskControlBlock * xTaskToResume)
- {
- struct ListItem_t * const pxIndex;
- UBaseType_t uxSavedInterruptStatus;
- struct TCB_t * const pxTCB;
- BaseType_t xYieldRequired;
- BaseType_t D.7742;
- <bb 2> :
- xYieldRequired = 0;
- pxTCB = xTaskToResume;
- if (xTaskToResume == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- vPortValidateInterruptPriority ();
- uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
- _1 = prvTaskIsTaskSuspended (pxTCB);
- if (_1 != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 6> :
- uxSchedulerSuspended.39_2 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.39_2 == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 7> :
- _3 = pxTCB->uxPriority;
- pxCurrentTCB.40_4 = pxCurrentTCB;
- _5 = pxCurrentTCB.40_4->uxPriority;
- if (_3 >= _5)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- xYieldRequired = 1;
- xYieldPending = 1;
- <bb 9> :
- _6 = &pxTCB->xStateListItem;
- uxListRemove (_6);
- _7 = pxTCB->uxPriority;
- uxTopReadyPriority.41_8 = uxTopReadyPriority;
- if (_7 > uxTopReadyPriority.41_8)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- _9 = pxTCB->uxPriority;
- uxTopReadyPriority = _9;
- <bb 11> :
- _10 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_10].pxIndex;
- pxTCB->xStateListItem.pxNext = pxIndex;
- _11 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _11;
- _12 = pxIndex->pxPrevious;
- _13 = &pxTCB->xStateListItem;
- _12->pxNext = _13;
- _14 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _14;
- _15 = pxTCB->uxPriority;
- _16 = &pxReadyTasksLists[_15];
- pxTCB->xStateListItem.pvContainer = _16;
- _17 = pxTCB->uxPriority;
- _18 = pxReadyTasksLists[_17].uxNumberOfItems;
- _19 = _18 + 1;
- pxReadyTasksLists[_17].uxNumberOfItems = _19;
- goto <bb 13>; [INV]
- <bb 12> :
- _20 = &pxTCB->xEventListItem;
- vListInsertEnd (&xPendingReadyList, _20);
- <bb 13> :
- vPortSetBASEPRI (uxSavedInterruptStatus);
- D.7742 = xYieldRequired;
- <bb 14> :
- <L14>:
- return D.7742;
- }
- vTaskResume (struct tskTaskControlBlock * xTaskToResume)
- {
- struct ListItem_t * const pxIndex;
- struct TCB_t * const pxTCB;
- <bb 2> :
- pxTCB = xTaskToResume;
- if (xTaskToResume == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- pxCurrentTCB.36_1 = pxCurrentTCB;
- if (pxTCB != pxCurrentTCB.36_1)
- goto <bb 6>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 6> :
- if (pxTCB != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 7> :
- vPortEnterCritical ();
- _2 = prvTaskIsTaskSuspended (pxTCB);
- if (_2 != 0)
- goto <bb 8>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 8> :
- _3 = &pxTCB->xStateListItem;
- uxListRemove (_3);
- _4 = pxTCB->uxPriority;
- uxTopReadyPriority.37_5 = uxTopReadyPriority;
- if (_4 > uxTopReadyPriority.37_5)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- _6 = pxTCB->uxPriority;
- uxTopReadyPriority = _6;
- <bb 10> :
- _7 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_7].pxIndex;
- pxTCB->xStateListItem.pxNext = pxIndex;
- _8 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _8;
- _9 = pxIndex->pxPrevious;
- _10 = &pxTCB->xStateListItem;
- _9->pxNext = _10;
- _11 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _11;
- _12 = pxTCB->uxPriority;
- _13 = &pxReadyTasksLists[_12];
- pxTCB->xStateListItem.pvContainer = _13;
- _14 = pxTCB->uxPriority;
- _15 = pxReadyTasksLists[_14].uxNumberOfItems;
- _16 = _15 + 1;
- pxReadyTasksLists[_14].uxNumberOfItems = _16;
- _17 = pxTCB->uxPriority;
- pxCurrentTCB.38_18 = pxCurrentTCB;
- _19 = pxCurrentTCB.38_18->uxPriority;
- if (_17 >= _19)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- _20 = 3758157060B;
- *_20 = 268435456;
- __asm__ __volatile__("dsb" : : : "memory");
- __asm__ __volatile__("isb");
- <bb 12> :
- vPortExitCritical ();
- <bb 13> :
- return;
- }
- prvTaskIsTaskSuspended (struct tskTaskControlBlock * const xTask)
- {
- const struct TCB_t * const pxTCB;
- BaseType_t xReturn;
- BaseType_t D.7712;
- <bb 2> :
- xReturn = 0;
- pxTCB = xTask;
- if (xTask == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- _1 = pxTCB->xStateListItem.pvContainer;
- if (_1 == &xSuspendedTaskList)
- goto <bb 6>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 6> :
- _2 = pxTCB->xEventListItem.pvContainer;
- if (_2 != &xPendingReadyList)
- goto <bb 7>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 7> :
- _3 = pxTCB->xEventListItem.pvContainer;
- if (_3 == 0B)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- xReturn = 1;
- <bb 9> :
- D.7712 = xReturn;
- <bb 10> :
- <L12>:
- return D.7712;
- }
- vTaskSuspend (struct tskTaskControlBlock * xTaskToSuspend)
- {
- BaseType_t x;
- struct TCB_t * pxTCB;
- struct TCB_t * iftmp.30;
- <bb 2> :
- vPortEnterCritical ();
- if (xTaskToSuspend == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.30 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.30 = xTaskToSuspend;
- <bb 5> :
- pxTCB = iftmp.30;
- _1 = &pxTCB->xStateListItem;
- _2 = uxListRemove (_1);
- <bb 6> :
- _3 = pxTCB->xEventListItem.pvContainer;
- if (_3 != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- _4 = &pxTCB->xEventListItem;
- uxListRemove (_4);
- <bb 8> :
- _5 = &pxTCB->xStateListItem;
- vListInsertEnd (&xSuspendedTaskList, _5);
- x = 0;
- goto <bb 12>; [INV]
- <bb 9> :
- _6 = pxTCB->ucNotifyState[x];
- if (_6 == 1)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- pxTCB->ucNotifyState[x] = 0;
- <bb 11> :
- x = x + 1;
- <bb 12> :
- if (x <= 0)
- goto <bb 9>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 13> :
- vPortExitCritical ();
- xSchedulerRunning.31_7 = xSchedulerRunning;
- if (xSchedulerRunning.31_7 != 0)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- vPortEnterCritical ();
- prvResetNextTaskUnblockTime ();
- vPortExitCritical ();
- <bb 15> :
- pxCurrentTCB.32_8 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.32_8)
- goto <bb 16>; [INV]
- else
- goto <bb 24>; [INV]
- <bb 16> :
- xSchedulerRunning.33_9 = xSchedulerRunning;
- if (xSchedulerRunning.33_9 != 0)
- goto <bb 17>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 17> :
- uxSchedulerSuspended.34_10 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.34_10 != 0)
- goto <bb 18>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 18> :
- vPortRaiseBASEPRI ();
- <bb 19> :
- goto <bb 19>; [INV]
- <bb 20> :
- _11 = 3758157060B;
- *_11 = 268435456;
- __asm__ __volatile__("dsb" : : : "memory");
- __asm__ __volatile__("isb");
- goto <bb 24>; [INV]
- <bb 21> :
- _12 = xSuspendedTaskList.uxNumberOfItems;
- uxCurrentNumberOfTasks.35_13 = uxCurrentNumberOfTasks;
- if (_12 == uxCurrentNumberOfTasks.35_13)
- goto <bb 22>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 22> :
- pxCurrentTCB = 0B;
- goto <bb 24>; [INV]
- <bb 23> :
- vTaskSwitchContext ();
- <bb 24> :
- return;
- }
- vTaskPrioritySet (struct tskTaskControlBlock * xTask, UBaseType_t uxNewPriority)
- {
- struct ListItem_t * const pxIndex;
- BaseType_t xYieldRequired;
- UBaseType_t uxPriorityUsedOnEntry;
- UBaseType_t uxCurrentBasePriority;
- struct TCB_t * pxTCB;
- struct TCB_t * iftmp.25;
- <bb 2> :
- xYieldRequired = 0;
- if (uxNewPriority > 4)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- if (uxNewPriority > 4)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- uxNewPriority = 4;
- <bb 7> :
- vPortEnterCritical ();
- if (xTask == 0B)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- iftmp.25 = pxCurrentTCB;
- goto <bb 10>; [INV]
- <bb 9> :
- iftmp.25 = xTask;
- <bb 10> :
- pxTCB = iftmp.25;
- uxCurrentBasePriority = pxTCB->uxBasePriority;
- if (uxCurrentBasePriority != uxNewPriority)
- goto <bb 11>; [INV]
- else
- goto <bb 28>; [INV]
- <bb 11> :
- if (uxNewPriority > uxCurrentBasePriority)
- goto <bb 12>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 12> :
- pxCurrentTCB.26_1 = pxCurrentTCB;
- if (pxTCB != pxCurrentTCB.26_1)
- goto <bb 13>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 13> :
- pxCurrentTCB.27_2 = pxCurrentTCB;
- _3 = pxCurrentTCB.27_2->uxPriority;
- if (uxNewPriority >= _3)
- goto <bb 14>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 14> :
- xYieldRequired = 1;
- goto <bb 17>; [INV]
- <bb 15> :
- pxCurrentTCB.28_4 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.28_4)
- goto <bb 16>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 16> :
- xYieldRequired = 1;
- <bb 17> :
- uxPriorityUsedOnEntry = pxTCB->uxPriority;
- _5 = pxTCB->uxBasePriority;
- _6 = pxTCB->uxPriority;
- if (_5 == _6)
- goto <bb 18>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 18> :
- pxTCB->uxPriority = uxNewPriority;
- <bb 19> :
- pxTCB->uxBasePriority = uxNewPriority;
- _7 = pxTCB->xEventListItem.xItemValue;
- _8 = (signed int) _7;
- if (_8 >= 0)
- goto <bb 20>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 20> :
- _9 = 5 - uxNewPriority;
- pxTCB->xEventListItem.xItemValue = _9;
- <bb 21> :
- _10 = pxTCB->xStateListItem.pvContainer;
- _11 = &pxReadyTasksLists[uxPriorityUsedOnEntry];
- if (_10 == _11)
- goto <bb 22>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 22> :
- _12 = &pxTCB->xStateListItem;
- _13 = uxListRemove (_12);
- <bb 23> :
- _14 = pxTCB->uxPriority;
- uxTopReadyPriority.29_15 = uxTopReadyPriority;
- if (_14 > uxTopReadyPriority.29_15)
- goto <bb 24>; [INV]
- else
- goto <bb 25>; [INV]
- <bb 24> :
- _16 = pxTCB->uxPriority;
- uxTopReadyPriority = _16;
- <bb 25> :
- _17 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_17].pxIndex;
- pxTCB->xStateListItem.pxNext = pxIndex;
- _18 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _18;
- _19 = pxIndex->pxPrevious;
- _20 = &pxTCB->xStateListItem;
- _19->pxNext = _20;
- _21 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _21;
- _22 = pxTCB->uxPriority;
- _23 = &pxReadyTasksLists[_22];
- pxTCB->xStateListItem.pvContainer = _23;
- _24 = pxTCB->uxPriority;
- _25 = pxReadyTasksLists[_24].uxNumberOfItems;
- _26 = _25 + 1;
- pxReadyTasksLists[_24].uxNumberOfItems = _26;
- <bb 26> :
- if (xYieldRequired != 0)
- goto <bb 27>; [INV]
- else
- goto <bb 28>; [INV]
- <bb 27> :
- _27 = 3758157060B;
- *_27 = 268435456;
- __asm__ __volatile__("dsb" : : : "memory");
- __asm__ __volatile__("isb");
- <bb 28> :
- vPortExitCritical ();
- return;
- }
- uxTaskPriorityGetFromISR (struct tskTaskControlBlock * const xTask)
- {
- UBaseType_t uxSavedInterruptState;
- UBaseType_t uxReturn;
- const struct TCB_t * pxTCB;
- UBaseType_t D.7631;
- const struct TCB_t * iftmp.24;
- <bb 2> :
- vPortValidateInterruptPriority ();
- uxSavedInterruptState = ulPortRaiseBASEPRI ();
- if (xTask == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.24 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.24 = xTask;
- <bb 5> :
- pxTCB = iftmp.24;
- uxReturn = pxTCB->uxPriority;
- vPortSetBASEPRI (uxSavedInterruptState);
- D.7631 = uxReturn;
- <bb 6> :
- <L3>:
- return D.7631;
- }
- uxTaskPriorityGet (struct tskTaskControlBlock * const xTask)
- {
- UBaseType_t uxReturn;
- const struct TCB_t * pxTCB;
- UBaseType_t D.7625;
- const struct TCB_t * iftmp.23;
- <bb 2> :
- vPortEnterCritical ();
- if (xTask == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.23 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.23 = xTask;
- <bb 5> :
- pxTCB = iftmp.23;
- uxReturn = pxTCB->uxPriority;
- vPortExitCritical ();
- D.7625 = uxReturn;
- <bb 6> :
- <L3>:
- return D.7625;
- }
- eTaskGetState (struct tskTaskControlBlock * xTask)
- {
- BaseType_t x;
- const struct TCB_t * const pxTCB;
- const struct List_t * pxOverflowedDelayedList;
- const struct List_t * pxDelayedList;
- const struct List_t * pxStateList;
- eTaskState eReturn;
- eTaskState D.7619;
- <bb 2> :
- pxTCB = xTask;
- if (pxTCB == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- pxCurrentTCB.22_1 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.22_1)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- eReturn = 0;
- goto <bb 23>; [INV]
- <bb 7> :
- vPortEnterCritical ();
- pxStateList = pxTCB->xStateListItem.pvContainer;
- pxDelayedList = pxDelayedTaskList;
- pxOverflowedDelayedList = pxOverflowDelayedTaskList;
- vPortExitCritical ();
- if (pxStateList == pxDelayedList)
- goto <bb 9>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 8> :
- if (pxStateList == pxOverflowedDelayedList)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- eReturn = 2;
- goto <bb 23>; [INV]
- <bb 10> :
- if (pxStateList == &xSuspendedTaskList)
- goto <bb 11>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 11> :
- _2 = pxTCB->xEventListItem.pvContainer;
- if (_2 == 0B)
- goto <bb 12>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 12> :
- eReturn = 3;
- x = 0;
- goto <bb 16>; [INV]
- <bb 13> :
- _3 = pxTCB->ucNotifyState[x];
- if (_3 == 1)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- eReturn = 2;
- goto <bb 17>; [INV]
- <bb 15> :
- x = x + 1;
- <bb 16> :
- if (x <= 0)
- goto <bb 13>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 17> :
- goto <bb 23>; [INV]
- <bb 18> :
- eReturn = 2;
- goto <bb 23>; [INV]
- <bb 19> :
- if (pxStateList == &xTasksWaitingTermination)
- goto <bb 21>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 20> :
- if (pxStateList == 0B)
- goto <bb 21>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 21> :
- eReturn = 4;
- goto <bb 23>; [INV]
- <bb 22> :
- eReturn = 1;
- <bb 23> :
- D.7619 = eReturn;
- <bb 24> :
- <L25>:
- return D.7619;
- }
- vTaskDelay (const TickType_t xTicksToDelay)
- {
- BaseType_t xAlreadyYielded;
- <bb 2> :
- xAlreadyYielded = 0;
- if (xTicksToDelay != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 3> :
- uxSchedulerSuspended.21_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.21_1 != 0)
- goto <bb 4>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 4> :
- vPortRaiseBASEPRI ();
- <bb 5> :
- goto <bb 5>; [INV]
- <bb 6> :
- vTaskSuspendAll ();
- prvAddCurrentTaskToDelayedList (xTicksToDelay, 0);
- xAlreadyYielded = xTaskResumeAll ();
- <bb 7> :
- if (xAlreadyYielded == 0)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- _2 = 3758157060B;
- *_2 = 268435456;
- __asm__ __volatile__("dsb" : : : "memory");
- __asm__ __volatile__("isb");
- <bb 9> :
- return;
- }
- xTaskDelayUntil (TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement)
- {
- const TickType_t xConstTickCount;
- BaseType_t xShouldDelay;
- BaseType_t xAlreadyYielded;
- TickType_t xTimeToWake;
- BaseType_t D.7588;
- <bb 2> :
- xShouldDelay = 0;
- if (pxPreviousWakeTime == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- if (xTimeIncrement == 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- vPortRaiseBASEPRI ();
- <bb 7> :
- goto <bb 7>; [INV]
- <bb 8> :
- uxSchedulerSuspended.20_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.20_1 != 0)
- goto <bb 9>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 9> :
- vPortRaiseBASEPRI ();
- <bb 10> :
- goto <bb 10>; [INV]
- <bb 11> :
- vTaskSuspendAll ();
- xConstTickCount = xTickCount;
- _2 = *pxPreviousWakeTime;
- xTimeToWake = xTimeIncrement + _2;
- _3 = *pxPreviousWakeTime;
- if (xConstTickCount < _3)
- goto <bb 12>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 12> :
- _4 = *pxPreviousWakeTime;
- if (xTimeToWake < _4)
- goto <bb 13>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 13> :
- if (xTimeToWake > xConstTickCount)
- goto <bb 14>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 14> :
- xShouldDelay = 1;
- goto <bb 18>; [INV]
- <bb 15> :
- _5 = *pxPreviousWakeTime;
- if (xTimeToWake < _5)
- goto <bb 17>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 16> :
- if (xTimeToWake > xConstTickCount)
- goto <bb 17>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 17> :
- xShouldDelay = 1;
- <bb 18> :
- *pxPreviousWakeTime = xTimeToWake;
- if (xShouldDelay != 0)
- goto <bb 19>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 19> :
- _6 = xTimeToWake - xConstTickCount;
- prvAddCurrentTaskToDelayedList (_6, 0);
- <bb 20> :
- xAlreadyYielded = xTaskResumeAll ();
- if (xAlreadyYielded == 0)
- goto <bb 21>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 21> :
- _7 = 3758157060B;
- *_7 = 268435456;
- __asm__ __volatile__("dsb" : : : "memory");
- __asm__ __volatile__("isb");
- <bb 22> :
- D.7588 = xShouldDelay;
- <bb 23> :
- <L26>:
- return D.7588;
- }
- vTaskDelete (struct tskTaskControlBlock * xTaskToDelete)
- {
- struct TCB_t * pxTCB;
- struct TCB_t * iftmp.12;
- <bb 2> :
- vPortEnterCritical ();
- if (xTaskToDelete == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.12 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.12 = xTaskToDelete;
- <bb 5> :
- pxTCB = iftmp.12;
- _1 = &pxTCB->xStateListItem;
- _2 = uxListRemove (_1);
- <bb 6> :
- _3 = pxTCB->xEventListItem.pvContainer;
- if (_3 != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- _4 = &pxTCB->xEventListItem;
- uxListRemove (_4);
- <bb 8> :
- uxTaskNumber.13_5 = uxTaskNumber;
- _6 = uxTaskNumber.13_5 + 1;
- uxTaskNumber = _6;
- pxCurrentTCB.14_7 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.14_7)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- _8 = &pxTCB->xStateListItem;
- vListInsertEnd (&xTasksWaitingTermination, _8);
- uxDeletedTasksWaitingCleanUp.15_9 = uxDeletedTasksWaitingCleanUp;
- _10 = uxDeletedTasksWaitingCleanUp.15_9 + 1;
- uxDeletedTasksWaitingCleanUp = _10;
- goto <bb 11>; [INV]
- <bb 10> :
- uxCurrentNumberOfTasks.16_11 = uxCurrentNumberOfTasks;
- _12 = uxCurrentNumberOfTasks.16_11 + 4294967295;
- uxCurrentNumberOfTasks = _12;
- prvDeleteTCB (pxTCB);
- prvResetNextTaskUnblockTime ();
- <bb 11> :
- vPortExitCritical ();
- xSchedulerRunning.17_13 = xSchedulerRunning;
- if (xSchedulerRunning.17_13 != 0)
- goto <bb 12>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 12> :
- pxCurrentTCB.18_14 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.18_14)
- goto <bb 13>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 13> :
- uxSchedulerSuspended.19_15 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.19_15 != 0)
- goto <bb 14>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 14> :
- vPortRaiseBASEPRI ();
- <bb 15> :
- goto <bb 15>; [INV]
- <bb 16> :
- _16 = 3758157060B;
- *_16 = 268435456;
- __asm__ __volatile__("dsb" : : : "memory");
- __asm__ __volatile__("isb");
- <bb 17> :
- return;
- }
- prvAddNewTaskToReadyList (struct TCB_t * pxNewTCB)
- {
- struct ListItem_t * const pxIndex;
- <bb 2> :
- vPortEnterCritical ();
- uxCurrentNumberOfTasks.2_1 = uxCurrentNumberOfTasks;
- _2 = uxCurrentNumberOfTasks.2_1 + 1;
- uxCurrentNumberOfTasks = _2;
- pxCurrentTCB.3_3 = pxCurrentTCB;
- if (pxCurrentTCB.3_3 == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- pxCurrentTCB = pxNewTCB;
- uxCurrentNumberOfTasks.4_4 = uxCurrentNumberOfTasks;
- if (uxCurrentNumberOfTasks.4_4 == 1)
- goto <bb 4>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 4> :
- prvInitialiseTaskLists ();
- goto <bb 8>; [INV]
- <bb 5> :
- xSchedulerRunning.5_5 = xSchedulerRunning;
- if (xSchedulerRunning.5_5 == 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- pxCurrentTCB.6_6 = pxCurrentTCB;
- _7 = pxCurrentTCB.6_6->uxPriority;
- _8 = pxNewTCB->uxPriority;
- if (_7 <= _8)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- pxCurrentTCB = pxNewTCB;
- <bb 8> :
- uxTaskNumber.7_9 = uxTaskNumber;
- _10 = uxTaskNumber.7_9 + 1;
- uxTaskNumber = _10;
- uxTaskNumber.8_11 = uxTaskNumber;
- pxNewTCB->uxTCBNumber = uxTaskNumber.8_11;
- _12 = pxNewTCB->uxPriority;
- uxTopReadyPriority.9_13 = uxTopReadyPriority;
- if (_12 > uxTopReadyPriority.9_13)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- _14 = pxNewTCB->uxPriority;
- uxTopReadyPriority = _14;
- <bb 10> :
- _15 = pxNewTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_15].pxIndex;
- pxNewTCB->xStateListItem.pxNext = pxIndex;
- _16 = pxIndex->pxPrevious;
- pxNewTCB->xStateListItem.pxPrevious = _16;
- _17 = pxIndex->pxPrevious;
- _18 = &pxNewTCB->xStateListItem;
- _17->pxNext = _18;
- _19 = &pxNewTCB->xStateListItem;
- pxIndex->pxPrevious = _19;
- _20 = pxNewTCB->uxPriority;
- _21 = &pxReadyTasksLists[_20];
- pxNewTCB->xStateListItem.pvContainer = _21;
- _22 = pxNewTCB->uxPriority;
- _23 = pxReadyTasksLists[_22].uxNumberOfItems;
- _24 = _23 + 1;
- pxReadyTasksLists[_22].uxNumberOfItems = _24;
- vPortExitCritical ();
- xSchedulerRunning.10_25 = xSchedulerRunning;
- if (xSchedulerRunning.10_25 != 0)
- goto <bb 11>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 11> :
- pxCurrentTCB.11_26 = pxCurrentTCB;
- _27 = pxCurrentTCB.11_26->uxPriority;
- _28 = pxNewTCB->uxPriority;
- if (_27 < _28)
- goto <bb 12>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 12> :
- _29 = 3758157060B;
- *_29 = 268435456;
- __asm__ __volatile__("dsb" : : : "memory");
- __asm__ __volatile__("isb");
- <bb 13> :
- return;
- }
- prvInitialiseNewTask (void (*TaskFunction_t) (void *) pxTaskCode, const char * const pcName, const uint32_t ulStackDepth, void * const pvParameters, UBaseType_t uxPriority, struct tskTaskControlBlock * * const pxCreatedTask, struct TCB_t * pxNewTCB, const struct MemoryRegion_t * const xRegions)
- {
- UBaseType_t x;
- StackType_t * pxTopOfStack;
- <bb 2> :
- _1 = pxNewTCB->pxStack;
- _2 = ulStackDepth * 4;
- memset (_1, 165, _2);
- _3 = pxNewTCB->pxStack;
- _4 = ulStackDepth + 1073741823;
- _5 = _4 * 4;
- pxTopOfStack = _3 + _5;
- pxTopOfStack.0_6 = (long unsigned int) pxTopOfStack;
- _7 = pxTopOfStack.0_6 & 4294967288;
- pxTopOfStack = (StackType_t *) _7;
- pxTopOfStack.1_8 = (long unsigned int) pxTopOfStack;
- _9 = pxTopOfStack.1_8 & 7;
- if (_9 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- vPortRaiseBASEPRI ();
- <bb 4> :
- goto <bb 4>; [INV]
- <bb 5> :
- if (pcName != 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 6> :
- x = 0;
- goto <bb 10>; [INV]
- <bb 7> :
- _10 = pcName + x;
- _11 = *_10;
- pxNewTCB->pcTaskName[x] = _11;
- _12 = pcName + x;
- _13 = *_12;
- if (_13 == 0)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- goto <bb 11>; [INV]
- <bb 9> :
- x = x + 1;
- <bb 10> :
- if (x <= 9)
- goto <bb 7>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 11> :
- pxNewTCB->pcTaskName[9] = 0;
- goto <bb 13>; [INV]
- <bb 12> :
- pxNewTCB->pcTaskName[0] = 0;
- <bb 13> :
- if (uxPriority > 4)
- goto <bb 14>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 14> :
- vPortRaiseBASEPRI ();
- <bb 15> :
- goto <bb 15>; [INV]
- <bb 16> :
- if (uxPriority > 4)
- goto <bb 17>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 17> :
- uxPriority = 4;
- <bb 18> :
- pxNewTCB->uxPriority = uxPriority;
- pxNewTCB->uxBasePriority = uxPriority;
- pxNewTCB->uxMutexesHeld = 0;
- _14 = &pxNewTCB->xStateListItem;
- vListInitialiseItem (_14);
- _15 = &pxNewTCB->xEventListItem;
- vListInitialiseItem (_15);
- pxNewTCB->xStateListItem.pvOwner = pxNewTCB;
- _16 = 5 - uxPriority;
- pxNewTCB->xEventListItem.xItemValue = _16;
- pxNewTCB->xEventListItem.pvOwner = pxNewTCB;
- _17 = &pxNewTCB->ulNotifiedValue[0];
- memset (_17, 0, 4);
- _18 = &pxNewTCB->ucNotifyState[0];
- memset (_18, 0, 1);
- pxNewTCB->ucDelayAborted = 0;
- _19 = pxPortInitialiseStack (pxTopOfStack, pxTaskCode, pvParameters);
- pxNewTCB->pxTopOfStack = _19;
- if (pxCreatedTask != 0B)
- goto <bb 19>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 19> :
- *pxCreatedTask = pxNewTCB;
- <bb 20> :
- return;
- }
- xTaskCreate (void (*TaskFunction_t) (void *) pxTaskCode, const char * const pcName, const uint16_t usStackDepth, void * const pvParameters, UBaseType_t uxPriority, struct tskTaskControlBlock * * const pxCreatedTask)
- {
- StackType_t * pxStack;
- BaseType_t xReturn;
- struct TCB_t * pxNewTCB;
- BaseType_t D.7508;
- <bb 2> :
- _1 = (unsigned int) usStackDepth;
- _2 = _1 * 4;
- pxStack = pvPortMalloc (_2);
- if (pxStack != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 3> :
- pxNewTCB = pvPortMalloc (88);
- if (pxNewTCB != 0B)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- pxNewTCB->pxStack = pxStack;
- goto <bb 7>; [INV]
- <bb 5> :
- vPortFree (pxStack);
- goto <bb 7>; [INV]
- <bb 6> :
- pxNewTCB = 0B;
- <bb 7> :
- if (pxNewTCB != 0B)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- _3 = (long unsigned int) usStackDepth;
- prvInitialiseNewTask (pxTaskCode, pcName, _3, pvParameters, uxPriority, pxCreatedTask, pxNewTCB, 0B);
- prvAddNewTaskToReadyList (pxNewTCB);
- xReturn = 1;
- goto <bb 10>; [INV]
- <bb 9> :
- xReturn = -1;
- <bb 10> :
- D.7508 = xReturn;
- <bb 11> :
- <L9>:
- return D.7508;
- }
- __attribute__((always_inline))
- vPortSetBASEPRI (uint32_t ulNewMaskValue)
- {
- <bb 2> :
- __asm__ __volatile__(" msr basepri, %0 " : : "r" ulNewMaskValue : "memory");
- return;
- }
- __attribute__((always_inline))
- ulPortRaiseBASEPRI ()
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulOriginalBASEPRI;
- uint32_t D.7633;
- <bb 2> :
- __asm__ __volatile__(" mrs %0, basepri
- mov %1, %2
- msr basepri, %1
- isb
- dsb
- " : "=r" ulOriginalBASEPRI, "=r" ulNewBASEPRI : "i" 16 : "memory");
- D.7633 = ulOriginalBASEPRI;
- <bb 3> :
- <L0>:
- return D.7633;
- }
- __attribute__((always_inline))
- vPortRaiseBASEPRI ()
- {
- uint32_t ulNewBASEPRI;
- <bb 2> :
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI : "i" 16 : "memory");
- return;
- }
|