12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570 |
- Marking local functions: prvListTasksWithinSingleList.part.0 vTaskSwitchContext.part.0 xTaskResumeAll.part.0 xTaskIncrementTick.part.0 eTaskGetState.part.0 prvAddCurrentTaskToDelayedList.part.0 prvInitialiseNewTask.isra.0 prvResetNextTaskUnblockTime.part.0 prvTaskIsTaskSuspended.part.0 prvAddCurrentTaskToDelayedList prvWriteNameToBuffer prvResetNextTaskUnblockTime prvDeleteTCB prvTaskCheckFreeStackSpace prvListTasksWithinSingleList prvCheckTasksWaitingTermination prvInitialiseTaskLists prvSearchForNameWithinSingleList prvTaskIsTaskSuspended prvAddNewTaskToReadyList
- 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
- Clearing variable flags:
- Reclaiming functions:
- Reclaiming variables:
- Clearing address taken flags:
- Symbol table:
- CSWTCH.225/163 (CSWTCH.225) @063c4798
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly artificial
- References:
- Referring: vTaskList/84 (read)
- Availability: available
- Varpool flags: initialized read-only const-value-known
- prvListTasksWithinSingleList.part.0/158 (prvListTasksWithinSingleList.part.0) @061d3b60
- Type: function definition analyzed
- Visibility: prevailing_def_ironly artificial
- References:
- Referring:
- Availability: local
- Function flags: count:118111600 (estimated locally) first_run:1 body local split_part optimize_size
- Called by: prvListTasksWithinSingleList/73 (118111600 (estimated locally),0.50 per call)
- Calls: vTaskGetInfo/72 (1073741824 (estimated locally),9.09 per call)
- vTaskSwitchContext.part.0/146 (vTaskSwitchContext.part.0) @063282a0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly artificial
- References:
- Referring:
- Availability: local
- Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
- Called by: vTaskSwitchContext/57 (107374 (estimated locally),0.24 per call)
- Calls:
- xTaskResumeAll.part.0/137 (xTaskResumeAll.part.0) @06328620
- Type: function definition analyzed
- Visibility: prevailing_def_ironly artificial
- References: 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: local
- Function flags: count:472446400 (estimated locally) first_run:1 body local split_part optimize_size
- Called by: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call)
- Calls: vPortEnterCritical/100 (472446400 (estimated locally),1.00 per call) prvResetNextTaskUnblockTime/77 (63154273 (estimated locally),0.13 per call) xTaskIncrementTick/56 (536870915 (estimated locally),1.14 per call) vPortExitCritical/101 (472446401 (estimated locally),1.00 per call)
- xTaskIncrementTick.part.0/135 (xTaskIncrementTick.part.0) @06328540
- Type: function definition analyzed
- Visibility: prevailing_def_ironly artificial
- References: 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)
- Referring:
- Availability: local
- Function flags: count:320519 (estimated locally) first_run:1 body local split_part optimize_size
- Called by: xTaskIncrementTick/56 (320520 (estimated locally),0.50 per call)
- Calls: prvResetNextTaskUnblockTime/77 (52886 (estimated locally),0.17 per call)
- eTaskGetState.part.0/122 (eTaskGetState.part.0) @061d39a0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly artificial
- References:
- Referring:
- Availability: local
- Function flags: count:566398813 (estimated locally) first_run:1 body local split_part optimize_size
- Called by: eTaskGetState/35 (11759 (estimated locally),0.03 per call)
- Calls:
- prvAddCurrentTaskToDelayedList.part.0/119 (prvAddCurrentTaskToDelayedList.part.0) @05f2a540
- Type: function definition analyzed
- Visibility: prevailing_def_ironly artificial
- References: 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)
- Referring:
- Availability: local
- Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
- Called by: prvAddCurrentTaskToDelayedList/94 (182536110 (estimated locally),0.17 per call)
- Calls:
- prvInitialiseNewTask.isra.0/118 (prvInitialiseNewTask.isra.0) @05f2a2a0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly artificial
- References:
- Referring:
- Availability: local
- Function flags: count:160260 (estimated locally) body local optimize_size
- Called by: xTaskCreate/29 (306987179 (estimated locally),0.29 per call)
- Calls: pxPortInitialiseStack/99 (52886 (estimated locally),0.33 per call) memset/97 (52886 (estimated locally),0.33 per call) memset/97 (52886 (estimated locally),0.33 per call) vListInitialiseItem/98 (52886 (estimated locally),0.33 per call) vListInitialiseItem/98 (52886 (estimated locally),0.33 per call) memset/97 (160260 (estimated locally),1.00 per call)
- prvResetNextTaskUnblockTime.part.0/115 (prvResetNextTaskUnblockTime.part.0) @05f22e00
- Type: function definition analyzed
- Visibility: prevailing_def_ironly artificial
- References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)
- Referring:
- Availability: local
- Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
- Called by: prvResetNextTaskUnblockTime/77 (536870912 (estimated locally),0.50 per call)
- Calls:
- prvTaskIsTaskSuspended.part.0/114 (prvTaskIsTaskSuspended.part.0) @05e542a0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly artificial
- References: xPendingReadyList/13 (addr)
- Referring:
- Availability: local
- Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
- Called by: prvTaskIsTaskSuspended/40 (75162 (estimated locally),0.21 per call)
- Calls:
- strcpy/112 (strcpy) @06161000
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvWriteNameToBuffer/83 (118111600 (estimated locally),1.00 per call)
- Calls:
- sprintf/111 (sprintf) @06141ee0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call)
- Calls:
- strlen/110 (strlen) @060d49a0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call) xTaskGetHandle/52 (160260 (estimated locally),1.00 per call) prvWriteNameToBuffer/83 (118111600 (estimated locally),1.00 per call)
- Calls:
- vPortEndScheduler/109 (vPortEndScheduler) @060d4000
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskEndScheduler/44 (1073741824 (estimated locally),1.00 per call)
- Calls:
- xPortStartScheduler/108 (xPortStartScheduler) @05a9ac40
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskStartScheduler/43 (80139 (estimated locally),0.20 per call)
- Calls:
- xTimerCreateTimerTask/107 (xTimerCreateTimerTask) @05a9ab60
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskStartScheduler/43 (80139 (estimated locally),0.20 per call)
- Calls:
- vPortValidateInterruptPriority/106 (vPortValidateInterruptPriority) @05a83e00
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskGenericNotifyGiveFromISR/91 (52886 (estimated locally),0.23 per call) xTaskGenericNotifyFromISR/90 (52886 (estimated locally),0.23 per call) xTaskGetTickCountFromISR/48 (1073741824 (estimated locally),1.00 per call) xTaskResumeFromISR/42 (123389 (estimated locally),0.53 per call) uxTaskPriorityGetFromISR/37 (1073741824 (estimated locally),1.00 per call)
- Calls:
- vListInsert/105 (vListInsert) @05a837e0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskPlaceOnEventList/58 (123389 (estimated locally),0.53 per call) prvAddCurrentTaskToDelayedList/94 (445602856 (estimated locally),0.41 per call) prvAddCurrentTaskToDelayedList/94 (445602856 (estimated locally),0.41 per call)
- Calls:
- vListInsertEnd/104 (vListInsertEnd) @05a830e0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskResumeFromISR/42 (20359 (estimated locally),0.09 per call) vTaskDelete/32 (429496 (estimated locally),0.30 per call)
- Calls:
- uxListRemove/103 (uxListRemove) @05a83000
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskPriorityDisinheritAfterTimeout/82 (2940 (estimated locally),0.01 per call) xTaskPriorityDisinherit/81 (5011 (estimated locally),0.02 per call) xTaskPriorityInherit/80 (65503620 (estimated locally),0.06 per call) vTaskSuspend/39 (765505 (estimated locally),0.53 per call) vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskAbortDelay/55 (13354 (estimated locally),0.06 per call) xTaskAbortDelay/55 (24974 (estimated locally),0.11 per call) xTaskResumeFromISR/42 (41335 (estimated locally),0.18 per call) vTaskResume/41 (44208 (estimated locally),0.12 per call) vTaskPrioritySet/38 (6084 (estimated locally),0.04 per call) vTaskDelete/32 (765505 (estimated locally),0.53 per call) vTaskDelete/32 (1431653 (estimated locally),1.00 per call) prvAddCurrentTaskToDelayedList/94 (1073741823 (estimated locally),1.00 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call)
- Calls:
- vListInitialise/102 (vListInitialise) @060b4ee0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (178992762 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (894749063 (estimated locally),5.00 per call)
- Calls:
- vPortExitCritical/101 (vPortExitCritical) @060b4d20
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: ulTaskGenericNotifyValueClear/93 (1073741824 (estimated locally),1.00 per call) xTaskGenericNotifyStateClear/92 (107374 (estimated locally),0.50 per call) xTaskGenericNotify/89 (33803 (estimated locally),0.16 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) xTaskCheckForTimeOut/65 (123389 (estimated locally),0.37 per call) vTaskSetTimeOutState/63 (123389 (estimated locally),0.53 per call) vTaskSuspend/39 (472446 (estimated locally),0.33 per call) vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskAbortDelay/55 (24974 (estimated locally),0.11 per call) xTaskResumeAll.part.0/137 (472446401 (estimated locally),1.00 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call) vTaskPrioritySet/38 (52886 (estimated locally),0.33 per call) uxTaskPriorityGet/36 (1073741824 (estimated locally),1.00 per call) eTaskGetState/35 (133963 (estimated locally),0.37 per call) vTaskDelete/32 (1431653 (estimated locally),1.00 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call) prvAddNewTaskToReadyList/31 (1073741823 (estimated locally),1.00 per call)
- Calls:
- vPortEnterCritical/100 (vPortEnterCritical) @060b4b60
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: ulTaskGenericNotifyValueClear/93 (1073741824 (estimated locally),1.00 per call) xTaskGenericNotifyStateClear/92 (107374 (estimated locally),0.50 per call) xTaskGenericNotify/89 (57413 (estimated locally),0.27 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) xTaskGenericNotifyWait/88 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) ulTaskGenericNotifyTake/87 (52886 (estimated locally),0.33 per call) xTaskCheckForTimeOut/65 (123389 (estimated locally),0.37 per call) vTaskSetTimeOutState/63 (123389 (estimated locally),0.53 per call) vTaskSuspend/39 (472446 (estimated locally),0.33 per call) vTaskSuspend/39 (1431653 (estimated locally),1.00 per call) xTaskAbortDelay/55 (24974 (estimated locally),0.11 per call) xTaskResumeAll.part.0/137 (472446400 (estimated locally),1.00 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call) vTaskPrioritySet/38 (52886 (estimated locally),0.33 per call) uxTaskPriorityGet/36 (1073741824 (estimated locally),1.00 per call) eTaskGetState/35 (133963 (estimated locally),0.37 per call) vTaskDelete/32 (1431653 (estimated locally),1.00 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call) prvAddNewTaskToReadyList/31 (1073741821 (estimated locally),1.00 per call)
- Calls:
- pxPortInitialiseStack/99 (pxPortInitialiseStack) @060b48c0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call)
- Calls:
- vListInitialiseItem/98 (vListInitialiseItem) @060b47e0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call)
- Calls:
- memset/97 (memset) @060b4700
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (52886 (estimated locally),0.33 per call) prvInitialiseNewTask.isra.0/118 (160260 (estimated locally),1.00 per call)
- Calls:
- vPortFree/96 (vPortFree) @060b4540
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskList/84 (118111601 (estimated locally),0.53 per call) xTaskCreate/29 (100070816 (estimated locally),0.09 per call) prvDeleteTCB/76 (1073741824 (estimated locally),1.00 per call) prvDeleteTCB/76 (1073741824 (estimated locally),1.00 per call)
- Calls:
- pvPortMalloc/95 (pvPortMalloc) @060b4460
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskList/84 (220893212 (estimated locally),1.00 per call) xTaskCreate/29 (574129754 (estimated locally),0.53 per call) xTaskCreate/29 (1073741824 (estimated locally),1.00 per call)
- Calls:
- prvAddCurrentTaskToDelayedList/94 (prvAddCurrentTaskToDelayedList) @060b4000
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxOverflowDelayedTaskList/12 (read)pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxCurrentTCB/7 (read)xNextTaskUnblockTime/25 (read)xNextTaskUnblockTime/25 (write)
- Referring:
- Availability: local
- Function flags: count:1073741823 (estimated locally) body local optimize_size
- Called by: xTaskGenericNotifyWait/88 (11519 (estimated locally),0.07 per call) ulTaskGenericNotifyTake/87 (8726 (estimated locally),0.05 per call) vTaskPlaceOnEventListRestricted/60 (250539 (estimated locally),0.70 per call) vTaskPlaceOnUnorderedEventList/59 (52886 (estimated locally),0.23 per call) vTaskPlaceOnEventList/58 (123389 (estimated locally),0.53 per call) vTaskDelay/34 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (17717 (estimated locally),0.06 per call)
- Calls: vListInsert/105 (445602856 (estimated locally),0.41 per call) vListInsert/105 (445602856 (estimated locally),0.41 per call) prvAddCurrentTaskToDelayedList.part.0/119 (182536110 (estimated locally),0.17 per call) uxListRemove/103 (1073741823 (estimated locally),1.00 per call)
- ulTaskGenericNotifyValueClear/93 (ulTaskGenericNotifyValueClear) @0607a540
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/101 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/100 (1073741824 (estimated locally),1.00 per call)
- xTaskGenericNotifyStateClear/92 (xTaskGenericNotifyStateClear) @0607ad20
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: count:214748 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/101 (107374 (estimated locally),0.50 per call) vPortEnterCritical/100 (107374 (estimated locally),0.50 per call)
- vTaskGenericNotifyGiveFromISR/91 (vTaskGenericNotifyGiveFromISR) @0607a8c0
- Type: function definition analyzed
- Visibility: externally_visible 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: count:228942 (estimated locally) body optimize_size
- Called by:
- Calls: vPortValidateInterruptPriority/106 (52886 (estimated locally),0.23 per call)
- xTaskGenericNotifyFromISR/90 (xTaskGenericNotifyFromISR) @0607a460
- Type: function definition analyzed
- Visibility: externally_visible 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: count:228942 (estimated locally) body optimize_size
- Called by:
- Calls: vPortValidateInterruptPriority/106 (52886 (estimated locally),0.23 per call)
- xTaskGenericNotify/89 (xTaskGenericNotify) @0606ce00
- Type: function definition analyzed
- Visibility: externally_visible 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: count:214748 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/101 (33803 (estimated locally),0.16 per call) vPortEnterCritical/100 (57413 (estimated locally),0.27 per call)
- xTaskGenericNotifyWait/88 (xTaskGenericNotifyWait) @0606cd20
- Type: function definition analyzed
- Visibility: externally_visible 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: count:160260 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/101 (52886 (estimated locally),0.33 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) vPortExitCritical/101 (52886 (estimated locally),0.33 per call) prvAddCurrentTaskToDelayedList/94 (11519 (estimated locally),0.07 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call)
- ulTaskGenericNotifyTake/87 (ulTaskGenericNotifyTake) @0606c8c0
- Type: function definition analyzed
- Visibility: externally_visible 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: count:160260 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/101 (52886 (estimated locally),0.33 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call) vPortExitCritical/101 (52886 (estimated locally),0.33 per call) prvAddCurrentTaskToDelayedList/94 (8726 (estimated locally),0.05 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call)
- pvTaskIncrementMutexHeldCount/86 (pvTaskIncrementMutexHeldCount) @0606c460
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- uxTaskResetEventItemValue/85 (uxTaskResetEventItemValue) @0606c1c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vTaskList/84 (vTaskList) @0604fc40
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (read)CSWTCH.225/163 (read)
- Referring:
- Availability: available
- Function flags: count:220893212 (estimated locally) body optimize_size
- Called by:
- Calls: vPortFree/96 (118111601 (estimated locally),0.53 per call) strlen/110 (955630226 (estimated locally),4.33 per call) sprintf/111 (955630226 (estimated locally),4.33 per call) prvWriteNameToBuffer/83 (955630226 (estimated locally),4.33 per call) uxTaskGetSystemState/53 (118111600 (estimated locally),0.53 per call) pvPortMalloc/95 (220893212 (estimated locally),1.00 per call)
- prvWriteNameToBuffer/83 (prvWriteNameToBuffer) @0604f540
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: count:118111600 (estimated locally) body local optimize_size
- Called by: vTaskList/84 (955630226 (estimated locally),4.33 per call)
- Calls: strlen/110 (118111600 (estimated locally),1.00 per call) strcpy/112 (118111600 (estimated locally),1.00 per call)
- vTaskPriorityDisinheritAfterTimeout/82 (vTaskPriorityDisinheritAfterTimeout) @0604f000
- Type: function definition analyzed
- Visibility: externally_visible 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: count:306783 (estimated locally) body optimize_size
- Called by:
- Calls: uxListRemove/103 (2940 (estimated locally),0.01 per call)
- xTaskPriorityDisinherit/81 (xTaskPriorityDisinherit) @0604fb60
- Type: function definition analyzed
- Visibility: externally_visible 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: count:219131 (estimated locally) body optimize_size
- Called by:
- Calls: uxListRemove/103 (5011 (estimated locally),0.02 per call)
- xTaskPriorityInherit/80 (xTaskPriorityInherit) @0604f700
- Type: function definition analyzed
- Visibility: externally_visible 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: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls: uxListRemove/103 (65503620 (estimated locally),0.06 per call)
- xTaskGetSchedulerState/79 (xTaskGetSchedulerState) @0604f460
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- xTaskGetCurrentTaskHandle/78 (xTaskGetCurrentTaskHandle) @0604f1c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- prvResetNextTaskUnblockTime/77 (prvResetNextTaskUnblockTime) @06043c40
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)
- Referring:
- Availability: local
- Function flags: count:1073741824 (estimated locally) body local optimize_size
- Called by: vTaskSuspend/39 (472446 (estimated locally),0.33 per call) xTaskResumeAll.part.0/137 (63154273 (estimated locally),0.13 per call) xTaskIncrementTick.part.0/135 (52886 (estimated locally),0.17 per call) vTaskDelete/32 (1002157 (estimated locally),0.70 per call)
- Calls: prvResetNextTaskUnblockTime.part.0/115 (536870912 (estimated locally),0.50 per call)
- prvDeleteTCB/76 (prvDeleteTCB) @06043380
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: count:1073741824 (estimated locally) body local optimize_size
- Called by: vTaskDelete/32 (1002157 (estimated locally),0.70 per call) prvCheckTasksWaitingTermination/71 (955630223 (estimated locally),8.09 per call)
- Calls: vPortFree/96 (1073741824 (estimated locally),1.00 per call) vPortFree/96 (1073741824 (estimated locally),1.00 per call)
- uxTaskGetStackHighWaterMark/75 (uxTaskGetStackHighWaterMark) @06043ee0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls: prvTaskCheckFreeStackSpace/74 (1073741824 (estimated locally),1.00 per call)
- prvTaskCheckFreeStackSpace/74 (prvTaskCheckFreeStackSpace) @06043b60
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: count:118111600 (estimated locally) body local optimize_size
- Called by: uxTaskGetStackHighWaterMark/75 (1073741824 (estimated locally),1.00 per call) vTaskGetInfo/72 (354334802 (estimated locally),0.33 per call)
- Calls:
- prvListTasksWithinSingleList/73 (prvListTasksWithinSingleList) @060438c0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: count:236223200 (estimated locally) body local optimize_size
- Called by: uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (214748365 (estimated locally),0.50 per call) uxTaskGetSystemState/53 (1073741824 (estimated locally),2.50 per call)
- Calls: prvListTasksWithinSingleList.part.0/158 (118111600 (estimated locally),0.50 per call)
- vTaskGetInfo/72 (vTaskGetInfo) @06043620
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: count:1073741823 (estimated locally) body optimize_size
- Called by: prvListTasksWithinSingleList.part.0/158 (1073741824 (estimated locally),9.09 per call)
- Calls: prvTaskCheckFreeStackSpace/74 (354334802 (estimated locally),0.33 per call) eTaskGetState/35 (217325345 (estimated locally),0.20 per call) xTaskResumeAll/46 (121337087 (estimated locally),0.11 per call) vTaskSuspendAll/45 (121337087 (estimated locally),0.11 per call)
- prvCheckTasksWaitingTermination/71 (prvCheckTasksWaitingTermination) @060432a0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References: xTasksWaitingTermination/14 (read)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxDeletedTasksWaitingCleanUp/15 (read)
- Referring:
- Availability: local
- Function flags: count:118111600 (estimated locally) body local optimize_size
- Called by: prvIdleTask/69 (1073741824 (estimated locally),16949.09 per call)
- Calls: prvDeleteTCB/76 (955630223 (estimated locally),8.09 per call) vPortExitCritical/101 (955630223 (estimated locally),8.09 per call) uxListRemove/103 (955630223 (estimated locally),8.09 per call) vPortEnterCritical/100 (955630223 (estimated locally),8.09 per call)
- prvInitialiseTaskLists/70 (prvInitialiseTaskLists) @0603fee0
- Type: function definition analyzed
- Visibility: 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: local
- Function flags: count:178992762 (estimated locally) body local optimize_size
- Called by: prvAddNewTaskToReadyList/31 (65197603 (estimated locally),0.06 per call)
- Calls: vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (178992762 (estimated locally),1.00 per call) vListInitialise/102 (894749063 (estimated locally),5.00 per call)
- prvIdleTask/69 (prvIdleTask) @0603f9a0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- Address is taken.
- References: pxReadyTasksLists/8 (read)
- Referring: vTaskStartScheduler/43 (addr)
- Availability: available
- Function flags: count:63351 (estimated locally) body executed_once optimize_size
- Called by:
- Calls: prvCheckTasksWaitingTermination/71 (1073741824 (estimated locally),16949.09 per call)
- vTaskSetTaskNumber/68 (vTaskSetTaskNumber) @0603fe00
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- uxTaskGetTaskNumber/67 (uxTaskGetTaskNumber) @0603fb60
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- vTaskMissedYield/66 (vTaskMissedYield) @0603f8c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- xTaskCheckForTimeOut/65 (xTaskCheckForTimeOut) @0603f620
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xNumOfOverflows/23 (read)
- Referring:
- Availability: available
- Function flags: count:329661 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/101 (123389 (estimated locally),0.37 per call) vTaskInternalSetTimeOutState/64 (9003 (estimated locally),0.03 per call) vPortEnterCritical/100 (123389 (estimated locally),0.37 per call)
- vTaskInternalSetTimeOutState/64 (vTaskInternalSetTimeOutState) @0603f1c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xNumOfOverflows/23 (read)xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by: xTaskCheckForTimeOut/65 (9003 (estimated locally),0.03 per call)
- Calls:
- vTaskSetTimeOutState/63 (vTaskSetTimeOutState) @05f9ab60
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xNumOfOverflows/23 (read)xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: count:230763 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/101 (123389 (estimated locally),0.53 per call) vPortEnterCritical/100 (123389 (estimated locally),0.53 per call)
- vTaskRemoveFromUnorderedEventList/62 (vTaskRemoveFromUnorderedEventList) @05f9aee0
- Type: function definition analyzed
- Visibility: externally_visible 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: count:214748 (estimated locally) body optimize_size
- Called by:
- Calls:
- xTaskRemoveFromEventList/61 (xTaskRemoveFromEventList) @05f9aa80
- Type: function definition analyzed
- Visibility: externally_visible 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: count:357913 (estimated locally) body optimize_size
- Called by:
- Calls:
- vTaskPlaceOnEventListRestricted/60 (vTaskPlaceOnEventListRestricted) @05f9a620
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: count:357913 (estimated locally) body optimize_size
- Called by:
- Calls: prvAddCurrentTaskToDelayedList/94 (250539 (estimated locally),0.70 per call)
- vTaskPlaceOnUnorderedEventList/59 (vTaskPlaceOnUnorderedEventList) @05f9a2a0
- Type: function definition analyzed
- Visibility: externally_visible 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: count:228942 (estimated locally) body optimize_size
- Called by:
- Calls: prvAddCurrentTaskToDelayedList/94 (52886 (estimated locally),0.23 per call)
- vTaskPlaceOnEventList/58 (vTaskPlaceOnEventList) @05f8aa80
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: count:230763 (estimated locally) body optimize_size
- Called by:
- Calls: prvAddCurrentTaskToDelayedList/94 (123389 (estimated locally),0.53 per call) vListInsert/105 (123389 (estimated locally),0.53 per call)
- vTaskSwitchContext/57 (vTaskSwitchContext) @05f8ae00
- Type: function definition analyzed
- Visibility: force_output externally_visible public
- References: uxSchedulerSuspended/28 (read)xYieldPending/22 (write)xYieldPending/22 (write)uxTopReadyPriority/19 (read)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (write)pxReadyTasksLists/8 (read)pxCurrentTCB/7 (write)uxTopReadyPriority/19 (write)
- Referring:
- Availability: available
- Function flags: count:441995 (estimated locally) body optimize_size
- Called by: vTaskSuspend/39 (104969 (estimated locally),0.07 per call)
- Calls: vTaskSwitchContext.part.0/146 (107374 (estimated locally),0.24 per call)
- xTaskIncrementTick/56 (xTaskIncrementTick) @05f8a9a0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write)
- Referring:
- Availability: available
- Function flags: count:641039 (estimated locally) body optimize_size
- Called by: xTaskResumeAll.part.0/137 (536870915 (estimated locally),1.14 per call)
- Calls: xTaskIncrementTick.part.0/135 (320520 (estimated locally),0.50 per call)
- xTaskAbortDelay/55 (xTaskAbortDelay) @05f8a380
- Type: function definition analyzed
- Visibility: externally_visible 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: count:230763 (estimated locally) body optimize_size
- Called by:
- Calls: xTaskResumeAll/46 (123389 (estimated locally),0.53 per call) vPortExitCritical/101 (24974 (estimated locally),0.11 per call) uxListRemove/103 (13354 (estimated locally),0.06 per call) vPortEnterCritical/100 (24974 (estimated locally),0.11 per call) uxListRemove/103 (24974 (estimated locally),0.11 per call) eTaskGetState/35 (123389 (estimated locally),0.53 per call) vTaskSuspendAll/45 (123389 (estimated locally),0.53 per call)
- xTaskCatchUpTicks/54 (xTaskCatchUpTicks) @05f8a000
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write)
- Referring:
- Availability: available
- Function flags: count:160260 (estimated locally) body optimize_size
- Called by:
- Calls: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.33 per call)
- uxTaskGetSystemState/53 (uxTaskGetSystemState) @05f7f7e0
- Type: function definition analyzed
- Visibility: externally_visible 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: count:429496728 (estimated locally) body optimize_size
- Called by: vTaskList/84 (118111600 (estimated locally),0.53 per call)
- Calls: xTaskResumeAll/46 (429496729 (estimated locally),1.00 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (214748365 (estimated locally),0.50 per call) prvListTasksWithinSingleList/73 (1073741824 (estimated locally),2.50 per call) vTaskSuspendAll/45 (429496728 (estimated locally),1.00 per call)
- xTaskGetHandle/52 (xTaskGetHandle) @05f7f2a0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr)
- Referring:
- Availability: available
- Function flags: count:160260 (estimated locally) body optimize_size
- Called by:
- Calls: xTaskResumeAll/46 (52886 (estimated locally),0.33 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (9218 (estimated locally),0.06 per call) prvSearchForNameWithinSingleList/51 (216745 (estimated locally),1.35 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.33 per call) strlen/110 (160260 (estimated locally),1.00 per call)
- prvSearchForNameWithinSingleList/51 (prvSearchForNameWithinSingleList) @05f7fe00
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: count:25274560 (estimated locally) body local optimize_size
- Called by: xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (9218 (estimated locally),0.06 per call) xTaskGetHandle/52 (216745 (estimated locally),1.35 per call)
- Calls:
- pcTaskGetName/50 (pcTaskGetName) @05f7fb60
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: count:357913 (estimated locally) body optimize_size
- Called by:
- Calls:
- uxTaskGetNumberOfTasks/49 (uxTaskGetNumberOfTasks) @05f7f700
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxCurrentNumberOfTasks/17 (read)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- xTaskGetTickCountFromISR/48 (xTaskGetTickCountFromISR) @05f7f460
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls: vPortValidateInterruptPriority/106 (1073741824 (estimated locally),1.00 per call)
- xTaskGetTickCount/47 (xTaskGetTickCount) @05f7f1c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls:
- xTaskResumeAll/46 (xTaskResumeAll) @05f6ce00
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)
- Referring:
- Availability: available
- Function flags: count:160260 (estimated locally) body optimize_size
- Called by: uxTaskGetSystemState/53 (429496729 (estimated locally),1.00 per call) vTaskGetInfo/72 (121337087 (estimated locally),0.11 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call) xTaskCatchUpTicks/54 (52886 (estimated locally),0.33 per call) xTaskGetHandle/52 (52886 (estimated locally),0.33 per call) vTaskDelay/34 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (35433 (estimated locally),0.12 per call)
- Calls: xTaskResumeAll.part.0/137 (52886 (estimated locally),0.33 per call)
- vTaskSuspendAll/45 (vTaskSuspendAll) @05f6cd20
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by: uxTaskGetSystemState/53 (429496728 (estimated locally),1.00 per call) vTaskGetInfo/72 (121337087 (estimated locally),0.11 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call) xTaskCatchUpTicks/54 (52886 (estimated locally),0.33 per call) xTaskGetHandle/52 (52886 (estimated locally),0.33 per call) vTaskDelay/34 (52886 (estimated locally),0.17 per call) xTaskDelayUntil/33 (35433 (estimated locally),0.12 per call)
- Calls:
- vTaskEndScheduler/44 (vTaskEndScheduler) @05f6ca80
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xSchedulerRunning/20 (write)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls: vPortEndScheduler/109 (1073741824 (estimated locally),1.00 per call)
- vTaskStartScheduler/43 (vTaskStartScheduler) @05f6c7e0
- Type: function definition analyzed
- Visibility: externally_visible 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: count:395945 (estimated locally) body optimize_size
- Called by:
- Calls: xPortStartScheduler/108 (80139 (estimated locally),0.20 per call) xTimerCreateTimerTask/107 (80139 (estimated locally),0.20 per call) xTaskCreate/29 (395945 (estimated locally),1.00 per call)
- xTaskResumeFromISR/42 (xTaskResumeFromISR) @05f6c540
- Type: function definition analyzed
- Visibility: externally_visible 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: count:230763 (estimated locally) body optimize_size
- Called by:
- Calls: vListInsertEnd/104 (20359 (estimated locally),0.09 per call) uxListRemove/103 (41335 (estimated locally),0.18 per call) prvTaskIsTaskSuspended/40 (123389 (estimated locally),0.53 per call) vPortValidateInterruptPriority/106 (123389 (estimated locally),0.53 per call)
- vTaskResume/41 (vTaskResume) @05f6c1c0
- Type: function definition analyzed
- Visibility: externally_visible 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: count:357913 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/101 (133963 (estimated locally),0.37 per call) uxListRemove/103 (44208 (estimated locally),0.12 per call) prvTaskIsTaskSuspended/40 (133963 (estimated locally),0.37 per call) vPortEnterCritical/100 (133963 (estimated locally),0.37 per call)
- prvTaskIsTaskSuspended/40 (prvTaskIsTaskSuspended) @05f5d9a0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References: xSuspendedTaskList/16 (addr)
- Referring:
- Availability: local
- Function flags: count:357913 (estimated locally) body local optimize_size
- Called by: xTaskResumeFromISR/42 (123389 (estimated locally),0.53 per call) vTaskResume/41 (133963 (estimated locally),0.37 per call)
- Calls: prvTaskIsTaskSuspended.part.0/114 (75162 (estimated locally),0.21 per call)
- vTaskSuspend/39 (vTaskSuspend) @05f5de00
- Type: function definition analyzed
- Visibility: externally_visible 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: count:1431653 (estimated locally) body optimize_size
- Called by:
- Calls: vTaskSwitchContext/57 (104969 (estimated locally),0.07 per call) vPortExitCritical/101 (472446 (estimated locally),0.33 per call) prvResetNextTaskUnblockTime/77 (472446 (estimated locally),0.33 per call) vPortEnterCritical/100 (472446 (estimated locally),0.33 per call) vPortExitCritical/101 (1431653 (estimated locally),1.00 per call) vListInsertEnd/104 (1431653 (estimated locally),1.00 per call) uxListRemove/103 (765505 (estimated locally),0.53 per call) uxListRemove/103 (1431653 (estimated locally),1.00 per call) vPortEnterCritical/100 (1431653 (estimated locally),1.00 per call)
- vTaskPrioritySet/38 (vTaskPrioritySet) @05f5d8c0
- Type: function definition analyzed
- Visibility: externally_visible 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: count:160260 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/101 (52886 (estimated locally),0.33 per call) uxListRemove/103 (6084 (estimated locally),0.04 per call) vPortEnterCritical/100 (52886 (estimated locally),0.33 per call)
- uxTaskPriorityGetFromISR/37 (uxTaskPriorityGetFromISR) @05f5d380
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls: vPortValidateInterruptPriority/106 (1073741824 (estimated locally),1.00 per call)
- uxTaskPriorityGet/36 (uxTaskPriorityGet) @05f5d000
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/101 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/100 (1073741824 (estimated locally),1.00 per call)
- eTaskGetState/35 (eTaskGetState) @05f482a0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr)
- Referring:
- Availability: available
- Function flags: count:357913 (estimated locally) body optimize_size
- Called by: vTaskGetInfo/72 (217325345 (estimated locally),0.20 per call) xTaskAbortDelay/55 (123389 (estimated locally),0.53 per call)
- Calls: eTaskGetState.part.0/122 (11759 (estimated locally),0.03 per call) vPortExitCritical/101 (133963 (estimated locally),0.37 per call) vPortEnterCritical/100 (133963 (estimated locally),0.37 per call)
- vTaskDelay/34 (vTaskDelay) @05f48c40
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)
- Referring:
- Availability: available
- Function flags: count:320519 (estimated locally) body optimize_size
- Called by:
- Calls: xTaskResumeAll/46 (52886 (estimated locally),0.17 per call) prvAddCurrentTaskToDelayedList/94 (52886 (estimated locally),0.17 per call) vTaskSuspendAll/45 (52886 (estimated locally),0.17 per call)
- xTaskDelayUntil/33 (xTaskDelayUntil) @05f487e0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: count:306783 (estimated locally) body optimize_size
- Called by:
- Calls: xTaskResumeAll/46 (35433 (estimated locally),0.12 per call) prvAddCurrentTaskToDelayedList/94 (17717 (estimated locally),0.06 per call) vTaskSuspendAll/45 (35433 (estimated locally),0.12 per call)
- vTaskDelete/32 (vTaskDelete) @05f481c0
- Type: function definition analyzed
- Visibility: externally_visible 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: count:1431653 (estimated locally) body optimize_size
- Called by:
- Calls: vPortExitCritical/101 (1431653 (estimated locally),1.00 per call) prvResetNextTaskUnblockTime/77 (1002157 (estimated locally),0.70 per call) prvDeleteTCB/76 (1002157 (estimated locally),0.70 per call) vListInsertEnd/104 (429496 (estimated locally),0.30 per call) uxListRemove/103 (765505 (estimated locally),0.53 per call) uxListRemove/103 (1431653 (estimated locally),1.00 per call) vPortEnterCritical/100 (1431653 (estimated locally),1.00 per call)
- prvAddNewTaskToReadyList/31 (prvAddNewTaskToReadyList) @05f36540
- Type: function definition analyzed
- Visibility: 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)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: local
- Function flags: count:1073741821 (estimated locally) body local optimize_size
- Called by: xTaskCreate/29 (306987179 (estimated locally),0.29 per call)
- Calls: vPortExitCritical/101 (1073741823 (estimated locally),1.00 per call) prvInitialiseTaskLists/70 (65197603 (estimated locally),0.06 per call) vPortEnterCritical/100 (1073741821 (estimated locally),1.00 per call)
- xTaskCreate/29 (xTaskCreate) @05f36700
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: count:1073741824 (estimated locally) body optimize_size
- Called by: vTaskStartScheduler/43 (395945 (estimated locally),1.00 per call)
- Calls: prvAddNewTaskToReadyList/31 (306987179 (estimated locally),0.29 per call) prvInitialiseNewTask.isra.0/118 (306987179 (estimated locally),0.29 per call) vPortFree/96 (100070816 (estimated locally),0.09 per call) pvPortMalloc/95 (574129754 (estimated locally),0.53 per call) pvPortMalloc/95 (1073741824 (estimated locally),1.00 per call)
- uxSchedulerSuspended/28 (uxSchedulerSuspended) @05f305a0
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: xTaskGetSchedulerState/79 (read)xTaskIncrementTick/56 (read)xTaskResumeAll/46 (read)xTaskCatchUpTicks/54 (read)xTaskGenericNotifyFromISR/90 (read)vTaskRemoveFromUnorderedEventList/62 (read)vTaskDelete/32 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskRemoveFromEventList/61 (read)vTaskSuspendAll/45 (read)vTaskSuspendAll/45 (write)xTaskDelayUntil/33 (read)xTaskResumeFromISR/42 (read)vTaskDelay/34 (read)vTaskSwitchContext/57 (read)vTaskSuspend/39 (read)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)vTaskGenericNotifyGiveFromISR/91 (read)
- Availability: available
- Varpool flags: initialized
- uxTopUsedPriority/27 (uxTopUsedPriority) @05f30510
- Type: variable definition analyzed
- Visibility: force_output externally_visible public
- References:
- Referring: vTaskStartScheduler/43 (read)
- Availability: available
- Varpool flags: initialized read-only
- xIdleTaskHandle/26 (xIdleTaskHandle) @05f30480
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: vTaskStartScheduler/43 (addr)
- Availability: available
- Varpool flags: initialized
- xNextTaskUnblockTime/25 (xNextTaskUnblockTime) @05f303f0
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: prvResetNextTaskUnblockTime.part.0/115 (write)prvAddCurrentTaskToDelayedList/94 (write)prvAddCurrentTaskToDelayedList/94 (read)vTaskStartScheduler/43 (write)prvResetNextTaskUnblockTime/77 (write)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)xTaskIncrementTick.part.0/135 (write)
- Availability: available
- Varpool flags: initialized
- uxTaskNumber/24 (uxTaskNumber) @05f30360
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskDelete/32 (write)
- Availability: available
- Varpool flags: initialized
- xNumOfOverflows/23 (xNumOfOverflows) @05f30318
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: xTaskIncrementTick.part.0/135 (write)vTaskSetTimeOutState/63 (read)vTaskInternalSetTimeOutState/64 (read)xTaskIncrementTick.part.0/135 (read)xTaskCheckForTimeOut/65 (read)
- Availability: available
- Varpool flags: initialized
- xYieldPending/22 (xYieldPending) @05f302d0
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: vTaskMissedYield/66 (write)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (write)xTaskResumeFromISR/42 (write)xTaskIncrementTick.part.0/135 (read)xTaskGenericNotifyFromISR/90 (write)xTaskResumeAll.part.0/137 (write)xTaskResumeAll.part.0/137 (read)xTaskAbortDelay/55 (write)vTaskSwitchContext/57 (write)xTaskResumeAll.part.0/137 (write)vTaskSwitchContext/57 (write)vTaskGenericNotifyGiveFromISR/91 (write)
- Availability: available
- Varpool flags: initialized
- xPendedTicks/21 (xPendedTicks) @05f30240
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)xTaskCatchUpTicks/54 (read)xTaskCatchUpTicks/54 (write)
- Availability: available
- Varpool flags: initialized
- xSchedulerRunning/20 (xSchedulerRunning) @05f301b0
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: vTaskDelete/32 (read)vTaskEndScheduler/44 (write)vTaskSuspend/39 (read)prvAddNewTaskToReadyList/31 (read)vTaskStartScheduler/43 (write)prvAddNewTaskToReadyList/31 (read)vTaskSuspend/39 (read)xTaskGetSchedulerState/79 (read)
- Availability: available
- Varpool flags: initialized
- uxTopReadyPriority/19 (uxTopReadyPriority) @05f30120
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (write)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (write)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (write)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)vTaskResume/41 (read)vTaskResume/41 (write)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (write)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (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)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write)
- Availability: available
- Varpool flags: initialized
- xTickCount/18 (xTickCount) @05f300d8
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: xTaskGetTickCountFromISR/48 (read)xTaskCheckForTimeOut/65 (read)xTaskGenericNotify/89 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskStartScheduler/43 (write)vTaskInternalSetTimeOutState/64 (read)xTaskGetTickCount/47 (read)xTaskIncrementTick.part.0/135 (write)xTaskDelayUntil/33 (read)vTaskSetTimeOutState/63 (read)xTaskIncrementTick.part.0/135 (read)xTaskGenericNotifyFromISR/90 (read)
- Availability: available
- Varpool flags: initialized
- uxCurrentNumberOfTasks/17 (uxCurrentNumberOfTasks) @05f30090
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: xTaskResumeAll.part.0/137 (read)prvCheckTasksWaitingTermination/71 (read)vTaskSuspend/39 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)uxTaskGetNumberOfTasks/49 (read)vTaskDelete/32 (read)uxTaskGetSystemState/53 (read)vTaskDelete/32 (write)prvCheckTasksWaitingTermination/71 (write)prvAddNewTaskToReadyList/31 (read)vTaskList/84 (read)vTaskList/84 (read)
- Availability: available
- Varpool flags: initialized
- xSuspendedTaskList/16 (xSuspendedTaskList) @05f2cf78
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: vTaskSuspend/39 (read)eTaskGetState/35 (addr)xTaskGetHandle/52 (addr)prvAddCurrentTaskToDelayedList.part.0/119 (write)prvTaskIsTaskSuspended/40 (addr)prvInitialiseTaskLists/70 (addr)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (addr)vTaskSuspend/39 (addr)uxTaskGetSystemState/53 (addr)
- Availability: available
- Varpool flags:
- uxDeletedTasksWaitingCleanUp/15 (uxDeletedTasksWaitingCleanUp) @05f2cee8
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: prvCheckTasksWaitingTermination/71 (write)prvCheckTasksWaitingTermination/71 (read)prvCheckTasksWaitingTermination/71 (read)vTaskDelete/32 (read)vTaskDelete/32 (write)
- Availability: available
- Varpool flags: initialized
- xTasksWaitingTermination/14 (xTasksWaitingTermination) @05f2ce58
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: eTaskGetState/35 (addr)prvInitialiseTaskLists/70 (addr)prvCheckTasksWaitingTermination/71 (read)xTaskGetHandle/52 (addr)vTaskDelete/32 (addr)uxTaskGetSystemState/53 (addr)
- Availability: available
- Varpool flags:
- xPendingReadyList/13 (xPendingReadyList) @05f2cdc8
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: xTaskGenericNotifyFromISR/90 (write)xTaskRemoveFromEventList/61 (write)prvTaskIsTaskSuspended.part.0/114 (addr)xTaskRemoveFromEventList/61 (read)prvInitialiseTaskLists/70 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskResumeFromISR/42 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (addr)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (read)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write)
- Availability: available
- Varpool flags:
- pxOverflowDelayedTaskList/12 (pxOverflowDelayedTaskList) @05f2cd38
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: prvAddCurrentTaskToDelayedList/94 (read)xTaskGetHandle/52 (read)prvInitialiseTaskLists/70 (write)eTaskGetState/35 (read)xTaskIncrementTick.part.0/135 (write)xTaskIncrementTick.part.0/135 (read)uxTaskGetSystemState/53 (read)
- Availability: available
- Varpool flags:
- pxDelayedTaskList/11 (pxDelayedTaskList) @05f2ccf0
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: xTaskGetHandle/52 (read)prvResetNextTaskUnblockTime.part.0/115 (read)prvAddCurrentTaskToDelayedList/94 (read)prvResetNextTaskUnblockTime/77 (read)prvInitialiseTaskLists/70 (write)eTaskGetState/35 (read)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)xTaskIncrementTick.part.0/135 (read)uxTaskGetSystemState/53 (read)
- Availability: available
- Varpool flags:
- xDelayedTaskList2/10 (xDelayedTaskList2) @05f2cca8
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr)
- Availability: available
- Varpool flags:
- xDelayedTaskList1/9 (xDelayedTaskList1) @05f2cc18
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr)
- Availability: available
- Varpool flags:
- pxReadyTasksLists/8 (pxReadyTasksLists) @05f2cb88
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (addr)xTaskGenericNotify/89 (read)xTaskGenericNotifyFromISR/90 (write)xTaskGenericNotify/89 (write)vTaskPriorityDisinheritAfterTimeout/82 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (addr)xTaskGenericNotifyFromISR/90 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (addr)prvAddNewTaskToReadyList/31 (read)prvIdleTask/69 (read)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (addr)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (write)prvInitialiseTaskLists/70 (addr)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (addr)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (write)xTaskIncrementTick.part.0/135 (read)xTaskRemoveFromEventList/61 (write)xTaskIncrementTick.part.0/135 (addr)xTaskIncrementTick.part.0/135 (read)xTaskIncrementTick.part.0/135 (write)xTaskResumeAll.part.0/137 (write)xTaskPriorityInherit/80 (addr)vTaskResume/41 (read)vTaskResume/41 (addr)vTaskResume/41 (read)vTaskResume/41 (write)xTaskResumeAll.part.0/137 (read)xTaskGetHandle/52 (addr)xTaskResumeAll.part.0/137 (read)xTaskResumeAll.part.0/137 (addr)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (write)vTaskSwitchContext/57 (write)vTaskSwitchContext/57 (addr)vTaskSwitchContext/57 (write)vTaskSwitchContext/57 (read)vTaskPrioritySet/38 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (addr)xTaskRemoveFromEventList/61 (read)vTaskRemoveFromUnorderedEventList/62 (write)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (addr)vTaskRemoveFromUnorderedEventList/62 (read)uxTaskGetSystemState/53 (addr)vTaskSwitchContext/57 (read)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 (read)vTaskPriorityDisinheritAfterTimeout/82 (addr)vTaskPriorityDisinheritAfterTimeout/82 (read)xTaskIncrementTick.part.0/135 (read)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (addr)vTaskSwitchContext/57 (read)vTaskPriorityDisinheritAfterTimeout/82 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write)
- Availability: available
- Varpool flags:
- pxCurrentTCB/7 (pxCurrentTCB) @05f2cb40
- Type: variable definition analyzed
- Visibility: force_output externally_visible public
- References:
- Referring: ulTaskGenericNotifyTake/87 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotify/89 (read)xTaskGenericNotifyFromISR/90 (read)vTaskGenericNotifyGiveFromISR/91 (read)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)pvTaskIncrementMutexHeldCount/86 (read)pvTaskIncrementMutexHeldCount/86 (read)pvTaskIncrementMutexHeldCount/86 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)xTaskGenericNotifyStateClear/92 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskDelete/32 (read)eTaskGetState/35 (read)prvAddNewTaskToReadyList/31 (write)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)uxTaskPriorityGet/36 (read)vTaskDelete/32 (read)vTaskResume/41 (read)xTaskAbortDelay/55 (read)vTaskDelete/32 (read)uxTaskPriorityGetFromISR/37 (read)vTaskPrioritySet/38 (read)pcTaskGetName/50 (read)vTaskResume/41 (read)xTaskIncrementTick.part.0/135 (read)vTaskPrioritySet/38 (read)xTaskResumeFromISR/42 (read)xTaskResumeAll.part.0/137 (read)vTaskSwitchContext/57 (write)ulTaskGenericNotifyTake/87 (read)prvAddNewTaskToReadyList/31 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskPrioritySet/38 (read)xTaskIncrementTick.part.0/135 (read)vTaskSuspend/39 (write)prvAddCurrentTaskToDelayedList/94 (read)vTaskPrioritySet/38 (read)vTaskSuspend/39 (read)vTaskSuspend/39 (read)vTaskPlaceOnEventList/58 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskRemoveFromEventList/61 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskRemoveFromUnorderedEventList/62 (read)xTaskCheckForTimeOut/65 (read)vTaskGetInfo/72 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskCheckForTimeOut/65 (read)uxTaskGetStackHighWaterMark/75 (read)xTaskGetCurrentTaskHandle/78 (read)xTaskPriorityInherit/80 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskGetInfo/72 (read)xTaskPriorityDisinherit/81 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)vTaskPriorityDisinheritAfterTimeout/82 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnEventListRestricted/60 (read)uxTaskResetEventItemValue/85 (read)uxTaskResetEventItemValue/85 (read)uxTaskResetEventItemValue/85 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)vTaskPlaceOnUnorderedEventList/59 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)prvAddCurrentTaskToDelayedList.part.0/119 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)ulTaskGenericNotifyValueClear/93 (read)
- Availability: available
- Varpool flags: initialized
- prvListTasksWithinSingleList.part.0 (struct TaskStatus_t * pxTaskStatusArray, struct List_t * pxList, eTaskState eState)
- {
- struct TCB_t * pxNextTCB;
- struct TCB_t * pxFirstTCB;
- UBaseType_t uxTask;
- struct List_t * const pxConstList;
- struct List_t * const pxConstList;
- struct ListItem_t * _2;
- struct xLIST_ITEM * _3;
- struct MiniListItem_t * _4;
- struct xLIST_ITEM * _5;
- struct ListItem_t * _6;
- struct ListItem_t * _8;
- struct xLIST_ITEM * _9;
- struct xLIST_ITEM * _10;
- struct ListItem_t * _11;
- long unsigned int _14;
- struct TaskStatus_t * _16;
- <bb 10> [local count: 118111600]:
- <bb 2> [local count: 118111600]:
- # DEBUG BEGIN_STMT
- # DEBUG pxConstList => pxList_1(D)
- # DEBUG BEGIN_STMT
- _2 = pxList_1(D)->pxIndex;
- _3 = _2->pxNext;
- pxList_1(D)->pxIndex = _3;
- # DEBUG BEGIN_STMT
- _4 = &pxList_1(D)->xListEnd;
- if (_3 == _4)
- goto <bb 3>; [30.00%]
- else
- goto <bb 4>; [70.00%]
- <bb 3> [local count: 35433480]:
- # DEBUG BEGIN_STMT
- _5 = MEM[(struct ListItem_t *)_3].pxNext;
- pxList_1(D)->pxIndex = _5;
- <bb 4> [local count: 118111600]:
- # DEBUG BEGIN_STMT
- _6 = pxList_1(D)->pxIndex;
- pxFirstTCB_7 = _6->pvOwner;
- # DEBUG pxFirstTCB => pxFirstTCB_7
- <bb 5> [local count: 1073741824]:
- # uxTask_13 = PHI <0(4), uxTask_18(8)>
- # DEBUG uxTask => uxTask_13
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG pxConstList => pxList_1(D)
- # DEBUG BEGIN_STMT
- _8 = pxList_1(D)->pxIndex;
- _9 = _8->pxNext;
- pxList_1(D)->pxIndex = _9;
- # DEBUG BEGIN_STMT
- if (_4 == _9)
- goto <bb 6>; [30.00%]
- else
- goto <bb 7>; [70.00%]
- <bb 6> [local count: 322122547]:
- # DEBUG BEGIN_STMT
- _10 = MEM[(struct ListItem_t *)_9].pxNext;
- pxList_1(D)->pxIndex = _10;
- <bb 7> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- _11 = pxList_1(D)->pxIndex;
- pxNextTCB_12 = _11->pvOwner;
- # DEBUG pxNextTCB => pxNextTCB_12
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _14 = uxTask_13 * 36;
- _16 = pxTaskStatusArray_15(D) + _14;
- vTaskGetInfo (pxNextTCB_12, _16, 1, eState_17(D));
- # DEBUG BEGIN_STMT
- uxTask_18 = uxTask_13 + 1;
- # DEBUG uxTask => uxTask_18
- # DEBUG BEGIN_STMT
- if (pxFirstTCB_7 != pxNextTCB_12)
- goto <bb 8>; [89.00%]
- else
- goto <bb 9>; [11.00%]
- <bb 8> [local count: 955630223]:
- goto <bb 5>; [100.00%]
- <bb 9> [local count: 118111601]:
- # uxTask_19 = PHI <uxTask_18(7)>
- # DEBUG uxTask => uxTask_19
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return uxTask_19;
- }
- __attribute__((used))
- vTaskSwitchContext.part.0 ()
- {
- UBaseType_t uxTopPriority;
- struct List_t * const pxConstList;
- uint32_t ulNewBASEPRI;
- <bb 5> [local count: 107374]:
- <bb 2> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
- <bb 3> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 4> [local count: 1073741824]:
- goto <bb 3>; [100.00%]
- }
- xTaskResumeAll.part.0 ()
- {
- struct TCB_t * pxTCB;
- BaseType_t xAlreadyYielded;
- struct List_t * const pxList;
- struct List_t * const pxList;
- struct ListItem_t * const pxIndex;
- TickType_t xPendedCounts;
- uint32_t ulNewBASEPRI;
- long unsigned int uxSchedulerSuspended.63_1;
- long unsigned int _2;
- long unsigned int uxSchedulerSuspended.64_3;
- long unsigned int uxCurrentNumberOfTasks.65_4;
- struct xLIST_ITEM * _5;
- struct xLIST_ITEM * _8;
- struct xLIST_ITEM * _9;
- struct xLIST_ITEM * _10;
- struct ListItem_t * _11;
- struct ListItem_t * _12;
- long unsigned int _13;
- long unsigned int _14;
- struct xLIST_ITEM * _16;
- struct xLIST_ITEM * _17;
- struct ListItem_t * _18;
- struct ListItem_t * _19;
- long unsigned int _20;
- long unsigned int _21;
- long unsigned int _22;
- long unsigned int uxTopReadyPriority.66_23;
- struct xLIST_ITEM * _25;
- struct xLIST_ITEM * _26;
- struct List_t * _27;
- long unsigned int _28;
- long unsigned int _29;
- struct TCB_t * pxCurrentTCB.67_30;
- long unsigned int _31;
- long unsigned int _32;
- long int _35;
- long int xYieldPending.68_38;
- <bb 27> [local count: 472446400]:
- <bb 2> [local count: 472446400]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.63_1 ={v} uxSchedulerSuspended;
- _2 = uxSchedulerSuspended.63_1 + 4294967295;
- uxSchedulerSuspended ={v} _2;
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.64_3 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.64_3 == 0)
- goto <bb 3>; [50.00%]
- else
- goto <bb 26>; [50.00%]
- <bb 3> [local count: 236223200]:
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.65_4 ={v} uxCurrentNumberOfTasks;
- if (uxCurrentNumberOfTasks.65_4 != 0)
- goto <bb 4>; [50.00%]
- else
- goto <bb 26>; [50.00%]
- <bb 4> [local count: 118111600]:
- goto <bb 14>; [100.00%]
- <bb 5> [local count: 955630223]:
- # DEBUG BEGIN_STMT
- _5 = xPendingReadyList.xListEnd.pxNext;
- pxTCB_6 = _5->pvOwner;
- # DEBUG pxTCB => pxTCB_6
- # DEBUG BEGIN_STMT
- pxList_7 = pxTCB_6->xEventListItem.pvContainer;
- # DEBUG pxList => pxList_7
- # DEBUG BEGIN_STMT
- _8 = pxTCB_6->xEventListItem.pxNext;
- _9 = pxTCB_6->xEventListItem.pxPrevious;
- _8->pxPrevious = _9;
- # DEBUG BEGIN_STMT
- _10 = pxTCB_6->xEventListItem.pxPrevious;
- _10->pxNext = _8;
- # DEBUG BEGIN_STMT
- _11 = pxList_7->pxIndex;
- _12 = &pxTCB_6->xEventListItem;
- if (_11 == _12)
- goto <bb 6>; [30.00%]
- else
- goto <bb 7>; [70.00%]
- <bb 6> [local count: 286689066]:
- # DEBUG BEGIN_STMT
- pxList_7->pxIndex = _9;
- <bb 7> [local count: 955630223]:
- # DEBUG BEGIN_STMT
- pxTCB_6->xEventListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _13 ={v} pxList_7->uxNumberOfItems;
- _14 = _13 + 4294967295;
- pxList_7->uxNumberOfItems ={v} _14;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("" : : : "memory");
- # DEBUG BEGIN_STMT
- pxList_15 = pxTCB_6->xStateListItem.pvContainer;
- # DEBUG pxList => pxList_15
- # DEBUG BEGIN_STMT
- _16 = pxTCB_6->xStateListItem.pxNext;
- _17 = pxTCB_6->xStateListItem.pxPrevious;
- _16->pxPrevious = _17;
- # DEBUG BEGIN_STMT
- _17->pxNext = _16;
- # DEBUG BEGIN_STMT
- _18 = pxList_15->pxIndex;
- _19 = &pxTCB_6->xStateListItem;
- if (_18 == _19)
- goto <bb 8>; [30.00%]
- else
- goto <bb 9>; [70.00%]
- <bb 8> [local count: 286689066]:
- # DEBUG BEGIN_STMT
- pxList_15->pxIndex = _17;
- <bb 9> [local count: 955630223]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _20 ={v} pxList_15->uxNumberOfItems;
- _21 = _20 + 4294967295;
- pxList_15->uxNumberOfItems ={v} _21;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _22 = pxTCB_6->uxPriority;
- uxTopReadyPriority.66_23 ={v} uxTopReadyPriority;
- if (_22 > uxTopReadyPriority.66_23)
- goto <bb 10>; [50.00%]
- else
- goto <bb 11>; [50.00%]
- <bb 10> [local count: 477815111]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _22;
- <bb 11> [local count: 955630223]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_24 = pxReadyTasksLists[_22].pxIndex;
- # DEBUG pxIndex => pxIndex_24
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB_6->xStateListItem.pxNext = pxIndex_24;
- # DEBUG BEGIN_STMT
- _25 = pxIndex_24->pxPrevious;
- pxTCB_6->xStateListItem.pxPrevious = _25;
- # DEBUG BEGIN_STMT
- _26 = pxIndex_24->pxPrevious;
- _26->pxNext = _19;
- # DEBUG BEGIN_STMT
- pxIndex_24->pxPrevious = _19;
- # DEBUG BEGIN_STMT
- _27 = &pxReadyTasksLists[_22];
- pxTCB_6->xStateListItem.pvContainer = _27;
- # DEBUG BEGIN_STMT
- _28 ={v} pxReadyTasksLists[_22].uxNumberOfItems;
- _29 = _28 + 1;
- pxReadyTasksLists[_22].uxNumberOfItems ={v} _29;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.67_30 ={v} pxCurrentTCB;
- _31 = pxCurrentTCB.67_30->uxPriority;
- if (_22 >= _31)
- goto <bb 12>; [50.00%]
- else
- goto <bb 13>; [50.00%]
- <bb 12> [local count: 477815111]:
- # DEBUG BEGIN_STMT
- xYieldPending ={v} 1;
- <bb 13> [local count: 955630223]:
- # pxTCB_40 = PHI <pxTCB_6(11), pxTCB_6(12)>
- <bb 14> [local count: 1073741824]:
- # pxTCB_41 = PHI <0B(4), pxTCB_40(13)>
- # DEBUG pxTCB => pxTCB_41
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _32 ={v} xPendingReadyList.uxNumberOfItems;
- if (_32 != 0)
- goto <bb 5>; [89.00%]
- else
- goto <bb 15>; [11.00%]
- <bb 15> [local count: 118111601]:
- # pxTCB_33 = PHI <pxTCB_41(14)>
- # DEBUG BEGIN_STMT
- if (pxTCB_33 != 0B)
- goto <bb 16>; [53.47%]
- else
- goto <bb 17>; [46.53%]
- <bb 16> [local count: 63154273]:
- # DEBUG BEGIN_STMT
- prvResetNextTaskUnblockTime ();
- <bb 17> [local count: 118111601]:
- # DEBUG BEGIN_STMT
- xPendedCounts_34 ={v} xPendedTicks;
- # DEBUG xPendedCounts => xPendedCounts_34
- # DEBUG BEGIN_STMT
- if (xPendedCounts_34 != 0)
- goto <bb 18>; [50.00%]
- else
- goto <bb 24>; [50.00%]
- <bb 18> [local count: 59055800]:
- <bb 19> [local count: 536870915]:
- # xPendedCounts_36 = PHI <xPendedCounts_34(18), xPendedCounts_37(22)>
- # DEBUG xPendedCounts => xPendedCounts_36
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _35 = xTaskIncrementTick ();
- if (_35 != 0)
- goto <bb 20>; [50.00%]
- else
- goto <bb 21>; [50.00%]
- <bb 20> [local count: 268435457]:
- # DEBUG BEGIN_STMT
- xYieldPending ={v} 1;
- <bb 21> [local count: 536870915]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xPendedCounts_37 = xPendedCounts_36 + 4294967295;
- # DEBUG xPendedCounts => xPendedCounts_37
- # DEBUG BEGIN_STMT
- if (xPendedCounts_37 != 0)
- goto <bb 22>; [89.00%]
- else
- goto <bb 23>; [11.00%]
- <bb 22> [local count: 477815113]:
- goto <bb 19>; [100.00%]
- <bb 23> [local count: 59055801]:
- # DEBUG BEGIN_STMT
- xPendedTicks ={v} 0;
- <bb 24> [local count: 118111601]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xYieldPending.68_38 ={v} xYieldPending;
- if (xYieldPending.68_38 != 0)
- goto <bb 25>; [50.00%]
- else
- goto <bb 26>; [50.00%]
- <bb 25> [local count: 59055800]:
- # DEBUG BEGIN_STMT
- # DEBUG xAlreadyYielded => 1
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 26> [local count: 472446401]:
- # xAlreadyYielded_39 = PHI <0(2), 0(3), 0(24), 1(25)>
- # DEBUG xAlreadyYielded => xAlreadyYielded_39
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- return xAlreadyYielded_39;
- }
- xTaskIncrementTick.part.0 ()
- {
- struct TCB_t * pxTCB;
- TickType_t xItemValue;
- BaseType_t xSwitchRequired;
- const TickType_t xConstTickCount;
- struct List_t * pxTemp;
- struct List_t * const pxList;
- struct List_t * const pxList;
- struct ListItem_t * const pxIndex;
- uint32_t ulNewBASEPRI;
- long unsigned int xTickCount.80_1;
- struct List_t * pxDelayedTaskList.81_3;
- long unsigned int _4;
- struct List_t * pxOverflowDelayedTaskList.82_7;
- long int xNumOfOverflows.83_8;
- long int _9;
- long unsigned int xNextTaskUnblockTime.84_10;
- struct List_t * pxDelayedTaskList.85_11;
- long unsigned int _12;
- struct List_t * pxDelayedTaskList.86_13;
- struct xLIST_ITEM * _14;
- struct xLIST_ITEM * _19;
- struct xLIST_ITEM * _20;
- struct ListItem_t * _21;
- struct ListItem_t * _22;
- long unsigned int _23;
- long unsigned int _24;
- struct xLIST * _25;
- struct xLIST_ITEM * _26;
- struct xLIST_ITEM * _27;
- struct xLIST_ITEM * _28;
- struct ListItem_t * _29;
- struct ListItem_t * _30;
- long unsigned int _31;
- long unsigned int _32;
- long unsigned int _33;
- long unsigned int uxTopReadyPriority.87_34;
- struct xLIST_ITEM * _36;
- struct xLIST_ITEM * _37;
- struct List_t * _38;
- long unsigned int _39;
- long unsigned int _40;
- struct TCB_t * pxCurrentTCB.88_41;
- long unsigned int _42;
- struct TCB_t * pxCurrentTCB.89_43;
- long unsigned int _44;
- long unsigned int _45;
- long int xYieldPending.90_46;
- <bb 30> [local count: 320519]:
- <bb 2> [local count: 320519]:
- # DEBUG BEGIN_STMT
- xTickCount.80_1 ={v} xTickCount;
- xConstTickCount_2 = xTickCount.80_1 + 1;
- # DEBUG xConstTickCount => xConstTickCount_2
- # DEBUG BEGIN_STMT
- xTickCount ={v} xConstTickCount_2;
- # DEBUG BEGIN_STMT
- if (xConstTickCount_2 == 0)
- goto <bb 3>; [50.00%]
- else
- goto <bb 8>; [50.00%]
- <bb 3> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.81_3 ={v} pxDelayedTaskList;
- _4 ={v} pxDelayedTaskList.81_3->uxNumberOfItems;
- if (_4 != 0)
- goto <bb 4>; [67.00%]
- else
- goto <bb 7>; [33.00%]
- <bb 4> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
- <bb 5> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 6> [local count: 1073741824]:
- goto <bb 5>; [100.00%]
- <bb 7> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTemp_6 ={v} pxDelayedTaskList;
- # DEBUG pxTemp => pxTemp_6
- # DEBUG BEGIN_STMT
- pxOverflowDelayedTaskList.82_7 ={v} pxOverflowDelayedTaskList;
- pxDelayedTaskList ={v} pxOverflowDelayedTaskList.82_7;
- # DEBUG BEGIN_STMT
- pxOverflowDelayedTaskList ={v} pxTemp_6;
- # DEBUG BEGIN_STMT
- xNumOfOverflows.83_8 ={v} xNumOfOverflows;
- _9 = xNumOfOverflows.83_8 + 1;
- xNumOfOverflows ={v} _9;
- # DEBUG BEGIN_STMT
- prvResetNextTaskUnblockTime ();
- # DEBUG BEGIN_STMT
- <bb 8> [local count: 213145]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime.84_10 ={v} xNextTaskUnblockTime;
- if (xConstTickCount_2 >= xNextTaskUnblockTime.84_10)
- goto <bb 9>; [50.00%]
- else
- goto <bb 25>; [50.00%]
- <bb 9> [local count: 106573]:
- goto <bb 11>; [100.00%]
- <bb 10> [local count: 889667]:
- # xSwitchRequired_48 = PHI <xSwitchRequired_49(23), 1(24)>
- <bb 11> [local count: 996239]:
- # xSwitchRequired_49 = PHI <0(9), xSwitchRequired_48(10)>
- # DEBUG xSwitchRequired => xSwitchRequired_49
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.85_11 ={v} pxDelayedTaskList;
- _12 ={v} pxDelayedTaskList.85_11->uxNumberOfItems;
- if (_12 == 0)
- goto <bb 12>; [5.50%]
- else
- goto <bb 13>; [94.50%]
- <bb 12> [local count: 54793]:
- # xSwitchRequired_50 = PHI <xSwitchRequired_49(11)>
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime ={v} 4294967295;
- # DEBUG BEGIN_STMT
- goto <bb 25>; [100.00%]
- <bb 13> [local count: 941446]:
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.86_13 ={v} pxDelayedTaskList;
- _14 = pxDelayedTaskList.86_13->xListEnd.pxNext;
- pxTCB_15 = _14->pvOwner;
- # DEBUG pxTCB => pxTCB_15
- # DEBUG BEGIN_STMT
- xItemValue_16 = pxTCB_15->xStateListItem.xItemValue;
- # DEBUG xItemValue => xItemValue_16
- # DEBUG BEGIN_STMT
- if (xConstTickCount_2 < xItemValue_16)
- goto <bb 14>; [5.50%]
- else
- goto <bb 15>; [94.50%]
- <bb 14> [local count: 51780]:
- # xSwitchRequired_51 = PHI <xSwitchRequired_49(13)>
- # xItemValue_17 = PHI <xItemValue_16(13)>
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime ={v} xItemValue_17;
- # DEBUG BEGIN_STMT
- goto <bb 25>; [100.00%]
- <bb 15> [local count: 889667]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxList_18 = pxTCB_15->xStateListItem.pvContainer;
- # DEBUG pxList => pxList_18
- # DEBUG BEGIN_STMT
- _19 = pxTCB_15->xStateListItem.pxNext;
- _20 = pxTCB_15->xStateListItem.pxPrevious;
- _19->pxPrevious = _20;
- # DEBUG BEGIN_STMT
- _20->pxNext = _19;
- # DEBUG BEGIN_STMT
- _21 = pxList_18->pxIndex;
- _22 = &pxTCB_15->xStateListItem;
- if (_21 == _22)
- goto <bb 16>; [30.00%]
- else
- goto <bb 17>; [70.00%]
- <bb 16> [local count: 266900]:
- # DEBUG BEGIN_STMT
- pxList_18->pxIndex = _20;
- <bb 17> [local count: 889667]:
- # DEBUG BEGIN_STMT
- pxTCB_15->xStateListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _23 ={v} pxList_18->uxNumberOfItems;
- _24 = _23 + 4294967295;
- pxList_18->uxNumberOfItems ={v} _24;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _25 = pxTCB_15->xEventListItem.pvContainer;
- if (_25 != 0B)
- goto <bb 18>; [70.00%]
- else
- goto <bb 21>; [30.00%]
- <bb 18> [local count: 622767]:
- # DEBUG BEGIN_STMT
- # DEBUG pxList => _25
- # DEBUG BEGIN_STMT
- _26 = pxTCB_15->xEventListItem.pxNext;
- _27 = pxTCB_15->xEventListItem.pxPrevious;
- _26->pxPrevious = _27;
- # DEBUG BEGIN_STMT
- _28 = pxTCB_15->xEventListItem.pxPrevious;
- _28->pxNext = _26;
- # DEBUG BEGIN_STMT
- _29 = MEM[(struct List_t *)_25].pxIndex;
- _30 = &pxTCB_15->xEventListItem;
- if (_29 == _30)
- goto <bb 19>; [30.00%]
- else
- goto <bb 20>; [70.00%]
- <bb 19> [local count: 186830]:
- # DEBUG BEGIN_STMT
- MEM[(struct List_t *)_25].pxIndex = _28;
- <bb 20> [local count: 622767]:
- # DEBUG BEGIN_STMT
- pxTCB_15->xEventListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _31 ={v} MEM[(struct List_t *)_25].uxNumberOfItems;
- _32 = _31 + 4294967295;
- MEM[(struct List_t *)_25].uxNumberOfItems ={v} _32;
- # DEBUG BEGIN_STMT
- <bb 21> [local count: 889667]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _33 = pxTCB_15->uxPriority;
- uxTopReadyPriority.87_34 ={v} uxTopReadyPriority;
- if (_33 > uxTopReadyPriority.87_34)
- goto <bb 22>; [50.00%]
- else
- goto <bb 23>; [50.00%]
- <bb 22> [local count: 444833]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _33;
- <bb 23> [local count: 889667]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_35 = pxReadyTasksLists[_33].pxIndex;
- # DEBUG pxIndex => pxIndex_35
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB_15->xStateListItem.pxNext = pxIndex_35;
- # DEBUG BEGIN_STMT
- _36 = pxIndex_35->pxPrevious;
- pxTCB_15->xStateListItem.pxPrevious = _36;
- # DEBUG BEGIN_STMT
- _37 = pxIndex_35->pxPrevious;
- _37->pxNext = _22;
- # DEBUG BEGIN_STMT
- pxIndex_35->pxPrevious = _22;
- # DEBUG BEGIN_STMT
- _38 = &pxReadyTasksLists[_33];
- pxTCB_15->xStateListItem.pvContainer = _38;
- # DEBUG BEGIN_STMT
- _39 ={v} pxReadyTasksLists[_33].uxNumberOfItems;
- _40 = _39 + 1;
- pxReadyTasksLists[_33].uxNumberOfItems ={v} _40;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.88_41 ={v} pxCurrentTCB;
- _42 = pxCurrentTCB.88_41->uxPriority;
- if (_33 >= _42)
- goto <bb 24>; [50.00%]
- else
- goto <bb 10>; [50.00%]
- <bb 24> [local count: 444833]:
- # DEBUG BEGIN_STMT
- # DEBUG xSwitchRequired => 1
- goto <bb 10>; [100.00%]
- <bb 25> [local count: 213145]:
- # xSwitchRequired_52 = PHI <0(8), xSwitchRequired_50(12), xSwitchRequired_51(14)>
- # DEBUG xSwitchRequired => xSwitchRequired_52
- # DEBUG BEGIN_STMT
- pxCurrentTCB.89_43 ={v} pxCurrentTCB;
- _44 = pxCurrentTCB.89_43->uxPriority;
- _45 ={v} pxReadyTasksLists[_44].uxNumberOfItems;
- if (_45 > 1)
- goto <bb 26>; [59.00%]
- else
- goto <bb 27>; [41.00%]
- <bb 26> [local count: 125756]:
- # DEBUG BEGIN_STMT
- # DEBUG xSwitchRequired => 1
- <bb 27> [local count: 213145]:
- # xSwitchRequired_53 = PHI <xSwitchRequired_52(25), 1(26)>
- # DEBUG xSwitchRequired => xSwitchRequired_53
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xYieldPending.90_46 ={v} xYieldPending;
- if (xYieldPending.90_46 != 0)
- goto <bb 28>; [50.00%]
- else
- goto <bb 29>; [50.00%]
- <bb 28> [local count: 106573]:
- # DEBUG BEGIN_STMT
- # DEBUG xSwitchRequired => 1
- <bb 29> [local count: 213145]:
- # xSwitchRequired_47 = PHI <xSwitchRequired_53(27), 1(28)>
- # DEBUG xSwitchRequired => xSwitchRequired_47
- # DEBUG BEGIN_STMT
- return xSwitchRequired_47;
- }
- eTaskGetState.part.0 (struct tskTaskControlBlock * xTask)
- {
- eTaskState eReturn;
- const struct List_t * pxStateList;
- const struct List_t * pxDelayedList;
- const struct List_t * pxOverflowedDelayedList;
- const struct TCB_t * const pxTCB;
- BaseType_t x;
- uint32_t ulNewBASEPRI;
- unsigned char _2;
- <bb 6> [local count: 566398813]:
- goto <bb 4>; [100.00%]
- <bb 2> [local count: 536870913]:
- # DEBUG BEGIN_STMT
- _2 ={v} MEM[(const struct TCB_t *)xTask_1(D)].ucNotifyState[0];
- if (_2 == 1)
- goto <bb 5>; [5.50%]
- else
- goto <bb 3>; [94.50%]
- <bb 3> [local count: 507343012]:
- <bb 4> [local count: 1073741824]:
- # x_3 = PHI <1(3), 0(6)>
- # DEBUG eReturn => NULL
- # DEBUG x => x_3
- # DEBUG BEGIN_STMT
- if (x_3 == 0)
- goto <bb 2>; [50.00%]
- else
- goto <bb 5>; [50.00%]
- <bb 5> [local count: 566398813]:
- # eReturn_4 = PHI <2(2), 3(4)>
- # DEBUG eReturn => eReturn_4
- # DEBUG BEGIN_STMT
- return eReturn_4;
- }
- prvAddCurrentTaskToDelayedList.part.0 ()
- {
- TickType_t xTimeToWake;
- const TickType_t xConstTickCount;
- struct ListItem_t * const pxIndex;
- TickType_t xTicksToWait;
- const BaseType_t xCanBlockIndefinitely;
- struct TCB_t * pxCurrentTCB.25_2;
- struct TCB_t * pxCurrentTCB.26_3;
- struct xLIST_ITEM * _4;
- struct TCB_t * pxCurrentTCB.27_5;
- struct xLIST_ITEM * _6;
- struct ListItem_t * _7;
- struct TCB_t * pxCurrentTCB.28_8;
- struct ListItem_t * _9;
- struct TCB_t * pxCurrentTCB.29_10;
- long unsigned int _11;
- long unsigned int _12;
- <bb 4> [local count: 1073741824]:
- # DEBUG D#5 s=> xTicksToWait
- # DEBUG xTicksToWait => D#5
- # DEBUG D#4 s=> xCanBlockIndefinitely
- # DEBUG xCanBlockIndefinitely => D#4
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- pxIndex_1 = xSuspendedTaskList.pxIndex;
- # DEBUG pxIndex => pxIndex_1
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.25_2 ={v} pxCurrentTCB;
- pxCurrentTCB.25_2->xStateListItem.pxNext = pxIndex_1;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.26_3 ={v} pxCurrentTCB;
- _4 = pxIndex_1->pxPrevious;
- pxCurrentTCB.26_3->xStateListItem.pxPrevious = _4;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.27_5 ={v} pxCurrentTCB;
- _6 = pxIndex_1->pxPrevious;
- _7 = &pxCurrentTCB.27_5->xStateListItem;
- _6->pxNext = _7;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.28_8 ={v} pxCurrentTCB;
- _9 = &pxCurrentTCB.28_8->xStateListItem;
- pxIndex_1->pxPrevious = _9;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.29_10 ={v} pxCurrentTCB;
- pxCurrentTCB.29_10->xStateListItem.pvContainer = &xSuspendedTaskList;
- # DEBUG BEGIN_STMT
- _11 ={v} xSuspendedTaskList.uxNumberOfItems;
- _12 = _11 + 1;
- xSuspendedTaskList.uxNumberOfItems ={v} _12;
- # DEBUG BEGIN_STMT
- <bb 3> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- return;
- }
- prvInitialiseNewTask.isra.0 (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)
- {
- StackType_t * pxTopOfStack;
- UBaseType_t x;
- uint32_t ulNewBASEPRI;
- StackType_t * _2;
- unsigned int _4;
- StackType_t * _5;
- sizetype _6;
- sizetype _7;
- long unsigned int pxTopOfStack.0_9;
- long unsigned int _10;
- const char * _14;
- char _15;
- char _16;
- struct ListItem_t * _20;
- struct ListItem_t * _21;
- long unsigned int _22;
- volatile uint32_t * _23;
- volatile uint8_t * _24;
- StackType_t * _27;
- <bb 16> [local count: 160260]:
- # DEBUG xRegions s=> xRegions
- <bb 2> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = pxNewTCB_1(D)->pxStack;
- _4 = ulStackDepth_3(D) * 4;
- memset (_2, 165, _4);
- # DEBUG BEGIN_STMT
- _5 = pxNewTCB_1(D)->pxStack;
- _6 = ulStackDepth_3(D) + 1073741823;
- _7 = _6 * 4;
- pxTopOfStack_8 = _5 + _7;
- # DEBUG pxTopOfStack => pxTopOfStack_8
- # DEBUG BEGIN_STMT
- pxTopOfStack.0_9 = (long unsigned int) pxTopOfStack_8;
- _10 = pxTopOfStack.0_9 & 4294967288;
- pxTopOfStack_11 = (StackType_t *) _10;
- # DEBUG pxTopOfStack => pxTopOfStack_11
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pcName_12(D) != 0B)
- goto <bb 3>; [70.00%]
- else
- goto <bb 8>; [30.00%]
- <bb 3> [local count: 112182]:
- goto <bb 6>; [100.00%]
- <bb 4> [local count: 723805]:
- # DEBUG BEGIN_STMT
- _14 = pcName_12(D) + x_13;
- _15 = *_14;
- pxNewTCB_1(D)->pcTaskName[x_13] = _15;
- # DEBUG BEGIN_STMT
- _16 = *_14;
- if (_16 == 0)
- goto <bb 7>; [5.50%]
- else
- goto <bb 5>; [94.50%]
- <bb 5> [local count: 683996]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- x_17 = x_13 + 1;
- # DEBUG x => x_17
- <bb 6> [local count: 796177]:
- # x_13 = PHI <0(3), x_17(5)>
- # DEBUG x => x_13
- # DEBUG BEGIN_STMT
- if (x_13 != 10)
- goto <bb 4>; [90.91%]
- else
- goto <bb 7>; [9.09%]
- <bb 7> [local count: 112182]:
- # DEBUG BEGIN_STMT
- pxNewTCB_1(D)->pcTaskName[9] = 0;
- goto <bb 9>; [100.00%]
- <bb 8> [local count: 48078]:
- # DEBUG BEGIN_STMT
- pxNewTCB_1(D)->pcTaskName[0] = 0;
- <bb 9> [local count: 160260]:
- # DEBUG BEGIN_STMT
- if (uxPriority_18(D) > 4)
- goto <bb 10>; [67.00%]
- else
- goto <bb 13>; [33.00%]
- <bb 10> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_19 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_19
- <bb 11> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 12> [local count: 1073741824]:
- goto <bb 11>; [100.00%]
- <bb 13> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG uxPriority => uxPriority_18(D)
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxNewTCB_1(D)->uxPriority = uxPriority_18(D);
- # DEBUG BEGIN_STMT
- pxNewTCB_1(D)->uxBasePriority = uxPriority_18(D);
- # DEBUG BEGIN_STMT
- pxNewTCB_1(D)->uxMutexesHeld = 0;
- # DEBUG BEGIN_STMT
- _20 = &pxNewTCB_1(D)->xStateListItem;
- vListInitialiseItem (_20);
- # DEBUG BEGIN_STMT
- _21 = &pxNewTCB_1(D)->xEventListItem;
- vListInitialiseItem (_21);
- # DEBUG BEGIN_STMT
- pxNewTCB_1(D)->xStateListItem.pvOwner = pxNewTCB_1(D);
- # DEBUG BEGIN_STMT
- _22 = 5 - uxPriority_18(D);
- pxNewTCB_1(D)->xEventListItem.xItemValue = _22;
- # DEBUG BEGIN_STMT
- pxNewTCB_1(D)->xEventListItem.pvOwner = pxNewTCB_1(D);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _23 = &pxNewTCB_1(D)->ulNotifiedValue[0];
- memset (_23, 0, 4);
- # DEBUG BEGIN_STMT
- _24 = &pxNewTCB_1(D)->ucNotifyState[0];
- memset (_24, 0, 1);
- # DEBUG BEGIN_STMT
- pxNewTCB_1(D)->ucDelayAborted = 0;
- # DEBUG BEGIN_STMT
- _27 = pxPortInitialiseStack (pxTopOfStack_11, pxTaskCode_25(D), pvParameters_26(D));
- pxNewTCB_1(D)->pxTopOfStack = _27;
- # DEBUG BEGIN_STMT
- if (pxCreatedTask_28(D) != 0B)
- goto <bb 14>; [70.00%]
- else
- goto <bb 15>; [30.00%]
- <bb 14> [local count: 37020]:
- # DEBUG BEGIN_STMT
- *pxCreatedTask_28(D) = pxNewTCB_1(D);
- <bb 15> [local count: 52886]:
- # DEBUG BEGIN_STMT
- return;
- }
- prvResetNextTaskUnblockTime.part.0 ()
- {
- struct List_t * pxDelayedTaskList.21_1;
- struct xLIST_ITEM * _2;
- long unsigned int _3;
- <bb 4> [local count: 1073741824]:
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.21_1 ={v} pxDelayedTaskList;
- _2 = pxDelayedTaskList.21_1->xListEnd.pxNext;
- _3 = _2->xItemValue;
- xNextTaskUnblockTime ={v} _3;
- <bb 3> [local count: 1073741824]:
- return;
- }
- prvTaskIsTaskSuspended.part.0 (struct tskTaskControlBlock * const xTask)
- {
- BaseType_t xReturn;
- const struct TCB_t * const pxTCB;
- uint32_t ulNewBASEPRI;
- struct xLIST * _2;
- <bb 6> [local count: 1073741824]:
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- _2 = MEM[(const struct TCB_t *)xTask_1(D)].xEventListItem.pvContainer;
- if (_2 != &xPendingReadyList)
- goto <bb 3>; [70.00%]
- else
- goto <bb 5>; [30.00%]
- <bb 3> [local count: 751619278]:
- # DEBUG BEGIN_STMT
- if (_2 == 0B)
- goto <bb 4>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 4> [local count: 225485783]:
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- <bb 5> [local count: 1073741824]:
- # xReturn_3 = PHI <0(2), 0(3), 1(4)>
- # DEBUG xReturn => xReturn_3
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return xReturn_3;
- }
- prvAddCurrentTaskToDelayedList (TickType_t xTicksToWait, const BaseType_t xCanBlockIndefinitely)
- {
- const TickType_t xConstTickCount;
- TickType_t xTimeToWake;
- struct TCB_t * pxCurrentTCB.23_1;
- struct TCB_t * pxCurrentTCB.24_2;
- struct ListItem_t * _3;
- struct TCB_t * pxCurrentTCB.30_5;
- struct List_t * pxOverflowDelayedTaskList.31_6;
- struct TCB_t * pxCurrentTCB.32_7;
- struct ListItem_t * _8;
- struct List_t * pxDelayedTaskList.33_9;
- struct TCB_t * pxCurrentTCB.34_10;
- struct ListItem_t * _11;
- long unsigned int xNextTaskUnblockTime.35_12;
- <bb 2> [local count: 1073741823]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xConstTickCount_14 ={v} xTickCount;
- # DEBUG xConstTickCount => xConstTickCount_14
- # DEBUG BEGIN_STMT
- pxCurrentTCB.23_1 ={v} pxCurrentTCB;
- pxCurrentTCB.23_1->ucDelayAborted = 0;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.24_2 ={v} pxCurrentTCB;
- _3 = &pxCurrentTCB.24_2->xStateListItem;
- uxListRemove (_3);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTicksToWait_17(D) == 4294967295)
- goto <bb 3>; [34.00%]
- else
- goto <bb 5>; [66.00%]
- <bb 3> [local count: 365072220]:
- if (xCanBlockIndefinitely_18(D) != 0)
- goto <bb 4>; [50.00%]
- else
- goto <bb 5>; [50.00%]
- <bb 4> [local count: 182536110]:
- # DEBUG D#2 => xTicksToWait_17(D)
- # DEBUG D#3 => xCanBlockIndefinitely_18(D)
- prvAddCurrentTaskToDelayedList.part.0 ();
- goto <bb 9>; [100.00%]
- <bb 5> [local count: 891205713]:
- # DEBUG BEGIN_STMT
- xTimeToWake_19 = xConstTickCount_14 + xTicksToWait_17(D);
- # DEBUG xTimeToWake => xTimeToWake_19
- # DEBUG BEGIN_STMT
- pxCurrentTCB.30_5 ={v} pxCurrentTCB;
- pxCurrentTCB.30_5->xStateListItem.xItemValue = xTimeToWake_19;
- # DEBUG BEGIN_STMT
- if (xConstTickCount_14 > xTimeToWake_19)
- goto <bb 6>; [50.00%]
- else
- goto <bb 7>; [50.00%]
- <bb 6> [local count: 445602856]:
- # DEBUG BEGIN_STMT
- pxOverflowDelayedTaskList.31_6 ={v} pxOverflowDelayedTaskList;
- pxCurrentTCB.32_7 ={v} pxCurrentTCB;
- _8 = &pxCurrentTCB.32_7->xStateListItem;
- vListInsert (pxOverflowDelayedTaskList.31_6, _8);
- goto <bb 9>; [100.00%]
- <bb 7> [local count: 445602856]:
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.33_9 ={v} pxDelayedTaskList;
- pxCurrentTCB.34_10 ={v} pxCurrentTCB;
- _11 = &pxCurrentTCB.34_10->xStateListItem;
- vListInsert (pxDelayedTaskList.33_9, _11);
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime.35_12 ={v} xNextTaskUnblockTime;
- if (xNextTaskUnblockTime.35_12 > xTimeToWake_19)
- goto <bb 8>; [50.00%]
- else
- goto <bb 9>; [50.00%]
- <bb 8> [local count: 222801428]:
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime ={v} xTimeToWake_19;
- <bb 9> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- return;
- }
- ulTaskGenericNotifyValueClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear)
- {
- uint32_t ulReturn;
- long unsigned int _1;
- long unsigned int _2;
- long unsigned int _3;
- struct TCB_t * iftmp.164_4;
- struct TCB_t * iftmp.164_7;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTask_5(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 4>; [70.00%]
- <bb 3> [local count: 322122547]:
- iftmp.164_7 ={v} pxCurrentTCB;
- <bb 4> [local count: 1073741824]:
- # iftmp.164_4 = PHI <iftmp.164_7(3), xTask_5(D)(2)>
- # DEBUG pxTCB => iftmp.164_4
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- ulReturn_10 ={v} iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)];
- # DEBUG ulReturn => ulReturn_10
- # DEBUG BEGIN_STMT
- _1 ={v} iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)];
- _2 = ~ulBitsToClear_11(D);
- _3 = _1 & _2;
- iftmp.164_4->ulNotifiedValue[uxIndexToClear_9(D)] ={v} _3;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- return ulReturn_10;
- }
- xTaskGenericNotifyStateClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear)
- {
- uint32_t ulNewBASEPRI;
- BaseType_t xReturn;
- unsigned char _1;
- struct TCB_t * iftmp.163_3;
- struct TCB_t * iftmp.163_8;
- <bb 2> [local count: 214748]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxIndexToClear_5(D) != 0)
- goto <bb 3>; [50.00%]
- else
- goto <bb 5>; [50.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 10> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTask_6(D) == 0B)
- goto <bb 6>; [30.00%]
- else
- goto <bb 7>; [70.00%]
- <bb 6> [local count: 32212]:
- iftmp.163_8 ={v} pxCurrentTCB;
- <bb 7> [local count: 107374]:
- # iftmp.163_3 = PHI <iftmp.163_8(6), xTask_6(D)(5)>
- # DEBUG pxTCB => iftmp.163_3
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _1 ={v} iftmp.163_3->ucNotifyState[0];
- if (_1 == 2)
- goto <bb 8>; [34.00%]
- else
- goto <bb 9>; [66.00%]
- <bb 8> [local count: 36507]:
- # DEBUG BEGIN_STMT
- iftmp.163_3->ucNotifyState[0] ={v} 0;
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- <bb 9> [local count: 107374]:
- # xReturn_2 = PHI <1(8), 0(7)>
- # DEBUG xReturn => xReturn_2
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- return xReturn_2;
- }
- vTaskGenericNotifyGiveFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, BaseType_t * pxHigherPriorityTaskWoken)
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulOriginalBASEPRI;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- struct ListItem_t * const pxIndex;
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- uint8_t ucOriginalNotifyState;
- long unsigned int _1;
- long unsigned int _2;
- struct xLIST * _3;
- long unsigned int uxSchedulerSuspended.160_4;
- struct xLIST_ITEM * _5;
- struct xLIST_ITEM * _6;
- struct xLIST_ITEM * _7;
- struct ListItem_t * _8;
- struct ListItem_t * _9;
- long unsigned int _10;
- long unsigned int _11;
- long unsigned int _12;
- long unsigned int uxTopReadyPriority.161_13;
- struct xLIST_ITEM * _14;
- struct xLIST_ITEM * _15;
- struct List_t * _16;
- long unsigned int _17;
- long unsigned int _18;
- struct xLIST_ITEM * _19;
- struct xLIST_ITEM * _20;
- struct ListItem_t * _21;
- long unsigned int _22;
- long unsigned int _23;
- long unsigned int _24;
- struct TCB_t * pxCurrentTCB.162_25;
- long unsigned int _26;
- <bb 2> [local count: 228942]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTaskToNotify_32(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 68683]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_62
- <bb 4> [local count: 686828460]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 24> [local count: 686828460]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxIndexToNotify_33(D) != 0)
- goto <bb 6>; [67.00%]
- else
- goto <bb 8>; [33.00%]
- <bb 6> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_63 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_63
- <bb 7> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 25> [local count: 1073741824]:
- goto <bb 7>; [100.00%]
- <bb 8> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => xTaskToNotify_32(D)
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mrs %0, basepri
- mov %1, %2
- msr basepri, %1
- isb
- dsb
- " : "=r" ulOriginalBASEPRI_64, "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_65
- # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_64
- # DEBUG BEGIN_STMT
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG ulOriginalBASEPRI => NULL
- # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_64
- # DEBUG BEGIN_STMT
- ucOriginalNotifyState_36 ={v} MEM[(struct TCB_t *)xTaskToNotify_32(D)].ucNotifyState[0];
- # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_36
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_32(D)].ucNotifyState[0] ={v} 2;
- # DEBUG BEGIN_STMT
- _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_32(D)].ulNotifiedValue[0];
- _2 = _1 + 1;
- MEM[(struct TCB_t *)xTaskToNotify_32(D)].ulNotifiedValue[0] ={v} _2;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (ucOriginalNotifyState_36 == 1)
- goto <bb 9>; [34.00%]
- else
- goto <bb 23>; [66.00%]
- <bb 9> [local count: 17981]:
- # DEBUG BEGIN_STMT
- _3 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pvContainer;
- if (_3 != 0B)
- goto <bb 10>; [70.00%]
- else
- goto <bb 12>; [30.00%]
- <bb 10> [local count: 12587]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
- <bb 11> [local count: 125868183]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 26> [local count: 125868183]:
- goto <bb 11>; [100.00%]
- <bb 12> [local count: 5394]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.160_4 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.160_4 == 0)
- goto <bb 13>; [50.00%]
- else
- goto <bb 18>; [50.00%]
- <bb 13> [local count: 2697]:
- # DEBUG BEGIN_STMT
- pxList_46 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pvContainer;
- # DEBUG pxList => pxList_46
- # DEBUG BEGIN_STMT
- _5 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxNext;
- _6 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious;
- _5->pxPrevious = _6;
- # DEBUG BEGIN_STMT
- _7 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious;
- _7->pxNext = _5;
- # DEBUG BEGIN_STMT
- _8 = pxList_46->pxIndex;
- _9 = &MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem;
- if (_8 == _9)
- goto <bb 14>; [30.00%]
- else
- goto <bb 15>; [70.00%]
- <bb 14> [local count: 809]:
- # DEBUG BEGIN_STMT
- pxList_46->pxIndex = _7;
- <bb 15> [local count: 2697]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _10 ={v} pxList_46->uxNumberOfItems;
- _11 = _10 + 4294967295;
- pxList_46->uxNumberOfItems ={v} _11;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _12 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].uxPriority;
- uxTopReadyPriority.161_13 ={v} uxTopReadyPriority;
- if (_12 > uxTopReadyPriority.161_13)
- goto <bb 16>; [50.00%]
- else
- goto <bb 17>; [50.00%]
- <bb 16> [local count: 1349]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _12;
- <bb 17> [local count: 2697]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_52 = pxReadyTasksLists[_12].pxIndex;
- # DEBUG pxIndex => pxIndex_52
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxNext = pxIndex_52;
- # DEBUG BEGIN_STMT
- _14 = pxIndex_52->pxPrevious;
- MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pxPrevious = _14;
- # DEBUG BEGIN_STMT
- _15 = pxIndex_52->pxPrevious;
- _15->pxNext = _9;
- # DEBUG BEGIN_STMT
- pxIndex_52->pxPrevious = _9;
- # DEBUG BEGIN_STMT
- _16 = &pxReadyTasksLists[_12];
- MEM[(struct TCB_t *)xTaskToNotify_32(D)].xStateListItem.pvContainer = _16;
- # DEBUG BEGIN_STMT
- _17 ={v} pxReadyTasksLists[_12].uxNumberOfItems;
- _18 = _17 + 1;
- pxReadyTasksLists[_12].uxNumberOfItems ={v} _18;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 19>; [100.00%]
- <bb 18> [local count: 2697]:
- # DEBUG BEGIN_STMT
- pxIndex_39 = xPendingReadyList.pxIndex;
- # DEBUG pxIndex => pxIndex_39
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pxNext = pxIndex_39;
- # DEBUG BEGIN_STMT
- _19 = pxIndex_39->pxPrevious;
- MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pxPrevious = _19;
- # DEBUG BEGIN_STMT
- _20 = pxIndex_39->pxPrevious;
- _21 = &MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem;
- _20->pxNext = _21;
- # DEBUG BEGIN_STMT
- pxIndex_39->pxPrevious = _21;
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_32(D)].xEventListItem.pvContainer = &xPendingReadyList;
- # DEBUG BEGIN_STMT
- _22 ={v} xPendingReadyList.uxNumberOfItems;
- _23 = _22 + 1;
- xPendingReadyList.uxNumberOfItems ={v} _23;
- <bb 19> [local count: 5394]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _24 = MEM[(struct TCB_t *)xTaskToNotify_32(D)].uxPriority;
- pxCurrentTCB.162_25 ={v} pxCurrentTCB;
- _26 = pxCurrentTCB.162_25->uxPriority;
- if (_24 > _26)
- goto <bb 20>; [50.00%]
- else
- goto <bb 23>; [50.00%]
- <bb 20> [local count: 2697]:
- # DEBUG BEGIN_STMT
- if (pxHigherPriorityTaskWoken_59(D) != 0B)
- goto <bb 21>; [70.00%]
- else
- goto <bb 22>; [30.00%]
- <bb 21> [local count: 1888]:
- # DEBUG BEGIN_STMT
- *pxHigherPriorityTaskWoken_59(D) = 1;
- <bb 22> [local count: 2697]:
- # DEBUG BEGIN_STMT
- xYieldPending ={v} 1;
- <bb 23> [local count: 40299]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG ulNewMaskValue => ulOriginalBASEPRI_64
- # DEBUG INLINE_ENTRY vPortSetBASEPRI
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_64 : "memory");
- # DEBUG ulNewMaskValue => NULL
- return;
- }
- xTaskGenericNotifyFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue, BaseType_t * pxHigherPriorityTaskWoken)
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- uint32_t ulOriginalBASEPRI;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- struct ListItem_t * const pxIndex;
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- BaseType_t xReturn;
- uint8_t ucOriginalNotifyState;
- long unsigned int _1;
- long unsigned int _2;
- long unsigned int _3;
- long unsigned int _4;
- long unsigned int _5;
- long unsigned int xTickCount.156_6;
- struct xLIST * _7;
- long unsigned int uxSchedulerSuspended.157_8;
- struct xLIST_ITEM * _9;
- struct xLIST_ITEM * _10;
- struct xLIST_ITEM * _11;
- struct ListItem_t * _12;
- struct ListItem_t * _13;
- long unsigned int _14;
- long unsigned int _15;
- long unsigned int _16;
- long unsigned int uxTopReadyPriority.158_17;
- struct xLIST_ITEM * _18;
- struct xLIST_ITEM * _19;
- struct List_t * _20;
- long unsigned int _21;
- long unsigned int _22;
- struct xLIST_ITEM * _23;
- struct xLIST_ITEM * _24;
- struct ListItem_t * _25;
- long unsigned int _26;
- long unsigned int _27;
- long unsigned int _28;
- struct TCB_t * pxCurrentTCB.159_29;
- long unsigned int _30;
- <bb 2> [local count: 228942]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTaskToNotify_39(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 68683]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_76 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_76
- <bb 4> [local count: 686828460]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 35> [local count: 686828460]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxIndexToNotify_40(D) != 0)
- goto <bb 6>; [67.00%]
- else
- goto <bb 8>; [33.00%]
- <bb 6> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_77 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_77
- <bb 7> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 36> [local count: 1073741824]:
- goto <bb 7>; [100.00%]
- <bb 8> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => xTaskToNotify_39(D)
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mrs %0, basepri
- mov %1, %2
- msr basepri, %1
- isb
- dsb
- " : "=r" ulOriginalBASEPRI_78, "=r" ulNewBASEPRI_79 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_79
- # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_78
- # DEBUG BEGIN_STMT
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG ulOriginalBASEPRI => NULL
- # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_78
- # DEBUG BEGIN_STMT
- if (pulPreviousNotificationValue_43(D) != 0B)
- goto <bb 9>; [70.00%]
- else
- goto <bb 10>; [30.00%]
- <bb 9> [local count: 37020]:
- # DEBUG BEGIN_STMT
- _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0];
- *pulPreviousNotificationValue_43(D) = _1;
- <bb 10> [local count: 52886]:
- # DEBUG BEGIN_STMT
- ucOriginalNotifyState_45 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ucNotifyState[0];
- # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_45
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_39(D)].ucNotifyState[0] ={v} 2;
- # DEBUG BEGIN_STMT
- switch (eAction_47(D)) <default: <L16> [16.67%], case 0: <L39> [16.67%], case 1: <L8> [16.67%], case 2: <L9> [16.67%], case 3: <L10> [16.67%], case 4: <L11> [16.67%]>
- <bb 11> [local count: 8816]:
- <L8>:
- # DEBUG BEGIN_STMT
- _2 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0];
- _3 = _2 | ulValue_48(D);
- MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} _3;
- # DEBUG BEGIN_STMT
- goto <bb 19>; [100.00%]
- <bb 12> [local count: 8816]:
- <L9>:
- # DEBUG BEGIN_STMT
- _4 ={v} MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0];
- _5 = _4 + 1;
- MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} _5;
- # DEBUG BEGIN_STMT
- goto <bb 19>; [100.00%]
- <bb 13> [local count: 8816]:
- <L10>:
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} ulValue_48(D);
- # DEBUG BEGIN_STMT
- goto <bb 19>; [100.00%]
- <bb 14> [local count: 8816]:
- <L11>:
- # DEBUG BEGIN_STMT
- if (ucOriginalNotifyState_45 != 2)
- goto <bb 15>; [66.00%]
- else
- goto <bb 19>; [34.00%]
- <bb 15> [local count: 5819]:
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_39(D)].ulNotifiedValue[0] ={v} ulValue_48(D);
- goto <bb 19>; [100.00%]
- <bb 16> [local count: 8816]:
- <L16>:
- # DEBUG BEGIN_STMT
- xTickCount.156_6 ={v} xTickCount;
- if (xTickCount.156_6 != 0)
- goto <bb 17>; [50.00%]
- else
- goto <bb 19>; [50.00%]
- <bb 17> [local count: 4408]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_80 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_80
- <bb 18> [local count: 44080307]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 37> [local count: 44080307]:
- goto <bb 18>; [100.00%]
- <bb 19> [local count: 48488]:
- # xReturn_31 = PHI <1(11), 1(12), 1(13), 0(14), 1(10), 1(16), 1(15)>
- <L39>:
- # DEBUG xReturn => xReturn_31
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (ucOriginalNotifyState_45 == 1)
- goto <bb 20>; [34.00%]
- else
- goto <bb 34>; [66.00%]
- <bb 20> [local count: 16486]:
- # DEBUG BEGIN_STMT
- _7 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pvContainer;
- if (_7 != 0B)
- goto <bb 21>; [70.00%]
- else
- goto <bb 23>; [30.00%]
- <bb 21> [local count: 11540]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_81 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_81
- <bb 22> [local count: 115402244]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 38> [local count: 115402244]:
- goto <bb 22>; [100.00%]
- <bb 23> [local count: 4946]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.157_8 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.157_8 == 0)
- goto <bb 24>; [50.00%]
- else
- goto <bb 29>; [50.00%]
- <bb 24> [local count: 2473]:
- # DEBUG BEGIN_STMT
- pxList_60 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pvContainer;
- # DEBUG pxList => pxList_60
- # DEBUG BEGIN_STMT
- _9 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxNext;
- _10 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious;
- _9->pxPrevious = _10;
- # DEBUG BEGIN_STMT
- _11 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious;
- _11->pxNext = _9;
- # DEBUG BEGIN_STMT
- _12 = pxList_60->pxIndex;
- _13 = &MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem;
- if (_12 == _13)
- goto <bb 25>; [30.00%]
- else
- goto <bb 26>; [70.00%]
- <bb 25> [local count: 742]:
- # DEBUG BEGIN_STMT
- pxList_60->pxIndex = _11;
- <bb 26> [local count: 2473]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _14 ={v} pxList_60->uxNumberOfItems;
- _15 = _14 + 4294967295;
- pxList_60->uxNumberOfItems ={v} _15;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _16 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].uxPriority;
- uxTopReadyPriority.158_17 ={v} uxTopReadyPriority;
- if (_16 > uxTopReadyPriority.158_17)
- goto <bb 27>; [50.00%]
- else
- goto <bb 28>; [50.00%]
- <bb 27> [local count: 1236]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _16;
- <bb 28> [local count: 2473]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_66 = pxReadyTasksLists[_16].pxIndex;
- # DEBUG pxIndex => pxIndex_66
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxNext = pxIndex_66;
- # DEBUG BEGIN_STMT
- _18 = pxIndex_66->pxPrevious;
- MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pxPrevious = _18;
- # DEBUG BEGIN_STMT
- _19 = pxIndex_66->pxPrevious;
- _19->pxNext = _13;
- # DEBUG BEGIN_STMT
- pxIndex_66->pxPrevious = _13;
- # DEBUG BEGIN_STMT
- _20 = &pxReadyTasksLists[_16];
- MEM[(struct TCB_t *)xTaskToNotify_39(D)].xStateListItem.pvContainer = _20;
- # DEBUG BEGIN_STMT
- _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems;
- _22 = _21 + 1;
- pxReadyTasksLists[_16].uxNumberOfItems ={v} _22;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 30>; [100.00%]
- <bb 29> [local count: 2473]:
- # DEBUG BEGIN_STMT
- pxIndex_53 = xPendingReadyList.pxIndex;
- # DEBUG pxIndex => pxIndex_53
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pxNext = pxIndex_53;
- # DEBUG BEGIN_STMT
- _23 = pxIndex_53->pxPrevious;
- MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pxPrevious = _23;
- # DEBUG BEGIN_STMT
- _24 = pxIndex_53->pxPrevious;
- _25 = &MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem;
- _24->pxNext = _25;
- # DEBUG BEGIN_STMT
- pxIndex_53->pxPrevious = _25;
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_39(D)].xEventListItem.pvContainer = &xPendingReadyList;
- # DEBUG BEGIN_STMT
- _26 ={v} xPendingReadyList.uxNumberOfItems;
- _27 = _26 + 1;
- xPendingReadyList.uxNumberOfItems ={v} _27;
- <bb 30> [local count: 4946]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _28 = MEM[(struct TCB_t *)xTaskToNotify_39(D)].uxPriority;
- pxCurrentTCB.159_29 ={v} pxCurrentTCB;
- _30 = pxCurrentTCB.159_29->uxPriority;
- if (_28 > _30)
- goto <bb 31>; [50.00%]
- else
- goto <bb 34>; [50.00%]
- <bb 31> [local count: 2473]:
- # DEBUG BEGIN_STMT
- if (pxHigherPriorityTaskWoken_73(D) != 0B)
- goto <bb 32>; [70.00%]
- else
- goto <bb 33>; [30.00%]
- <bb 32> [local count: 1731]:
- # DEBUG BEGIN_STMT
- *pxHigherPriorityTaskWoken_73(D) = 1;
- <bb 33> [local count: 2473]:
- # DEBUG BEGIN_STMT
- xYieldPending ={v} 1;
- <bb 34> [local count: 36948]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG ulNewMaskValue => ulOriginalBASEPRI_78
- # DEBUG INLINE_ENTRY vPortSetBASEPRI
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_78 : "memory");
- # DEBUG ulNewMaskValue => NULL
- # DEBUG BEGIN_STMT
- return xReturn_31;
- }
- xTaskGenericNotify (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue)
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- uint8_t ucOriginalNotifyState;
- BaseType_t xReturn;
- long unsigned int _1;
- long unsigned int _2;
- long unsigned int _3;
- long unsigned int _4;
- long unsigned int _5;
- long unsigned int xTickCount.153_6;
- struct xLIST_ITEM * _7;
- struct xLIST_ITEM * _8;
- struct xLIST_ITEM * _9;
- struct ListItem_t * _10;
- struct ListItem_t * _11;
- long unsigned int _12;
- long unsigned int _13;
- long unsigned int _14;
- long unsigned int uxTopReadyPriority.154_15;
- struct xLIST_ITEM * _16;
- struct xLIST_ITEM * _17;
- struct List_t * _18;
- long unsigned int _19;
- long unsigned int _20;
- struct xLIST * _21;
- struct TCB_t * pxCurrentTCB.155_22;
- long unsigned int _23;
- <bb 2> [local count: 214748]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxIndexToNotify_30(D) != 0)
- goto <bb 3>; [50.00%]
- else
- goto <bb 5>; [50.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_61 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_61
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 30> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTaskToNotify_31(D) == 0B)
- goto <bb 6>; [46.53%]
- else
- goto <bb 8>; [53.47%]
- <bb 6> [local count: 49961]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_62 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_62
- <bb 7> [local count: 499612071]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 31> [local count: 499612071]:
- goto <bb 7>; [100.00%]
- <bb 8> [local count: 57413]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => xTaskToNotify_31(D)
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- if (pulPreviousNotificationValue_34(D) != 0B)
- goto <bb 9>; [70.00%]
- else
- goto <bb 10>; [30.00%]
- <bb 9> [local count: 40189]:
- # DEBUG BEGIN_STMT
- _1 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0];
- *pulPreviousNotificationValue_34(D) = _1;
- <bb 10> [local count: 57413]:
- # DEBUG BEGIN_STMT
- ucOriginalNotifyState_36 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ucNotifyState[0];
- # DEBUG ucOriginalNotifyState => ucOriginalNotifyState_36
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_31(D)].ucNotifyState[0] ={v} 2;
- # DEBUG BEGIN_STMT
- switch (eAction_38(D)) <default: <L16> [16.67%], case 0: <L35> [16.67%], case 1: <L8> [16.67%], case 2: <L9> [16.67%], case 3: <L10> [16.67%], case 4: <L11> [16.67%]>
- <bb 11> [local count: 9571]:
- <L8>:
- # DEBUG BEGIN_STMT
- _2 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0];
- _3 = _2 | ulValue_39(D);
- MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} _3;
- # DEBUG BEGIN_STMT
- goto <bb 19>; [100.00%]
- <bb 12> [local count: 9571]:
- <L9>:
- # DEBUG BEGIN_STMT
- _4 ={v} MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0];
- _5 = _4 + 1;
- MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} _5;
- # DEBUG BEGIN_STMT
- goto <bb 19>; [100.00%]
- <bb 13> [local count: 9571]:
- <L10>:
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} ulValue_39(D);
- # DEBUG BEGIN_STMT
- goto <bb 19>; [100.00%]
- <bb 14> [local count: 9571]:
- <L11>:
- # DEBUG BEGIN_STMT
- if (ucOriginalNotifyState_36 != 2)
- goto <bb 15>; [66.00%]
- else
- goto <bb 19>; [34.00%]
- <bb 15> [local count: 6317]:
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_31(D)].ulNotifiedValue[0] ={v} ulValue_39(D);
- goto <bb 19>; [100.00%]
- <bb 16> [local count: 9571]:
- <L16>:
- # DEBUG BEGIN_STMT
- xTickCount.153_6 ={v} xTickCount;
- if (xTickCount.153_6 != 0)
- goto <bb 17>; [50.00%]
- else
- goto <bb 19>; [50.00%]
- <bb 17> [local count: 4785]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_63 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_63
- <bb 18> [local count: 47853715]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 32> [local count: 47853715]:
- goto <bb 18>; [100.00%]
- <bb 19> [local count: 52639]:
- # xReturn_24 = PHI <1(11), 1(12), 1(13), 0(14), 1(10), 1(16), 1(15)>
- <L35>:
- # DEBUG xReturn => xReturn_24
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (ucOriginalNotifyState_36 == 1)
- goto <bb 20>; [51.12%]
- else
- goto <bb 29>; [48.88%]
- <bb 20> [local count: 26909]:
- # DEBUG BEGIN_STMT
- pxList_44 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pvContainer;
- # DEBUG pxList => pxList_44
- # DEBUG BEGIN_STMT
- _7 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxNext;
- _8 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious;
- _7->pxPrevious = _8;
- # DEBUG BEGIN_STMT
- _9 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious;
- _9->pxNext = _7;
- # DEBUG BEGIN_STMT
- _10 = pxList_44->pxIndex;
- _11 = &MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem;
- if (_10 == _11)
- goto <bb 21>; [30.00%]
- else
- goto <bb 22>; [70.00%]
- <bb 21> [local count: 8073]:
- # DEBUG BEGIN_STMT
- pxList_44->pxIndex = _9;
- <bb 22> [local count: 26909]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _12 ={v} pxList_44->uxNumberOfItems;
- _13 = _12 + 4294967295;
- pxList_44->uxNumberOfItems ={v} _13;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _14 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].uxPriority;
- uxTopReadyPriority.154_15 ={v} uxTopReadyPriority;
- if (_14 > uxTopReadyPriority.154_15)
- goto <bb 23>; [50.00%]
- else
- goto <bb 24>; [50.00%]
- <bb 23> [local count: 13455]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _14;
- <bb 24> [local count: 26909]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_50 = pxReadyTasksLists[_14].pxIndex;
- # DEBUG pxIndex => pxIndex_50
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxNext = pxIndex_50;
- # DEBUG BEGIN_STMT
- _16 = pxIndex_50->pxPrevious;
- MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pxPrevious = _16;
- # DEBUG BEGIN_STMT
- _17 = pxIndex_50->pxPrevious;
- _17->pxNext = _11;
- # DEBUG BEGIN_STMT
- pxIndex_50->pxPrevious = _11;
- # DEBUG BEGIN_STMT
- _18 = &pxReadyTasksLists[_14];
- MEM[(struct TCB_t *)xTaskToNotify_31(D)].xStateListItem.pvContainer = _18;
- # DEBUG BEGIN_STMT
- _19 ={v} pxReadyTasksLists[_14].uxNumberOfItems;
- _20 = _19 + 1;
- pxReadyTasksLists[_14].uxNumberOfItems ={v} _20;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _21 = MEM[(struct TCB_t *)xTaskToNotify_31(D)].xEventListItem.pvContainer;
- if (_21 != 0B)
- goto <bb 25>; [70.00%]
- else
- goto <bb 27>; [30.00%]
- <bb 25> [local count: 18836]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_64 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_64
- <bb 26> [local count: 188363707]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 33> [local count: 188363706]:
- goto <bb 26>; [100.00%]
- <bb 27> [local count: 8073]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.155_22 ={v} pxCurrentTCB;
- _23 = pxCurrentTCB.155_22->uxPriority;
- if (_14 > _23)
- goto <bb 28>; [50.00%]
- else
- goto <bb 29>; [50.00%]
- <bb 28> [local count: 4036]:
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 29> [local count: 33803]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- return xReturn_24;
- }
- xTaskGenericNotifyWait (UBaseType_t uxIndexToWait, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t * pulNotificationValue, TickType_t xTicksToWait)
- {
- uint32_t ulNewBASEPRI;
- BaseType_t xReturn;
- struct TCB_t * pxCurrentTCB.146_1;
- unsigned char _2;
- long unsigned int _3;
- long unsigned int _4;
- long unsigned int _5;
- struct TCB_t * pxCurrentTCB.148_6;
- struct TCB_t * pxCurrentTCB.149_7;
- long unsigned int _8;
- struct TCB_t * pxCurrentTCB.150_9;
- unsigned char _10;
- long unsigned int _11;
- long unsigned int _12;
- long unsigned int _13;
- struct TCB_t * pxCurrentTCB.152_14;
- struct TCB_t * pxCurrentTCB.147_22;
- struct TCB_t * pxCurrentTCB.151_35;
- <bb 2> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxIndexToWait_19(D) != 0)
- goto <bb 3>; [67.00%]
- else
- goto <bb 5>; [33.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_40 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_40
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 13> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- pxCurrentTCB.146_1 ={v} pxCurrentTCB;
- _2 ={v} pxCurrentTCB.146_1->ucNotifyState[0];
- if (_2 != 2)
- goto <bb 6>; [66.00%]
- else
- goto <bb 8>; [34.00%]
- <bb 6> [local count: 34905]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.147_22 ={v} pxCurrentTCB;
- _3 ={v} pxCurrentTCB.147_22->ulNotifiedValue[0];
- _4 = ~ulBitsToClearOnEntry_23(D);
- _5 = _3 & _4;
- pxCurrentTCB.147_22->ulNotifiedValue[0] ={v} _5;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.148_6 ={v} pxCurrentTCB;
- pxCurrentTCB.148_6->ucNotifyState[0] ={v} 1;
- # DEBUG BEGIN_STMT
- if (xTicksToWait_26(D) != 0)
- goto <bb 7>; [33.00%]
- else
- goto <bb 8>; [67.00%]
- <bb 7> [local count: 11519]:
- # DEBUG BEGIN_STMT
- prvAddCurrentTaskToDelayedList (xTicksToWait_26(D), 1);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 8> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pulNotificationValue_33(D) != 0B)
- goto <bb 9>; [70.00%]
- else
- goto <bb 10>; [30.00%]
- <bb 9> [local count: 37020]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.149_7 ={v} pxCurrentTCB;
- _8 ={v} pxCurrentTCB.149_7->ulNotifiedValue[0];
- *pulNotificationValue_33(D) = _8;
- <bb 10> [local count: 52886]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.150_9 ={v} pxCurrentTCB;
- _10 ={v} pxCurrentTCB.150_9->ucNotifyState[0];
- if (_10 != 2)
- goto <bb 12>; [66.00%]
- else
- goto <bb 11>; [34.00%]
- <bb 11> [local count: 17981]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.151_35 ={v} pxCurrentTCB;
- _11 ={v} pxCurrentTCB.151_35->ulNotifiedValue[0];
- _12 = ~ulBitsToClearOnExit_36(D);
- _13 = _11 & _12;
- pxCurrentTCB.151_35->ulNotifiedValue[0] ={v} _13;
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- <bb 12> [local count: 52886]:
- # xReturn_15 = PHI <0(10), 1(11)>
- # DEBUG xReturn => xReturn_15
- # DEBUG BEGIN_STMT
- pxCurrentTCB.152_14 ={v} pxCurrentTCB;
- pxCurrentTCB.152_14->ucNotifyState[0] ={v} 0;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- return xReturn_15;
- }
- ulTaskGenericNotifyTake (UBaseType_t uxIndexToWait, BaseType_t xClearCountOnExit, TickType_t xTicksToWait)
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulReturn;
- struct TCB_t * pxCurrentTCB.140_1;
- long unsigned int _2;
- struct TCB_t * pxCurrentTCB.141_3;
- struct TCB_t * pxCurrentTCB.142_4;
- struct TCB_t * pxCurrentTCB.143_5;
- struct TCB_t * pxCurrentTCB.144_6;
- long unsigned int _7;
- struct TCB_t * pxCurrentTCB.145_8;
- <bb 2> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxIndexToWait_11(D) != 0)
- goto <bb 3>; [67.00%]
- else
- goto <bb 5>; [33.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_28
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 13> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- pxCurrentTCB.140_1 ={v} pxCurrentTCB;
- _2 ={v} pxCurrentTCB.140_1->ulNotifiedValue[0];
- if (_2 == 0)
- goto <bb 6>; [50.00%]
- else
- goto <bb 8>; [50.00%]
- <bb 6> [local count: 26443]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.141_3 ={v} pxCurrentTCB;
- pxCurrentTCB.141_3->ucNotifyState[0] ={v} 1;
- # DEBUG BEGIN_STMT
- if (xTicksToWait_15(D) != 0)
- goto <bb 7>; [33.00%]
- else
- goto <bb 8>; [67.00%]
- <bb 7> [local count: 8726]:
- # DEBUG BEGIN_STMT
- prvAddCurrentTaskToDelayedList (xTicksToWait_15(D), 1);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 8> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.142_4 ={v} pxCurrentTCB;
- ulReturn_22 ={v} pxCurrentTCB.142_4->ulNotifiedValue[0];
- # DEBUG ulReturn => ulReturn_22
- # DEBUG BEGIN_STMT
- if (ulReturn_22 != 0)
- goto <bb 9>; [50.00%]
- else
- goto <bb 12>; [50.00%]
- <bb 9> [local count: 26443]:
- # DEBUG BEGIN_STMT
- if (xClearCountOnExit_23(D) != 0)
- goto <bb 10>; [50.00%]
- else
- goto <bb 11>; [50.00%]
- <bb 10> [local count: 13221]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.143_5 ={v} pxCurrentTCB;
- pxCurrentTCB.143_5->ulNotifiedValue[0] ={v} 0;
- goto <bb 12>; [100.00%]
- <bb 11> [local count: 13221]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.144_6 ={v} pxCurrentTCB;
- _7 = ulReturn_22 + 4294967295;
- pxCurrentTCB.144_6->ulNotifiedValue[0] ={v} _7;
- <bb 12> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.145_8 ={v} pxCurrentTCB;
- pxCurrentTCB.145_8->ucNotifyState[0] ={v} 0;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- return ulReturn_22;
- }
- pvTaskIncrementMutexHeldCount ()
- {
- struct TCB_t * pxCurrentTCB.138_1;
- struct TCB_t * pxCurrentTCB.139_2;
- long unsigned int _3;
- long unsigned int _4;
- struct tskTaskControlBlock * _8;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.138_1 ={v} pxCurrentTCB;
- if (pxCurrentTCB.138_1 != 0B)
- goto <bb 3>; [70.00%]
- else
- goto <bb 4>; [30.00%]
- <bb 3> [local count: 751619278]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.139_2 ={v} pxCurrentTCB;
- _3 = pxCurrentTCB.139_2->uxMutexesHeld;
- _4 = _3 + 1;
- pxCurrentTCB.139_2->uxMutexesHeld = _4;
- <bb 4> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- _8 ={v} pxCurrentTCB;
- return _8;
- }
- uxTaskResetEventItemValue ()
- {
- TickType_t uxReturn;
- struct TCB_t * pxCurrentTCB.135_1;
- struct TCB_t * pxCurrentTCB.136_2;
- long unsigned int _3;
- struct TCB_t * pxCurrentTCB.137_4;
- long unsigned int _5;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.135_1 ={v} pxCurrentTCB;
- uxReturn_7 = pxCurrentTCB.135_1->xEventListItem.xItemValue;
- # DEBUG uxReturn => uxReturn_7
- # DEBUG BEGIN_STMT
- pxCurrentTCB.136_2 ={v} pxCurrentTCB;
- _3 = pxCurrentTCB.136_2->uxPriority;
- pxCurrentTCB.137_4 ={v} pxCurrentTCB;
- _5 = 5 - _3;
- pxCurrentTCB.137_4->xEventListItem.xItemValue = _5;
- # DEBUG BEGIN_STMT
- return uxReturn_7;
- }
- vTaskList (char * pcWriteBuffer)
- {
- char cStatus;
- UBaseType_t x;
- UBaseType_t uxArraySize;
- struct TaskStatus_t * pxTaskStatusArray;
- long unsigned int uxCurrentNumberOfTasks.134_1;
- long unsigned int _2;
- long unsigned int _3;
- struct TaskStatus_t * _4;
- <unnamed type> _5;
- unsigned int _6;
- const char * _8;
- int _9;
- long unsigned int _11;
- short unsigned int _12;
- unsigned int _13;
- long unsigned int _14;
- unsigned int _15;
- <bb 2> [local count: 220893212]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- *pcWriteBuffer_22(D) = 0;
- # DEBUG BEGIN_STMT
- uxArraySize_24 ={v} uxCurrentNumberOfTasks;
- # DEBUG uxArraySize => uxArraySize_24
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.134_1 ={v} uxCurrentNumberOfTasks;
- _2 = uxCurrentNumberOfTasks.134_1 * 36;
- pxTaskStatusArray_26 = pvPortMalloc (_2);
- # DEBUG pxTaskStatusArray => pxTaskStatusArray_26
- # DEBUG BEGIN_STMT
- if (pxTaskStatusArray_26 != 0B)
- goto <bb 3>; [53.47%]
- else
- goto <bb 10>; [46.53%]
- <bb 3> [local count: 118111600]:
- # DEBUG BEGIN_STMT
- uxArraySize_28 = uxTaskGetSystemState (pxTaskStatusArray_26, uxArraySize_24, 0B);
- # DEBUG uxArraySize => uxArraySize_28
- # DEBUG BEGIN_STMT
- # DEBUG x => 0
- goto <bb 8>; [100.00%]
- <bb 4> [local count: 955630226]:
- # DEBUG BEGIN_STMT
- _3 = x_17 * 36;
- _4 = pxTaskStatusArray_26 + _3;
- _5 = _4->eCurrentState;
- _6 = _5;
- if (_6 <= 4)
- goto <bb 6>; [50.00%]
- else
- goto <bb 5>; [50.00%]
- <bb 5> [local count: 477815113]:
- <L15>:
- cStatus_10 = 0;
- goto <bb 7>; [100.00%]
- <bb 6> [local count: 477815113]:
- <L16>:
- cStatus_7 = CSWTCH.225[_6];
- <bb 7> [local count: 955630226]:
- # cStatus_18 = PHI <cStatus_7(6), cStatus_10(5)>
- <L17>:
- <L14>:
- # DEBUG cStatus => cStatus_18
- # DEBUG BEGIN_STMT
- _8 = _4->pcTaskName;
- pcWriteBuffer_31 = prvWriteNameToBuffer (pcWriteBuffer_16, _8);
- # DEBUG pcWriteBuffer => pcWriteBuffer_31
- # DEBUG BEGIN_STMT
- _9 = (int) cStatus_18;
- _11 = _4->uxCurrentPriority;
- _12 = _4->usStackHighWaterMark;
- _13 = (unsigned int) _12;
- _14 = _4->xTaskNumber;
- sprintf (pcWriteBuffer_31, "\t%c\t%u\t%u\t%u\r\n", _9, _11, _13, _14);
- # DEBUG BEGIN_STMT
- _15 = strlen (pcWriteBuffer_31);
- pcWriteBuffer_33 = pcWriteBuffer_31 + _15;
- # DEBUG pcWriteBuffer => pcWriteBuffer_33
- # DEBUG BEGIN_STMT
- x_34 = x_17 + 1;
- # DEBUG x => x_34
- <bb 8> [local count: 1073741824]:
- # pcWriteBuffer_16 = PHI <pcWriteBuffer_22(D)(3), pcWriteBuffer_33(7)>
- # x_17 = PHI <0(3), x_34(7)>
- # DEBUG x => x_17
- # DEBUG pcWriteBuffer => pcWriteBuffer_16
- # DEBUG BEGIN_STMT
- if (x_17 < uxArraySize_28)
- goto <bb 4>; [89.00%]
- else
- goto <bb 9>; [11.00%]
- <bb 9> [local count: 118111601]:
- # DEBUG BEGIN_STMT
- vPortFree (pxTaskStatusArray_26);
- <bb 10> [local count: 220893212]:
- # DEBUG BEGIN_STMT
- return;
- }
- prvWriteNameToBuffer (char * pcBuffer, const char * pcTaskName)
- {
- size_t x;
- char * _1;
- char * _2;
- <bb 2> [local count: 118111600]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- strcpy (pcBuffer_6(D), pcTaskName_7(D));
- # DEBUG BEGIN_STMT
- x_9 = strlen (pcBuffer_6(D));
- # DEBUG x => x_9
- goto <bb 4>; [100.00%]
- <bb 3> [local count: 955630223]:
- # DEBUG BEGIN_STMT
- _1 = pcBuffer_6(D) + x_3;
- *_1 = 32;
- # DEBUG BEGIN_STMT
- x_13 = x_3 + 1;
- # DEBUG x => x_13
- <bb 4> [local count: 1073741824]:
- # x_3 = PHI <x_9(2), x_13(3)>
- # DEBUG x => x_3
- # DEBUG BEGIN_STMT
- if (x_3 <= 8)
- goto <bb 3>; [89.00%]
- else
- goto <bb 5>; [11.00%]
- <bb 5> [local count: 118111601]:
- # x_11 = PHI <x_3(4)>
- # DEBUG BEGIN_STMT
- _2 = pcBuffer_6(D) + x_11;
- *_2 = 0;
- # DEBUG BEGIN_STMT
- return _2;
- }
- vTaskPriorityDisinheritAfterTimeout (struct tskTaskControlBlock * const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask)
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- struct ListItem_t * const pxIndex;
- UBaseType_t uxPriorityToUse;
- long unsigned int _1;
- long unsigned int _2;
- long unsigned int _3;
- struct TCB_t * pxCurrentTCB.132_4;
- long unsigned int _5;
- signed int _6;
- long unsigned int _7;
- struct xLIST * _8;
- struct List_t * _9;
- struct ListItem_t * _10;
- long unsigned int _12;
- long unsigned int uxTopReadyPriority.133_13;
- struct xLIST_ITEM * _14;
- struct xLIST_ITEM * _15;
- struct List_t * _16;
- long unsigned int _17;
- long unsigned int _18;
- <bb 2> [local count: 306783]:
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => pxMutexHolder_22(D)
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG uxOnlyOneMutexHeld => 1
- # DEBUG BEGIN_STMT
- if (pxMutexHolder_22(D) != 0B)
- goto <bb 3>; [70.00%]
- else
- goto <bb 17>; [30.00%]
- <bb 3> [local count: 214748]:
- # DEBUG BEGIN_STMT
- _1 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxMutexesHeld;
- if (_1 == 0)
- goto <bb 4>; [50.00%]
- else
- goto <bb 6>; [50.00%]
- <bb 4> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_36 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_36
- <bb 5> [local count: 1073741823]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 18> [local count: 1073741824]:
- goto <bb 5>; [100.00%]
- <bb 6> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxBasePriority;
- uxPriorityToUse_11 = MAX_EXPR <_2, uxHighestPriorityWaitingTask_24(D)>;
- # DEBUG uxPriorityToUse => uxPriorityToUse_11
- # DEBUG BEGIN_STMT
- _3 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority;
- if (_3 != uxPriorityToUse_11)
- goto <bb 7>; [66.00%]
- else
- goto <bb 17>; [34.00%]
- <bb 7> [local count: 70867]:
- # DEBUG BEGIN_STMT
- if (_1 == 1)
- goto <bb 8>; [34.00%]
- else
- goto <bb 17>; [66.00%]
- <bb 8> [local count: 24095]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.132_4 ={v} pxCurrentTCB;
- if (pxCurrentTCB.132_4 == pxMutexHolder_22(D))
- goto <bb 9>; [30.00%]
- else
- goto <bb 11>; [70.00%]
- <bb 9> [local count: 7228]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_37 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_37
- <bb 10> [local count: 72284299]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 19> [local count: 72284299]:
- goto <bb 10>; [100.00%]
- <bb 11> [local count: 16866]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG uxPriorityUsedOnEntry => _3
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority = uxPriorityToUse_11;
- # DEBUG BEGIN_STMT
- _5 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].xEventListItem.xItemValue;
- _6 = (signed int) _5;
- if (_6 >= 0)
- goto <bb 12>; [59.00%]
- else
- goto <bb 13>; [41.00%]
- <bb 12> [local count: 9951]:
- # DEBUG BEGIN_STMT
- _7 = 5 - uxPriorityToUse_11;
- MEM[(struct TCB_t *)pxMutexHolder_22(D)].xEventListItem.xItemValue = _7;
- <bb 13> [local count: 16866]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _8 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pvContainer;
- _9 = &pxReadyTasksLists[_3];
- if (_8 == _9)
- goto <bb 14>; [17.43%]
- else
- goto <bb 17>; [82.57%]
- <bb 14> [local count: 2940]:
- # DEBUG BEGIN_STMT
- _10 = &MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem;
- uxListRemove (_10);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _12 = MEM[(struct TCB_t *)pxMutexHolder_22(D)].uxPriority;
- uxTopReadyPriority.133_13 ={v} uxTopReadyPriority;
- if (_12 > uxTopReadyPriority.133_13)
- goto <bb 15>; [50.00%]
- else
- goto <bb 16>; [50.00%]
- <bb 15> [local count: 1470]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _12;
- <bb 16> [local count: 2940]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_29 = pxReadyTasksLists[_12].pxIndex;
- # DEBUG pxIndex => pxIndex_29
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pxNext = pxIndex_29;
- # DEBUG BEGIN_STMT
- _14 = pxIndex_29->pxPrevious;
- MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pxPrevious = _14;
- # DEBUG BEGIN_STMT
- _15 = pxIndex_29->pxPrevious;
- _15->pxNext = _10;
- # DEBUG BEGIN_STMT
- pxIndex_29->pxPrevious = _10;
- # DEBUG BEGIN_STMT
- _16 = &pxReadyTasksLists[_12];
- MEM[(struct TCB_t *)pxMutexHolder_22(D)].xStateListItem.pvContainer = _16;
- # DEBUG BEGIN_STMT
- _17 ={v} pxReadyTasksLists[_12].uxNumberOfItems;
- _18 = _17 + 1;
- pxReadyTasksLists[_12].uxNumberOfItems ={v} _18;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 17> [local count: 192180]:
- # DEBUG BEGIN_STMT
- return;
- }
- xTaskPriorityDisinherit (struct tskTaskControlBlock * const pxMutexHolder)
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- struct ListItem_t * const pxIndex;
- BaseType_t xReturn;
- struct TCB_t * pxCurrentTCB.130_1;
- long unsigned int _2;
- long unsigned int _3;
- long unsigned int _4;
- long unsigned int _5;
- struct ListItem_t * _6;
- long unsigned int _7;
- long unsigned int _8;
- long unsigned int uxTopReadyPriority.131_9;
- struct xLIST_ITEM * _10;
- struct xLIST_ITEM * _11;
- struct List_t * _12;
- long unsigned int _13;
- long unsigned int _14;
- <bb 2> [local count: 219131]:
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => pxMutexHolder_18(D)
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 0
- # DEBUG BEGIN_STMT
- if (pxMutexHolder_18(D) != 0B)
- goto <bb 3>; [70.00%]
- else
- goto <bb 14>; [30.00%]
- <bb 3> [local count: 153391]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.130_1 ={v} pxCurrentTCB;
- if (pxCurrentTCB.130_1 != pxMutexHolder_18(D))
- goto <bb 4>; [70.00%]
- else
- goto <bb 6>; [30.00%]
- <bb 4> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_32 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_32
- <bb 5> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 15> [local count: 1073741824]:
- goto <bb 5>; [100.00%]
- <bb 6> [local count: 46017]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxMutexesHeld;
- if (_2 == 0)
- goto <bb 7>; [50.00%]
- else
- goto <bb 9>; [50.00%]
- <bb 7> [local count: 23009]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_33 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_33
- <bb 8> [local count: 230087534]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 16> [local count: 230087534]:
- goto <bb 8>; [100.00%]
- <bb 9> [local count: 23009]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _3 = _2 + 4294967295;
- MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxMutexesHeld = _3;
- # DEBUG BEGIN_STMT
- _4 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxPriority;
- _5 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxBasePriority;
- if (_4 != _5)
- goto <bb 10>; [66.00%]
- else
- goto <bb 14>; [34.00%]
- <bb 10> [local count: 15186]:
- # DEBUG BEGIN_STMT
- if (_3 == 0)
- goto <bb 11>; [33.00%]
- else
- goto <bb 14>; [67.00%]
- <bb 11> [local count: 5011]:
- # DEBUG BEGIN_STMT
- _6 = &MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem;
- uxListRemove (_6);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _7 = MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxBasePriority;
- MEM[(struct TCB_t *)pxMutexHolder_18(D)].uxPriority = _7;
- # DEBUG BEGIN_STMT
- _8 = 5 - _7;
- MEM[(struct TCB_t *)pxMutexHolder_18(D)].xEventListItem.xItemValue = _8;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxTopReadyPriority.131_9 ={v} uxTopReadyPriority;
- if (_7 > uxTopReadyPriority.131_9)
- goto <bb 12>; [50.00%]
- else
- goto <bb 13>; [50.00%]
- <bb 12> [local count: 2506]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _7;
- <bb 13> [local count: 5011]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_25 = pxReadyTasksLists[_7].pxIndex;
- # DEBUG pxIndex => pxIndex_25
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pxNext = pxIndex_25;
- # DEBUG BEGIN_STMT
- _10 = pxIndex_25->pxPrevious;
- MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pxPrevious = _10;
- # DEBUG BEGIN_STMT
- _11 = pxIndex_25->pxPrevious;
- _11->pxNext = _6;
- # DEBUG BEGIN_STMT
- pxIndex_25->pxPrevious = _6;
- # DEBUG BEGIN_STMT
- _12 = &pxReadyTasksLists[_7];
- MEM[(struct TCB_t *)pxMutexHolder_18(D)].xStateListItem.pvContainer = _12;
- # DEBUG BEGIN_STMT
- _13 ={v} pxReadyTasksLists[_7].uxNumberOfItems;
- _14 = _13 + 1;
- pxReadyTasksLists[_7].uxNumberOfItems ={v} _14;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- <bb 14> [local count: 88748]:
- # xReturn_15 = PHI <0(2), 1(13), 0(9), 0(10)>
- # DEBUG xReturn => xReturn_15
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return xReturn_15;
- }
- xTaskPriorityInherit (struct tskTaskControlBlock * const pxMutexHolder)
- {
- struct ListItem_t * const pxIndex;
- BaseType_t xReturn;
- long unsigned int _1;
- struct TCB_t * pxCurrentTCB.124_2;
- long unsigned int _3;
- long unsigned int _4;
- signed int _5;
- struct TCB_t * pxCurrentTCB.125_6;
- long unsigned int _7;
- long unsigned int _8;
- struct xLIST * _9;
- struct List_t * _10;
- struct ListItem_t * _11;
- struct TCB_t * pxCurrentTCB.126_12;
- long unsigned int _13;
- long unsigned int uxTopReadyPriority.127_14;
- struct xLIST_ITEM * _15;
- struct xLIST_ITEM * _16;
- struct List_t * _17;
- long unsigned int _18;
- long unsigned int _19;
- struct TCB_t * pxCurrentTCB.128_20;
- long unsigned int _21;
- long unsigned int _22;
- struct TCB_t * pxCurrentTCB.129_23;
- long unsigned int _24;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG pxMutexHolderTCB => pxMutexHolder_29(D)
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 0
- # DEBUG BEGIN_STMT
- if (pxMutexHolder_29(D) != 0B)
- goto <bb 3>; [70.00%]
- else
- goto <bb 13>; [30.00%]
- <bb 3> [local count: 751619278]:
- # DEBUG BEGIN_STMT
- _1 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority;
- pxCurrentTCB.124_2 ={v} pxCurrentTCB;
- _3 = pxCurrentTCB.124_2->uxPriority;
- if (_1 < _3)
- goto <bb 4>; [50.00%]
- else
- goto <bb 11>; [50.00%]
- <bb 4> [local count: 375809639]:
- # DEBUG BEGIN_STMT
- _4 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].xEventListItem.xItemValue;
- _5 = (signed int) _4;
- if (_5 >= 0)
- goto <bb 5>; [59.00%]
- else
- goto <bb 6>; [41.00%]
- <bb 5> [local count: 221727687]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.125_6 ={v} pxCurrentTCB;
- _7 = pxCurrentTCB.125_6->uxPriority;
- _8 = 5 - _7;
- MEM[(struct TCB_t *)pxMutexHolder_29(D)].xEventListItem.xItemValue = _8;
- <bb 6> [local count: 375809639]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _9 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pvContainer;
- _10 = &pxReadyTasksLists[_1];
- if (_9 == _10)
- goto <bb 7>; [17.43%]
- else
- goto <bb 10>; [82.57%]
- <bb 7> [local count: 65503620]:
- # DEBUG BEGIN_STMT
- _11 = &MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem;
- uxListRemove (_11);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.126_12 ={v} pxCurrentTCB;
- _13 = pxCurrentTCB.126_12->uxPriority;
- MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority = _13;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxTopReadyPriority.127_14 ={v} uxTopReadyPriority;
- if (_13 > uxTopReadyPriority.127_14)
- goto <bb 8>; [50.00%]
- else
- goto <bb 9>; [50.00%]
- <bb 8> [local count: 32751810]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _13;
- <bb 9> [local count: 65503620]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_36 = pxReadyTasksLists[_13].pxIndex;
- # DEBUG pxIndex => pxIndex_36
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pxNext = pxIndex_36;
- # DEBUG BEGIN_STMT
- _15 = pxIndex_36->pxPrevious;
- MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pxPrevious = _15;
- # DEBUG BEGIN_STMT
- _16 = pxIndex_36->pxPrevious;
- _16->pxNext = _11;
- # DEBUG BEGIN_STMT
- pxIndex_36->pxPrevious = _11;
- # DEBUG BEGIN_STMT
- _17 = &pxReadyTasksLists[_13];
- MEM[(struct TCB_t *)pxMutexHolder_29(D)].xStateListItem.pvContainer = _17;
- # DEBUG BEGIN_STMT
- _18 ={v} pxReadyTasksLists[_13].uxNumberOfItems;
- _19 = _18 + 1;
- pxReadyTasksLists[_13].uxNumberOfItems ={v} _19;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 13>; [100.00%]
- <bb 10> [local count: 310306019]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.128_20 ={v} pxCurrentTCB;
- _21 = pxCurrentTCB.128_20->uxPriority;
- MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxPriority = _21;
- goto <bb 13>; [100.00%]
- <bb 11> [local count: 375809639]:
- # DEBUG BEGIN_STMT
- _22 = MEM[(struct TCB_t *)pxMutexHolder_29(D)].uxBasePriority;
- pxCurrentTCB.129_23 ={v} pxCurrentTCB;
- _24 = pxCurrentTCB.129_23->uxPriority;
- if (_22 < _24)
- goto <bb 12>; [50.00%]
- else
- goto <bb 13>; [50.00%]
- <bb 12> [local count: 187904819]:
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- <bb 13> [local count: 1073741824]:
- # xReturn_25 = PHI <0(2), 0(11), 1(10), 1(12), 1(9)>
- # DEBUG xReturn => xReturn_25
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return xReturn_25;
- }
- xTaskGetSchedulerState ()
- {
- BaseType_t xReturn;
- long int xSchedulerRunning.122_1;
- long unsigned int uxSchedulerSuspended.123_2;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xSchedulerRunning.122_1 ={v} xSchedulerRunning;
- if (xSchedulerRunning.122_1 == 0)
- goto <bb 5>; [50.00%]
- else
- goto <bb 3>; [50.00%]
- <bb 3> [local count: 536870913]:
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.123_2 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.123_2 == 0)
- goto <bb 5>; [35.00%]
- else
- goto <bb 4>; [65.00%]
- <bb 4> [local count: 348966093]:
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 0
- <bb 5> [local count: 1073741824]:
- # xReturn_3 = PHI <1(2), 2(3), 0(4)>
- # DEBUG xReturn => xReturn_3
- # DEBUG BEGIN_STMT
- return xReturn_3;
- }
- xTaskGetCurrentTaskHandle ()
- {
- struct tskTaskControlBlock * xReturn;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn_2 ={v} pxCurrentTCB;
- # DEBUG xReturn => xReturn_2
- # DEBUG BEGIN_STMT
- return xReturn_2;
- }
- prvResetNextTaskUnblockTime ()
- {
- struct List_t * pxDelayedTaskList.20_1;
- long unsigned int _2;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.20_1 ={v} pxDelayedTaskList;
- _2 ={v} pxDelayedTaskList.20_1->uxNumberOfItems;
- if (_2 == 0)
- goto <bb 3>; [50.00%]
- else
- goto <bb 4>; [50.00%]
- <bb 3> [local count: 536870913]:
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime ={v} 4294967295;
- goto <bb 5>; [100.00%]
- <bb 4> [local count: 536870912]:
- prvResetNextTaskUnblockTime.part.0 ();
- <bb 5> [local count: 1073741824]:
- return;
- }
- prvDeleteTCB (struct TCB_t * pxTCB)
- {
- StackType_t * _1;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxTCB_3(D)->pxStack;
- vPortFree (_1);
- # DEBUG BEGIN_STMT
- vPortFree (pxTCB_3(D));
- return;
- }
- uxTaskGetStackHighWaterMark (struct tskTaskControlBlock * xTask)
- {
- UBaseType_t uxReturn;
- uint8_t * pucEndOfStack;
- short unsigned int _1;
- struct TCB_t * iftmp.121_2;
- struct TCB_t * iftmp.121_5;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTask_3(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 4>; [70.00%]
- <bb 3> [local count: 322122547]:
- iftmp.121_5 ={v} pxCurrentTCB;
- <bb 4> [local count: 1073741824]:
- # iftmp.121_2 = PHI <iftmp.121_5(3), xTask_3(D)(2)>
- # DEBUG pxTCB => iftmp.121_2
- # DEBUG BEGIN_STMT
- pucEndOfStack_6 = iftmp.121_2->pxStack;
- # DEBUG pucEndOfStack => pucEndOfStack_6
- # DEBUG BEGIN_STMT
- _1 = prvTaskCheckFreeStackSpace (pucEndOfStack_6);
- uxReturn_7 = (UBaseType_t) _1;
- # DEBUG uxReturn => uxReturn_7
- # DEBUG BEGIN_STMT
- return uxReturn_7;
- }
- prvTaskCheckFreeStackSpace (const uint8_t * pucStackByte)
- {
- uint32_t ulCount;
- unsigned char _1;
- uint16_t _8;
- <bb 2> [local count: 118111600]:
- # DEBUG BEGIN_STMT
- # DEBUG ulCount => 0
- # DEBUG BEGIN_STMT
- goto <bb 4>; [100.00%]
- <bb 3> [local count: 955630223]:
- # DEBUG BEGIN_STMT
- pucStackByte_9 = pucStackByte_2 + 1;
- # DEBUG pucStackByte => pucStackByte_9
- # DEBUG BEGIN_STMT
- ulCount_10 = ulCount_3 + 1;
- # DEBUG ulCount => ulCount_10
- <bb 4> [local count: 1073741824]:
- # pucStackByte_2 = PHI <pucStackByte_5(D)(2), pucStackByte_9(3)>
- # ulCount_3 = PHI <0(2), ulCount_10(3)>
- # DEBUG ulCount => ulCount_3
- # DEBUG pucStackByte => pucStackByte_2
- # DEBUG BEGIN_STMT
- _1 = *pucStackByte_2;
- if (_1 == 165)
- goto <bb 3>; [89.00%]
- else
- goto <bb 5>; [11.00%]
- <bb 5> [local count: 118111601]:
- # ulCount_4 = PHI <ulCount_3(4)>
- # DEBUG BEGIN_STMT
- ulCount_7 = ulCount_4 >> 2;
- # DEBUG ulCount => ulCount_7
- # DEBUG BEGIN_STMT
- _8 = (uint16_t) ulCount_7;
- return _8;
- }
- prvListTasksWithinSingleList (struct TaskStatus_t * pxTaskStatusArray, struct List_t * pxList, eTaskState eState)
- {
- UBaseType_t uxTask;
- long unsigned int _1;
- <bb 2> [local count: 236223200]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG uxTask => 0
- # DEBUG BEGIN_STMT
- _1 ={v} pxList_7(D)->uxNumberOfItems;
- if (_1 != 0)
- goto <bb 3>; [50.00%]
- else
- goto <bb 4>; [50.00%]
- <bb 3> [local count: 118111600]:
- uxTask_2 = prvListTasksWithinSingleList.part.0 (pxTaskStatusArray_8(D), pxList_7(D), eState_9(D));
- <bb 4> [local count: 236223201]:
- # uxTask_5 = PHI <0(2), uxTask_2(3)>
- # DEBUG uxTask => uxTask_5
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return uxTask_5;
- }
- vTaskGetInfo (struct tskTaskControlBlock * xTask, struct TaskStatus_t * pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState)
- {
- char * _1;
- long unsigned int _2;
- StackType_t * _3;
- long unsigned int _4;
- long unsigned int _5;
- struct TCB_t * pxCurrentTCB.120_6;
- struct xLIST * _7;
- <unnamed type> _8;
- StackType_t * _9;
- short unsigned int _10;
- struct TCB_t * iftmp.119_11;
- struct TCB_t * iftmp.119_17;
- <bb 2> [local count: 1073741823]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTask_15(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 4>; [70.00%]
- <bb 3> [local count: 322122547]:
- iftmp.119_17 ={v} pxCurrentTCB;
- <bb 4> [local count: 1073741823]:
- # iftmp.119_11 = PHI <iftmp.119_17(3), xTask_15(D)(2)>
- # DEBUG pxTCB => iftmp.119_11
- # DEBUG BEGIN_STMT
- pxTaskStatus_18(D)->xHandle = iftmp.119_11;
- # DEBUG BEGIN_STMT
- _1 = &iftmp.119_11->pcTaskName[0];
- pxTaskStatus_18(D)->pcTaskName = _1;
- # DEBUG BEGIN_STMT
- _2 = iftmp.119_11->uxPriority;
- pxTaskStatus_18(D)->uxCurrentPriority = _2;
- # DEBUG BEGIN_STMT
- _3 = iftmp.119_11->pxStack;
- pxTaskStatus_18(D)->pxStackBase = _3;
- # DEBUG BEGIN_STMT
- _4 = iftmp.119_11->uxTCBNumber;
- pxTaskStatus_18(D)->xTaskNumber = _4;
- # DEBUG BEGIN_STMT
- _5 = iftmp.119_11->uxBasePriority;
- pxTaskStatus_18(D)->uxBasePriority = _5;
- # DEBUG BEGIN_STMT
- pxTaskStatus_18(D)->ulRunTimeCounter = 0;
- # DEBUG BEGIN_STMT
- if (eState_26(D) != 5)
- goto <bb 5>; [79.76%]
- else
- goto <bb 11>; [20.24%]
- <bb 5> [local count: 856416478]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.120_6 ={v} pxCurrentTCB;
- if (pxCurrentTCB.120_6 == iftmp.119_11)
- goto <bb 6>; [30.00%]
- else
- goto <bb 7>; [70.00%]
- <bb 6> [local count: 256924943]:
- # DEBUG BEGIN_STMT
- pxTaskStatus_18(D)->eCurrentState = 0;
- goto <bb 12>; [100.00%]
- <bb 7> [local count: 599491536]:
- # DEBUG BEGIN_STMT
- pxTaskStatus_18(D)->eCurrentState = eState_26(D);
- # DEBUG BEGIN_STMT
- if (eState_26(D) == 3)
- goto <bb 8>; [20.24%]
- else
- goto <bb 12>; [79.76%]
- <bb 8> [local count: 121337087]:
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- _7 = iftmp.119_11->xEventListItem.pvContainer;
- if (_7 != 0B)
- goto <bb 9>; [70.00%]
- else
- goto <bb 10>; [30.00%]
- <bb 9> [local count: 84935961]:
- # DEBUG BEGIN_STMT
- pxTaskStatus_18(D)->eCurrentState = 2;
- <bb 10> [local count: 121337087]:
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- goto <bb 12>; [100.00%]
- <bb 11> [local count: 217325345]:
- # DEBUG BEGIN_STMT
- _8 = eTaskGetState (iftmp.119_11);
- pxTaskStatus_18(D)->eCurrentState = _8;
- <bb 12> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- if (xGetFreeStackSpace_34(D) != 0)
- goto <bb 13>; [33.00%]
- else
- goto <bb 14>; [67.00%]
- <bb 13> [local count: 354334802]:
- # DEBUG BEGIN_STMT
- _9 = iftmp.119_11->pxStack;
- _10 = prvTaskCheckFreeStackSpace (_9);
- pxTaskStatus_18(D)->usStackHighWaterMark = _10;
- goto <bb 15>; [100.00%]
- <bb 14> [local count: 719407024]:
- # DEBUG BEGIN_STMT
- pxTaskStatus_18(D)->usStackHighWaterMark = 0;
- <bb 15> [local count: 1073741824]:
- return;
- }
- prvCheckTasksWaitingTermination ()
- {
- struct TCB_t * pxTCB;
- struct xLIST_ITEM * _1;
- struct ListItem_t * _2;
- long unsigned int uxCurrentNumberOfTasks.58_3;
- long unsigned int _4;
- long unsigned int uxDeletedTasksWaitingCleanUp.59_5;
- long unsigned int _6;
- long unsigned int uxDeletedTasksWaitingCleanUp.60_7;
- <bb 2> [local count: 118111600]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [100.00%]
- <bb 3> [local count: 955630223]:
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _1 = xTasksWaitingTermination.xListEnd.pxNext;
- pxTCB_11 = _1->pvOwner;
- # DEBUG pxTCB => pxTCB_11
- # DEBUG BEGIN_STMT
- _2 = &pxTCB_11->xStateListItem;
- uxListRemove (_2);
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.58_3 ={v} uxCurrentNumberOfTasks;
- _4 = uxCurrentNumberOfTasks.58_3 + 4294967295;
- uxCurrentNumberOfTasks ={v} _4;
- # DEBUG BEGIN_STMT
- uxDeletedTasksWaitingCleanUp.59_5 ={v} uxDeletedTasksWaitingCleanUp;
- _6 = uxDeletedTasksWaitingCleanUp.59_5 + 4294967295;
- uxDeletedTasksWaitingCleanUp ={v} _6;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- prvDeleteTCB (pxTCB_11);
- <bb 4> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- uxDeletedTasksWaitingCleanUp.60_7 ={v} uxDeletedTasksWaitingCleanUp;
- if (uxDeletedTasksWaitingCleanUp.60_7 != 0)
- goto <bb 3>; [89.00%]
- else
- goto <bb 5>; [11.00%]
- <bb 5> [local count: 118111601]:
- return;
- }
- prvInitialiseTaskLists ()
- {
- UBaseType_t uxPriority;
- struct List_t * _1;
- <bb 2> [local count: 178992762]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG uxPriority => 0
- goto <bb 4>; [100.00%]
- <bb 3> [local count: 894749063]:
- # DEBUG BEGIN_STMT
- _1 = &pxReadyTasksLists[uxPriority_2];
- vListInitialise (_1);
- # DEBUG BEGIN_STMT
- uxPriority_13 = uxPriority_2 + 1;
- # DEBUG uxPriority => uxPriority_13
- <bb 4> [local count: 1073741824]:
- # uxPriority_2 = PHI <0(2), uxPriority_13(3)>
- # DEBUG uxPriority => uxPriority_2
- # DEBUG BEGIN_STMT
- if (uxPriority_2 != 5)
- goto <bb 3>; [83.33%]
- else
- goto <bb 5>; [16.67%]
- <bb 5> [local count: 178992762]:
- # DEBUG BEGIN_STMT
- vListInitialise (&xDelayedTaskList1);
- # DEBUG BEGIN_STMT
- vListInitialise (&xDelayedTaskList2);
- # DEBUG BEGIN_STMT
- vListInitialise (&xPendingReadyList);
- # DEBUG BEGIN_STMT
- vListInitialise (&xTasksWaitingTermination);
- # DEBUG BEGIN_STMT
- vListInitialise (&xSuspendedTaskList);
- # DEBUG BEGIN_STMT
- pxDelayedTaskList ={v} &xDelayedTaskList1;
- # DEBUG BEGIN_STMT
- pxOverflowDelayedTaskList ={v} &xDelayedTaskList2;
- return;
- }
- prvIdleTask (void * pvParameters)
- {
- long unsigned int _1;
- <bb 2> [local count: 63351]:
- <bb 3> [local count: 633507677]:
- <bb 4> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvCheckTasksWaitingTermination ();
- # DEBUG BEGIN_STMT
- _1 ={v} pxReadyTasksLists[0].uxNumberOfItems;
- if (_1 > 1)
- goto <bb 5>; [59.00%]
- else
- goto <bb 6>; [41.00%]
- <bb 6> [local count: 440234148]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 633507677]:
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- goto <bb 3>; [100.00%]
- }
- vTaskSetTaskNumber (struct tskTaskControlBlock * xTask, const UBaseType_t uxHandle)
- {
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTask_2(D) != 0B)
- goto <bb 3>; [70.00%]
- else
- goto <bb 4>; [30.00%]
- <bb 3> [local count: 751619278]:
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => xTask_2(D)
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTask_2(D)].uxTaskNumber = uxHandle_4(D);
- <bb 4> [local count: 1073741824]:
- return;
- }
- uxTaskGetTaskNumber (struct tskTaskControlBlock * xTask)
- {
- UBaseType_t uxReturn;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTask_2(D) != 0B)
- goto <bb 3>; [70.00%]
- else
- goto <bb 4>; [30.00%]
- <bb 3> [local count: 751619278]:
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => xTask_2(D)
- # DEBUG BEGIN_STMT
- uxReturn_4 = MEM[(const struct TCB_t *)xTask_2(D)].uxTaskNumber;
- # DEBUG uxReturn => uxReturn_4
- <bb 4> [local count: 1073741824]:
- # uxReturn_1 = PHI <uxReturn_4(3), 0(2)>
- # DEBUG uxReturn => uxReturn_1
- # DEBUG BEGIN_STMT
- return uxReturn_1;
- }
- vTaskMissedYield ()
- {
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- xYieldPending ={v} 1;
- return;
- }
- xTaskCheckForTimeOut (struct TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait)
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- const TickType_t xElapsedTime;
- const TickType_t xConstTickCount;
- BaseType_t xReturn;
- long unsigned int _1;
- struct TCB_t * pxCurrentTCB.116_2;
- unsigned char _3;
- struct TCB_t * pxCurrentTCB.117_4;
- long unsigned int _5;
- long int _6;
- long int xNumOfOverflows.118_7;
- long unsigned int _8;
- long unsigned int _17;
- <bb 2> [local count: 329661]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pxTimeOut_11(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 98898]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
- <bb 4> [local count: 988985746]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 18> [local count: 988985746]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 230763]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pxTicksToWait_12(D) == 0B)
- goto <bb 6>; [46.53%]
- else
- goto <bb 8>; [53.47%]
- <bb 6> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
- <bb 7> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 19> [local count: 1073741824]:
- goto <bb 7>; [100.00%]
- <bb 8> [local count: 123389]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- xConstTickCount_15 ={v} xTickCount;
- # DEBUG xConstTickCount => xConstTickCount_15
- # DEBUG BEGIN_STMT
- _1 = pxTimeOut_11(D)->xTimeOnEntering;
- xElapsedTime_16 = xConstTickCount_15 - _1;
- # DEBUG xElapsedTime => xElapsedTime_16
- # DEBUG BEGIN_STMT
- pxCurrentTCB.116_2 ={v} pxCurrentTCB;
- _3 = pxCurrentTCB.116_2->ucDelayAborted;
- if (_3 != 0)
- goto <bb 9>; [50.00%]
- else
- goto <bb 10>; [50.00%]
- <bb 9> [local count: 61694]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.117_4 ={v} pxCurrentTCB;
- pxCurrentTCB.117_4->ucDelayAborted = 0;
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- goto <bb 17>; [100.00%]
- <bb 10> [local count: 61694]:
- # DEBUG BEGIN_STMT
- _5 = *pxTicksToWait_12(D);
- if (_5 == 4294967295)
- goto <bb 17>; [34.00%]
- else
- goto <bb 11>; [66.00%]
- <bb 11> [local count: 40718]:
- # DEBUG BEGIN_STMT
- _6 = pxTimeOut_11(D)->xOverflowCount;
- xNumOfOverflows.118_7 ={v} xNumOfOverflows;
- if (_6 != xNumOfOverflows.118_7)
- goto <bb 12>; [66.00%]
- else
- goto <bb 14>; [34.00%]
- <bb 12> [local count: 26874]:
- if (_1 <= xConstTickCount_15)
- goto <bb 13>; [50.00%]
- else
- goto <bb 14>; [50.00%]
- <bb 13> [local count: 13437]:
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- # DEBUG BEGIN_STMT
- *pxTicksToWait_12(D) = 0;
- goto <bb 17>; [100.00%]
- <bb 14> [local count: 27281]:
- # DEBUG BEGIN_STMT
- if (_5 > xElapsedTime_16)
- goto <bb 15>; [33.00%]
- else
- goto <bb 16>; [67.00%]
- <bb 15> [local count: 9003]:
- # DEBUG BEGIN_STMT
- _17 = _1 - xConstTickCount_15;
- _8 = _5 + _17;
- *pxTicksToWait_12(D) = _8;
- # DEBUG BEGIN_STMT
- vTaskInternalSetTimeOutState (pxTimeOut_11(D));
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 0
- goto <bb 17>; [100.00%]
- <bb 16> [local count: 18278]:
- # DEBUG BEGIN_STMT
- *pxTicksToWait_12(D) = 0;
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- <bb 17> [local count: 123389]:
- # xReturn_9 = PHI <1(9), 0(10), 1(13), 0(15), 1(16)>
- # DEBUG xReturn => xReturn_9
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- return xReturn_9;
- }
- vTaskInternalSetTimeOutState (struct TimeOut_t * const pxTimeOut)
- {
- long int xNumOfOverflows.114_1;
- long unsigned int xTickCount.115_2;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- xNumOfOverflows.114_1 ={v} xNumOfOverflows;
- pxTimeOut_4(D)->xOverflowCount = xNumOfOverflows.114_1;
- # DEBUG BEGIN_STMT
- xTickCount.115_2 ={v} xTickCount;
- pxTimeOut_4(D)->xTimeOnEntering = xTickCount.115_2;
- return;
- }
- vTaskSetTimeOutState (struct TimeOut_t * const pxTimeOut)
- {
- uint32_t ulNewBASEPRI;
- long int xNumOfOverflows.112_1;
- long unsigned int xTickCount.113_2;
- <bb 2> [local count: 230763]:
- # DEBUG BEGIN_STMT
- if (pxTimeOut_3(D) == 0B)
- goto <bb 3>; [46.53%]
- else
- goto <bb 5>; [53.47%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 6> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 123389]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- xNumOfOverflows.112_1 ={v} xNumOfOverflows;
- pxTimeOut_3(D)->xOverflowCount = xNumOfOverflows.112_1;
- # DEBUG BEGIN_STMT
- xTickCount.113_2 ={v} xTickCount;
- pxTimeOut_3(D)->xTimeOnEntering = xTickCount.113_2;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- return;
- }
- vTaskRemoveFromUnorderedEventList (struct ListItem_t * pxEventListItem, const TickType_t xItemValue)
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- struct List_t * const pxList;
- struct TCB_t * pxUnblockedTCB;
- long unsigned int uxSchedulerSuspended.109_1;
- long unsigned int _2;
- struct xLIST_ITEM * _3;
- struct xLIST_ITEM * _4;
- struct xLIST_ITEM * _5;
- struct ListItem_t * _6;
- long unsigned int _7;
- long unsigned int _8;
- struct xLIST_ITEM * _9;
- struct xLIST_ITEM * _10;
- struct xLIST_ITEM * _11;
- struct ListItem_t * _12;
- struct ListItem_t * _13;
- long unsigned int _14;
- long unsigned int _15;
- long unsigned int _16;
- long unsigned int uxTopReadyPriority.110_17;
- struct xLIST_ITEM * _18;
- struct xLIST_ITEM * _19;
- struct List_t * _20;
- long unsigned int _21;
- long unsigned int _22;
- struct TCB_t * pxCurrentTCB.111_23;
- long unsigned int _24;
- <bb 2> [local count: 214748]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.109_1 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.109_1 == 0)
- goto <bb 3>; [50.00%]
- else
- goto <bb 5>; [50.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_54 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_54
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 17> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = xItemValue_30(D) | 2147483648;
- pxEventListItem_31(D)->xItemValue = _2;
- # DEBUG BEGIN_STMT
- pxUnblockedTCB_33 = pxEventListItem_31(D)->pvOwner;
- # DEBUG pxUnblockedTCB => pxUnblockedTCB_33
- # DEBUG BEGIN_STMT
- if (pxUnblockedTCB_33 == 0B)
- goto <bb 6>; [30.00%]
- else
- goto <bb 8>; [70.00%]
- <bb 6> [local count: 32212]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_55 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_55
- <bb 7> [local count: 322122547]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 18> [local count: 322122547]:
- goto <bb 7>; [100.00%]
- <bb 8> [local count: 75162]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxList_34 = pxEventListItem_31(D)->pvContainer;
- # DEBUG pxList => pxList_34
- # DEBUG BEGIN_STMT
- _3 = pxEventListItem_31(D)->pxNext;
- _4 = pxEventListItem_31(D)->pxPrevious;
- _3->pxPrevious = _4;
- # DEBUG BEGIN_STMT
- _5 = pxEventListItem_31(D)->pxPrevious;
- _5->pxNext = _3;
- # DEBUG BEGIN_STMT
- _6 = pxList_34->pxIndex;
- if (_6 == pxEventListItem_31(D))
- goto <bb 9>; [30.00%]
- else
- goto <bb 10>; [70.00%]
- <bb 9> [local count: 22549]:
- # DEBUG BEGIN_STMT
- pxList_34->pxIndex = _5;
- <bb 10> [local count: 75162]:
- # DEBUG BEGIN_STMT
- pxEventListItem_31(D)->pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _7 ={v} pxList_34->uxNumberOfItems;
- _8 = _7 + 4294967295;
- pxList_34->uxNumberOfItems ={v} _8;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxList_40 = pxUnblockedTCB_33->xStateListItem.pvContainer;
- # DEBUG pxList => pxList_40
- # DEBUG BEGIN_STMT
- _9 = pxUnblockedTCB_33->xStateListItem.pxNext;
- _10 = pxUnblockedTCB_33->xStateListItem.pxPrevious;
- _9->pxPrevious = _10;
- # DEBUG BEGIN_STMT
- _11 = pxUnblockedTCB_33->xStateListItem.pxPrevious;
- _11->pxNext = _9;
- # DEBUG BEGIN_STMT
- _12 = pxList_40->pxIndex;
- _13 = &pxUnblockedTCB_33->xStateListItem;
- if (_12 == _13)
- goto <bb 11>; [30.00%]
- else
- goto <bb 12>; [70.00%]
- <bb 11> [local count: 22549]:
- # DEBUG BEGIN_STMT
- pxList_40->pxIndex = _11;
- <bb 12> [local count: 75162]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _14 ={v} pxList_40->uxNumberOfItems;
- _15 = _14 + 4294967295;
- pxList_40->uxNumberOfItems ={v} _15;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _16 = pxUnblockedTCB_33->uxPriority;
- uxTopReadyPriority.110_17 ={v} uxTopReadyPriority;
- if (_16 > uxTopReadyPriority.110_17)
- goto <bb 13>; [50.00%]
- else
- goto <bb 14>; [50.00%]
- <bb 13> [local count: 37581]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _16;
- <bb 14> [local count: 75162]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_46 = pxReadyTasksLists[_16].pxIndex;
- # DEBUG pxIndex => pxIndex_46
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxUnblockedTCB_33->xStateListItem.pxNext = pxIndex_46;
- # DEBUG BEGIN_STMT
- _18 = pxIndex_46->pxPrevious;
- pxUnblockedTCB_33->xStateListItem.pxPrevious = _18;
- # DEBUG BEGIN_STMT
- _19 = pxIndex_46->pxPrevious;
- _19->pxNext = _13;
- # DEBUG BEGIN_STMT
- pxIndex_46->pxPrevious = _13;
- # DEBUG BEGIN_STMT
- _20 = &pxReadyTasksLists[_16];
- pxUnblockedTCB_33->xStateListItem.pvContainer = _20;
- # DEBUG BEGIN_STMT
- _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems;
- _22 = _21 + 1;
- pxReadyTasksLists[_16].uxNumberOfItems ={v} _22;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.111_23 ={v} pxCurrentTCB;
- _24 = pxCurrentTCB.111_23->uxPriority;
- if (_16 > _24)
- goto <bb 15>; [50.00%]
- else
- goto <bb 16>; [50.00%]
- <bb 15> [local count: 37581]:
- # DEBUG BEGIN_STMT
- xYieldPending ={v} 1;
- <bb 16> [local count: 75162]:
- return;
- }
- xTaskRemoveFromEventList (const struct List_t * const pxEventList)
- {
- uint32_t ulNewBASEPRI;
- 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;
- struct xLIST_ITEM * _1;
- struct xLIST_ITEM * _2;
- struct xLIST_ITEM * _3;
- struct ListItem_t * _4;
- struct ListItem_t * _5;
- long unsigned int _6;
- long unsigned int _7;
- long unsigned int uxSchedulerSuspended.106_8;
- struct xLIST_ITEM * _9;
- struct xLIST_ITEM * _10;
- struct xLIST_ITEM * _11;
- struct ListItem_t * _12;
- struct ListItem_t * _13;
- long unsigned int _14;
- long unsigned int _15;
- long unsigned int _16;
- long unsigned int uxTopReadyPriority.107_17;
- struct xLIST_ITEM * _18;
- struct xLIST_ITEM * _19;
- struct List_t * _20;
- long unsigned int _21;
- long unsigned int _22;
- struct xLIST_ITEM * _23;
- struct xLIST_ITEM * _24;
- long unsigned int _25;
- long unsigned int _26;
- long unsigned int _27;
- struct TCB_t * pxCurrentTCB.108_28;
- long unsigned int _29;
- <bb 2> [local count: 357913]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxEventList_37(D)->xListEnd.pxNext;
- pxUnblockedTCB_38 = _1->pvOwner;
- # DEBUG pxUnblockedTCB => pxUnblockedTCB_38
- # DEBUG BEGIN_STMT
- if (pxUnblockedTCB_38 == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 17> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 250539]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxList_39 = pxUnblockedTCB_38->xEventListItem.pvContainer;
- # DEBUG pxList => pxList_39
- # DEBUG BEGIN_STMT
- _2 = pxUnblockedTCB_38->xEventListItem.pxNext;
- _3 = pxUnblockedTCB_38->xEventListItem.pxPrevious;
- _2->pxPrevious = _3;
- # DEBUG BEGIN_STMT
- _3->pxNext = _2;
- # DEBUG BEGIN_STMT
- _4 = pxList_39->pxIndex;
- _5 = &pxUnblockedTCB_38->xEventListItem;
- if (_4 == _5)
- goto <bb 6>; [30.00%]
- else
- goto <bb 7>; [70.00%]
- <bb 6> [local count: 75162]:
- # DEBUG BEGIN_STMT
- pxList_39->pxIndex = _3;
- <bb 7> [local count: 250539]:
- # DEBUG BEGIN_STMT
- pxUnblockedTCB_38->xEventListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _6 ={v} pxList_39->uxNumberOfItems;
- _7 = _6 + 4294967295;
- pxList_39->uxNumberOfItems ={v} _7;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.106_8 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.106_8 == 0)
- goto <bb 8>; [50.00%]
- else
- goto <bb 13>; [50.00%]
- <bb 8> [local count: 125270]:
- # DEBUG BEGIN_STMT
- pxList_52 = pxUnblockedTCB_38->xStateListItem.pvContainer;
- # DEBUG pxList => pxList_52
- # DEBUG BEGIN_STMT
- _9 = pxUnblockedTCB_38->xStateListItem.pxNext;
- _10 = pxUnblockedTCB_38->xStateListItem.pxPrevious;
- _9->pxPrevious = _10;
- # DEBUG BEGIN_STMT
- _11 = pxUnblockedTCB_38->xStateListItem.pxPrevious;
- _11->pxNext = _9;
- # DEBUG BEGIN_STMT
- _12 = pxList_52->pxIndex;
- _13 = &pxUnblockedTCB_38->xStateListItem;
- if (_12 == _13)
- goto <bb 9>; [30.00%]
- else
- goto <bb 10>; [70.00%]
- <bb 9> [local count: 37581]:
- # DEBUG BEGIN_STMT
- pxList_52->pxIndex = _11;
- <bb 10> [local count: 125270]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _14 ={v} pxList_52->uxNumberOfItems;
- _15 = _14 + 4294967295;
- pxList_52->uxNumberOfItems ={v} _15;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _16 = pxUnblockedTCB_38->uxPriority;
- uxTopReadyPriority.107_17 ={v} uxTopReadyPriority;
- if (_16 > uxTopReadyPriority.107_17)
- goto <bb 11>; [50.00%]
- else
- goto <bb 12>; [50.00%]
- <bb 11> [local count: 62635]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _16;
- <bb 12> [local count: 125270]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_58 = pxReadyTasksLists[_16].pxIndex;
- # DEBUG pxIndex => pxIndex_58
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxUnblockedTCB_38->xStateListItem.pxNext = pxIndex_58;
- # DEBUG BEGIN_STMT
- _18 = pxIndex_58->pxPrevious;
- pxUnblockedTCB_38->xStateListItem.pxPrevious = _18;
- # DEBUG BEGIN_STMT
- _19 = pxIndex_58->pxPrevious;
- _19->pxNext = _13;
- # DEBUG BEGIN_STMT
- pxIndex_58->pxPrevious = _13;
- # DEBUG BEGIN_STMT
- _20 = &pxReadyTasksLists[_16];
- pxUnblockedTCB_38->xStateListItem.pvContainer = _20;
- # DEBUG BEGIN_STMT
- _21 ={v} pxReadyTasksLists[_16].uxNumberOfItems;
- _22 = _21 + 1;
- pxReadyTasksLists[_16].uxNumberOfItems ={v} _22;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 14>; [100.00%]
- <bb 13> [local count: 125270]:
- # DEBUG BEGIN_STMT
- pxIndex_45 = xPendingReadyList.pxIndex;
- # DEBUG pxIndex => pxIndex_45
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxUnblockedTCB_38->xEventListItem.pxNext = pxIndex_45;
- # DEBUG BEGIN_STMT
- _23 = pxIndex_45->pxPrevious;
- pxUnblockedTCB_38->xEventListItem.pxPrevious = _23;
- # DEBUG BEGIN_STMT
- _24 = pxIndex_45->pxPrevious;
- _24->pxNext = _5;
- # DEBUG BEGIN_STMT
- pxIndex_45->pxPrevious = _5;
- # DEBUG BEGIN_STMT
- pxUnblockedTCB_38->xEventListItem.pvContainer = &xPendingReadyList;
- # DEBUG BEGIN_STMT
- _25 ={v} xPendingReadyList.uxNumberOfItems;
- _26 = _25 + 1;
- xPendingReadyList.uxNumberOfItems ={v} _26;
- <bb 14> [local count: 250539]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _27 = pxUnblockedTCB_38->uxPriority;
- pxCurrentTCB.108_28 ={v} pxCurrentTCB;
- _29 = pxCurrentTCB.108_28->uxPriority;
- if (_27 > _29)
- goto <bb 15>; [50.00%]
- else
- goto <bb 16>; [50.00%]
- <bb 15> [local count: 125270]:
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- # DEBUG BEGIN_STMT
- xYieldPending ={v} 1;
- <bb 16> [local count: 250539]:
- # xReturn_30 = PHI <1(15), 0(14)>
- # DEBUG xReturn => xReturn_30
- # DEBUG BEGIN_STMT
- return xReturn_30;
- }
- vTaskPlaceOnEventListRestricted (struct List_t * const pxEventList, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely)
- {
- uint32_t ulNewBASEPRI;
- struct ListItem_t * const pxIndex;
- struct TCB_t * pxCurrentTCB.101_1;
- struct TCB_t * pxCurrentTCB.102_2;
- struct xLIST_ITEM * _3;
- struct TCB_t * pxCurrentTCB.103_4;
- struct xLIST_ITEM * _5;
- struct ListItem_t * _6;
- struct TCB_t * pxCurrentTCB.104_7;
- struct ListItem_t * _8;
- struct TCB_t * pxCurrentTCB.105_9;
- long unsigned int _10;
- long unsigned int _11;
- <bb 2> [local count: 357913]:
- # DEBUG BEGIN_STMT
- if (pxEventList_13(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 8> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 250539]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_15 = pxEventList_13(D)->pxIndex;
- # DEBUG pxIndex => pxIndex_15
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.101_1 ={v} pxCurrentTCB;
- pxCurrentTCB.101_1->xEventListItem.pxNext = pxIndex_15;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.102_2 ={v} pxCurrentTCB;
- _3 = pxIndex_15->pxPrevious;
- pxCurrentTCB.102_2->xEventListItem.pxPrevious = _3;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.103_4 ={v} pxCurrentTCB;
- _5 = pxIndex_15->pxPrevious;
- _6 = &pxCurrentTCB.103_4->xEventListItem;
- _5->pxNext = _6;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.104_7 ={v} pxCurrentTCB;
- _8 = &pxCurrentTCB.104_7->xEventListItem;
- pxIndex_15->pxPrevious = _8;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.105_9 ={v} pxCurrentTCB;
- pxCurrentTCB.105_9->xEventListItem.pvContainer = pxEventList_13(D);
- # DEBUG BEGIN_STMT
- _10 ={v} pxEventList_13(D)->uxNumberOfItems;
- _11 = _10 + 1;
- pxEventList_13(D)->uxNumberOfItems ={v} _11;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xWaitIndefinitely_22(D) != 0)
- goto <bb 6>; [50.00%]
- else
- goto <bb 7>; [50.00%]
- <bb 6> [local count: 125270]:
- # DEBUG BEGIN_STMT
- # DEBUG xTicksToWait => 4294967295
- <bb 7> [local count: 250539]:
- # xTicksToWait_12 = PHI <xTicksToWait_23(D)(5), 4294967295(6)>
- # DEBUG xTicksToWait => xTicksToWait_12
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvAddCurrentTaskToDelayedList (xTicksToWait_12, xWaitIndefinitely_22(D));
- return;
- }
- vTaskPlaceOnUnorderedEventList (struct List_t * pxEventList, const TickType_t xItemValue, const TickType_t xTicksToWait)
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- struct ListItem_t * const pxIndex;
- long unsigned int uxSchedulerSuspended.94_1;
- struct TCB_t * pxCurrentTCB.95_2;
- long unsigned int _3;
- struct TCB_t * pxCurrentTCB.96_4;
- struct TCB_t * pxCurrentTCB.97_5;
- struct xLIST_ITEM * _6;
- struct TCB_t * pxCurrentTCB.98_7;
- struct xLIST_ITEM * _8;
- struct ListItem_t * _9;
- struct TCB_t * pxCurrentTCB.99_10;
- struct ListItem_t * _11;
- struct TCB_t * pxCurrentTCB.100_12;
- long unsigned int _13;
- long unsigned int _14;
- <bb 2> [local count: 228942]:
- # DEBUG BEGIN_STMT
- if (pxEventList_15(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 68683]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_28
- <bb 4> [local count: 686828460]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 9> [local count: 686828460]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.94_1 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.94_1 == 0)
- goto <bb 6>; [67.00%]
- else
- goto <bb 8>; [33.00%]
- <bb 6> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_29
- <bb 7> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 10> [local count: 1073741824]:
- goto <bb 7>; [100.00%]
- <bb 8> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.95_2 ={v} pxCurrentTCB;
- _3 = xItemValue_17(D) | 2147483648;
- pxCurrentTCB.95_2->xEventListItem.xItemValue = _3;
- # DEBUG BEGIN_STMT
- pxIndex_19 = pxEventList_15(D)->pxIndex;
- # DEBUG pxIndex => pxIndex_19
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.96_4 ={v} pxCurrentTCB;
- pxCurrentTCB.96_4->xEventListItem.pxNext = pxIndex_19;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.97_5 ={v} pxCurrentTCB;
- _6 = pxIndex_19->pxPrevious;
- pxCurrentTCB.97_5->xEventListItem.pxPrevious = _6;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.98_7 ={v} pxCurrentTCB;
- _8 = pxIndex_19->pxPrevious;
- _9 = &pxCurrentTCB.98_7->xEventListItem;
- _8->pxNext = _9;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.99_10 ={v} pxCurrentTCB;
- _11 = &pxCurrentTCB.99_10->xEventListItem;
- pxIndex_19->pxPrevious = _11;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.100_12 ={v} pxCurrentTCB;
- pxCurrentTCB.100_12->xEventListItem.pvContainer = pxEventList_15(D);
- # DEBUG BEGIN_STMT
- _13 ={v} pxEventList_15(D)->uxNumberOfItems;
- _14 = _13 + 1;
- pxEventList_15(D)->uxNumberOfItems ={v} _14;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvAddCurrentTaskToDelayedList (xTicksToWait_26(D), 1);
- return;
- }
- vTaskPlaceOnEventList (struct List_t * const pxEventList, const TickType_t xTicksToWait)
- {
- uint32_t ulNewBASEPRI;
- struct TCB_t * pxCurrentTCB.93_1;
- struct ListItem_t * _2;
- <bb 2> [local count: 230763]:
- # DEBUG BEGIN_STMT
- if (pxEventList_3(D) == 0B)
- goto <bb 3>; [46.53%]
- else
- goto <bb 5>; [53.47%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 6> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 123389]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.93_1 ={v} pxCurrentTCB;
- _2 = &pxCurrentTCB.93_1->xEventListItem;
- vListInsert (pxEventList_3(D), _2);
- # DEBUG BEGIN_STMT
- prvAddCurrentTaskToDelayedList (xTicksToWait_6(D), 1);
- return;
- }
- __attribute__((used))
- vTaskSwitchContext ()
- {
- UBaseType_t uxTopPriority;
- long unsigned int uxSchedulerSuspended.92_1;
- long unsigned int _2;
- struct ListItem_t * _3;
- struct xLIST_ITEM * _4;
- struct MiniListItem_t * _6;
- struct xLIST_ITEM * _8;
- struct ListItem_t * _9;
- void * _10;
- <bb 2> [local count: 441995]:
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.92_1 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.92_1 != 0)
- goto <bb 3>; [50.00%]
- else
- goto <bb 4>; [50.00%]
- <bb 3> [local count: 220997]:
- # DEBUG BEGIN_STMT
- xYieldPending ={v} 1;
- goto <bb 12>; [100.00%]
- <bb 4> [local count: 220997]:
- # DEBUG BEGIN_STMT
- xYieldPending ={v} 0;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxTopPriority_15 ={v} uxTopReadyPriority;
- # DEBUG uxTopPriority => uxTopPriority_15
- # DEBUG BEGIN_STMT
- goto <bb 8>; [100.00%]
- <bb 5> [local count: 1952255]:
- # DEBUG BEGIN_STMT
- if (uxTopPriority_11 == 0)
- goto <bb 6>; [5.50%]
- else
- goto <bb 7>; [94.50%]
- <bb 6> [local count: 107374]:
- vTaskSwitchContext.part.0 ();
- <bb 7> [local count: 1844881]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxTopPriority_21 = uxTopPriority_11 + 4294967295;
- # DEBUG uxTopPriority => uxTopPriority_21
- <bb 8> [local count: 2065878]:
- # uxTopPriority_11 = PHI <uxTopPriority_15(4), uxTopPriority_21(7)>
- # DEBUG uxTopPriority => uxTopPriority_11
- # DEBUG BEGIN_STMT
- _2 ={v} pxReadyTasksLists[uxTopPriority_11].uxNumberOfItems;
- if (_2 == 0)
- goto <bb 5>; [94.50%]
- else
- goto <bb 9>; [5.50%]
- <bb 9> [local count: 113623]:
- # uxTopPriority_5 = PHI <uxTopPriority_11(8)>
- # DEBUG BEGIN_STMT
- # DEBUG D#6 => &pxReadyTasksLists[uxTopPriority_5]
- # DEBUG pxConstList => D#6
- # DEBUG BEGIN_STMT
- _3 = MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex;
- _4 = _3->pxNext;
- MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex = _4;
- # DEBUG BEGIN_STMT
- _6 = &MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].xListEnd;
- if (_4 == _6)
- goto <bb 10>; [30.00%]
- else
- goto <bb 11>; [70.00%]
- <bb 10> [local count: 34087]:
- # DEBUG BEGIN_STMT
- _8 = MEM[(struct ListItem_t *)_4].pxNext;
- MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex = _8;
- <bb 11> [local count: 113623]:
- # DEBUG BEGIN_STMT
- _9 = MEM[(struct List_t *)&pxReadyTasksLists][uxTopPriority_5].pxIndex;
- _10 = _9->pvOwner;
- pxCurrentTCB ={v} _10;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} uxTopPriority_5;
- <bb 12> [local count: 334621]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return;
- }
- xTaskIncrementTick ()
- {
- BaseType_t xSwitchRequired;
- long unsigned int uxSchedulerSuspended.79_1;
- long unsigned int xPendedTicks.91_5;
- long unsigned int _6;
- <bb 2> [local count: 641039]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG xSwitchRequired => 0
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.79_1 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.79_1 == 0)
- goto <bb 3>; [50.00%]
- else
- goto <bb 4>; [50.00%]
- <bb 3> [local count: 320520]:
- xSwitchRequired_2 = xTaskIncrementTick.part.0 ();
- goto <bb 5>; [100.00%]
- <bb 4> [local count: 320519]:
- # DEBUG BEGIN_STMT
- xPendedTicks.91_5 ={v} xPendedTicks;
- _6 = xPendedTicks.91_5 + 1;
- xPendedTicks ={v} _6;
- <bb 5> [local count: 533665]:
- # xSwitchRequired_7 = PHI <xSwitchRequired_2(3), 0(4)>
- # DEBUG xSwitchRequired => xSwitchRequired_7
- # DEBUG BEGIN_STMT
- return xSwitchRequired_7;
- }
- xTaskAbortDelay (struct tskTaskControlBlock * xTask)
- {
- uint32_t ulNewBASEPRI;
- struct ListItem_t * const pxIndex;
- BaseType_t xReturn;
- <unnamed type> _1;
- struct ListItem_t * _2;
- struct xLIST * _3;
- struct ListItem_t * _4;
- long unsigned int _5;
- long unsigned int uxTopReadyPriority.77_6;
- struct xLIST_ITEM * _7;
- struct xLIST_ITEM * _8;
- struct List_t * _9;
- long unsigned int _10;
- long unsigned int _11;
- struct TCB_t * pxCurrentTCB.78_12;
- long unsigned int _13;
- <bb 2> [local count: 230763]:
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => xTask_18(D)
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTask_18(D) == 0B)
- goto <bb 3>; [46.53%]
- else
- goto <bb 5>; [53.47%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_37 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_37
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 13> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 123389]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- _1 = eTaskGetState (xTask_18(D));
- if (_1 == 2)
- goto <bb 6>; [20.24%]
- else
- goto <bb 12>; [79.76%]
- <bb 6> [local count: 24974]:
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- # DEBUG BEGIN_STMT
- _2 = &MEM[(struct TCB_t *)xTask_18(D)].xStateListItem;
- uxListRemove (_2);
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _3 = MEM[(struct TCB_t *)xTask_18(D)].xEventListItem.pvContainer;
- if (_3 != 0B)
- goto <bb 7>; [53.47%]
- else
- goto <bb 8>; [46.53%]
- <bb 7> [local count: 13354]:
- # DEBUG BEGIN_STMT
- _4 = &MEM[(struct TCB_t *)xTask_18(D)].xEventListItem;
- uxListRemove (_4);
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTask_18(D)].ucDelayAborted = 1;
- <bb 8> [local count: 24974]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _5 = MEM[(struct TCB_t *)xTask_18(D)].uxPriority;
- uxTopReadyPriority.77_6 ={v} uxTopReadyPriority;
- if (_5 > uxTopReadyPriority.77_6)
- goto <bb 9>; [50.00%]
- else
- goto <bb 10>; [50.00%]
- <bb 9> [local count: 12487]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _5;
- <bb 10> [local count: 24974]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_28 = pxReadyTasksLists[_5].pxIndex;
- # DEBUG pxIndex => pxIndex_28
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pxNext = pxIndex_28;
- # DEBUG BEGIN_STMT
- _7 = pxIndex_28->pxPrevious;
- MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pxPrevious = _7;
- # DEBUG BEGIN_STMT
- _8 = pxIndex_28->pxPrevious;
- _8->pxNext = _2;
- # DEBUG BEGIN_STMT
- pxIndex_28->pxPrevious = _2;
- # DEBUG BEGIN_STMT
- _9 = &pxReadyTasksLists[_5];
- MEM[(struct TCB_t *)xTask_18(D)].xStateListItem.pvContainer = _9;
- # DEBUG BEGIN_STMT
- _10 ={v} pxReadyTasksLists[_5].uxNumberOfItems;
- _11 = _10 + 1;
- pxReadyTasksLists[_5].uxNumberOfItems ={v} _11;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.78_12 ={v} pxCurrentTCB;
- _13 = pxCurrentTCB.78_12->uxPriority;
- if (_5 > _13)
- goto <bb 11>; [50.00%]
- else
- goto <bb 12>; [50.00%]
- <bb 11> [local count: 12487]:
- # DEBUG BEGIN_STMT
- xYieldPending ={v} 1;
- <bb 12> [local count: 123389]:
- # xReturn_14 = PHI <1(11), 0(5), 1(10)>
- # DEBUG xReturn => xReturn_14
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- return xReturn_14;
- }
- xTaskCatchUpTicks (TickType_t xTicksToCatchUp)
- {
- uint32_t ulNewBASEPRI;
- BaseType_t xYieldOccurred;
- long unsigned int uxSchedulerSuspended.75_1;
- long unsigned int xPendedTicks.76_2;
- long unsigned int _3;
- <bb 2> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.75_1 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.75_1 != 0)
- goto <bb 3>; [67.00%]
- else
- goto <bb 5>; [33.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 6> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- xPendedTicks.76_2 ={v} xPendedTicks;
- _3 = xPendedTicks.76_2 + xTicksToCatchUp_6(D);
- xPendedTicks ={v} _3;
- # DEBUG BEGIN_STMT
- xYieldOccurred_9 = xTaskResumeAll ();
- # DEBUG xYieldOccurred => xYieldOccurred_9
- # DEBUG BEGIN_STMT
- return xYieldOccurred_9;
- }
- uxTaskGetSystemState (struct TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t * const pulTotalRunTime)
- {
- UBaseType_t uxQueue;
- UBaseType_t uxTask;
- long unsigned int uxCurrentNumberOfTasks.72_1;
- long unsigned int _2;
- struct TaskStatus_t * _3;
- struct List_t * _4;
- long unsigned int _5;
- struct TaskStatus_t * _6;
- struct List_t * pxDelayedTaskList.73_7;
- long unsigned int _8;
- struct TaskStatus_t * _9;
- struct List_t * pxOverflowDelayedTaskList.74_10;
- long unsigned int _11;
- struct TaskStatus_t * _12;
- long unsigned int _13;
- struct TaskStatus_t * _14;
- long unsigned int _27;
- long unsigned int _30;
- long unsigned int _33;
- long unsigned int _36;
- long unsigned int _39;
- <bb 2> [local count: 429496728]:
- # DEBUG BEGIN_STMT
- # DEBUG uxTask => 0
- # DEBUG uxQueue => 5
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.72_1 ={v} uxCurrentNumberOfTasks;
- if (uxCurrentNumberOfTasks.72_1 <= uxArraySize_23(D))
- goto <bb 7>; [50.00%]
- else
- goto <bb 6>; [50.00%]
- <bb 7> [local count: 214748364]:
- <bb 3> [local count: 1073741824]:
- # uxTask_15 = PHI <0(7), uxTask_28(8)>
- # uxQueue_17 = PHI <5(7), uxQueue_24(8)>
- # DEBUG uxQueue => uxQueue_17
- # DEBUG uxTask => uxTask_15
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxQueue_24 = uxQueue_17 + 4294967295;
- # DEBUG uxQueue => uxQueue_24
- # DEBUG BEGIN_STMT
- _2 = uxTask_15 * 36;
- _3 = pxTaskStatusArray_25(D) + _2;
- _4 = &pxReadyTasksLists[uxQueue_24];
- _27 = prvListTasksWithinSingleList (_3, _4, 1);
- uxTask_28 = uxTask_15 + _27;
- # DEBUG uxTask => uxTask_28
- # DEBUG BEGIN_STMT
- if (uxQueue_24 != 0)
- goto <bb 8>; [80.00%]
- else
- goto <bb 4>; [20.00%]
- <bb 8> [local count: 858993459]:
- goto <bb 3>; [100.00%]
- <bb 4> [local count: 214748365]:
- # uxTask_20 = PHI <uxTask_28(3)>
- # DEBUG BEGIN_STMT
- _5 = uxTask_20 * 36;
- _6 = pxTaskStatusArray_25(D) + _5;
- pxDelayedTaskList.73_7 ={v} pxDelayedTaskList;
- _30 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
- uxTask_31 = uxTask_20 + _30;
- # DEBUG uxTask => uxTask_31
- # DEBUG BEGIN_STMT
- _8 = uxTask_31 * 36;
- _9 = pxTaskStatusArray_25(D) + _8;
- pxOverflowDelayedTaskList.74_10 ={v} pxOverflowDelayedTaskList;
- _33 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
- uxTask_34 = uxTask_31 + _33;
- # DEBUG uxTask => uxTask_34
- # DEBUG BEGIN_STMT
- _11 = uxTask_34 * 36;
- _12 = pxTaskStatusArray_25(D) + _11;
- _36 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4);
- uxTask_37 = uxTask_34 + _36;
- # DEBUG uxTask => uxTask_37
- # DEBUG BEGIN_STMT
- _13 = uxTask_37 * 36;
- _14 = pxTaskStatusArray_25(D) + _13;
- _39 = prvListTasksWithinSingleList (_14, &xSuspendedTaskList, 3);
- uxTask_40 = uxTask_37 + _39;
- # DEBUG uxTask => uxTask_40
- # DEBUG BEGIN_STMT
- if (pulTotalRunTime_41(D) != 0B)
- goto <bb 5>; [70.00%]
- else
- goto <bb 6>; [30.00%]
- <bb 5> [local count: 150323855]:
- # DEBUG BEGIN_STMT
- *pulTotalRunTime_41(D) = 0;
- <bb 6> [local count: 429496729]:
- # uxTask_16 = PHI <0(2), uxTask_40(5), uxTask_40(4)>
- # DEBUG uxTask => uxTask_16
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- return uxTask_16;
- }
- xTaskGetHandle (const char * pcNameToQuery)
- {
- uint32_t ulNewBASEPRI;
- struct TCB_t * pxTCB;
- UBaseType_t uxQueue;
- unsigned int _1;
- struct List_t * _2;
- struct List_t * pxDelayedTaskList.70_3;
- struct List_t * pxOverflowDelayedTaskList.71_4;
- <bb 2> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG uxQueue => 5
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = strlen (pcNameToQuery_17(D));
- if (_1 > 9)
- goto <bb 3>; [67.00%]
- else
- goto <bb 5>; [33.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_31 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_31
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 17> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- <bb 6> [local count: 216745]:
- # uxQueue_5 = PHI <5(5), uxQueue_19(18)>
- # DEBUG uxQueue => uxQueue_5
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxQueue_19 = uxQueue_5 + 4294967295;
- # DEBUG uxQueue => uxQueue_19
- # DEBUG BEGIN_STMT
- _2 = &pxReadyTasksLists[uxQueue_19];
- pxTCB_21 = prvSearchForNameWithinSingleList (_2, pcNameToQuery_17(D));
- # DEBUG pxTCB => pxTCB_21
- # DEBUG BEGIN_STMT
- if (pxTCB_21 != 0B)
- goto <bb 8>; [5.50%]
- else
- goto <bb 7>; [94.50%]
- <bb 7> [local count: 204824]:
- # DEBUG BEGIN_STMT
- if (uxQueue_19 != 0)
- goto <bb 18>; [80.00%]
- else
- goto <bb 8>; [20.00%]
- <bb 18> [local count: 163859]:
- goto <bb 6>; [100.00%]
- <bb 8> [local count: 52886]:
- # pxTCB_15 = PHI <pxTCB_21(6), 0B(7)>
- # DEBUG BEGIN_STMT
- if (pxTCB_15 == 0B)
- goto <bb 9>; [17.43%]
- else
- goto <bb 10>; [82.57%]
- <bb 9> [local count: 9218]:
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.70_3 ={v} pxDelayedTaskList;
- pxTCB_23 = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery_17(D));
- # DEBUG pxTCB => pxTCB_23
- <bb 10> [local count: 52886]:
- # pxTCB_6 = PHI <pxTCB_15(8), pxTCB_23(9)>
- # DEBUG pxTCB => pxTCB_6
- # DEBUG BEGIN_STMT
- if (pxTCB_6 == 0B)
- goto <bb 11>; [17.43%]
- else
- goto <bb 12>; [82.57%]
- <bb 11> [local count: 9218]:
- # DEBUG BEGIN_STMT
- pxOverflowDelayedTaskList.71_4 ={v} pxOverflowDelayedTaskList;
- pxTCB_25 = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery_17(D));
- # DEBUG pxTCB => pxTCB_25
- <bb 12> [local count: 52886]:
- # pxTCB_7 = PHI <pxTCB_6(10), pxTCB_25(11)>
- # DEBUG pxTCB => pxTCB_7
- # DEBUG BEGIN_STMT
- if (pxTCB_7 == 0B)
- goto <bb 13>; [17.43%]
- else
- goto <bb 14>; [82.57%]
- <bb 13> [local count: 9218]:
- # DEBUG BEGIN_STMT
- pxTCB_27 = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery_17(D));
- # DEBUG pxTCB => pxTCB_27
- <bb 14> [local count: 52886]:
- # pxTCB_8 = PHI <pxTCB_7(12), pxTCB_27(13)>
- # DEBUG pxTCB => pxTCB_8
- # DEBUG BEGIN_STMT
- if (pxTCB_8 == 0B)
- goto <bb 15>; [17.43%]
- else
- goto <bb 16>; [82.57%]
- <bb 15> [local count: 9218]:
- # DEBUG BEGIN_STMT
- pxTCB_29 = prvSearchForNameWithinSingleList (&xTasksWaitingTermination, pcNameToQuery_17(D));
- # DEBUG pxTCB => pxTCB_29
- <bb 16> [local count: 52886]:
- # pxTCB_9 = PHI <pxTCB_8(14), pxTCB_29(15)>
- # DEBUG pxTCB => pxTCB_9
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- return pxTCB_9;
- }
- prvSearchForNameWithinSingleList (struct List_t * pxList, const char * pcNameToQuery)
- {
- char cNextChar;
- UBaseType_t x;
- struct TCB_t * pxReturn;
- struct TCB_t * pxFirstTCB;
- struct TCB_t * pxNextTCB;
- long unsigned int _1;
- struct ListItem_t * _2;
- struct xLIST_ITEM * _3;
- struct MiniListItem_t * _4;
- struct xLIST_ITEM * _5;
- struct ListItem_t * _6;
- struct ListItem_t * _7;
- struct xLIST_ITEM * _8;
- struct xLIST_ITEM * _9;
- struct ListItem_t * _10;
- const char * _11;
- char _12;
- <bb 2> [local count: 25274560]:
- # DEBUG BEGIN_STMT
- # DEBUG pxReturn => 0B
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 ={v} pxList_23(D)->uxNumberOfItems;
- if (_1 != 0)
- goto <bb 3>; [71.00%]
- else
- goto <bb 15>; [29.00%]
- <bb 3> [local count: 17944938]:
- # DEBUG BEGIN_STMT
- # DEBUG pxConstList => pxList_23(D)
- # DEBUG BEGIN_STMT
- _2 = pxList_23(D)->pxIndex;
- _3 = _2->pxNext;
- pxList_23(D)->pxIndex = _3;
- # DEBUG BEGIN_STMT
- _4 = &pxList_23(D)->xListEnd;
- if (_3 == _4)
- goto <bb 4>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 4> [local count: 5383481]:
- # DEBUG BEGIN_STMT
- _5 = MEM[(struct ListItem_t *)_3].pxNext;
- pxList_23(D)->pxIndex = _5;
- <bb 5> [local count: 17944938]:
- # DEBUG BEGIN_STMT
- _6 = pxList_23(D)->pxIndex;
- pxFirstTCB_26 = _6->pvOwner;
- # DEBUG pxFirstTCB => pxFirstTCB_26
- <bb 6> [local count: 167748888]:
- # pxReturn_13 = PHI <0B(5), 0B(16)>
- # DEBUG pxReturn => pxReturn_13
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG pxConstList => pxList_23(D)
- # DEBUG BEGIN_STMT
- _7 = pxList_23(D)->pxIndex;
- _8 = _7->pxNext;
- pxList_23(D)->pxIndex = _8;
- # DEBUG BEGIN_STMT
- if (_4 == _8)
- goto <bb 7>; [30.00%]
- else
- goto <bb 8>; [70.00%]
- <bb 7> [local count: 50324666]:
- # DEBUG BEGIN_STMT
- _9 = MEM[(struct ListItem_t *)_8].pxNext;
- pxList_23(D)->pxIndex = _9;
- <bb 8> [local count: 167748888]:
- # DEBUG BEGIN_STMT
- _10 = pxList_23(D)->pxIndex;
- pxNextTCB_29 = _10->pvOwner;
- # DEBUG pxNextTCB => pxNextTCB_29
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG xBreakLoop => 0
- # DEBUG BEGIN_STMT
- # DEBUG x => 0
- goto <bb 12>; [100.00%]
- <bb 9> [local count: 976138693]:
- # DEBUG BEGIN_STMT
- cNextChar_30 = pxNextTCB_29->pcTaskName[x_17];
- # DEBUG cNextChar => cNextChar_30
- # DEBUG BEGIN_STMT
- _11 = pcNameToQuery_31(D) + x_17;
- _12 = *_11;
- if (_12 != cNextChar_30)
- goto <bb 13>; [3.66%]
- else
- goto <bb 10>; [96.34%]
- <bb 10> [local count: 940412017]:
- # DEBUG BEGIN_STMT
- if (cNextChar_30 == 0)
- goto <bb 13>; [3.66%]
- else
- goto <bb 11>; [96.34%]
- <bb 11> [local count: 905992937]:
- # DEBUG xBreakLoop => 0
- # DEBUG pxReturn => pxReturn_14
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- x_32 = x_17 + 1;
- # DEBUG x => x_32
- <bb 12> [local count: 1073741824]:
- # pxReturn_14 = PHI <pxReturn_13(8), pxReturn_14(11)>
- # x_17 = PHI <0(8), x_32(11)>
- # DEBUG xBreakLoop => 0
- # DEBUG x => x_17
- # DEBUG pxReturn => pxReturn_14
- # DEBUG BEGIN_STMT
- if (x_17 != 10)
- goto <bb 9>; [90.91%]
- else
- goto <bb 13>; [9.09%]
- <bb 13> [local count: 167748888]:
- # pxReturn_15 = PHI <pxNextTCB_29(10), pxReturn_14(12), pxReturn_14(9)>
- # DEBUG xBreakLoop => NULL
- # DEBUG pxReturn => pxReturn_15
- # DEBUG BEGIN_STMT
- if (pxReturn_15 != 0B)
- goto <bb 15>; [5.50%]
- else
- goto <bb 14>; [94.50%]
- <bb 14> [local count: 158522699]:
- # DEBUG BEGIN_STMT
- if (pxFirstTCB_26 != pxNextTCB_29)
- goto <bb 16>; [94.50%]
- else
- goto <bb 15>; [5.50%]
- <bb 16> [local count: 149803950]:
- goto <bb 6>; [100.00%]
- <bb 15> [local count: 25274560]:
- # pxReturn_16 = PHI <0B(2), 0B(14), pxReturn_15(13)>
- # DEBUG pxReturn => pxReturn_16
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return pxReturn_16;
- }
- pcTaskGetName (struct tskTaskControlBlock * xTaskToQuery)
- {
- uint32_t ulNewBASEPRI;
- struct TCB_t * iftmp.69_1;
- struct TCB_t * iftmp.69_4;
- char * _5;
- <bb 2> [local count: 357913]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTaskToQuery_2(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 4>; [70.00%]
- <bb 3> [local count: 107374]:
- iftmp.69_4 ={v} pxCurrentTCB;
- <bb 4> [local count: 357913]:
- # iftmp.69_1 = PHI <iftmp.69_4(3), xTaskToQuery_2(D)(2)>
- # DEBUG pxTCB => iftmp.69_1
- # DEBUG BEGIN_STMT
- if (iftmp.69_1 == 0B)
- goto <bb 5>; [30.00%]
- else
- goto <bb 7>; [70.00%]
- <bb 5> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
- <bb 6> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 8> [local count: 1073741824]:
- goto <bb 6>; [100.00%]
- <bb 7> [local count: 250539]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _5 = &iftmp.69_1->pcTaskName[0];
- return _5;
- }
- uxTaskGetNumberOfTasks ()
- {
- UBaseType_t _2;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- _2 ={v} uxCurrentNumberOfTasks;
- return _2;
- }
- xTaskGetTickCountFromISR ()
- {
- TickType_t xReturn;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- # DEBUG uxSavedInterruptStatus => 0
- # DEBUG BEGIN_STMT
- xReturn_3 ={v} xTickCount;
- # DEBUG xReturn => xReturn_3
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return xReturn_3;
- }
- xTaskGetTickCount ()
- {
- TickType_t xTicks;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xTicks_2 ={v} xTickCount;
- # DEBUG xTicks => xTicks_2
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return xTicks_2;
- }
- xTaskResumeAll ()
- {
- BaseType_t D.8425;
- uint32_t ulNewBASEPRI;
- long unsigned int uxSchedulerSuspended.62_1;
- <bb 2> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => 0B
- # DEBUG BEGIN_STMT
- # DEBUG xAlreadyYielded => 0
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.62_1 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.62_1 == 0)
- goto <bb 3>; [67.00%]
- else
- goto <bb 5>; [33.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 6> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 52886]:
- _2 = xTaskResumeAll.part.0 ();
- return _2;
- }
- vTaskSuspendAll ()
- {
- long unsigned int uxSchedulerSuspended.61_1;
- long unsigned int _2;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.61_1 ={v} uxSchedulerSuspended;
- _2 = uxSchedulerSuspended.61_1 + 1;
- uxSchedulerSuspended ={v} _2;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("" : : : "memory");
- return;
- }
- vTaskEndScheduler ()
- {
- uint32_t ulNewBASEPRI;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- xSchedulerRunning ={v} 0;
- # DEBUG BEGIN_STMT
- vPortEndScheduler ();
- return;
- }
- vTaskStartScheduler ()
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- BaseType_t xReturn;
- long unsigned int vol.57_13;
- <bb 2> [local count: 395945]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn_6 = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
- # DEBUG xReturn => xReturn_6
- # DEBUG BEGIN_STMT
- if (xReturn_6 == 1)
- goto <bb 3>; [20.24%]
- else
- goto <bb 4>; [79.76%]
- <bb 3> [local count: 80139]:
- # DEBUG BEGIN_STMT
- xReturn_8 = xTimerCreateTimerTask ();
- # DEBUG xReturn => xReturn_8
- <bb 4> [local count: 395945]:
- # xReturn_1 = PHI <xReturn_6(2), xReturn_8(3)>
- # DEBUG xReturn => xReturn_1
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xReturn_1 == 1)
- goto <bb 5>; [20.24%]
- else
- goto <bb 6>; [79.76%]
- <bb 5> [local count: 80139]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime ={v} 4294967295;
- # DEBUG BEGIN_STMT
- xSchedulerRunning ={v} 1;
- # DEBUG BEGIN_STMT
- xTickCount ={v} 0;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xPortStartScheduler ();
- goto <bb 9>; [100.00%]
- <bb 6> [local count: 315806]:
- # DEBUG BEGIN_STMT
- if (xReturn_1 == -1)
- goto <bb 7>; [34.00%]
- else
- goto <bb 9>; [66.00%]
- <bb 7> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
- <bb 8> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 10> [local count: 1073741824]:
- goto <bb 8>; [100.00%]
- <bb 9> [local count: 288571]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vol.57_13 ={v} uxTopUsedPriority;
- return;
- }
- xTaskResumeFromISR (struct tskTaskControlBlock * xTaskToResume)
- {
- uint32_t ulOriginalBASEPRI;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- struct ListItem_t * const pxIndex;
- BaseType_t xYieldRequired;
- long int _1;
- long unsigned int uxSchedulerSuspended.54_2;
- long unsigned int _3;
- struct TCB_t * pxCurrentTCB.55_4;
- long unsigned int _5;
- struct ListItem_t * _6;
- long unsigned int _7;
- long unsigned int uxTopReadyPriority.56_8;
- struct xLIST_ITEM * _9;
- struct xLIST_ITEM * _10;
- struct List_t * _11;
- long unsigned int _12;
- long unsigned int _13;
- struct ListItem_t * _14;
- <bb 2> [local count: 230763]:
- # DEBUG BEGIN_STMT
- # DEBUG xYieldRequired => 0
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => xTaskToResume_20(D)
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTaskToResume_20(D) == 0B)
- goto <bb 3>; [46.53%]
- else
- goto <bb 5>; [53.47%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_35 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_35
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 14> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 123389]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mrs %0, basepri
- mov %1, %2
- msr basepri, %1
- isb
- dsb
- " : "=r" ulOriginalBASEPRI_36, "=r" ulNewBASEPRI_37 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_37
- # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_36
- # DEBUG BEGIN_STMT
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG ulOriginalBASEPRI => NULL
- # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_36
- # DEBUG BEGIN_STMT
- _1 = prvTaskIsTaskSuspended (xTaskToResume_20(D));
- if (_1 != 0)
- goto <bb 6>; [50.00%]
- else
- goto <bb 13>; [50.00%]
- <bb 6> [local count: 61694]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.54_2 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.54_2 == 0)
- goto <bb 7>; [67.00%]
- else
- goto <bb 12>; [33.00%]
- <bb 7> [local count: 41335]:
- # DEBUG BEGIN_STMT
- _3 = MEM[(struct TCB_t *)xTaskToResume_20(D)].uxPriority;
- pxCurrentTCB.55_4 ={v} pxCurrentTCB;
- _5 = pxCurrentTCB.55_4->uxPriority;
- if (_3 >= _5)
- goto <bb 8>; [50.00%]
- else
- goto <bb 9>; [50.00%]
- <bb 8> [local count: 20668]:
- # DEBUG BEGIN_STMT
- # DEBUG xYieldRequired => 1
- # DEBUG BEGIN_STMT
- xYieldPending ={v} 1;
- <bb 9> [local count: 41335]:
- # xYieldRequired_15 = PHI <0(7), 1(8)>
- # DEBUG xYieldRequired => xYieldRequired_15
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _6 = &MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem;
- uxListRemove (_6);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _7 = MEM[(struct TCB_t *)xTaskToResume_20(D)].uxPriority;
- uxTopReadyPriority.56_8 ={v} uxTopReadyPriority;
- if (_7 > uxTopReadyPriority.56_8)
- goto <bb 10>; [50.00%]
- else
- goto <bb 11>; [50.00%]
- <bb 10> [local count: 20668]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _7;
- <bb 11> [local count: 41335]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_28 = pxReadyTasksLists[_7].pxIndex;
- # DEBUG pxIndex => pxIndex_28
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pxNext = pxIndex_28;
- # DEBUG BEGIN_STMT
- _9 = pxIndex_28->pxPrevious;
- MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pxPrevious = _9;
- # DEBUG BEGIN_STMT
- _10 = pxIndex_28->pxPrevious;
- _10->pxNext = _6;
- # DEBUG BEGIN_STMT
- pxIndex_28->pxPrevious = _6;
- # DEBUG BEGIN_STMT
- _11 = &pxReadyTasksLists[_7];
- MEM[(struct TCB_t *)xTaskToResume_20(D)].xStateListItem.pvContainer = _11;
- # DEBUG BEGIN_STMT
- _12 ={v} pxReadyTasksLists[_7].uxNumberOfItems;
- _13 = _12 + 1;
- pxReadyTasksLists[_7].uxNumberOfItems ={v} _13;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 13>; [100.00%]
- <bb 12> [local count: 20359]:
- # DEBUG BEGIN_STMT
- _14 = &MEM[(struct TCB_t *)xTaskToResume_20(D)].xEventListItem;
- vListInsertEnd (&xPendingReadyList, _14);
- <bb 13> [local count: 123389]:
- # xYieldRequired_16 = PHI <0(5), 0(12), xYieldRequired_15(11)>
- # DEBUG xYieldRequired => xYieldRequired_16
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG ulNewMaskValue => ulOriginalBASEPRI_36
- # DEBUG INLINE_ENTRY vPortSetBASEPRI
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_36 : "memory");
- # DEBUG ulNewMaskValue => NULL
- # DEBUG BEGIN_STMT
- return xYieldRequired_16;
- }
- vTaskResume (struct tskTaskControlBlock * xTaskToResume)
- {
- uint32_t ulNewBASEPRI;
- struct ListItem_t * const pxIndex;
- struct TCB_t * pxCurrentTCB.51_1;
- long int _2;
- struct ListItem_t * _3;
- long unsigned int _4;
- long unsigned int uxTopReadyPriority.52_5;
- struct xLIST_ITEM * _6;
- struct xLIST_ITEM * _7;
- struct List_t * _8;
- long unsigned int _9;
- long unsigned int _10;
- struct TCB_t * pxCurrentTCB.53_11;
- long unsigned int _12;
- <bb 2> [local count: 357913]:
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => xTaskToResume_16(D)
- # DEBUG BEGIN_STMT
- if (xTaskToResume_16(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_33 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_33
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 13> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 250539]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.51_1 ={v} pxCurrentTCB;
- if (pxCurrentTCB.51_1 != xTaskToResume_16(D))
- goto <bb 6>; [53.47%]
- else
- goto <bb 12>; [46.53%]
- <bb 6> [local count: 133963]:
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _2 = prvTaskIsTaskSuspended (xTaskToResume_16(D));
- if (_2 != 0)
- goto <bb 7>; [33.00%]
- else
- goto <bb 11>; [67.00%]
- <bb 7> [local count: 44208]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _3 = &MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem;
- uxListRemove (_3);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _4 = MEM[(struct TCB_t *)xTaskToResume_16(D)].uxPriority;
- uxTopReadyPriority.52_5 ={v} uxTopReadyPriority;
- if (_4 > uxTopReadyPriority.52_5)
- goto <bb 8>; [50.00%]
- else
- goto <bb 9>; [50.00%]
- <bb 8> [local count: 22104]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _4;
- <bb 9> [local count: 44208]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_22 = pxReadyTasksLists[_4].pxIndex;
- # DEBUG pxIndex => pxIndex_22
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pxNext = pxIndex_22;
- # DEBUG BEGIN_STMT
- _6 = pxIndex_22->pxPrevious;
- MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pxPrevious = _6;
- # DEBUG BEGIN_STMT
- _7 = pxIndex_22->pxPrevious;
- _7->pxNext = _3;
- # DEBUG BEGIN_STMT
- pxIndex_22->pxPrevious = _3;
- # DEBUG BEGIN_STMT
- _8 = &pxReadyTasksLists[_4];
- MEM[(struct TCB_t *)xTaskToResume_16(D)].xStateListItem.pvContainer = _8;
- # DEBUG BEGIN_STMT
- _9 ={v} pxReadyTasksLists[_4].uxNumberOfItems;
- _10 = _9 + 1;
- pxReadyTasksLists[_4].uxNumberOfItems ={v} _10;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.53_11 ={v} pxCurrentTCB;
- _12 = pxCurrentTCB.53_11->uxPriority;
- if (_4 >= _12)
- goto <bb 10>; [50.00%]
- else
- goto <bb 11>; [50.00%]
- <bb 10> [local count: 22104]:
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 11> [local count: 133963]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- <bb 12> [local count: 250539]:
- # DEBUG BEGIN_STMT
- return;
- }
- prvTaskIsTaskSuspended (struct tskTaskControlBlock * const xTask)
- {
- uint32_t ulNewBASEPRI;
- BaseType_t xReturn;
- struct xLIST * _1;
- <bb 2> [local count: 357913]:
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 0
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => xTask_5(D)
- # DEBUG BEGIN_STMT
- if (xTask_5(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 8> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 250539]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = MEM[(const struct TCB_t *)xTask_5(D)].xStateListItem.pvContainer;
- if (_1 == &xSuspendedTaskList)
- goto <bb 6>; [30.00%]
- else
- goto <bb 7>; [70.00%]
- <bb 6> [local count: 75162]:
- xReturn_2 = prvTaskIsTaskSuspended.part.0 (xTask_5(D));
- <bb 7> [local count: 250539]:
- # xReturn_3 = PHI <0(5), xReturn_2(6)>
- # DEBUG xReturn => xReturn_3
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return xReturn_3;
- }
- vTaskSuspend (struct tskTaskControlBlock * xTaskToSuspend)
- {
- uint32_t ulNewBASEPRI;
- BaseType_t x;
- struct ListItem_t * _1;
- struct xLIST * _2;
- struct ListItem_t * _3;
- unsigned char _4;
- long int xSchedulerRunning.46_5;
- struct TCB_t * pxCurrentTCB.47_6;
- long int xSchedulerRunning.48_7;
- long unsigned int uxSchedulerSuspended.49_8;
- long unsigned int _9;
- long unsigned int uxCurrentNumberOfTasks.50_10;
- struct TCB_t * iftmp.45_12;
- struct TCB_t * iftmp.45_21;
- <bb 2> [local count: 1431653]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- if (xTaskToSuspend_20(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 4>; [70.00%]
- <bb 3> [local count: 429496]:
- iftmp.45_21 ={v} pxCurrentTCB;
- <bb 4> [local count: 1431653]:
- # iftmp.45_12 = PHI <iftmp.45_21(3), xTaskToSuspend_20(D)(2)>
- # DEBUG pxTCB => iftmp.45_12
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = &iftmp.45_12->xStateListItem;
- uxListRemove (_1);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = iftmp.45_12->xEventListItem.pvContainer;
- if (_2 != 0B)
- goto <bb 5>; [53.47%]
- else
- goto <bb 6>; [46.53%]
- <bb 5> [local count: 765505]:
- # DEBUG BEGIN_STMT
- _3 = &iftmp.45_12->xEventListItem;
- uxListRemove (_3);
- <bb 6> [local count: 1431653]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vListInsertEnd (&xSuspendedTaskList, _1);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG x => 0
- goto <bb 9>; [100.00%]
- <bb 7> [local count: 24598407]:
- # DEBUG BEGIN_STMT
- _4 ={v} iftmp.45_12->ucNotifyState[0];
- if (_4 == 1)
- goto <bb 8>; [67.00%]
- else
- goto <bb 24>; [33.00%]
- <bb 24> [local count: 8117474]:
- goto <bb 10>; [100.00%]
- <bb 8> [local count: 16480933]:
- # DEBUG BEGIN_STMT
- iftmp.45_12->ucNotifyState[0] ={v} 0;
- <bb 9> [local count: 17912586]:
- # x_14 = PHI <0(6), 1(8)>
- <bb 10> [local count: 26030061]:
- # x_11 = PHI <x_14(9), 1(24)>
- # DEBUG x => x_11
- # DEBUG BEGIN_STMT
- if (x_11 == 0)
- goto <bb 7>; [94.50%]
- else
- goto <bb 11>; [5.50%]
- <bb 11> [local count: 1431653]:
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- xSchedulerRunning.46_5 ={v} xSchedulerRunning;
- if (xSchedulerRunning.46_5 != 0)
- goto <bb 12>; [33.00%]
- else
- goto <bb 13>; [67.00%]
- <bb 12> [local count: 472446]:
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- prvResetNextTaskUnblockTime ();
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- <bb 13> [local count: 1431653]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.47_6 ={v} pxCurrentTCB;
- if (pxCurrentTCB.47_6 == iftmp.45_12)
- goto <bb 14>; [30.00%]
- else
- goto <bb 22>; [70.00%]
- <bb 14> [local count: 429496]:
- # DEBUG BEGIN_STMT
- xSchedulerRunning.48_7 ={v} xSchedulerRunning;
- if (xSchedulerRunning.48_7 != 0)
- goto <bb 15>; [50.00%]
- else
- goto <bb 19>; [50.00%]
- <bb 15> [local count: 214748]:
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.49_8 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.49_8 != 0)
- goto <bb 16>; [50.00%]
- else
- goto <bb 18>; [50.00%]
- <bb 16> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_36 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_36
- <bb 17> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 23> [local count: 1073741824]:
- goto <bb 17>; [100.00%]
- <bb 18> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- goto <bb 22>; [100.00%]
- <bb 19> [local count: 214748]:
- # DEBUG BEGIN_STMT
- _9 ={v} xSuspendedTaskList.uxNumberOfItems;
- uxCurrentNumberOfTasks.50_10 ={v} uxCurrentNumberOfTasks;
- if (_9 == uxCurrentNumberOfTasks.50_10)
- goto <bb 20>; [51.12%]
- else
- goto <bb 21>; [48.88%]
- <bb 20> [local count: 109779]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB ={v} 0B;
- goto <bb 22>; [100.00%]
- <bb 21> [local count: 104969]:
- # DEBUG BEGIN_STMT
- vTaskSwitchContext ();
- <bb 22> [local count: 1324279]:
- # DEBUG BEGIN_STMT
- return;
- }
- vTaskPrioritySet (struct tskTaskControlBlock * xTask, UBaseType_t uxNewPriority)
- {
- uint32_t ulNewBASEPRI;
- struct ListItem_t * const pxIndex;
- BaseType_t xYieldRequired;
- UBaseType_t uxPriorityUsedOnEntry;
- UBaseType_t uxCurrentBasePriority;
- struct TCB_t * pxCurrentTCB.41_1;
- struct TCB_t * pxCurrentTCB.42_2;
- long unsigned int _3;
- struct TCB_t * pxCurrentTCB.43_4;
- long unsigned int _5;
- signed int _6;
- long unsigned int _7;
- struct xLIST * _8;
- struct List_t * _9;
- struct ListItem_t * _10;
- long unsigned int _11;
- long unsigned int uxTopReadyPriority.44_12;
- struct xLIST_ITEM * _13;
- struct xLIST_ITEM * _14;
- struct List_t * _15;
- long unsigned int _16;
- long unsigned int _17;
- struct TCB_t * iftmp.40_19;
- struct TCB_t * iftmp.40_29;
- <bb 2> [local count: 160260]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG xYieldRequired => 0
- # DEBUG BEGIN_STMT
- if (uxNewPriority_25(D) > 4)
- goto <bb 3>; [67.00%]
- else
- goto <bb 5>; [33.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_48 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_48
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 25> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG uxNewPriority => uxNewPriority_25(D)
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- if (xTask_28(D) == 0B)
- goto <bb 6>; [30.00%]
- else
- goto <bb 7>; [70.00%]
- <bb 6> [local count: 15866]:
- iftmp.40_29 ={v} pxCurrentTCB;
- <bb 7> [local count: 52886]:
- # iftmp.40_19 = PHI <iftmp.40_29(6), xTask_28(D)(5)>
- # DEBUG pxTCB => iftmp.40_19
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxCurrentBasePriority_30 = iftmp.40_19->uxBasePriority;
- # DEBUG uxCurrentBasePriority => uxCurrentBasePriority_30
- # DEBUG BEGIN_STMT
- if (uxNewPriority_25(D) != uxCurrentBasePriority_30)
- goto <bb 8>; [66.00%]
- else
- goto <bb 24>; [34.00%]
- <bb 8> [local count: 34905]:
- # DEBUG BEGIN_STMT
- if (uxNewPriority_25(D) > uxCurrentBasePriority_30)
- goto <bb 9>; [50.00%]
- else
- goto <bb 12>; [50.00%]
- <bb 9> [local count: 17452]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.41_1 ={v} pxCurrentTCB;
- if (pxCurrentTCB.41_1 != iftmp.40_19)
- goto <bb 10>; [70.00%]
- else
- goto <bb 14>; [30.00%]
- <bb 10> [local count: 12217]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.42_2 ={v} pxCurrentTCB;
- _3 = pxCurrentTCB.42_2->uxPriority;
- if (_3 <= uxNewPriority_25(D))
- goto <bb 11>; [50.00%]
- else
- goto <bb 14>; [50.00%]
- <bb 11> [local count: 6108]:
- # DEBUG BEGIN_STMT
- # DEBUG xYieldRequired => 1
- goto <bb 14>; [100.00%]
- <bb 12> [local count: 17452]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.43_4 ={v} pxCurrentTCB;
- if (pxCurrentTCB.43_4 == iftmp.40_19)
- goto <bb 13>; [30.00%]
- else
- goto <bb 14>; [70.00%]
- <bb 13> [local count: 5236]:
- # DEBUG BEGIN_STMT
- # DEBUG xYieldRequired => 1
- <bb 14> [local count: 34905]:
- # xYieldRequired_18 = PHI <1(11), 0(12), 1(13), 0(9), 0(10)>
- # DEBUG xYieldRequired => xYieldRequired_18
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxPriorityUsedOnEntry_31 = iftmp.40_19->uxPriority;
- # DEBUG uxPriorityUsedOnEntry => uxPriorityUsedOnEntry_31
- # DEBUG BEGIN_STMT
- if (uxCurrentBasePriority_30 == uxPriorityUsedOnEntry_31)
- goto <bb 15>; [34.00%]
- else
- goto <bb 16>; [66.00%]
- <bb 15> [local count: 11868]:
- # DEBUG BEGIN_STMT
- iftmp.40_19->uxPriority = uxNewPriority_25(D);
- <bb 16> [local count: 34905]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- iftmp.40_19->uxBasePriority = uxNewPriority_25(D);
- # DEBUG BEGIN_STMT
- _5 = iftmp.40_19->xEventListItem.xItemValue;
- _6 = (signed int) _5;
- if (_6 >= 0)
- goto <bb 17>; [59.00%]
- else
- goto <bb 18>; [41.00%]
- <bb 17> [local count: 20594]:
- # DEBUG BEGIN_STMT
- _7 = 5 - uxNewPriority_25(D);
- iftmp.40_19->xEventListItem.xItemValue = _7;
- <bb 18> [local count: 34905]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _8 = iftmp.40_19->xStateListItem.pvContainer;
- _9 = &pxReadyTasksLists[uxPriorityUsedOnEntry_31];
- if (_8 == _9)
- goto <bb 19>; [17.43%]
- else
- goto <bb 22>; [82.57%]
- <bb 19> [local count: 6084]:
- # DEBUG BEGIN_STMT
- _10 = &iftmp.40_19->xStateListItem;
- uxListRemove (_10);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _11 = iftmp.40_19->uxPriority;
- uxTopReadyPriority.44_12 ={v} uxTopReadyPriority;
- if (_11 > uxTopReadyPriority.44_12)
- goto <bb 20>; [50.00%]
- else
- goto <bb 21>; [50.00%]
- <bb 20> [local count: 3042]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _11;
- <bb 21> [local count: 6084]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_37 = pxReadyTasksLists[_11].pxIndex;
- # DEBUG pxIndex => pxIndex_37
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- iftmp.40_19->xStateListItem.pxNext = pxIndex_37;
- # DEBUG BEGIN_STMT
- _13 = pxIndex_37->pxPrevious;
- iftmp.40_19->xStateListItem.pxPrevious = _13;
- # DEBUG BEGIN_STMT
- _14 = pxIndex_37->pxPrevious;
- _14->pxNext = _10;
- # DEBUG BEGIN_STMT
- pxIndex_37->pxPrevious = _10;
- # DEBUG BEGIN_STMT
- _15 = &pxReadyTasksLists[_11];
- iftmp.40_19->xStateListItem.pvContainer = _15;
- # DEBUG BEGIN_STMT
- _16 ={v} pxReadyTasksLists[_11].uxNumberOfItems;
- _17 = _16 + 1;
- pxReadyTasksLists[_11].uxNumberOfItems ={v} _17;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 22> [local count: 34905]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xYieldRequired_18 != 0)
- goto <bb 23>; [50.00%]
- else
- goto <bb 24>; [50.00%]
- <bb 23> [local count: 17452]:
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 24> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- return;
- }
- uxTaskPriorityGetFromISR (struct tskTaskControlBlock * const xTask)
- {
- uint32_t ulOriginalBASEPRI;
- uint32_t ulNewBASEPRI;
- UBaseType_t uxReturn;
- const struct TCB_t * iftmp.39_1;
- const struct TCB_t * iftmp.39_5;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mrs %0, basepri
- mov %1, %2
- msr basepri, %1
- isb
- dsb
- " : "=r" ulOriginalBASEPRI_7, "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
- # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_7
- # DEBUG BEGIN_STMT
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG ulOriginalBASEPRI => NULL
- # DEBUG uxSavedInterruptState => ulOriginalBASEPRI_7
- # DEBUG BEGIN_STMT
- if (xTask_4(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 4>; [70.00%]
- <bb 3> [local count: 322122547]:
- iftmp.39_5 ={v} pxCurrentTCB;
- <bb 4> [local count: 1073741824]:
- # iftmp.39_1 = PHI <iftmp.39_5(3), xTask_4(D)(2)>
- # DEBUG pxTCB => iftmp.39_1
- # DEBUG BEGIN_STMT
- uxReturn_6 = iftmp.39_1->uxPriority;
- # DEBUG uxReturn => uxReturn_6
- # DEBUG BEGIN_STMT
- # DEBUG ulNewMaskValue => ulOriginalBASEPRI_7
- # DEBUG INLINE_ENTRY vPortSetBASEPRI
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_7 : "memory");
- # DEBUG ulNewMaskValue => NULL
- # DEBUG BEGIN_STMT
- return uxReturn_6;
- }
- uxTaskPriorityGet (struct tskTaskControlBlock * const xTask)
- {
- UBaseType_t uxReturn;
- const struct TCB_t * iftmp.38_1;
- const struct TCB_t * iftmp.38_5;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- if (xTask_4(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 4>; [70.00%]
- <bb 3> [local count: 322122547]:
- iftmp.38_5 ={v} pxCurrentTCB;
- <bb 4> [local count: 1073741824]:
- # iftmp.38_1 = PHI <iftmp.38_5(3), xTask_4(D)(2)>
- # DEBUG pxTCB => iftmp.38_1
- # DEBUG BEGIN_STMT
- uxReturn_6 = iftmp.38_1->uxPriority;
- # DEBUG uxReturn => uxReturn_6
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- return uxReturn_6;
- }
- eTaskGetState (struct tskTaskControlBlock * xTask)
- {
- uint32_t ulNewBASEPRI;
- BaseType_t x;
- const struct List_t * pxOverflowedDelayedList;
- const struct List_t * pxDelayedList;
- const struct List_t * pxStateList;
- eTaskState eReturn;
- struct TCB_t * pxCurrentTCB.37_1;
- struct xLIST * _2;
- <bb 2> [local count: 357913]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG pxTCB => xTask_5(D)
- # DEBUG BEGIN_STMT
- if (xTask_5(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
- <bb 4> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 15> [local count: 1073741824]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 250539]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.37_1 ={v} pxCurrentTCB;
- if (pxCurrentTCB.37_1 == xTask_5(D))
- goto <bb 14>; [46.53%]
- else
- goto <bb 6>; [53.47%]
- <bb 6> [local count: 133963]:
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- pxStateList_9 = MEM[(const struct TCB_t *)xTask_5(D)].xStateListItem.pvContainer;
- # DEBUG pxStateList => pxStateList_9
- # DEBUG BEGIN_STMT
- pxDelayedList_10 ={v} pxDelayedTaskList;
- # DEBUG pxDelayedList => pxDelayedList_10
- # DEBUG BEGIN_STMT
- pxOverflowedDelayedList_11 ={v} pxOverflowDelayedTaskList;
- # DEBUG pxOverflowedDelayedList => pxOverflowedDelayedList_11
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- if (pxStateList_9 == pxDelayedList_10)
- goto <bb 14>; [18.75%]
- else
- goto <bb 7>; [81.25%]
- <bb 7> [local count: 108845]:
- if (pxStateList_9 == pxOverflowedDelayedList_11)
- goto <bb 14>; [18.75%]
- else
- goto <bb 8>; [81.25%]
- <bb 8> [local count: 88437]:
- # DEBUG BEGIN_STMT
- if (pxStateList_9 == &xSuspendedTaskList)
- goto <bb 9>; [30.00%]
- else
- goto <bb 11>; [70.00%]
- <bb 9> [local count: 26531]:
- # DEBUG BEGIN_STMT
- _2 = MEM[(const struct TCB_t *)xTask_5(D)].xEventListItem.pvContainer;
- if (_2 == 0B)
- goto <bb 10>; [44.32%]
- else
- goto <bb 14>; [55.68%]
- <bb 10> [local count: 11759]:
- # x_4 = PHI <0(9)>
- eReturn_13 = eTaskGetState.part.0 (xTask_5(D));
- goto <bb 14>; [100.00%]
- <bb 11> [local count: 61906]:
- # DEBUG BEGIN_STMT
- if (pxStateList_9 == &xTasksWaitingTermination)
- goto <bb 14>; [18.75%]
- else
- goto <bb 12>; [81.25%]
- <bb 12> [local count: 50298]:
- if (pxStateList_9 == 0B)
- goto <bb 14>; [18.75%]
- else
- goto <bb 13>; [81.25%]
- <bb 13> [local count: 40867]:
- # DEBUG BEGIN_STMT
- # DEBUG eReturn => 1
- <bb 14> [local count: 250539]:
- # eReturn_3 = PHI <0(5), 2(7), 2(9), 4(12), 1(13), 4(11), eReturn_13(10), 2(6)>
- # DEBUG eReturn => eReturn_3
- # DEBUG BEGIN_STMT
- return eReturn_3;
- }
- vTaskDelay (const TickType_t xTicksToDelay)
- {
- uint32_t ulNewBASEPRI;
- BaseType_t xAlreadyYielded;
- long unsigned int uxSchedulerSuspended.36_1;
- <bb 2> [local count: 320519]:
- # DEBUG BEGIN_STMT
- # DEBUG xAlreadyYielded => 0
- # DEBUG BEGIN_STMT
- if (xTicksToDelay_3(D) != 0)
- goto <bb 4>; [50.00%]
- else
- goto <bb 8>; [50.00%]
- <bb 4> [local count: 160260]:
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.36_1 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.36_1 != 0)
- goto <bb 5>; [67.00%]
- else
- goto <bb 7>; [33.00%]
- <bb 5> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_13
- <bb 6> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 10> [local count: 1073741824]:
- goto <bb 6>; [100.00%]
- <bb 7> [local count: 52886]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvAddCurrentTaskToDelayedList (xTicksToDelay_3(D), 0);
- # DEBUG BEGIN_STMT
- xAlreadyYielded_8 = xTaskResumeAll ();
- # DEBUG xAlreadyYielded => xAlreadyYielded_8
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xAlreadyYielded_8 == 0)
- goto <bb 8>; [50.00%]
- else
- goto <bb 9>; [50.00%]
- <bb 8> [local count: 186703]:
- # DEBUG xAlreadyYielded => NULL
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 9> [local count: 213145]:
- # DEBUG BEGIN_STMT
- return;
- }
- xTaskDelayUntil (TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement)
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- uint32_t ulNewBASEPRI;
- const TickType_t xConstTickCount;
- BaseType_t xShouldDelay;
- BaseType_t xAlreadyYielded;
- TickType_t xTimeToWake;
- long unsigned int uxSchedulerSuspended.22_1;
- long unsigned int _2;
- long unsigned int _3;
- <bb 2> [local count: 306783]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG xShouldDelay => 0
- # DEBUG BEGIN_STMT
- if (pxPreviousWakeTime_7(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 92035]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_21 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_21
- <bb 4> [local count: 920350133]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 25> [local count: 920350133]:
- goto <bb 4>; [100.00%]
- <bb 5> [local count: 214748]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTimeIncrement_8(D) == 0)
- goto <bb 6>; [50.00%]
- else
- goto <bb 8>; [50.00%]
- <bb 6> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_22 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_22
- <bb 7> [local count: 1073741823]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 26> [local count: 1073741824]:
- goto <bb 7>; [100.00%]
- <bb 8> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.22_1 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.22_1 != 0)
- goto <bb 9>; [67.00%]
- else
- goto <bb 11>; [33.00%]
- <bb 9> [local count: 71941]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
- <bb 10> [local count: 719407021]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 27> [local count: 719407021]:
- goto <bb 10>; [100.00%]
- <bb 11> [local count: 35433]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- xConstTickCount_11 ={v} xTickCount;
- # DEBUG xConstTickCount => xConstTickCount_11
- # DEBUG BEGIN_STMT
- _2 = *pxPreviousWakeTime_7(D);
- xTimeToWake_12 = _2 + xTimeIncrement_8(D);
- # DEBUG xTimeToWake => xTimeToWake_12
- # DEBUG BEGIN_STMT
- if (_2 > xConstTickCount_11)
- goto <bb 12>; [50.00%]
- else
- goto <bb 17>; [50.00%]
- <bb 12> [local count: 17717]:
- # DEBUG BEGIN_STMT
- if (_2 > xTimeToWake_12)
- goto <bb 14>; [50.00%]
- else
- goto <bb 13>; [50.00%]
- <bb 13> [local count: 8858]:
- # DEBUG xShouldDelay => 0
- # DEBUG BEGIN_STMT
- *pxPreviousWakeTime_7(D) = xTimeToWake_12;
- # DEBUG BEGIN_STMT
- goto <bb 22>; [100.00%]
- <bb 14> [local count: 8858]:
- if (xConstTickCount_11 < xTimeToWake_12)
- goto <bb 16>; [50.00%]
- else
- goto <bb 15>; [50.00%]
- <bb 15> [local count: 4429]:
- # DEBUG xShouldDelay => 0
- # DEBUG BEGIN_STMT
- *pxPreviousWakeTime_7(D) = xTimeToWake_12;
- # DEBUG BEGIN_STMT
- goto <bb 22>; [100.00%]
- <bb 16> [local count: 4429]:
- # DEBUG BEGIN_STMT
- # DEBUG xShouldDelay => 1
- # DEBUG BEGIN_STMT
- *pxPreviousWakeTime_7(D) = xTimeToWake_12;
- # DEBUG BEGIN_STMT
- goto <bb 21>; [100.00%]
- <bb 17> [local count: 17717]:
- # DEBUG BEGIN_STMT
- if (_2 > xTimeToWake_12)
- goto <bb 19>; [50.00%]
- else
- goto <bb 18>; [50.00%]
- <bb 18> [local count: 8858]:
- if (xConstTickCount_11 < xTimeToWake_12)
- goto <bb 19>; [50.00%]
- else
- goto <bb 20>; [50.00%]
- <bb 19> [local count: 13288]:
- # DEBUG BEGIN_STMT
- # DEBUG xShouldDelay => 1
- # DEBUG BEGIN_STMT
- *pxPreviousWakeTime_7(D) = xTimeToWake_12;
- # DEBUG BEGIN_STMT
- goto <bb 21>; [100.00%]
- <bb 20> [local count: 4429]:
- # DEBUG xShouldDelay => 0
- # DEBUG BEGIN_STMT
- *pxPreviousWakeTime_7(D) = xTimeToWake_12;
- # DEBUG BEGIN_STMT
- goto <bb 22>; [100.00%]
- <bb 21> [local count: 17717]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _3 = xTimeToWake_12 - xConstTickCount_11;
- prvAddCurrentTaskToDelayedList (_3, 0);
- <bb 22> [local count: 35433]:
- # xShouldDelay_29 = PHI <0(20), 1(21), 0(15), 0(13)>
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xAlreadyYielded_16 = xTaskResumeAll ();
- # DEBUG xAlreadyYielded => xAlreadyYielded_16
- # DEBUG BEGIN_STMT
- if (xAlreadyYielded_16 == 0)
- goto <bb 23>; [50.00%]
- else
- goto <bb 24>; [50.00%]
- <bb 23> [local count: 17717]:
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 24> [local count: 35433]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return xShouldDelay_29;
- }
- vTaskDelete (struct tskTaskControlBlock * xTaskToDelete)
- {
- uint32_t ulNewBASEPRI;
- struct ListItem_t * _1;
- struct xLIST * _2;
- struct ListItem_t * _3;
- long unsigned int uxTaskNumber.13_4;
- long unsigned int _5;
- struct TCB_t * pxCurrentTCB.14_6;
- long unsigned int uxDeletedTasksWaitingCleanUp.15_7;
- long unsigned int _8;
- long unsigned int uxCurrentNumberOfTasks.16_9;
- long unsigned int _10;
- long int xSchedulerRunning.17_11;
- struct TCB_t * pxCurrentTCB.18_12;
- long unsigned int uxSchedulerSuspended.19_13;
- struct TCB_t * iftmp.12_14;
- struct TCB_t * iftmp.12_21;
- <bb 2> [local count: 1431653]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- if (xTaskToDelete_20(D) == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 4>; [70.00%]
- <bb 3> [local count: 429496]:
- iftmp.12_21 ={v} pxCurrentTCB;
- <bb 4> [local count: 1431653]:
- # iftmp.12_14 = PHI <iftmp.12_21(3), xTaskToDelete_20(D)(2)>
- # DEBUG pxTCB => iftmp.12_14
- # DEBUG BEGIN_STMT
- _1 = &iftmp.12_14->xStateListItem;
- uxListRemove (_1);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = iftmp.12_14->xEventListItem.pvContainer;
- if (_2 != 0B)
- goto <bb 5>; [53.47%]
- else
- goto <bb 6>; [46.53%]
- <bb 5> [local count: 765505]:
- # DEBUG BEGIN_STMT
- _3 = &iftmp.12_14->xEventListItem;
- uxListRemove (_3);
- <bb 6> [local count: 1431653]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxTaskNumber.13_4 = uxTaskNumber;
- _5 = uxTaskNumber.13_4 + 1;
- uxTaskNumber = _5;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.14_6 ={v} pxCurrentTCB;
- if (pxCurrentTCB.14_6 == iftmp.12_14)
- goto <bb 7>; [30.00%]
- else
- goto <bb 8>; [70.00%]
- <bb 7> [local count: 429496]:
- # DEBUG BEGIN_STMT
- vListInsertEnd (&xTasksWaitingTermination, _1);
- # DEBUG BEGIN_STMT
- uxDeletedTasksWaitingCleanUp.15_7 ={v} uxDeletedTasksWaitingCleanUp;
- _8 = uxDeletedTasksWaitingCleanUp.15_7 + 1;
- uxDeletedTasksWaitingCleanUp ={v} _8;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 9>; [100.00%]
- <bb 8> [local count: 1002157]:
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.16_9 ={v} uxCurrentNumberOfTasks;
- _10 = uxCurrentNumberOfTasks.16_9 + 4294967295;
- uxCurrentNumberOfTasks ={v} _10;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvDeleteTCB (iftmp.12_14);
- # DEBUG BEGIN_STMT
- prvResetNextTaskUnblockTime ();
- <bb 9> [local count: 1431653]:
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- xSchedulerRunning.17_11 ={v} xSchedulerRunning;
- if (xSchedulerRunning.17_11 != 0)
- goto <bb 10>; [50.00%]
- else
- goto <bb 15>; [50.00%]
- <bb 10> [local count: 715827]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.18_12 ={v} pxCurrentTCB;
- if (pxCurrentTCB.18_12 == iftmp.12_14)
- goto <bb 11>; [30.00%]
- else
- goto <bb 15>; [70.00%]
- <bb 11> [local count: 214748]:
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.19_13 ={v} uxSchedulerSuspended;
- if (uxSchedulerSuspended.19_13 != 0)
- goto <bb 12>; [50.00%]
- else
- goto <bb 14>; [50.00%]
- <bb 12> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI_34 : "i" 16 : "memory");
- # DEBUG ulNewBASEPRI => ulNewBASEPRI_34
- <bb 13> [local count: 1073741824]:
- # DEBUG ulNewBASEPRI => NULL
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 16> [local count: 1073741824]:
- goto <bb 13>; [100.00%]
- <bb 14> [local count: 107374]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 15> [local count: 1324279]:
- # DEBUG BEGIN_STMT
- return;
- }
- prvAddNewTaskToReadyList (struct TCB_t * pxNewTCB)
- {
- struct ListItem_t * const pxIndex;
- long unsigned int uxCurrentNumberOfTasks.2_1;
- long unsigned int _2;
- struct TCB_t * pxCurrentTCB.3_3;
- long unsigned int uxCurrentNumberOfTasks.4_4;
- long int xSchedulerRunning.5_5;
- struct TCB_t * pxCurrentTCB.6_6;
- long unsigned int _7;
- long unsigned int _8;
- long unsigned int uxTaskNumber.7_9;
- long unsigned int _10;
- long unsigned int _11;
- long unsigned int uxTopReadyPriority.9_12;
- struct xLIST_ITEM * _13;
- struct xLIST_ITEM * _14;
- struct ListItem_t * _15;
- struct List_t * _16;
- long unsigned int _17;
- long unsigned int _18;
- long int xSchedulerRunning.10_19;
- struct TCB_t * pxCurrentTCB.11_20;
- long unsigned int _21;
- long unsigned int _22;
- <bb 2> [local count: 1073741821]:
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.2_1 ={v} uxCurrentNumberOfTasks;
- _2 = uxCurrentNumberOfTasks.2_1 + 1;
- uxCurrentNumberOfTasks ={v} _2;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.3_3 ={v} pxCurrentTCB;
- if (pxCurrentTCB.3_3 == 0B)
- goto <bb 3>; [30.00%]
- else
- goto <bb 5>; [70.00%]
- <bb 3> [local count: 322122546]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB ={v} pxNewTCB_29(D);
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.4_4 ={v} uxCurrentNumberOfTasks;
- if (uxCurrentNumberOfTasks.4_4 == 1)
- goto <bb 4>; [20.24%]
- else
- goto <bb 8>; [79.76%]
- <bb 4> [local count: 65197603]:
- # DEBUG BEGIN_STMT
- prvInitialiseTaskLists ();
- goto <bb 8>; [100.00%]
- <bb 5> [local count: 751619275]:
- # DEBUG BEGIN_STMT
- xSchedulerRunning.5_5 ={v} xSchedulerRunning;
- if (xSchedulerRunning.5_5 == 0)
- goto <bb 6>; [50.00%]
- else
- goto <bb 8>; [50.00%]
- <bb 6> [local count: 375809637]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.6_6 ={v} pxCurrentTCB;
- _7 = pxCurrentTCB.6_6->uxPriority;
- _8 = pxNewTCB_29(D)->uxPriority;
- if (_7 <= _8)
- goto <bb 7>; [50.00%]
- else
- goto <bb 8>; [50.00%]
- <bb 7> [local count: 187904819]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB ={v} pxNewTCB_29(D);
- <bb 8> [local count: 1073741823]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxTaskNumber.7_9 = uxTaskNumber;
- _10 = uxTaskNumber.7_9 + 1;
- uxTaskNumber = _10;
- # DEBUG BEGIN_STMT
- pxNewTCB_29(D)->uxTCBNumber = _10;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _11 = pxNewTCB_29(D)->uxPriority;
- uxTopReadyPriority.9_12 ={v} uxTopReadyPriority;
- if (_11 > uxTopReadyPriority.9_12)
- goto <bb 9>; [50.00%]
- else
- goto <bb 10>; [50.00%]
- <bb 9> [local count: 536870911]:
- # DEBUG BEGIN_STMT
- uxTopReadyPriority ={v} _11;
- <bb 10> [local count: 1073741823]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxIndex_36 = pxReadyTasksLists[_11].pxIndex;
- # DEBUG pxIndex => pxIndex_36
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxNewTCB_29(D)->xStateListItem.pxNext = pxIndex_36;
- # DEBUG BEGIN_STMT
- _13 = pxIndex_36->pxPrevious;
- pxNewTCB_29(D)->xStateListItem.pxPrevious = _13;
- # DEBUG BEGIN_STMT
- _14 = pxIndex_36->pxPrevious;
- _15 = &pxNewTCB_29(D)->xStateListItem;
- _14->pxNext = _15;
- # DEBUG BEGIN_STMT
- pxIndex_36->pxPrevious = _15;
- # DEBUG BEGIN_STMT
- _16 = &pxReadyTasksLists[_11];
- pxNewTCB_29(D)->xStateListItem.pvContainer = _16;
- # DEBUG BEGIN_STMT
- _17 ={v} pxReadyTasksLists[_11].uxNumberOfItems;
- _18 = _17 + 1;
- pxReadyTasksLists[_11].uxNumberOfItems ={v} _18;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- xSchedulerRunning.10_19 ={v} xSchedulerRunning;
- if (xSchedulerRunning.10_19 != 0)
- goto <bb 11>; [50.00%]
- else
- goto <bb 13>; [50.00%]
- <bb 11> [local count: 536870911]:
- # DEBUG BEGIN_STMT
- pxCurrentTCB.11_20 ={v} pxCurrentTCB;
- _21 = pxCurrentTCB.11_20->uxPriority;
- _22 = pxNewTCB_29(D)->uxPriority;
- if (_21 < _22)
- goto <bb 12>; [50.00%]
- else
- goto <bb 13>; [50.00%]
- <bb 12> [local count: 268435456]:
- # DEBUG BEGIN_STMT
- MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 13> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- 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;
- unsigned int _1;
- unsigned int _2;
- <bb 2> [local count: 1073741824]:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = (unsigned int) usStackDepth_6(D);
- _2 = _1 * 4;
- pxStack_9 = pvPortMalloc (_2);
- # DEBUG pxStack => pxStack_9
- # DEBUG BEGIN_STMT
- if (pxStack_9 != 0B)
- goto <bb 4>; [53.47%]
- else
- goto <bb 9>; [46.53%]
- <bb 4> [local count: 574129754]:
- # DEBUG BEGIN_STMT
- pxNewTCB_11 = pvPortMalloc (88);
- # DEBUG pxNewTCB => pxNewTCB_11
- # DEBUG BEGIN_STMT
- if (pxNewTCB_11 != 0B)
- goto <bb 5>; [82.57%]
- else
- goto <bb 6>; [17.43%]
- <bb 5> [local count: 474058937]:
- # DEBUG BEGIN_STMT
- pxNewTCB_11->pxStack = pxStack_9;
- goto <bb 7>; [100.00%]
- <bb 6> [local count: 100070816]:
- # DEBUG BEGIN_STMT
- vPortFree (pxStack_9);
- <bb 7> [local count: 574129754]:
- # DEBUG pxNewTCB => pxNewTCB_11
- # DEBUG BEGIN_STMT
- if (pxNewTCB_11 != 0B)
- goto <bb 8>; [53.47%]
- else
- goto <bb 9>; [46.53%]
- <bb 8> [local count: 306987179]:
- # DEBUG BEGIN_STMT
- # DEBUG D#1 => 0B
- prvInitialiseNewTask.isra.0 (pxTaskCode_14(D), pcName_15(D), _1, pvParameters_16(D), uxPriority_17(D), pxCreatedTask_18(D), pxNewTCB_11);
- # DEBUG BEGIN_STMT
- prvAddNewTaskToReadyList (pxNewTCB_11);
- # DEBUG BEGIN_STMT
- # DEBUG xReturn => 1
- <bb 9> [local count: 1073741824]:
- # xReturn_3 = PHI <1(8), -1(7), -1(2)>
- # DEBUG pxNewTCB => NULL
- # DEBUG xReturn => xReturn_3
- # DEBUG BEGIN_STMT
- return xReturn_3;
- }
|