queue.c.077i.pure-const 278 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694
  1. local analysis of vQueueUnregisterQueue.part.0
  2. scanning: __asm__ __volatile__(" mov %0, %1
  3. msr basepri, %0
  4. isb
  5. dsb
  6. " : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
  7. memory asm clobber is not const/pure
  8. volatile is not const/pure
  9. Function is locally looping.
  10. Function is locally pure.
  11. Function can locally free.
  12. local analysis of xQueueGenericReset.part.0
  13. scanning: vPortEnterCritical ();
  14. scanning: _2 = MEM[(struct Queue_t *)xQueue_1(D)].pcHead;
  15. Indirect ref read is not const
  16. scanning: _3 = MEM[(struct Queue_t *)xQueue_1(D)].uxLength;
  17. Indirect ref read is not const
  18. scanning: _4 = MEM[(struct Queue_t *)xQueue_1(D)].uxItemSize;
  19. Indirect ref read is not const
  20. scanning: _5 = _3 * _4;
  21. scanning: _6 = _2 + _5;
  22. scanning: MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcTail = _6;
  23. Indirect ref write is not const/pure
  24. scanning: MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting ={v} 0;
  25. Volatile stmt is not const/pure
  26. Indirect ref write is not const/pure
  27. scanning: MEM[(struct Queue_t *)xQueue_1(D)].pcWriteTo = _2;
  28. Indirect ref write is not const/pure
  29. scanning: _7 = _3 + 4294967295;
  30. scanning: _8 = _4 * _7;
  31. scanning: _9 = _2 + _8;
  32. scanning: MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcReadFrom = _9;
  33. Indirect ref write is not const/pure
  34. scanning: MEM[(struct Queue_t *)xQueue_1(D)].cRxLock ={v} -1;
  35. Volatile stmt is not const/pure
  36. Indirect ref write is not const/pure
  37. scanning: MEM[(struct Queue_t *)xQueue_1(D)].cTxLock ={v} -1;
  38. Volatile stmt is not const/pure
  39. Indirect ref write is not const/pure
  40. scanning: if (xNewQueue_10(D) == 0)
  41. scanning: _11 ={v} MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend.uxNumberOfItems;
  42. Volatile stmt is not const/pure
  43. Indirect ref read is not const
  44. scanning: if (_11 != 0)
  45. scanning: _12 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend;
  46. scanning: _13 = xTaskRemoveFromEventList (_12);
  47. scanning: if (_13 != 0)
  48. scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  49. Volatile stmt is not const/pure
  50. Volatile indirect ref is not const/pure
  51. scanning: __asm__ __volatile__("dsb" : : : "memory");
  52. memory asm clobber is not const/pure
  53. volatile is not const/pure
  54. scanning: __asm__ __volatile__("isb");
  55. memory asm clobber is not const/pure
  56. volatile is not const/pure
  57. scanning: _14 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend;
  58. scanning: vListInitialise (_14);
  59. scanning: _15 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToReceive;
  60. scanning: vListInitialise (_15);
  61. scanning: vPortExitCritical ();
  62. scanning: return 1;
  63. Function is locally looping.
  64. Function can locally free.
  65. local analysis of vQueueWaitForMessageRestricted
  66. scanning: vPortEnterCritical ();
  67. scanning: _1 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cRxLock;
  68. Volatile stmt is not const/pure
  69. Indirect ref read is not const
  70. scanning: if (_1 == -1)
  71. scanning: MEM[(struct Queue_t *)xQueue_8(D)].cRxLock ={v} 0;
  72. Volatile stmt is not const/pure
  73. Indirect ref write is not const/pure
  74. scanning: _2 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cTxLock;
  75. Volatile stmt is not const/pure
  76. Indirect ref read is not const
  77. scanning: if (_2 == -1)
  78. scanning: MEM[(struct Queue_t *)xQueue_8(D)].cTxLock ={v} 0;
  79. Volatile stmt is not const/pure
  80. Indirect ref write is not const/pure
  81. scanning: vPortExitCritical ();
  82. scanning: _3 ={v} MEM[(struct Queue_t *)xQueue_8(D)].uxMessagesWaiting;
  83. Volatile stmt is not const/pure
  84. Indirect ref read is not const
  85. scanning: if (_3 == 0)
  86. scanning: _4 = &MEM[(struct Queue_t *)xQueue_8(D)].xTasksWaitingToReceive;
  87. scanning: vTaskPlaceOnEventListRestricted (_4, xTicksToWait_14(D), xWaitIndefinitely_15(D));
  88. scanning: prvUnlockQueue (xQueue_8(D));
  89. scanning: return;
  90. local analysis of vQueueUnregisterQueue
  91. scanning: if (xQueue_3(D) == 0B)
  92. scanning: vQueueUnregisterQueue.part.0 ();
  93. scanning: _1 = xQueueRegistry[ux_2].xHandle;
  94. scanning: if (_1 == xQueue_3(D))
  95. scanning: xQueueRegistry[ux_4].pcQueueName = 0B;
  96. scanning: xQueueRegistry[ux_4].xHandle = 0B;
  97. scanning: ux_6 = ux_2 + 1;
  98. scanning: if (ux_2 != 2)
  99. scanning: return;
  100. ;; 3 loops found
  101. ;;
  102. ;; Loop 0
  103. ;; header 0, latch 1
  104. ;; depth 0, outer -1
  105. ;; nodes: 0 1 2 9 3 4 5 6 7 8
  106. ;;
  107. ;; Loop 1
  108. ;; header 7, latch 6
  109. ;; depth 1, outer 0
  110. ;; nodes: 7 6 4
  111. ;; 2 succs { 3 9 }
  112. ;; 9 succs { 7 }
  113. ;; 3 succs { }
  114. ;; 4 succs { 5 6 }
  115. ;; 5 succs { 8 }
  116. ;; 6 succs { 7 }
  117. ;; 7 succs { 4 8 }
  118. ;; 8 succs { 1 }
  119. Function is locally const.
  120. local analysis of pcQueueGetName
  121. scanning: if (xQueue_5(D) == 0B)
  122. scanning: __asm__ __volatile__(" mov %0, %1
  123. msr basepri, %0
  124. isb
  125. dsb
  126. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  127. memory asm clobber is not const/pure
  128. volatile is not const/pure
  129. scanning: _1 = xQueueRegistry[ux_2].xHandle;
  130. scanning: if (_1 == xQueue_5(D))
  131. scanning: pcReturn_8 = xQueueRegistry[ux_4].pcQueueName;
  132. scanning: ux_7 = ux_2 + 1;
  133. scanning: if (ux_2 != 2)
  134. scanning: return pcReturn_3;
  135. Function is locally looping.
  136. Function can locally free.
  137. local analysis of vQueueAddToRegistry
  138. scanning: if (xQueue_8(D) == 0B)
  139. scanning: __asm__ __volatile__(" mov %0, %1
  140. msr basepri, %0
  141. isb
  142. dsb
  143. " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  144. memory asm clobber is not const/pure
  145. volatile is not const/pure
  146. scanning: if (pcQueueName_10(D) != 0B)
  147. scanning: _1 = xQueueRegistry[ux_3].xHandle;
  148. scanning: if (_1 == xQueue_8(D))
  149. scanning: pxEntryToWrite_14 = &xQueueRegistry[ux_9];
  150. scanning: if (pxEntryToWrite_5 == 0B)
  151. scanning: _2 = xQueueRegistry[ux_3].pcQueueName;
  152. scanning: if (_2 == 0B)
  153. scanning: pxEntryToWrite_12 = &xQueueRegistry[ux_3];
  154. scanning: ux_13 = ux_3 + 1;
  155. scanning: if (ux_3 != 2)
  156. scanning: if (pxEntryToWrite_6 != 0B)
  157. scanning: pxEntryToWrite_6->pcQueueName = pcQueueName_10(D);
  158. Indirect ref write is not const/pure
  159. scanning: pxEntryToWrite_6->xHandle = xQueue_8(D);
  160. Indirect ref write is not const/pure
  161. scanning: return;
  162. Function is locally looping.
  163. Function can locally free.
  164. local analysis of xQueueIsQueueFullFromISR
  165. scanning: if (xQueue_4(D) == 0B)
  166. scanning: __asm__ __volatile__(" mov %0, %1
  167. msr basepri, %0
  168. isb
  169. dsb
  170. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  171. memory asm clobber is not const/pure
  172. volatile is not const/pure
  173. scanning: _1 ={v} MEM[(struct Queue_t *)xQueue_4(D)].uxMessagesWaiting;
  174. Volatile stmt is not const/pure
  175. Indirect ref read is not const
  176. scanning: _2 = MEM[(struct Queue_t *)xQueue_4(D)].uxLength;
  177. Indirect ref read is not const
  178. scanning: if (_1 == _2)
  179. scanning: return xReturn_3;
  180. Function is locally looping.
  181. Function can locally free.
  182. local analysis of prvIsQueueFull
  183. scanning: vPortEnterCritical ();
  184. scanning: _1 ={v} pxQueue_6(D)->uxMessagesWaiting;
  185. Volatile stmt is not const/pure
  186. Indirect ref read is not const
  187. scanning: _2 = pxQueue_6(D)->uxLength;
  188. Indirect ref read is not const
  189. scanning: if (_1 == _2)
  190. scanning: vPortExitCritical ();
  191. scanning: return xReturn_3;
  192. local analysis of xQueueIsQueueEmptyFromISR
  193. scanning: if (xQueue_3(D) == 0B)
  194. scanning: __asm__ __volatile__(" mov %0, %1
  195. msr basepri, %0
  196. isb
  197. dsb
  198. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  199. memory asm clobber is not const/pure
  200. volatile is not const/pure
  201. scanning: _1 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
  202. Volatile stmt is not const/pure
  203. Indirect ref read is not const
  204. scanning: if (_1 == 0)
  205. scanning: return xReturn_2;
  206. Function is locally looping.
  207. Function can locally free.
  208. local analysis of prvIsQueueEmpty
  209. scanning: vPortEnterCritical ();
  210. scanning: _1 ={v} pxQueue_5(D)->uxMessagesWaiting;
  211. Volatile stmt is not const/pure
  212. Indirect ref read is not const
  213. scanning: if (_1 == 0)
  214. scanning: vPortExitCritical ();
  215. scanning: return xReturn_2;
  216. local analysis of prvUnlockQueue
  217. scanning: vPortEnterCritical ();
  218. scanning: cTxLock_20 ={v} pxQueue_19(D)->cTxLock;
  219. Volatile stmt is not const/pure
  220. Indirect ref read is not const
  221. scanning: _1 ={v} pxQueue_19(D)->xTasksWaitingToReceive.uxNumberOfItems;
  222. Volatile stmt is not const/pure
  223. Indirect ref read is not const
  224. scanning: if (_1 != 0)
  225. scanning: _2 = &pxQueue_19(D)->xTasksWaitingToReceive;
  226. scanning: _3 = xTaskRemoveFromEventList (_2);
  227. scanning: if (_3 != 0)
  228. scanning: vTaskMissedYield ();
  229. scanning: cTxLock.6_4 = (unsigned char) cTxLock_11;
  230. scanning: _5 = cTxLock.6_4 + 255;
  231. scanning: cTxLock_23 = (int8_t) _5;
  232. scanning: if (cTxLock_11 > 0)
  233. scanning: pxQueue_19(D)->cTxLock ={v} -1;
  234. Volatile stmt is not const/pure
  235. Indirect ref write is not const/pure
  236. scanning: vPortExitCritical ();
  237. scanning: vPortEnterCritical ();
  238. scanning: cRxLock_27 ={v} pxQueue_19(D)->cRxLock;
  239. Volatile stmt is not const/pure
  240. Indirect ref read is not const
  241. scanning: _6 ={v} pxQueue_19(D)->xTasksWaitingToSend.uxNumberOfItems;
  242. Volatile stmt is not const/pure
  243. Indirect ref read is not const
  244. scanning: if (_6 != 0)
  245. scanning: _7 = &pxQueue_19(D)->xTasksWaitingToSend;
  246. scanning: _8 = xTaskRemoveFromEventList (_7);
  247. scanning: if (_8 != 0)
  248. scanning: vTaskMissedYield ();
  249. scanning: cRxLock.7_9 = (unsigned char) cRxLock_12;
  250. scanning: _10 = cRxLock.7_9 + 255;
  251. scanning: cRxLock_30 = (int8_t) _10;
  252. scanning: if (cRxLock_12 > 0)
  253. scanning: pxQueue_19(D)->cRxLock ={v} -1;
  254. Volatile stmt is not const/pure
  255. Indirect ref write is not const/pure
  256. scanning: vPortExitCritical ();
  257. scanning: return;
  258. local analysis of prvCopyDataFromQueue
  259. scanning: _1 = pxQueue_10(D)->uxItemSize;
  260. Indirect ref read is not const
  261. scanning: if (_1 != 0)
  262. scanning: _2 = pxQueue_10(D)->u.xQueue.pcReadFrom;
  263. Indirect ref read is not const
  264. scanning: _3 = _2 + _1;
  265. scanning: pxQueue_10(D)->u.xQueue.pcReadFrom = _3;
  266. Indirect ref write is not const/pure
  267. scanning: _4 = pxQueue_10(D)->u.xQueue.pcTail;
  268. Indirect ref read is not const
  269. scanning: if (_3 >= _4)
  270. scanning: _5 = pxQueue_10(D)->pcHead;
  271. Indirect ref read is not const
  272. scanning: pxQueue_10(D)->u.xQueue.pcReadFrom = _5;
  273. Indirect ref write is not const/pure
  274. scanning: _6 = pxQueue_10(D)->u.xQueue.pcReadFrom;
  275. Indirect ref read is not const
  276. scanning: memcpy (pvBuffer_13(D), _6, _1);
  277. scanning: return;
  278. local analysis of prvCopyDataToQueue
  279. scanning: uxMessagesWaiting_25 ={v} pxQueue_24(D)->uxMessagesWaiting;
  280. Volatile stmt is not const/pure
  281. Indirect ref read is not const
  282. scanning: _1 = pxQueue_24(D)->uxItemSize;
  283. Indirect ref read is not const
  284. scanning: if (_1 == 0)
  285. scanning: _2 = pxQueue_24(D)->pcHead;
  286. Indirect ref read is not const
  287. scanning: if (_2 == 0B)
  288. scanning: _3 = pxQueue_24(D)->u.xSemaphore.xMutexHolder;
  289. Indirect ref read is not const
  290. scanning: xReturn_36 = xTaskPriorityDisinherit (_3);
  291. scanning: pxQueue_24(D)->u.xSemaphore.xMutexHolder = 0B;
  292. Indirect ref write is not const/pure
  293. scanning: if (xPosition_26(D) == 0)
  294. scanning: _4 = pxQueue_24(D)->pcWriteTo;
  295. Indirect ref read is not const
  296. scanning: memcpy (_4, pvItemToQueue_27(D), _1);
  297. scanning: _5 = pxQueue_24(D)->pcWriteTo;
  298. Indirect ref read is not const
  299. scanning: _6 = pxQueue_24(D)->uxItemSize;
  300. Indirect ref read is not const
  301. scanning: _7 = _5 + _6;
  302. scanning: pxQueue_24(D)->pcWriteTo = _7;
  303. Indirect ref write is not const/pure
  304. scanning: _8 = pxQueue_24(D)->u.xQueue.pcTail;
  305. Indirect ref read is not const
  306. scanning: if (_7 >= _8)
  307. scanning: _9 = pxQueue_24(D)->pcHead;
  308. Indirect ref read is not const
  309. scanning: pxQueue_24(D)->pcWriteTo = _9;
  310. Indirect ref write is not const/pure
  311. scanning: _10 = pxQueue_24(D)->u.xQueue.pcReadFrom;
  312. Indirect ref read is not const
  313. scanning: memcpy (_10, pvItemToQueue_27(D), _1);
  314. scanning: _11 = pxQueue_24(D)->u.xQueue.pcReadFrom;
  315. Indirect ref read is not const
  316. scanning: _12 = pxQueue_24(D)->uxItemSize;
  317. Indirect ref read is not const
  318. scanning: _13 = -_12;
  319. scanning: _14 = _11 + _13;
  320. scanning: pxQueue_24(D)->u.xQueue.pcReadFrom = _14;
  321. Indirect ref write is not const/pure
  322. scanning: _15 = pxQueue_24(D)->pcHead;
  323. Indirect ref read is not const
  324. scanning: if (_14 < _15)
  325. scanning: _16 = pxQueue_24(D)->u.xQueue.pcTail;
  326. Indirect ref read is not const
  327. scanning: _17 = _16 + _13;
  328. scanning: pxQueue_24(D)->u.xQueue.pcReadFrom = _17;
  329. Indirect ref write is not const/pure
  330. scanning: if (xPosition_26(D) == 2)
  331. scanning: if (uxMessagesWaiting_25 != 0)
  332. scanning: uxMessagesWaiting_31 = uxMessagesWaiting_25 + 4294967295;
  333. scanning: _18 = uxMessagesWaiting_20 + 1;
  334. scanning: pxQueue_24(D)->uxMessagesWaiting ={v} _18;
  335. Volatile stmt is not const/pure
  336. Indirect ref write is not const/pure
  337. scanning: return xReturn_19;
  338. local analysis of prvGetDisinheritPriorityAfterTimeout
  339. scanning: _1 ={v} pxQueue_6(D)->xTasksWaitingToReceive.uxNumberOfItems;
  340. Volatile stmt is not const/pure
  341. Indirect ref read is not const
  342. scanning: if (_1 != 0)
  343. scanning: _2 = pxQueue_6(D)->xTasksWaitingToReceive.xListEnd.pxNext;
  344. Indirect ref read is not const
  345. scanning: _3 = _2->xItemValue;
  346. Indirect ref read is not const
  347. scanning: uxHighestPriorityOfWaitingTasks_7 = 5 - _3;
  348. scanning: return uxHighestPriorityOfWaitingTasks_4;
  349. local analysis of ucQueueGetQueueType
  350. scanning: _3 = MEM[(struct Queue_t *)xQueue_2(D)].ucQueueType;
  351. Indirect ref read is not const
  352. scanning: return _3;
  353. Function is locally pure.
  354. local analysis of vQueueSetQueueNumber
  355. scanning: MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber = uxQueueNumber_3(D);
  356. Indirect ref write is not const/pure
  357. scanning: return;
  358. local analysis of uxQueueGetQueueNumber
  359. scanning: _3 = MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber;
  360. Indirect ref read is not const
  361. scanning: return _3;
  362. Function is locally pure.
  363. local analysis of vQueueDelete
  364. scanning: if (xQueue_1(D) == 0B)
  365. scanning: __asm__ __volatile__(" mov %0, %1
  366. msr basepri, %0
  367. isb
  368. dsb
  369. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  370. memory asm clobber is not const/pure
  371. volatile is not const/pure
  372. scanning: vQueueUnregisterQueue (xQueue_1(D));
  373. scanning: vPortFree (xQueue_1(D));
  374. scanning: return;
  375. Function is locally looping.
  376. Function can locally free.
  377. local analysis of uxQueueMessagesWaitingFromISR
  378. scanning: if (xQueue_1(D) == 0B)
  379. scanning: __asm__ __volatile__(" mov %0, %1
  380. msr basepri, %0
  381. isb
  382. dsb
  383. " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
  384. memory asm clobber is not const/pure
  385. volatile is not const/pure
  386. scanning: uxReturn_3 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting;
  387. Volatile stmt is not const/pure
  388. Indirect ref read is not const
  389. scanning: return uxReturn_3;
  390. Function is locally looping.
  391. Function can locally free.
  392. local analysis of uxQueueSpacesAvailable
  393. scanning: if (xQueue_3(D) == 0B)
  394. scanning: __asm__ __volatile__(" mov %0, %1
  395. msr basepri, %0
  396. isb
  397. dsb
  398. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  399. memory asm clobber is not const/pure
  400. volatile is not const/pure
  401. scanning: vPortEnterCritical ();
  402. scanning: _1 = MEM[(struct Queue_t *)xQueue_3(D)].uxLength;
  403. Indirect ref read is not const
  404. scanning: _2 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
  405. Volatile stmt is not const/pure
  406. Indirect ref read is not const
  407. scanning: uxReturn_6 = _1 - _2;
  408. scanning: vPortExitCritical ();
  409. scanning: return uxReturn_6;
  410. Function is locally looping.
  411. Function can locally free.
  412. local analysis of uxQueueMessagesWaiting
  413. scanning: if (xQueue_1(D) == 0B)
  414. scanning: __asm__ __volatile__(" mov %0, %1
  415. msr basepri, %0
  416. isb
  417. dsb
  418. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  419. memory asm clobber is not const/pure
  420. volatile is not const/pure
  421. scanning: vPortEnterCritical ();
  422. scanning: uxReturn_4 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting;
  423. Volatile stmt is not const/pure
  424. Indirect ref read is not const
  425. scanning: vPortExitCritical ();
  426. scanning: return uxReturn_4;
  427. Function is locally looping.
  428. Function can locally free.
  429. local analysis of xQueuePeekFromISR
  430. scanning: if (xQueue_6(D) == 0B)
  431. scanning: __asm__ __volatile__(" mov %0, %1
  432. msr basepri, %0
  433. isb
  434. dsb
  435. " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
  436. memory asm clobber is not const/pure
  437. volatile is not const/pure
  438. scanning: if (pvBuffer_7(D) != 0B)
  439. scanning: _1 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
  440. Indirect ref read is not const
  441. scanning: if (_1 == 0)
  442. scanning: __asm__ __volatile__(" mov %0, %1
  443. msr basepri, %0
  444. isb
  445. dsb
  446. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  447. memory asm clobber is not const/pure
  448. volatile is not const/pure
  449. scanning: _2 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
  450. Indirect ref read is not const
  451. scanning: if (_2 == 0)
  452. scanning: __asm__ __volatile__(" mov %0, %1
  453. msr basepri, %0
  454. isb
  455. dsb
  456. " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  457. memory asm clobber is not const/pure
  458. volatile is not const/pure
  459. scanning: vPortValidateInterruptPriority ();
  460. scanning: __asm__ __volatile__(" mrs %0, basepri
  461. mov %1, %2
  462. msr basepri, %1
  463. isb
  464. dsb
  465. " : "=r" ulOriginalBASEPRI_16, "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  466. memory asm clobber is not const/pure
  467. volatile is not const/pure
  468. scanning: _3 ={v} MEM[(struct Queue_t *)xQueue_6(D)].uxMessagesWaiting;
  469. Volatile stmt is not const/pure
  470. Indirect ref read is not const
  471. scanning: if (_3 != 0)
  472. scanning: pcOriginalReadPosition_10 = MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom;
  473. Indirect ref read is not const
  474. scanning: prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D));
  475. scanning: MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_10;
  476. Indirect ref write is not const/pure
  477. scanning: __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_16 : "memory");
  478. memory asm clobber is not const/pure
  479. volatile is not const/pure
  480. scanning: return xReturn_4;
  481. Function is locally looping.
  482. Function can locally free.
  483. local analysis of xQueueReceiveFromISR
  484. scanning: if (xQueue_11(D) == 0B)
  485. scanning: __asm__ __volatile__(" mov %0, %1
  486. msr basepri, %0
  487. isb
  488. dsb
  489. " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  490. memory asm clobber is not const/pure
  491. volatile is not const/pure
  492. scanning: if (pvBuffer_12(D) != 0B)
  493. scanning: _1 = MEM[(struct Queue_t *)xQueue_11(D)].uxItemSize;
  494. Indirect ref read is not const
  495. scanning: if (_1 == 0)
  496. scanning: __asm__ __volatile__(" mov %0, %1
  497. msr basepri, %0
  498. isb
  499. dsb
  500. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  501. memory asm clobber is not const/pure
  502. volatile is not const/pure
  503. scanning: vPortValidateInterruptPriority ();
  504. scanning: __asm__ __volatile__(" mrs %0, basepri
  505. mov %1, %2
  506. msr basepri, %1
  507. isb
  508. dsb
  509. " : "=r" ulOriginalBASEPRI_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  510. memory asm clobber is not const/pure
  511. volatile is not const/pure
  512. scanning: uxMessagesWaiting_15 ={v} MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting;
  513. Volatile stmt is not const/pure
  514. Indirect ref read is not const
  515. scanning: if (uxMessagesWaiting_15 != 0)
  516. scanning: cRxLock_16 ={v} MEM[(struct Queue_t *)xQueue_11(D)].cRxLock;
  517. Volatile stmt is not const/pure
  518. Indirect ref read is not const
  519. scanning: prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D));
  520. scanning: _2 = uxMessagesWaiting_15 + 4294967295;
  521. scanning: MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting ={v} _2;
  522. Volatile stmt is not const/pure
  523. Indirect ref write is not const/pure
  524. scanning: if (cRxLock_16 == -1)
  525. scanning: _3 ={v} MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend.uxNumberOfItems;
  526. Volatile stmt is not const/pure
  527. Indirect ref read is not const
  528. scanning: if (_3 != 0)
  529. scanning: _4 = &MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend;
  530. scanning: _5 = xTaskRemoveFromEventList (_4);
  531. scanning: if (_5 != 0)
  532. scanning: if (pxHigherPriorityTaskWoken_21(D) != 0B)
  533. scanning: *pxHigherPriorityTaskWoken_21(D) = 1;
  534. Indirect ref write is not const/pure
  535. scanning: if (cRxLock_16 == 127)
  536. scanning: __asm__ __volatile__(" mov %0, %1
  537. msr basepri, %0
  538. isb
  539. dsb
  540. " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory");
  541. memory asm clobber is not const/pure
  542. volatile is not const/pure
  543. scanning: cRxLock.28_6 = (unsigned char) cRxLock_16;
  544. scanning: _7 = cRxLock.28_6 + 1;
  545. scanning: _8 = (signed char) _7;
  546. scanning: MEM[(struct Queue_t *)xQueue_11(D)].cRxLock ={v} _8;
  547. Volatile stmt is not const/pure
  548. Indirect ref write is not const/pure
  549. scanning: __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_25 : "memory");
  550. memory asm clobber is not const/pure
  551. volatile is not const/pure
  552. scanning: return xReturn_9;
  553. Function is locally looping.
  554. Function can locally free.
  555. local analysis of xQueuePeek
  556. scanning: if (xQueue_26(D) == 0B)
  557. scanning: __asm__ __volatile__(" mov %0, %1
  558. msr basepri, %0
  559. isb
  560. dsb
  561. " : "=r" ulNewBASEPRI_64 : "i" 16 : "memory");
  562. memory asm clobber is not const/pure
  563. volatile is not const/pure
  564. scanning: if (pvBuffer_27(D) != 0B)
  565. scanning: _1 = MEM[(struct Queue_t *)xQueue_26(D)].uxItemSize;
  566. Indirect ref read is not const
  567. scanning: if (_1 == 0)
  568. scanning: __asm__ __volatile__(" mov %0, %1
  569. msr basepri, %0
  570. isb
  571. dsb
  572. " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  573. memory asm clobber is not const/pure
  574. volatile is not const/pure
  575. scanning: _2 = xTaskGetSchedulerState ();
  576. scanning: if (_2 != 0)
  577. scanning: xTicksToWait.24_3 = xTicksToWait;
  578. scanning: if (xTicksToWait.24_3 == 0)
  579. scanning: __asm__ __volatile__(" mov %0, %1
  580. msr basepri, %0
  581. isb
  582. dsb
  583. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  584. memory asm clobber is not const/pure
  585. volatile is not const/pure
  586. scanning: vPortEnterCritical ();
  587. scanning: uxMessagesWaiting_32 ={v} MEM[(struct Queue_t *)xQueue_26(D)].uxMessagesWaiting;
  588. Volatile stmt is not const/pure
  589. Indirect ref read is not const
  590. scanning: if (uxMessagesWaiting_32 != 0)
  591. scanning: pcOriginalReadPosition_55 = MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom;
  592. Indirect ref read is not const
  593. scanning: prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D));
  594. scanning: MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_55;
  595. Indirect ref write is not const/pure
  596. scanning: _4 ={v} MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive.uxNumberOfItems;
  597. Volatile stmt is not const/pure
  598. Indirect ref read is not const
  599. scanning: if (_4 != 0)
  600. scanning: _5 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  601. scanning: _6 = xTaskRemoveFromEventList (_5);
  602. scanning: if (_6 != 0)
  603. scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  604. Volatile stmt is not const/pure
  605. Volatile indirect ref is not const/pure
  606. scanning: __asm__ __volatile__("dsb" : : : "memory");
  607. memory asm clobber is not const/pure
  608. volatile is not const/pure
  609. scanning: __asm__ __volatile__("isb");
  610. memory asm clobber is not const/pure
  611. volatile is not const/pure
  612. scanning: vPortExitCritical ();
  613. scanning: xTicksToWait.25_7 = xTicksToWait;
  614. scanning: if (xTicksToWait.25_7 == 0)
  615. scanning: vPortExitCritical ();
  616. scanning: if (xEntryTimeSet_16 == 0)
  617. scanning: vTaskInternalSetTimeOutState (&xTimeOut);
  618. scanning: vPortExitCritical ();
  619. scanning: vTaskSuspendAll ();
  620. scanning: vPortEnterCritical ();
  621. scanning: _8 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cRxLock;
  622. Volatile stmt is not const/pure
  623. Indirect ref read is not const
  624. scanning: if (_8 == -1)
  625. scanning: MEM[(struct Queue_t *)xQueue_26(D)].cRxLock ={v} 0;
  626. Volatile stmt is not const/pure
  627. Indirect ref write is not const/pure
  628. scanning: _9 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cTxLock;
  629. Volatile stmt is not const/pure
  630. Indirect ref read is not const
  631. scanning: if (_9 == -1)
  632. scanning: MEM[(struct Queue_t *)xQueue_26(D)].cTxLock ={v} 0;
  633. Volatile stmt is not const/pure
  634. Indirect ref write is not const/pure
  635. scanning: vPortExitCritical ();
  636. scanning: _10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  637. scanning: if (_10 == 0)
  638. scanning: _11 = prvIsQueueEmpty (xQueue_26(D));
  639. scanning: if (_11 != 0)
  640. scanning: _12 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  641. scanning: xTicksToWait.26_13 = xTicksToWait;
  642. scanning: vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  643. scanning: prvUnlockQueue (xQueue_26(D));
  644. scanning: _14 = xTaskResumeAll ();
  645. scanning: if (_14 == 0)
  646. scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  647. Volatile stmt is not const/pure
  648. Volatile indirect ref is not const/pure
  649. scanning: __asm__ __volatile__("dsb" : : : "memory");
  650. memory asm clobber is not const/pure
  651. volatile is not const/pure
  652. scanning: __asm__ __volatile__("isb");
  653. memory asm clobber is not const/pure
  654. volatile is not const/pure
  655. scanning: prvUnlockQueue (xQueue_26(D));
  656. scanning: xTaskResumeAll ();
  657. scanning: prvUnlockQueue (xQueue_26(D));
  658. scanning: xTaskResumeAll ();
  659. scanning: _15 = prvIsQueueEmpty (xQueue_26(D));
  660. scanning: if (_15 != 0)
  661. scanning: return _18;
  662. Function is locally looping.
  663. Function can locally free.
  664. local analysis of xQueueSemaphoreTake
  665. scanning: if (xQueue_38(D) == 0B)
  666. scanning: __asm__ __volatile__(" mov %0, %1
  667. msr basepri, %0
  668. isb
  669. dsb
  670. " : "=r" ulNewBASEPRI_88 : "i" 16 : "memory");
  671. memory asm clobber is not const/pure
  672. volatile is not const/pure
  673. scanning: _1 = MEM[(struct Queue_t *)xQueue_38(D)].uxItemSize;
  674. Indirect ref read is not const
  675. scanning: if (_1 != 0)
  676. scanning: __asm__ __volatile__(" mov %0, %1
  677. msr basepri, %0
  678. isb
  679. dsb
  680. " : "=r" ulNewBASEPRI_89 : "i" 16 : "memory");
  681. memory asm clobber is not const/pure
  682. volatile is not const/pure
  683. scanning: _2 = xTaskGetSchedulerState ();
  684. scanning: if (_2 != 0)
  685. scanning: xTicksToWait.19_3 = xTicksToWait;
  686. scanning: if (xTicksToWait.19_3 == 0)
  687. scanning: __asm__ __volatile__(" mov %0, %1
  688. msr basepri, %0
  689. isb
  690. dsb
  691. " : "=r" ulNewBASEPRI_90 : "i" 16 : "memory");
  692. memory asm clobber is not const/pure
  693. volatile is not const/pure
  694. scanning: vPortEnterCritical ();
  695. scanning: uxSemaphoreCount_46 ={v} MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting;
  696. Volatile stmt is not const/pure
  697. Indirect ref read is not const
  698. scanning: if (uxSemaphoreCount_46 != 0)
  699. scanning: _4 = uxSemaphoreCount_26 + 4294967295;
  700. scanning: MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting ={v} _4;
  701. Volatile stmt is not const/pure
  702. Indirect ref write is not const/pure
  703. scanning: _5 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
  704. Indirect ref read is not const
  705. scanning: if (_5 == 0B)
  706. scanning: _6 = pvTaskIncrementMutexHeldCount ();
  707. scanning: MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder = _6;
  708. Indirect ref write is not const/pure
  709. scanning: _7 ={v} MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend.uxNumberOfItems;
  710. Volatile stmt is not const/pure
  711. Indirect ref read is not const
  712. scanning: if (_7 != 0)
  713. scanning: _8 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend;
  714. scanning: _9 = xTaskRemoveFromEventList (_8);
  715. scanning: if (_9 != 0)
  716. scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  717. Volatile stmt is not const/pure
  718. Volatile indirect ref is not const/pure
  719. scanning: __asm__ __volatile__("dsb" : : : "memory");
  720. memory asm clobber is not const/pure
  721. volatile is not const/pure
  722. scanning: __asm__ __volatile__("isb");
  723. memory asm clobber is not const/pure
  724. volatile is not const/pure
  725. scanning: vPortExitCritical ();
  726. scanning: xTicksToWait.20_10 = xTicksToWait;
  727. scanning: if (xTicksToWait.20_10 == 0)
  728. scanning: if (xInheritanceOccurred_43 != 0)
  729. scanning: __asm__ __volatile__(" mov %0, %1
  730. msr basepri, %0
  731. isb
  732. dsb
  733. " : "=r" ulNewBASEPRI_91 : "i" 16 : "memory");
  734. memory asm clobber is not const/pure
  735. volatile is not const/pure
  736. scanning: vPortExitCritical ();
  737. scanning: if (xEntryTimeSet_22 == 0)
  738. scanning: vTaskInternalSetTimeOutState (&xTimeOut);
  739. scanning: vPortExitCritical ();
  740. scanning: vTaskSuspendAll ();
  741. scanning: vPortEnterCritical ();
  742. scanning: _11 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cRxLock;
  743. Volatile stmt is not const/pure
  744. Indirect ref read is not const
  745. scanning: if (_11 == -1)
  746. scanning: MEM[(struct Queue_t *)xQueue_38(D)].cRxLock ={v} 0;
  747. Volatile stmt is not const/pure
  748. Indirect ref write is not const/pure
  749. scanning: _12 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cTxLock;
  750. Volatile stmt is not const/pure
  751. Indirect ref read is not const
  752. scanning: if (_12 == -1)
  753. scanning: MEM[(struct Queue_t *)xQueue_38(D)].cTxLock ={v} 0;
  754. Volatile stmt is not const/pure
  755. Indirect ref write is not const/pure
  756. scanning: vPortExitCritical ();
  757. scanning: _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  758. scanning: if (_13 == 0)
  759. scanning: _14 = prvIsQueueEmpty (xQueue_38(D));
  760. scanning: if (_14 != 0)
  761. scanning: _15 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
  762. Indirect ref read is not const
  763. scanning: if (_15 == 0B)
  764. scanning: vPortEnterCritical ();
  765. scanning: _16 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder;
  766. Indirect ref read is not const
  767. scanning: xInheritanceOccurred_70 = xTaskPriorityInherit (_16);
  768. scanning: vPortExitCritical ();
  769. scanning: _17 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToReceive;
  770. scanning: xTicksToWait.21_18 = xTicksToWait;
  771. scanning: vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  772. scanning: prvUnlockQueue (xQueue_38(D));
  773. scanning: _19 = xTaskResumeAll ();
  774. scanning: if (_19 == 0)
  775. scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  776. Volatile stmt is not const/pure
  777. Volatile indirect ref is not const/pure
  778. scanning: __asm__ __volatile__("dsb" : : : "memory");
  779. memory asm clobber is not const/pure
  780. volatile is not const/pure
  781. scanning: __asm__ __volatile__("isb");
  782. memory asm clobber is not const/pure
  783. volatile is not const/pure
  784. scanning: prvUnlockQueue (xQueue_38(D));
  785. scanning: xTaskResumeAll ();
  786. scanning: prvUnlockQueue (xQueue_38(D));
  787. scanning: xTaskResumeAll ();
  788. scanning: _20 = prvIsQueueEmpty (xQueue_38(D));
  789. scanning: if (_20 != 0)
  790. scanning: if (xInheritanceOccurred_44 != 0)
  791. scanning: vPortEnterCritical ();
  792. scanning: uxHighestWaitingPriority_61 = prvGetDisinheritPriorityAfterTimeout (xQueue_38(D));
  793. scanning: _21 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder;
  794. Indirect ref read is not const
  795. scanning: vTaskPriorityDisinheritAfterTimeout (_21, uxHighestWaitingPriority_61);
  796. scanning: vPortExitCritical ();
  797. scanning: return _27;
  798. Function is locally looping.
  799. Function can locally free.
  800. local analysis of xQueueReceive
  801. scanning: if (xQueue_27(D) == 0B)
  802. scanning: __asm__ __volatile__(" mov %0, %1
  803. msr basepri, %0
  804. isb
  805. dsb
  806. " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  807. memory asm clobber is not const/pure
  808. volatile is not const/pure
  809. scanning: if (pvBuffer_28(D) != 0B)
  810. scanning: _1 = MEM[(struct Queue_t *)xQueue_27(D)].uxItemSize;
  811. Indirect ref read is not const
  812. scanning: if (_1 == 0)
  813. scanning: __asm__ __volatile__(" mov %0, %1
  814. msr basepri, %0
  815. isb
  816. dsb
  817. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  818. memory asm clobber is not const/pure
  819. volatile is not const/pure
  820. scanning: _2 = xTaskGetSchedulerState ();
  821. scanning: if (_2 != 0)
  822. scanning: xTicksToWait.15_3 = xTicksToWait;
  823. scanning: if (xTicksToWait.15_3 == 0)
  824. scanning: __asm__ __volatile__(" mov %0, %1
  825. msr basepri, %0
  826. isb
  827. dsb
  828. " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory");
  829. memory asm clobber is not const/pure
  830. volatile is not const/pure
  831. scanning: vPortEnterCritical ();
  832. scanning: uxMessagesWaiting_34 ={v} MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting;
  833. Volatile stmt is not const/pure
  834. Indirect ref read is not const
  835. scanning: if (uxMessagesWaiting_34 != 0)
  836. scanning: prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D));
  837. scanning: _4 = uxMessagesWaiting_31 + 4294967295;
  838. scanning: MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting ={v} _4;
  839. Volatile stmt is not const/pure
  840. Indirect ref write is not const/pure
  841. scanning: _5 ={v} MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend.uxNumberOfItems;
  842. Volatile stmt is not const/pure
  843. Indirect ref read is not const
  844. scanning: if (_5 != 0)
  845. scanning: _6 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend;
  846. scanning: _7 = xTaskRemoveFromEventList (_6);
  847. scanning: if (_7 != 0)
  848. scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  849. Volatile stmt is not const/pure
  850. Volatile indirect ref is not const/pure
  851. scanning: __asm__ __volatile__("dsb" : : : "memory");
  852. memory asm clobber is not const/pure
  853. volatile is not const/pure
  854. scanning: __asm__ __volatile__("isb");
  855. memory asm clobber is not const/pure
  856. volatile is not const/pure
  857. scanning: vPortExitCritical ();
  858. scanning: xTicksToWait.16_8 = xTicksToWait;
  859. scanning: if (xTicksToWait.16_8 == 0)
  860. scanning: vPortExitCritical ();
  861. scanning: if (xEntryTimeSet_17 == 0)
  862. scanning: vTaskInternalSetTimeOutState (&xTimeOut);
  863. scanning: vPortExitCritical ();
  864. scanning: vTaskSuspendAll ();
  865. scanning: vPortEnterCritical ();
  866. scanning: _9 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cRxLock;
  867. Volatile stmt is not const/pure
  868. Indirect ref read is not const
  869. scanning: if (_9 == -1)
  870. scanning: MEM[(struct Queue_t *)xQueue_27(D)].cRxLock ={v} 0;
  871. Volatile stmt is not const/pure
  872. Indirect ref write is not const/pure
  873. scanning: _10 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cTxLock;
  874. Volatile stmt is not const/pure
  875. Indirect ref read is not const
  876. scanning: if (_10 == -1)
  877. scanning: MEM[(struct Queue_t *)xQueue_27(D)].cTxLock ={v} 0;
  878. Volatile stmt is not const/pure
  879. Indirect ref write is not const/pure
  880. scanning: vPortExitCritical ();
  881. scanning: _11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  882. scanning: if (_11 == 0)
  883. scanning: _12 = prvIsQueueEmpty (xQueue_27(D));
  884. scanning: if (_12 != 0)
  885. scanning: _13 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToReceive;
  886. scanning: xTicksToWait.17_14 = xTicksToWait;
  887. scanning: vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  888. scanning: prvUnlockQueue (xQueue_27(D));
  889. scanning: _15 = xTaskResumeAll ();
  890. scanning: if (_15 == 0)
  891. scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  892. Volatile stmt is not const/pure
  893. Volatile indirect ref is not const/pure
  894. scanning: __asm__ __volatile__("dsb" : : : "memory");
  895. memory asm clobber is not const/pure
  896. volatile is not const/pure
  897. scanning: __asm__ __volatile__("isb");
  898. memory asm clobber is not const/pure
  899. volatile is not const/pure
  900. scanning: prvUnlockQueue (xQueue_27(D));
  901. scanning: xTaskResumeAll ();
  902. scanning: prvUnlockQueue (xQueue_27(D));
  903. scanning: xTaskResumeAll ();
  904. scanning: _16 = prvIsQueueEmpty (xQueue_27(D));
  905. scanning: if (_16 != 0)
  906. scanning: return _19;
  907. Function is locally looping.
  908. Function can locally free.
  909. local analysis of xQueueGiveFromISR
  910. scanning: if (xQueue_14(D) == 0B)
  911. scanning: __asm__ __volatile__(" mov %0, %1
  912. msr basepri, %0
  913. isb
  914. dsb
  915. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  916. memory asm clobber is not const/pure
  917. volatile is not const/pure
  918. scanning: _1 = MEM[(struct Queue_t *)xQueue_14(D)].uxItemSize;
  919. Indirect ref read is not const
  920. scanning: if (_1 != 0)
  921. scanning: __asm__ __volatile__(" mov %0, %1
  922. msr basepri, %0
  923. isb
  924. dsb
  925. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  926. memory asm clobber is not const/pure
  927. volatile is not const/pure
  928. scanning: _2 = MEM[(struct Queue_t *)xQueue_14(D)].pcHead;
  929. Indirect ref read is not const
  930. scanning: if (_2 != 0B)
  931. scanning: _3 = MEM[(struct Queue_t *)xQueue_14(D)].u.xSemaphore.xMutexHolder;
  932. Indirect ref read is not const
  933. scanning: if (_3 == 0B)
  934. scanning: __asm__ __volatile__(" mov %0, %1
  935. msr basepri, %0
  936. isb
  937. dsb
  938. " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  939. memory asm clobber is not const/pure
  940. volatile is not const/pure
  941. scanning: vPortValidateInterruptPriority ();
  942. scanning: __asm__ __volatile__(" mrs %0, basepri
  943. mov %1, %2
  944. msr basepri, %1
  945. isb
  946. dsb
  947. " : "=r" ulOriginalBASEPRI_27, "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
  948. memory asm clobber is not const/pure
  949. volatile is not const/pure
  950. scanning: uxMessagesWaiting_17 ={v} MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting;
  951. Volatile stmt is not const/pure
  952. Indirect ref read is not const
  953. scanning: _4 = MEM[(struct Queue_t *)xQueue_14(D)].uxLength;
  954. Indirect ref read is not const
  955. scanning: if (_4 > uxMessagesWaiting_17)
  956. scanning: cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_14(D)].cTxLock;
  957. Volatile stmt is not const/pure
  958. Indirect ref read is not const
  959. scanning: _5 = uxMessagesWaiting_17 + 1;
  960. scanning: MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting ={v} _5;
  961. Volatile stmt is not const/pure
  962. Indirect ref write is not const/pure
  963. scanning: if (cTxLock_18 == -1)
  964. scanning: _6 ={v} MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive.uxNumberOfItems;
  965. Volatile stmt is not const/pure
  966. Indirect ref read is not const
  967. scanning: if (_6 != 0)
  968. scanning: _7 = &MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive;
  969. scanning: _8 = xTaskRemoveFromEventList (_7);
  970. scanning: if (_8 != 0)
  971. scanning: if (pxHigherPriorityTaskWoken_22(D) != 0B)
  972. scanning: *pxHigherPriorityTaskWoken_22(D) = 1;
  973. Indirect ref write is not const/pure
  974. scanning: if (cTxLock_18 == 127)
  975. scanning: __asm__ __volatile__(" mov %0, %1
  976. msr basepri, %0
  977. isb
  978. dsb
  979. " : "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  980. memory asm clobber is not const/pure
  981. volatile is not const/pure
  982. scanning: cTxLock.12_9 = (unsigned char) cTxLock_18;
  983. scanning: _10 = cTxLock.12_9 + 1;
  984. scanning: _11 = (signed char) _10;
  985. scanning: MEM[(struct Queue_t *)xQueue_14(D)].cTxLock ={v} _11;
  986. Volatile stmt is not const/pure
  987. Indirect ref write is not const/pure
  988. scanning: __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_27 : "memory");
  989. memory asm clobber is not const/pure
  990. volatile is not const/pure
  991. scanning: return xReturn_12;
  992. Function is locally looping.
  993. Function can locally free.
  994. local analysis of xQueueGenericSendFromISR
  995. scanning: if (xQueue_13(D) == 0B)
  996. scanning: __asm__ __volatile__(" mov %0, %1
  997. msr basepri, %0
  998. isb
  999. dsb
  1000. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  1001. memory asm clobber is not const/pure
  1002. volatile is not const/pure
  1003. scanning: if (pvItemToQueue_14(D) != 0B)
  1004. scanning: _1 = MEM[(struct Queue_t *)xQueue_13(D)].uxItemSize;
  1005. Indirect ref read is not const
  1006. scanning: if (_1 == 0)
  1007. scanning: __asm__ __volatile__(" mov %0, %1
  1008. msr basepri, %0
  1009. isb
  1010. dsb
  1011. " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  1012. memory asm clobber is not const/pure
  1013. volatile is not const/pure
  1014. scanning: if (xCopyPosition_16(D) != 2)
  1015. scanning: _2 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
  1016. Indirect ref read is not const
  1017. scanning: if (_2 == 1)
  1018. scanning: __asm__ __volatile__(" mov %0, %1
  1019. msr basepri, %0
  1020. isb
  1021. dsb
  1022. " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory");
  1023. memory asm clobber is not const/pure
  1024. volatile is not const/pure
  1025. scanning: vPortValidateInterruptPriority ();
  1026. scanning: __asm__ __volatile__(" mrs %0, basepri
  1027. mov %1, %2
  1028. msr basepri, %1
  1029. isb
  1030. dsb
  1031. " : "=r" ulOriginalBASEPRI_28, "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  1032. memory asm clobber is not const/pure
  1033. volatile is not const/pure
  1034. scanning: _3 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting;
  1035. Volatile stmt is not const/pure
  1036. Indirect ref read is not const
  1037. scanning: _4 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
  1038. Indirect ref read is not const
  1039. scanning: if (_3 < _4)
  1040. scanning: if (xCopyPosition_16(D) == 2)
  1041. scanning: cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_13(D)].cTxLock;
  1042. Volatile stmt is not const/pure
  1043. Indirect ref read is not const
  1044. scanning: uxPreviousMessagesWaiting_19 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting;
  1045. Volatile stmt is not const/pure
  1046. Indirect ref read is not const
  1047. scanning: prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D));
  1048. scanning: if (cTxLock_18 == -1)
  1049. scanning: _5 ={v} MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive.uxNumberOfItems;
  1050. Volatile stmt is not const/pure
  1051. Indirect ref read is not const
  1052. scanning: if (_5 != 0)
  1053. scanning: _6 = &MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive;
  1054. scanning: _7 = xTaskRemoveFromEventList (_6);
  1055. scanning: if (_7 != 0)
  1056. scanning: if (pxHigherPriorityTaskWoken_23(D) != 0B)
  1057. scanning: *pxHigherPriorityTaskWoken_23(D) = 1;
  1058. Indirect ref write is not const/pure
  1059. scanning: if (cTxLock_18 == 127)
  1060. scanning: __asm__ __volatile__(" mov %0, %1
  1061. msr basepri, %0
  1062. isb
  1063. dsb
  1064. " : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
  1065. memory asm clobber is not const/pure
  1066. volatile is not const/pure
  1067. scanning: cTxLock.10_8 = (unsigned char) cTxLock_18;
  1068. scanning: _9 = cTxLock.10_8 + 1;
  1069. scanning: _10 = (signed char) _9;
  1070. scanning: MEM[(struct Queue_t *)xQueue_13(D)].cTxLock ={v} _10;
  1071. Volatile stmt is not const/pure
  1072. Indirect ref write is not const/pure
  1073. scanning: __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_28 : "memory");
  1074. memory asm clobber is not const/pure
  1075. volatile is not const/pure
  1076. scanning: return xReturn_11;
  1077. Function is locally looping.
  1078. Function can locally free.
  1079. local analysis of xQueueGenericSend
  1080. scanning: if (xQueue_29(D) == 0B)
  1081. scanning: __asm__ __volatile__(" mov %0, %1
  1082. msr basepri, %0
  1083. isb
  1084. dsb
  1085. " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory");
  1086. memory asm clobber is not const/pure
  1087. volatile is not const/pure
  1088. scanning: if (pvItemToQueue_30(D) != 0B)
  1089. scanning: _1 = MEM[(struct Queue_t *)xQueue_29(D)].uxItemSize;
  1090. Indirect ref read is not const
  1091. scanning: if (_1 == 0)
  1092. scanning: __asm__ __volatile__(" mov %0, %1
  1093. msr basepri, %0
  1094. isb
  1095. dsb
  1096. " : "=r" ulNewBASEPRI_68 : "i" 16 : "memory");
  1097. memory asm clobber is not const/pure
  1098. volatile is not const/pure
  1099. scanning: if (xCopyPosition_32(D) != 2)
  1100. scanning: _2 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
  1101. Indirect ref read is not const
  1102. scanning: if (_2 == 1)
  1103. scanning: __asm__ __volatile__(" mov %0, %1
  1104. msr basepri, %0
  1105. isb
  1106. dsb
  1107. " : "=r" ulNewBASEPRI_69 : "i" 16 : "memory");
  1108. memory asm clobber is not const/pure
  1109. volatile is not const/pure
  1110. scanning: _3 = xTaskGetSchedulerState ();
  1111. scanning: if (_3 != 0)
  1112. scanning: xTicksToWait.3_4 = xTicksToWait;
  1113. scanning: if (xTicksToWait.3_4 == 0)
  1114. scanning: __asm__ __volatile__(" mov %0, %1
  1115. msr basepri, %0
  1116. isb
  1117. dsb
  1118. " : "=r" ulNewBASEPRI_70 : "i" 16 : "memory");
  1119. memory asm clobber is not const/pure
  1120. volatile is not const/pure
  1121. scanning: vPortEnterCritical ();
  1122. scanning: _5 ={v} MEM[(struct Queue_t *)xQueue_29(D)].uxMessagesWaiting;
  1123. Volatile stmt is not const/pure
  1124. Indirect ref read is not const
  1125. scanning: _6 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
  1126. Indirect ref read is not const
  1127. scanning: if (_5 < _6)
  1128. scanning: if (xCopyPosition_32(D) == 2)
  1129. scanning: xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D));
  1130. scanning: _7 ={v} MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive.uxNumberOfItems;
  1131. Volatile stmt is not const/pure
  1132. Indirect ref read is not const
  1133. scanning: if (_7 != 0)
  1134. scanning: _8 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive;
  1135. scanning: _9 = xTaskRemoveFromEventList (_8);
  1136. scanning: if (_9 != 0)
  1137. scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  1138. Volatile stmt is not const/pure
  1139. Volatile indirect ref is not const/pure
  1140. scanning: __asm__ __volatile__("dsb" : : : "memory");
  1141. memory asm clobber is not const/pure
  1142. volatile is not const/pure
  1143. scanning: __asm__ __volatile__("isb");
  1144. memory asm clobber is not const/pure
  1145. volatile is not const/pure
  1146. scanning: if (xYieldRequired_57 != 0)
  1147. scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  1148. Volatile stmt is not const/pure
  1149. Volatile indirect ref is not const/pure
  1150. scanning: __asm__ __volatile__("dsb" : : : "memory");
  1151. memory asm clobber is not const/pure
  1152. volatile is not const/pure
  1153. scanning: __asm__ __volatile__("isb");
  1154. memory asm clobber is not const/pure
  1155. volatile is not const/pure
  1156. scanning: vPortExitCritical ();
  1157. scanning: xTicksToWait.4_10 = xTicksToWait;
  1158. scanning: if (xTicksToWait.4_10 == 0)
  1159. scanning: vPortExitCritical ();
  1160. scanning: if (xEntryTimeSet_19 == 0)
  1161. scanning: vTaskInternalSetTimeOutState (&xTimeOut);
  1162. scanning: vPortExitCritical ();
  1163. scanning: vTaskSuspendAll ();
  1164. scanning: vPortEnterCritical ();
  1165. scanning: _11 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cRxLock;
  1166. Volatile stmt is not const/pure
  1167. Indirect ref read is not const
  1168. scanning: if (_11 == -1)
  1169. scanning: MEM[(struct Queue_t *)xQueue_29(D)].cRxLock ={v} 0;
  1170. Volatile stmt is not const/pure
  1171. Indirect ref write is not const/pure
  1172. scanning: _12 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cTxLock;
  1173. Volatile stmt is not const/pure
  1174. Indirect ref read is not const
  1175. scanning: if (_12 == -1)
  1176. scanning: MEM[(struct Queue_t *)xQueue_29(D)].cTxLock ={v} 0;
  1177. Volatile stmt is not const/pure
  1178. Indirect ref write is not const/pure
  1179. scanning: vPortExitCritical ();
  1180. scanning: _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  1181. scanning: if (_13 == 0)
  1182. scanning: _14 = prvIsQueueFull (xQueue_29(D));
  1183. scanning: if (_14 != 0)
  1184. scanning: _15 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToSend;
  1185. scanning: xTicksToWait.5_16 = xTicksToWait;
  1186. scanning: vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  1187. scanning: prvUnlockQueue (xQueue_29(D));
  1188. scanning: _17 = xTaskResumeAll ();
  1189. scanning: if (_17 == 0)
  1190. scanning: MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  1191. Volatile stmt is not const/pure
  1192. Volatile indirect ref is not const/pure
  1193. scanning: __asm__ __volatile__("dsb" : : : "memory");
  1194. memory asm clobber is not const/pure
  1195. volatile is not const/pure
  1196. scanning: __asm__ __volatile__("isb");
  1197. memory asm clobber is not const/pure
  1198. volatile is not const/pure
  1199. scanning: prvUnlockQueue (xQueue_29(D));
  1200. scanning: xTaskResumeAll ();
  1201. scanning: prvUnlockQueue (xQueue_29(D));
  1202. scanning: xTaskResumeAll ();
  1203. scanning: return _21;
  1204. Function is locally looping.
  1205. Function can locally free.
  1206. local analysis of xQueueCreateCountingSemaphore
  1207. scanning: if (uxMaxCount_2(D) != 0)
  1208. scanning: if (uxMaxCount_2(D) >= uxInitialCount_3(D))
  1209. scanning: xHandle_6 = xQueueGenericCreate (uxMaxCount_2(D), 0, 2);
  1210. scanning: if (xHandle_6 != 0B)
  1211. scanning: MEM[(struct Queue_t *)xHandle_6].uxMessagesWaiting ={v} uxInitialCount_3(D);
  1212. Volatile stmt is not const/pure
  1213. Indirect ref write is not const/pure
  1214. scanning: __asm__ __volatile__(" mov %0, %1
  1215. msr basepri, %0
  1216. isb
  1217. dsb
  1218. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  1219. memory asm clobber is not const/pure
  1220. volatile is not const/pure
  1221. scanning: return xHandle_6;
  1222. Function is locally looping.
  1223. Function can locally free.
  1224. local analysis of xQueueTakeMutexRecursive
  1225. scanning: if (xMutex_9(D) == 0B)
  1226. scanning: __asm__ __volatile__(" mov %0, %1
  1227. msr basepri, %0
  1228. isb
  1229. dsb
  1230. " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  1231. memory asm clobber is not const/pure
  1232. volatile is not const/pure
  1233. scanning: _1 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.xMutexHolder;
  1234. Indirect ref read is not const
  1235. scanning: _2 = xTaskGetCurrentTaskHandle ();
  1236. scanning: if (_1 == _2)
  1237. scanning: _3 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount;
  1238. Indirect ref read is not const
  1239. scanning: _4 = _3 + 1;
  1240. scanning: MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _4;
  1241. Indirect ref write is not const/pure
  1242. scanning: xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D));
  1243. scanning: if (xReturn_14 != 0)
  1244. scanning: _5 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount;
  1245. Indirect ref read is not const
  1246. scanning: _6 = _5 + 1;
  1247. scanning: MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _6;
  1248. Indirect ref write is not const/pure
  1249. scanning: return xReturn_7;
  1250. Function is locally looping.
  1251. Function can locally free.
  1252. local analysis of xQueueGiveMutexRecursive
  1253. scanning: if (xMutex_7(D) == 0B)
  1254. scanning: __asm__ __volatile__(" mov %0, %1
  1255. msr basepri, %0
  1256. isb
  1257. dsb
  1258. " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  1259. memory asm clobber is not const/pure
  1260. volatile is not const/pure
  1261. scanning: _1 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.xMutexHolder;
  1262. Indirect ref read is not const
  1263. scanning: _2 = xTaskGetCurrentTaskHandle ();
  1264. scanning: if (_1 == _2)
  1265. scanning: _3 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount;
  1266. Indirect ref read is not const
  1267. scanning: _4 = _3 + 4294967295;
  1268. scanning: MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount = _4;
  1269. Indirect ref write is not const/pure
  1270. scanning: if (_4 == 0)
  1271. scanning: xQueueGenericSend (xMutex_7(D), 0B, 0, 0);
  1272. scanning: return xReturn_5;
  1273. Function is locally looping.
  1274. Function can locally free.
  1275. local analysis of xQueueGetMutexHolderFromISR
  1276. scanning: if (xSemaphore_3(D) == 0B)
  1277. scanning: __asm__ __volatile__(" mov %0, %1
  1278. msr basepri, %0
  1279. isb
  1280. dsb
  1281. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  1282. memory asm clobber is not const/pure
  1283. volatile is not const/pure
  1284. scanning: _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
  1285. Indirect ref read is not const
  1286. scanning: if (_1 == 0B)
  1287. scanning: pxReturn_5 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
  1288. Indirect ref read is not const
  1289. scanning: return pxReturn_2;
  1290. Function is locally looping.
  1291. Function can locally free.
  1292. local analysis of xQueueGetMutexHolder
  1293. scanning: if (xSemaphore_3(D) == 0B)
  1294. scanning: __asm__ __volatile__(" mov %0, %1
  1295. msr basepri, %0
  1296. isb
  1297. dsb
  1298. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  1299. memory asm clobber is not const/pure
  1300. volatile is not const/pure
  1301. scanning: vPortEnterCritical ();
  1302. scanning: _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
  1303. Indirect ref read is not const
  1304. scanning: if (_1 == 0B)
  1305. scanning: pxReturn_6 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
  1306. Indirect ref read is not const
  1307. scanning: vPortExitCritical ();
  1308. scanning: return pxReturn_2;
  1309. Function is locally looping.
  1310. Function can locally free.
  1311. local analysis of xQueueCreateMutex
  1312. scanning: xNewQueue_4 = xQueueGenericCreate (1, 0, ucQueueType_2(D));
  1313. scanning: prvInitialiseMutex (xNewQueue_4);
  1314. scanning: return xNewQueue_4;
  1315. Function is locally const.
  1316. local analysis of prvInitialiseMutex
  1317. scanning: if (pxNewQueue_2(D) != 0B)
  1318. scanning: pxNewQueue_2(D)->u.xSemaphore.xMutexHolder = 0B;
  1319. Indirect ref write is not const/pure
  1320. scanning: pxNewQueue_2(D)->pcHead = 0B;
  1321. Indirect ref write is not const/pure
  1322. scanning: pxNewQueue_2(D)->u.xSemaphore.uxRecursiveCallCount = 0;
  1323. Indirect ref write is not const/pure
  1324. scanning: xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0);
  1325. scanning: return;
  1326. local analysis of prvInitialiseNewQueue
  1327. scanning: if (uxItemSize_2(D) == 0)
  1328. scanning: pxNewQueue_4(D)->pcHead = pxNewQueue_4(D);
  1329. Indirect ref write is not const/pure
  1330. scanning: pxNewQueue_4(D)->pcHead = pucQueueStorage_5(D);
  1331. Indirect ref write is not const/pure
  1332. scanning: pxNewQueue_4(D)->uxLength = uxQueueLength_8(D);
  1333. Indirect ref write is not const/pure
  1334. scanning: pxNewQueue_4(D)->uxItemSize = uxItemSize_2(D);
  1335. Indirect ref write is not const/pure
  1336. scanning: xQueueGenericReset (pxNewQueue_4(D), 1);
  1337. scanning: pxNewQueue_4(D)->ucQueueType = ucQueueType_12(D);
  1338. Indirect ref write is not const/pure
  1339. scanning: return;
  1340. local analysis of xQueueGenericCreate
  1341. scanning: if (uxQueueLength_6(D) != 0)
  1342. scanning: _1 = .MUL_OVERFLOW (uxItemSize_7(D), uxQueueLength_6(D));
  1343. scanning: _2 = IMAGPART_EXPR <_1>;
  1344. scanning: if (_2 == 0)
  1345. scanning: _3 = uxQueueLength_6(D) * uxItemSize_7(D);
  1346. scanning: if (_3 <= 4294967215)
  1347. scanning: _4 = _3 + 80;
  1348. scanning: pxNewQueue_10 = pvPortMalloc (_4);
  1349. scanning: if (pxNewQueue_10 != 0B)
  1350. scanning: pucQueueStorage_11 = pxNewQueue_10 + 80;
  1351. scanning: prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10);
  1352. scanning: __asm__ __volatile__(" mov %0, %1
  1353. msr basepri, %0
  1354. isb
  1355. dsb
  1356. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  1357. memory asm clobber is not const/pure
  1358. volatile is not const/pure
  1359. scanning: return pxNewQueue_10;
  1360. Function is locally looping.
  1361. Function can locally free.
  1362. local analysis of xQueueGenericReset
  1363. scanning: if (xQueue_5(D) == 0B)
  1364. scanning: __asm__ __volatile__(" mov %0, %1
  1365. msr basepri, %0
  1366. isb
  1367. dsb
  1368. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  1369. memory asm clobber is not const/pure
  1370. volatile is not const/pure
  1371. scanning: _1 = MEM[(struct Queue_t *)xQueue_5(D)].uxLength;
  1372. Indirect ref read is not const
  1373. scanning: if (_1 != 0)
  1374. scanning: _3 = MEM[(struct Queue_t *)xQueue_5(D)].uxItemSize;
  1375. Indirect ref read is not const
  1376. scanning: _2 = .MUL_OVERFLOW (_3, _1);
  1377. scanning: _4 = IMAGPART_EXPR <_2>;
  1378. scanning: if (_4 == 0)
  1379. scanning: _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D));
  1380. scanning: return _13;
  1381. scanning: __asm__ __volatile__(" mov %0, %1
  1382. msr basepri, %0
  1383. isb
  1384. dsb
  1385. " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  1386. memory asm clobber is not const/pure
  1387. volatile is not const/pure
  1388. Function is locally looping.
  1389. Function can locally free.
  1390. callgraph:
  1391. vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @05e48b60
  1392. Type: function definition analyzed
  1393. Visibility: prevailing_def_ironly artificial
  1394. Aux: @05f49350
  1395. References:
  1396. Referring:
  1397. Function vQueueUnregisterQueue.part.0/114 is inline copy in vQueueUnregisterQueue/40
  1398. Availability: local
  1399. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  1400. Called by: vQueueUnregisterQueue/40 (inlined) (107374 (estimated locally),0.30 per call)
  1401. Calls:
  1402. xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @05e482a0
  1403. Type: function definition analyzed
  1404. Visibility: prevailing_def_ironly artificial
  1405. Aux: @05f49630
  1406. References:
  1407. Referring:
  1408. Function xQueueGenericReset.part.0/65 is inline copy in xQueueGenericReset/5
  1409. Availability: local
  1410. Function flags: count:21218 (estimated locally) first_run:1 body local split_part optimize_size
  1411. Called by: xQueueGenericReset/5 (inlined) (21218 (estimated locally),0.12 per call)
  1412. Calls: vPortEnterCritical/42 (21218 (estimated locally),0.12 per call) xTaskRemoveFromEventList/43 (4691 (estimated locally),0.03 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vPortExitCritical/45 (21218 (estimated locally),0.12 per call)
  1413. vTaskPlaceOnEventListRestricted/62 (vTaskPlaceOnEventListRestricted) @05fe8620
  1414. Type: function
  1415. Visibility: external public
  1416. References:
  1417. Referring:
  1418. Availability: not_available
  1419. Function flags: optimize_size
  1420. Called by: vQueueWaitForMessageRestricted/41 (354334802 (estimated locally),0.33 per call)
  1421. Calls:
  1422. vPortFree/61 (vPortFree) @05fc9ee0
  1423. Type: function
  1424. Visibility: external public
  1425. References:
  1426. Referring:
  1427. Availability: not_available
  1428. Function flags: optimize_size
  1429. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  1430. Calls:
  1431. vTaskPriorityDisinheritAfterTimeout/60 (vTaskPriorityDisinheritAfterTimeout) @05fc9380
  1432. Type: function
  1433. Visibility: external public
  1434. References:
  1435. Referring:
  1436. Availability: not_available
  1437. Function flags: optimize_size
  1438. Called by: xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call)
  1439. Calls:
  1440. xTaskPriorityInherit/59 (xTaskPriorityInherit) @05fc92a0
  1441. Type: function
  1442. Visibility: external public
  1443. References:
  1444. Referring:
  1445. Availability: not_available
  1446. Function flags: optimize_size
  1447. Called by: xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call)
  1448. Calls:
  1449. pvTaskIncrementMutexHeldCount/58 (pvTaskIncrementMutexHeldCount) @05fc91c0
  1450. Type: function
  1451. Visibility: external public
  1452. References:
  1453. Referring:
  1454. Availability: not_available
  1455. Function flags: optimize_size
  1456. Called by: xQueueSemaphoreTake/19 (2848 (estimated locally),0.01 per call)
  1457. Calls:
  1458. vPortValidateInterruptPriority/57 (vPortValidateInterruptPriority) @05fa3620
  1459. Type: function
  1460. Visibility: external public
  1461. References:
  1462. Referring:
  1463. Availability: not_available
  1464. Function flags: optimize_size
  1465. Called by: xQueuePeekFromISR/22 (52886 (estimated locally),0.20 per call) xQueueReceiveFromISR/21 (192251 (estimated locally),0.54 per call) xQueueGiveFromISR/17 (72401 (estimated locally),0.24 per call) xQueueGenericSendFromISR/16 (141108 (estimated locally),0.39 per call)
  1466. Calls:
  1467. vTaskMissedYield/56 (vTaskMissedYield) @05fa32a0
  1468. Type: function
  1469. Visibility: external public
  1470. References:
  1471. Referring:
  1472. Availability: not_available
  1473. Function flags: optimize_size
  1474. Called by: prvUnlockQueue/33 (316429830 (estimated locally),2.75 per call) prvUnlockQueue/33 (316429836 (estimated locally),2.75 per call)
  1475. Calls:
  1476. memcpy/55 (memcpy) @05fa3000
  1477. Type: function
  1478. Visibility: external public
  1479. References:
  1480. Referring:
  1481. Availability: not_available
  1482. Function flags: optimize_size
  1483. Called by: prvCopyDataFromQueue/32 (536870913 (estimated locally),0.50 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call)
  1484. Calls:
  1485. xTaskPriorityDisinherit/54 (xTaskPriorityDisinherit) @05f558c0
  1486. Type: function
  1487. Visibility: external public
  1488. References:
  1489. Referring:
  1490. Availability: not_available
  1491. Function flags: optimize_size
  1492. Called by: prvCopyDataToQueue/31 (93576600 (estimated locally),0.09 per call)
  1493. Calls:
  1494. xTaskResumeAll/53 (xTaskResumeAll) @05f55e00
  1495. Type: function
  1496. Visibility: external public
  1497. References:
  1498. Referring:
  1499. Availability: not_available
  1500. Function flags: optimize_size
  1501. Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  1502. Calls:
  1503. vTaskPlaceOnEventList/52 (vTaskPlaceOnEventList) @05f55d20
  1504. Type: function
  1505. Visibility: external public
  1506. References:
  1507. Referring:
  1508. Availability: not_available
  1509. Function flags: optimize_size
  1510. Called by: xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  1511. Calls:
  1512. xTaskCheckForTimeOut/51 (xTaskCheckForTimeOut) @05f55c40
  1513. Type: function
  1514. Visibility: external public
  1515. References:
  1516. Referring:
  1517. Availability: not_available
  1518. Function flags: optimize_size
  1519. Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call)
  1520. Calls:
  1521. vTaskSuspendAll/50 (vTaskSuspendAll) @05f55b60
  1522. Type: function
  1523. Visibility: external public
  1524. References:
  1525. Referring:
  1526. Availability: not_available
  1527. Function flags: optimize_size
  1528. Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call)
  1529. Calls:
  1530. vTaskInternalSetTimeOutState/49 (vTaskInternalSetTimeOutState) @05f55a80
  1531. Type: function
  1532. Visibility: external public
  1533. References:
  1534. Referring:
  1535. Availability: not_available
  1536. Function flags: optimize_size
  1537. Called by: xQueuePeek/20 (497076 (estimated locally),1.39 per call) xQueueSemaphoreTake/19 (136739 (estimated locally),0.60 per call) xQueueReceive/18 (497076 (estimated locally),1.39 per call) xQueueGenericSend/15 (304339 (estimated locally),0.85 per call)
  1538. Calls:
  1539. xTaskGetSchedulerState/48 (xTaskGetSchedulerState) @05f559a0
  1540. Type: function
  1541. Visibility: external public
  1542. References:
  1543. Referring:
  1544. Availability: not_available
  1545. Function flags: optimize_size
  1546. Called by: xQueuePeek/20 (192251 (estimated locally),0.54 per call) xQueueSemaphoreTake/19 (52886 (estimated locally),0.23 per call) xQueueReceive/18 (192251 (estimated locally),0.54 per call) xQueueGenericSend/15 (141108 (estimated locally),0.39 per call)
  1547. Calls:
  1548. xTaskGetCurrentTaskHandle/47 (xTaskGetCurrentTaskHandle) @05f55460
  1549. Type: function
  1550. Visibility: external public
  1551. References:
  1552. Referring:
  1553. Availability: not_available
  1554. Function flags: optimize_size
  1555. Called by: xQueueTakeMutexRecursive/13 (123389 (estimated locally),0.53 per call) xQueueGiveMutexRecursive/12 (123389 (estimated locally),0.53 per call)
  1556. Calls:
  1557. pvPortMalloc/46 (pvPortMalloc) @05f42000
  1558. Type: function
  1559. Visibility: external public
  1560. References:
  1561. Referring:
  1562. Availability: not_available
  1563. Function flags: optimize_size
  1564. Called by: xQueueGenericCreate/6 (9655 (estimated locally),0.08 per call)
  1565. Calls:
  1566. vPortExitCritical/45 (vPortExitCritical) @05f42d20
  1567. Type: function
  1568. Visibility: external public
  1569. References:
  1570. Referring:
  1571. Availability: not_available
  1572. Function flags: optimize_size
  1573. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (57225 (estimated locally),0.16 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (3186 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (16340 (estimated locally),0.07 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (57225 (estimated locally),0.16 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (26079 (estimated locally),0.07 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (21218 (estimated locally),0.12 per call) prvUnlockQueue/33 (114863529 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863532 (estimated locally),1.00 per call) prvIsQueueEmpty/34 (1073741824 (estimated locally),1.00 per call) prvIsQueueFull/36 (896877 (estimated locally),2.51 per call)
  1574. Calls:
  1575. vListInitialise/44 (vListInitialise) @05f42c40
  1576. Type: function
  1577. Visibility: external public
  1578. References:
  1579. Referring:
  1580. Availability: not_available
  1581. Function flags: optimize_size
  1582. Called by: xQueueGenericReset.part.0/65 (7002 (estimated locally),0.04 per call) xQueueGenericReset.part.0/65 (7002 (estimated locally),0.04 per call)
  1583. Calls:
  1584. xTaskRemoveFromEventList/43 (xTaskRemoveFromEventList) @05f42b60
  1585. Type: function
  1586. Visibility: external public
  1587. References:
  1588. Referring:
  1589. Availability: not_available
  1590. Function flags: optimize_size
  1591. Called by: xQueueReceiveFromISR/21 (7118 (estimated locally),0.02 per call) xQueuePeek/20 (19602 (estimated locally),0.05 per call) xQueueSemaphoreTake/19 (5392 (estimated locally),0.02 per call) xQueueReceive/18 (19602 (estimated locally),0.05 per call) xQueueGiveFromISR/17 (4062 (estimated locally),0.01 per call) xQueueGenericSendFromISR/16 (8831 (estimated locally),0.02 per call) xQueueGenericSend/15 (17949 (estimated locally),0.05 per call) xQueueGenericReset.part.0/65 (4691 (estimated locally),0.03 per call) prvUnlockQueue/33 (958878272 (estimated locally),8.35 per call) prvUnlockQueue/33 (958878293 (estimated locally),8.35 per call)
  1592. Calls:
  1593. vPortEnterCritical/42 (vPortEnterCritical) @05f42a80
  1594. Type: function
  1595. Visibility: external public
  1596. References:
  1597. Referring:
  1598. Availability: not_available
  1599. Function flags: optimize_size
  1600. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1622915 (estimated locally),4.53 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (446442 (estimated locally),1.95 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1622915 (estimated locally),4.53 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (1002708 (estimated locally),2.80 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (21218 (estimated locally),0.12 per call) prvUnlockQueue/33 (114863532 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863534 (estimated locally),1.00 per call) prvIsQueueEmpty/34 (1073741824 (estimated locally),1.00 per call) prvIsQueueFull/36 (896877 (estimated locally),2.51 per call)
  1601. Calls:
  1602. vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @05f42540
  1603. Type: function definition analyzed
  1604. Visibility: externally_visible public
  1605. Aux: @05f49430
  1606. References:
  1607. Referring:
  1608. Availability: available
  1609. Function flags: count:1073741824 (estimated locally) body optimize_size
  1610. Called by:
  1611. Calls: prvUnlockQueue/33 (1073741824 (estimated locally),1.00 per call) vTaskPlaceOnEventListRestricted/62 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  1612. vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05f422a0
  1613. Type: function definition analyzed
  1614. Visibility: externally_visible public
  1615. Aux: @05f494d0
  1616. References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write)
  1617. Referring:
  1618. Availability: available
  1619. Function flags: count:357913 (estimated locally) body optimize_size
  1620. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  1621. Calls: vQueueUnregisterQueue.part.0/114 (inlined) (107374 (estimated locally),0.30 per call)
  1622. pcQueueGetName/39 (pcQueueGetName) @05f3ce00
  1623. Type: function definition analyzed
  1624. Visibility: externally_visible public
  1625. Aux: @05f49690
  1626. References: xQueueRegistry/4 (read)xQueueRegistry/4 (read)
  1627. Referring:
  1628. Availability: available
  1629. Function flags: count:357913 (estimated locally) body optimize_size
  1630. Called by:
  1631. Calls:
  1632. vQueueAddToRegistry/38 (vQueueAddToRegistry) @05f3c460
  1633. Type: function definition analyzed
  1634. Visibility: externally_visible public
  1635. Aux: @05f493d0
  1636. References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr)
  1637. Referring:
  1638. Availability: available
  1639. Function flags: count:357913 (estimated locally) body optimize_size
  1640. Called by:
  1641. Calls:
  1642. xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05f3cd20
  1643. Type: function definition analyzed
  1644. Visibility: externally_visible public
  1645. Aux: @061553e8
  1646. References:
  1647. Referring:
  1648. Availability: available
  1649. Function flags: count:357913 (estimated locally) body optimize_size
  1650. Called by:
  1651. Calls:
  1652. prvIsQueueFull/36 (prvIsQueueFull) @05f3c9a0
  1653. Type: function definition analyzed
  1654. Visibility: prevailing_def_ironly
  1655. Aux: @06155488
  1656. References:
  1657. Referring:
  1658. Function prvIsQueueFull/36 is inline copy in xQueueGenericSend/15
  1659. Availability: local
  1660. Function flags: count:896877 (estimated locally) body local optimize_size
  1661. Called by: xQueueGenericSend/15 (inlined) (896877 (estimated locally),2.51 per call)
  1662. Calls: vPortExitCritical/45 (896877 (estimated locally),2.51 per call) vPortEnterCritical/42 (896877 (estimated locally),2.51 per call)
  1663. xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @05f3c700
  1664. Type: function definition analyzed
  1665. Visibility: externally_visible public
  1666. Aux: @06155428
  1667. References:
  1668. Referring:
  1669. Availability: available
  1670. Function flags: count:357913 (estimated locally) body optimize_size
  1671. Called by:
  1672. Calls:
  1673. prvIsQueueEmpty/34 (prvIsQueueEmpty) @05f3c380
  1674. Type: function definition analyzed
  1675. Visibility: prevailing_def_ironly
  1676. Aux: @061551a8
  1677. References:
  1678. Referring:
  1679. Availability: local
  1680. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1681. Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call)
  1682. Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  1683. prvUnlockQueue/33 (prvUnlockQueue) @05f3c0e0
  1684. Type: function definition analyzed
  1685. Visibility: prevailing_def_ironly
  1686. Aux: @061551c8
  1687. References:
  1688. Referring:
  1689. Availability: local
  1690. Function flags: count:114863534 (estimated locally) body local optimize_size
  1691. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  1692. Calls: vPortExitCritical/45 (114863529 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429830 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878272 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863532 (estimated locally),1.00 per call) vPortExitCritical/45 (114863532 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429836 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878293 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863534 (estimated locally),1.00 per call)
  1693. prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05f338c0
  1694. Type: function definition analyzed
  1695. Visibility: prevailing_def_ironly
  1696. Aux: @05dc2878
  1697. References:
  1698. Referring:
  1699. Availability: local
  1700. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1701. Called by: xQueuePeekFromISR/22 (17452 (estimated locally),0.06 per call) xQueueReceiveFromISR/21 (63443 (estimated locally),0.18 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call)
  1702. Calls: memcpy/55 (536870913 (estimated locally),0.50 per call)
  1703. prvCopyDataToQueue/31 (prvCopyDataToQueue) @05f33380
  1704. Type: function definition analyzed
  1705. Visibility: prevailing_def_ironly
  1706. Aux: @05dc2898
  1707. References:
  1708. Referring:
  1709. Availability: local
  1710. Function flags: count:1073741823 (estimated locally) body local optimize_size
  1711. Called by: xQueueGenericSendFromISR/16 (78710 (estimated locally),0.22 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call)
  1712. Calls: memcpy/55 (268435456 (estimated locally),0.25 per call) memcpy/55 (268435456 (estimated locally),0.25 per call) xTaskPriorityDisinherit/54 (93576600 (estimated locally),0.09 per call)
  1713. prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05f33e00
  1714. Type: function definition analyzed
  1715. Visibility: prevailing_def_ironly
  1716. Aux: @05dc2998
  1717. References:
  1718. Referring:
  1719. Function prvGetDisinheritPriorityAfterTimeout/30 is inline copy in xQueueSemaphoreTake/19
  1720. Availability: local
  1721. Function flags: count:2502 (estimated locally) body local optimize_size
  1722. Called by: xQueueSemaphoreTake/19 (inlined) (2502 (estimated locally),0.01 per call)
  1723. Calls:
  1724. ucQueueGetQueueType/29 (ucQueueGetQueueType) @05f33a80
  1725. Type: function definition analyzed
  1726. Visibility: externally_visible public
  1727. Aux: @05d174c8
  1728. References:
  1729. Referring:
  1730. Availability: available
  1731. Function flags: count:1073741824 (estimated locally) body optimize_size
  1732. Called by:
  1733. Calls:
  1734. vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05f337e0
  1735. Type: function definition analyzed
  1736. Visibility: externally_visible public
  1737. Aux: @05d17648
  1738. References:
  1739. Referring:
  1740. Availability: available
  1741. Function flags: count:1073741824 (estimated locally) body optimize_size
  1742. Called by:
  1743. Calls:
  1744. uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05f33540
  1745. Type: function definition analyzed
  1746. Visibility: externally_visible public
  1747. Aux: @05d175c8
  1748. References:
  1749. Referring:
  1750. Availability: available
  1751. Function flags: count:1073741824 (estimated locally) body optimize_size
  1752. Called by:
  1753. Calls:
  1754. vQueueDelete/26 (vQueueDelete) @05f332a0
  1755. Type: function definition analyzed
  1756. Visibility: externally_visible public
  1757. Aux: @05d17528
  1758. References:
  1759. Referring:
  1760. Availability: available
  1761. Function flags: count:230763 (estimated locally) body optimize_size
  1762. Called by:
  1763. Calls: vPortFree/61 (123389 (estimated locally),0.53 per call) vQueueUnregisterQueue/40 (123389 (estimated locally),0.53 per call)
  1764. uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05f2ad20
  1765. Type: function definition analyzed
  1766. Visibility: externally_visible public
  1767. Aux: @05d17668
  1768. References:
  1769. Referring:
  1770. Availability: available
  1771. Function flags: count:357913 (estimated locally) body optimize_size
  1772. Called by:
  1773. Calls:
  1774. uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05f2a0e0
  1775. Type: function definition analyzed
  1776. Visibility: externally_visible public
  1777. Aux: @05d17688
  1778. References:
  1779. Referring:
  1780. Availability: available
  1781. Function flags: count:230763 (estimated locally) body optimize_size
  1782. Called by:
  1783. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  1784. uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05f2ac40
  1785. Type: function definition analyzed
  1786. Visibility: externally_visible public
  1787. Aux: @05d17588
  1788. References:
  1789. Referring:
  1790. Availability: available
  1791. Function flags: count:230763 (estimated locally) body optimize_size
  1792. Called by:
  1793. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  1794. xQueuePeekFromISR/22 (xQueuePeekFromISR) @05f2a8c0
  1795. Type: function definition analyzed
  1796. Visibility: externally_visible public
  1797. Aux: @05d176c8
  1798. References:
  1799. Referring:
  1800. Availability: available
  1801. Function flags: count:269344 (estimated locally) body optimize_size
  1802. Called by:
  1803. Calls: prvCopyDataFromQueue/32 (17452 (estimated locally),0.06 per call) vPortValidateInterruptPriority/57 (52886 (estimated locally),0.20 per call)
  1804. xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05f2a460
  1805. Type: function definition analyzed
  1806. Visibility: externally_visible public
  1807. Aux: @05d175e8
  1808. References:
  1809. Referring:
  1810. Availability: available
  1811. Function flags: count:357913 (estimated locally) body optimize_size
  1812. Called by:
  1813. Calls: xTaskRemoveFromEventList/43 (7118 (estimated locally),0.02 per call) prvCopyDataFromQueue/32 (63443 (estimated locally),0.18 per call) vPortValidateInterruptPriority/57 (192251 (estimated locally),0.54 per call)
  1814. xQueuePeek/20 (xQueuePeek) @05f2a000
  1815. Type: function definition analyzed
  1816. Visibility: externally_visible public
  1817. Aux: @05d176a8
  1818. References:
  1819. Referring:
  1820. Availability: available
  1821. Function flags: count:357913 (estimated locally) body optimize_size
  1822. Called by:
  1823. Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call)
  1824. xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05f18c40
  1825. Type: function definition analyzed
  1826. Visibility: externally_visible public
  1827. Aux: @05d17568
  1828. References:
  1829. Referring:
  1830. Availability: available
  1831. Function flags: count:228942 (estimated locally) body optimize_size
  1832. Called by: xQueueTakeMutexRecursive/13 (65976 (estimated locally),0.29 per call)
  1833. Calls: vPortExitCritical/45 (2502 (estimated locally),0.01 per call) vTaskPriorityDisinheritAfterTimeout/60 (2502 (estimated locally),0.01 per call) prvGetDisinheritPriorityAfterTimeout/30 (inlined) (2502 (estimated locally),0.01 per call) vPortEnterCritical/42 (2502 (estimated locally),0.01 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (207180 (estimated locally),0.90 per call) prvUnlockQueue/33 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (68369 (estimated locally),0.30 per call) prvUnlockQueue/33 (68369 (estimated locally),0.30 per call) xTaskResumeAll/53 (138811 (estimated locally),0.61 per call) prvUnlockQueue/33 (138811 (estimated locally),0.61 per call) vTaskPlaceOnEventList/52 (138811 (estimated locally),0.61 per call) vPortExitCritical/45 (24195 (estimated locally),0.11 per call) xTaskPriorityInherit/59 (24195 (estimated locally),0.11 per call) vPortEnterCritical/42 (24195 (estimated locally),0.11 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskCheckForTimeOut/51 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vPortEnterCritical/42 (414360 (estimated locally),1.81 per call) vTaskSuspendAll/50 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vTaskInternalSetTimeOutState/49 (136739 (estimated locally),0.60 per call) vPortExitCritical/45 (3186 (estimated locally),0.01 per call) vPortExitCritical/45 (16340 (estimated locally),0.07 per call) xTaskRemoveFromEventList/43 (5392 (estimated locally),0.02 per call) pvTaskIncrementMutexHeldCount/58 (2848 (estimated locally),0.01 per call) vPortEnterCritical/42 (446442 (estimated locally),1.95 per call) xTaskGetSchedulerState/48 (52886 (estimated locally),0.23 per call)
  1834. xQueueReceive/18 (xQueueReceive) @05f18540
  1835. Type: function definition analyzed
  1836. Visibility: externally_visible public
  1837. Aux: @05d17548
  1838. References:
  1839. Referring:
  1840. Availability: available
  1841. Function flags: count:357913 (estimated locally) body optimize_size
  1842. Called by:
  1843. Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call)
  1844. xQueueGiveFromISR/17 (xQueueGiveFromISR) @05eb8d20
  1845. Type: function definition analyzed
  1846. Visibility: externally_visible public
  1847. Aux: @05d173e8
  1848. References:
  1849. Referring:
  1850. Availability: available
  1851. Function flags: count:306783 (estimated locally) body optimize_size
  1852. Called by:
  1853. Calls: xTaskRemoveFromEventList/43 (4062 (estimated locally),0.01 per call) vPortValidateInterruptPriority/57 (72401 (estimated locally),0.24 per call)
  1854. xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05eb8c40
  1855. Type: function definition analyzed
  1856. Visibility: externally_visible public
  1857. Aux: @05d174e8
  1858. References:
  1859. Referring:
  1860. Availability: available
  1861. Function flags: count:357913 (estimated locally) body optimize_size
  1862. Called by:
  1863. Calls: xTaskRemoveFromEventList/43 (8831 (estimated locally),0.02 per call) prvCopyDataToQueue/31 (78710 (estimated locally),0.22 per call) vPortValidateInterruptPriority/57 (141108 (estimated locally),0.39 per call)
  1864. xQueueGenericSend/15 (xQueueGenericSend) @05eb87e0
  1865. Type: function definition analyzed
  1866. Visibility: externally_visible public
  1867. Aux: @05d174a8
  1868. References:
  1869. Referring:
  1870. Availability: available
  1871. Function flags: count:357913 (estimated locally) body optimize_size
  1872. Called by: xQueueGiveMutexRecursive/12 (12216 (estimated locally),0.05 per call) prvInitialiseMutex/8 (574129754 (estimated locally),0.53 per call)
  1873. Calls: xTaskResumeAll/53 (25362 (estimated locally),0.07 per call) prvUnlockQueue/33 (25362 (estimated locally),0.07 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) vTaskPlaceOnEventList/52 (448439 (estimated locally),1.25 per call) prvIsQueueFull/36 (inlined) (896877 (estimated locally),2.51 per call) xTaskCheckForTimeOut/51 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vPortEnterCritical/42 (922239 (estimated locally),2.58 per call) vTaskSuspendAll/50 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vTaskInternalSetTimeOutState/49 (304339 (estimated locally),0.85 per call) vPortExitCritical/45 (26079 (estimated locally),0.07 per call) vPortExitCritical/45 (54391 (estimated locally),0.15 per call) xTaskRemoveFromEventList/43 (17949 (estimated locally),0.05 per call) prvCopyDataToQueue/31 (54391 (estimated locally),0.15 per call) vPortEnterCritical/42 (1002708 (estimated locally),2.80 per call) xTaskGetSchedulerState/48 (141108 (estimated locally),0.39 per call)
  1874. xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @05eb80e0
  1875. Type: function definition analyzed
  1876. Visibility: externally_visible public
  1877. Aux: @05d175a8
  1878. References:
  1879. Referring:
  1880. Availability: available
  1881. Function flags: count:128592 (estimated locally) body optimize_size
  1882. Called by:
  1883. Calls: xQueueGenericCreate/6 (21218 (estimated locally),0.17 per call)
  1884. xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05eb09a0
  1885. Type: function definition analyzed
  1886. Visibility: externally_visible public
  1887. Aux: @05d17468
  1888. References:
  1889. Referring:
  1890. Availability: available
  1891. Function flags: count:230763 (estimated locally) body optimize_size
  1892. Called by:
  1893. Calls: xQueueSemaphoreTake/19 (65976 (estimated locally),0.29 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  1894. xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05eb00e0
  1895. Type: function definition analyzed
  1896. Visibility: externally_visible public
  1897. Aux: @05d17768
  1898. References:
  1899. Referring:
  1900. Availability: available
  1901. Function flags: count:230763 (estimated locally) body optimize_size
  1902. Called by:
  1903. Calls: xQueueGenericSend/15 (12216 (estimated locally),0.05 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  1904. xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05eb0c40
  1905. Type: function definition analyzed
  1906. Visibility: externally_visible public
  1907. Aux: @05d176e8
  1908. References:
  1909. Referring:
  1910. Availability: available
  1911. Function flags: count:357913 (estimated locally) body optimize_size
  1912. Called by:
  1913. Calls:
  1914. xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05eb08c0
  1915. Type: function definition analyzed
  1916. Visibility: externally_visible public
  1917. Aux: @05d17708
  1918. References:
  1919. Referring:
  1920. Availability: available
  1921. Function flags: count:230763 (estimated locally) body optimize_size
  1922. Called by:
  1923. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  1924. xQueueCreateMutex/9 (xQueueCreateMutex) @05eb0540
  1925. Type: function definition analyzed
  1926. Visibility: externally_visible public
  1927. Aux: @05d17488
  1928. References:
  1929. Referring:
  1930. Availability: available
  1931. Function flags: count:1073741824 (estimated locally) body optimize_size
  1932. Called by:
  1933. Calls: prvInitialiseMutex/8 (inlined) (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call)
  1934. prvInitialiseMutex/8 (prvInitialiseMutex) @05eb02a0
  1935. Type: function definition analyzed
  1936. Visibility: prevailing_def_ironly
  1937. Aux: @05d17608
  1938. References:
  1939. Referring:
  1940. Function prvInitialiseMutex/8 is inline copy in xQueueCreateMutex/9
  1941. Availability: local
  1942. Function flags: count:1073741824 (estimated locally) body local optimize_size
  1943. Called by: xQueueCreateMutex/9 (inlined) (1073741824 (estimated locally),1.00 per call)
  1944. Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call)
  1945. prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @05eb0000
  1946. Type: function definition analyzed
  1947. Visibility: prevailing_def_ironly
  1948. Aux: @05d17628
  1949. References:
  1950. Referring:
  1951. Function prvInitialiseNewQueue/7 is inline copy in xQueueGenericCreate/6
  1952. Availability: local
  1953. Function flags: count:5162 (estimated locally) body local optimize_size
  1954. Called by: xQueueGenericCreate/6 (inlined) (5162 (estimated locally),0.04 per call)
  1955. Calls: xQueueGenericReset/5 (5162 (estimated locally),0.04 per call)
  1956. xQueueGenericCreate/6 (xQueueGenericCreate) @05ec67e0
  1957. Type: function definition analyzed
  1958. Visibility: externally_visible public
  1959. Aux: @05d17728
  1960. References:
  1961. Referring:
  1962. Availability: available
  1963. Function flags: count:117029 (estimated locally) body optimize_size
  1964. Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) xQueueCreateCountingSemaphore/14 (21218 (estimated locally),0.17 per call)
  1965. Calls: prvInitialiseNewQueue/7 (inlined) (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call)
  1966. xQueueGenericReset/5 (xQueueGenericReset) @05ec6c40
  1967. Type: function definition analyzed
  1968. Visibility: externally_visible public
  1969. Aux: @05d17508
  1970. References:
  1971. Referring:
  1972. Availability: available
  1973. Function flags: count:183702 (estimated locally) body optimize_size
  1974. Called by: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call)
  1975. Calls: xQueueGenericReset.part.0/65 (inlined) (21218 (estimated locally),0.12 per call)
  1976. ordered call graph: reduced for nothrow
  1977. vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @05e48b60
  1978. Type: function definition analyzed
  1979. Visibility: prevailing_def_ironly artificial
  1980. Aux: @05f49350
  1981. References:
  1982. Referring:
  1983. Function vQueueUnregisterQueue.part.0/114 is inline copy in vQueueUnregisterQueue/40
  1984. Availability: local
  1985. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  1986. Called by: vQueueUnregisterQueue/40 (inlined) (107374 (estimated locally),0.30 per call)
  1987. Calls:
  1988. xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @05e482a0
  1989. Type: function definition analyzed
  1990. Visibility: prevailing_def_ironly artificial
  1991. Aux: @05f49630
  1992. References:
  1993. Referring:
  1994. Function xQueueGenericReset.part.0/65 is inline copy in xQueueGenericReset/5
  1995. Availability: local
  1996. Function flags: count:21218 (estimated locally) first_run:1 body local split_part optimize_size
  1997. Called by: xQueueGenericReset/5 (inlined) (21218 (estimated locally),0.12 per call)
  1998. Calls: vPortEnterCritical/42 (21218 (estimated locally),0.12 per call) xTaskRemoveFromEventList/43 (4691 (estimated locally),0.03 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vPortExitCritical/45 (21218 (estimated locally),0.12 per call)
  1999. vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @05f42540
  2000. Type: function definition analyzed
  2001. Visibility: externally_visible public
  2002. Aux: @05f49430
  2003. References:
  2004. Referring:
  2005. Availability: available
  2006. Function flags: count:1073741824 (estimated locally) body optimize_size
  2007. Called by:
  2008. Calls: prvUnlockQueue/33 (1073741824 (estimated locally),1.00 per call) vTaskPlaceOnEventListRestricted/62 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  2009. vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05f422a0
  2010. Type: function definition analyzed
  2011. Visibility: externally_visible public
  2012. Aux: @05f494d0
  2013. References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write)
  2014. Referring:
  2015. Availability: available
  2016. Function flags: count:357913 (estimated locally) body optimize_size
  2017. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  2018. Calls: vQueueUnregisterQueue.part.0/114 (inlined) (107374 (estimated locally),0.30 per call)
  2019. pcQueueGetName/39 (pcQueueGetName) @05f3ce00
  2020. Type: function definition analyzed
  2021. Visibility: externally_visible public
  2022. Aux: @05f49690
  2023. References: xQueueRegistry/4 (read)xQueueRegistry/4 (read)
  2024. Referring:
  2025. Availability: available
  2026. Function flags: count:357913 (estimated locally) body optimize_size
  2027. Called by:
  2028. Calls:
  2029. vQueueAddToRegistry/38 (vQueueAddToRegistry) @05f3c460
  2030. Type: function definition analyzed
  2031. Visibility: externally_visible public
  2032. Aux: @05f493d0
  2033. References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr)
  2034. Referring:
  2035. Availability: available
  2036. Function flags: count:357913 (estimated locally) body optimize_size
  2037. Called by:
  2038. Calls:
  2039. xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05f3cd20
  2040. Type: function definition analyzed
  2041. Visibility: externally_visible public
  2042. Aux: @061553e8
  2043. References:
  2044. Referring:
  2045. Availability: available
  2046. Function flags: count:357913 (estimated locally) body optimize_size
  2047. Called by:
  2048. Calls:
  2049. prvIsQueueFull/36 (prvIsQueueFull) @05f3c9a0
  2050. Type: function definition analyzed
  2051. Visibility: prevailing_def_ironly
  2052. Aux: @06155488
  2053. References:
  2054. Referring:
  2055. Function prvIsQueueFull/36 is inline copy in xQueueGenericSend/15
  2056. Availability: local
  2057. Function flags: count:896877 (estimated locally) body local optimize_size
  2058. Called by: xQueueGenericSend/15 (inlined) (896877 (estimated locally),2.51 per call)
  2059. Calls: vPortExitCritical/45 (896877 (estimated locally),2.51 per call) vPortEnterCritical/42 (896877 (estimated locally),2.51 per call)
  2060. xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @05f3c700
  2061. Type: function definition analyzed
  2062. Visibility: externally_visible public
  2063. Aux: @06155428
  2064. References:
  2065. Referring:
  2066. Availability: available
  2067. Function flags: count:357913 (estimated locally) body optimize_size
  2068. Called by:
  2069. Calls:
  2070. prvIsQueueEmpty/34 (prvIsQueueEmpty) @05f3c380
  2071. Type: function definition analyzed
  2072. Visibility: prevailing_def_ironly
  2073. Aux: @061551a8
  2074. References:
  2075. Referring:
  2076. Availability: local
  2077. Function flags: count:1073741824 (estimated locally) body local optimize_size
  2078. Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call)
  2079. Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  2080. prvUnlockQueue/33 (prvUnlockQueue) @05f3c0e0
  2081. Type: function definition analyzed
  2082. Visibility: prevailing_def_ironly
  2083. Aux: @061551c8
  2084. References:
  2085. Referring:
  2086. Availability: local
  2087. Function flags: count:114863534 (estimated locally) body local optimize_size
  2088. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  2089. Calls: vPortExitCritical/45 (114863529 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429830 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878272 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863532 (estimated locally),1.00 per call) vPortExitCritical/45 (114863532 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429836 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878293 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863534 (estimated locally),1.00 per call)
  2090. prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05f338c0
  2091. Type: function definition analyzed
  2092. Visibility: prevailing_def_ironly
  2093. Aux: @05dc2878
  2094. References:
  2095. Referring:
  2096. Availability: local
  2097. Function flags: count:1073741824 (estimated locally) body local optimize_size
  2098. Called by: xQueuePeekFromISR/22 (17452 (estimated locally),0.06 per call) xQueueReceiveFromISR/21 (63443 (estimated locally),0.18 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call)
  2099. Calls: memcpy/55 (536870913 (estimated locally),0.50 per call)
  2100. prvCopyDataToQueue/31 (prvCopyDataToQueue) @05f33380
  2101. Type: function definition analyzed
  2102. Visibility: prevailing_def_ironly
  2103. Aux: @05dc2898
  2104. References:
  2105. Referring:
  2106. Availability: local
  2107. Function flags: count:1073741823 (estimated locally) body local optimize_size
  2108. Called by: xQueueGenericSendFromISR/16 (78710 (estimated locally),0.22 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call)
  2109. Calls: memcpy/55 (268435456 (estimated locally),0.25 per call) memcpy/55 (268435456 (estimated locally),0.25 per call) xTaskPriorityDisinherit/54 (93576600 (estimated locally),0.09 per call)
  2110. prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05f33e00
  2111. Type: function definition analyzed
  2112. Visibility: prevailing_def_ironly
  2113. Aux: @05dc2998
  2114. References:
  2115. Referring:
  2116. Function prvGetDisinheritPriorityAfterTimeout/30 is inline copy in xQueueSemaphoreTake/19
  2117. Availability: local
  2118. Function flags: count:2502 (estimated locally) body local optimize_size
  2119. Called by: xQueueSemaphoreTake/19 (inlined) (2502 (estimated locally),0.01 per call)
  2120. Calls:
  2121. ucQueueGetQueueType/29 (ucQueueGetQueueType) @05f33a80
  2122. Type: function definition analyzed
  2123. Visibility: externally_visible public
  2124. Aux: @05d174c8
  2125. References:
  2126. Referring:
  2127. Availability: available
  2128. Function flags: count:1073741824 (estimated locally) body optimize_size
  2129. Called by:
  2130. Calls:
  2131. vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05f337e0
  2132. Type: function definition analyzed
  2133. Visibility: externally_visible public
  2134. Aux: @05d17648
  2135. References:
  2136. Referring:
  2137. Availability: available
  2138. Function flags: count:1073741824 (estimated locally) body optimize_size
  2139. Called by:
  2140. Calls:
  2141. uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05f33540
  2142. Type: function definition analyzed
  2143. Visibility: externally_visible public
  2144. Aux: @05d175c8
  2145. References:
  2146. Referring:
  2147. Availability: available
  2148. Function flags: count:1073741824 (estimated locally) body optimize_size
  2149. Called by:
  2150. Calls:
  2151. vQueueDelete/26 (vQueueDelete) @05f332a0
  2152. Type: function definition analyzed
  2153. Visibility: externally_visible public
  2154. Aux: @05d17528
  2155. References:
  2156. Referring:
  2157. Availability: available
  2158. Function flags: count:230763 (estimated locally) body optimize_size
  2159. Called by:
  2160. Calls: vPortFree/61 (123389 (estimated locally),0.53 per call) vQueueUnregisterQueue/40 (123389 (estimated locally),0.53 per call)
  2161. uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05f2ad20
  2162. Type: function definition analyzed
  2163. Visibility: externally_visible public
  2164. Aux: @05d17668
  2165. References:
  2166. Referring:
  2167. Availability: available
  2168. Function flags: count:357913 (estimated locally) body optimize_size
  2169. Called by:
  2170. Calls:
  2171. uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05f2a0e0
  2172. Type: function definition analyzed
  2173. Visibility: externally_visible public
  2174. Aux: @05d17688
  2175. References:
  2176. Referring:
  2177. Availability: available
  2178. Function flags: count:230763 (estimated locally) body optimize_size
  2179. Called by:
  2180. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  2181. uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05f2ac40
  2182. Type: function definition analyzed
  2183. Visibility: externally_visible public
  2184. Aux: @05d17588
  2185. References:
  2186. Referring:
  2187. Availability: available
  2188. Function flags: count:230763 (estimated locally) body optimize_size
  2189. Called by:
  2190. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  2191. xQueuePeekFromISR/22 (xQueuePeekFromISR) @05f2a8c0
  2192. Type: function definition analyzed
  2193. Visibility: externally_visible public
  2194. Aux: @05d176c8
  2195. References:
  2196. Referring:
  2197. Availability: available
  2198. Function flags: count:269344 (estimated locally) body optimize_size
  2199. Called by:
  2200. Calls: prvCopyDataFromQueue/32 (17452 (estimated locally),0.06 per call) vPortValidateInterruptPriority/57 (52886 (estimated locally),0.20 per call)
  2201. xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05f2a460
  2202. Type: function definition analyzed
  2203. Visibility: externally_visible public
  2204. Aux: @05d175e8
  2205. References:
  2206. Referring:
  2207. Availability: available
  2208. Function flags: count:357913 (estimated locally) body optimize_size
  2209. Called by:
  2210. Calls: xTaskRemoveFromEventList/43 (7118 (estimated locally),0.02 per call) prvCopyDataFromQueue/32 (63443 (estimated locally),0.18 per call) vPortValidateInterruptPriority/57 (192251 (estimated locally),0.54 per call)
  2211. xQueuePeek/20 (xQueuePeek) @05f2a000
  2212. Type: function definition analyzed
  2213. Visibility: externally_visible public
  2214. Aux: @05d176a8
  2215. References:
  2216. Referring:
  2217. Availability: available
  2218. Function flags: count:357913 (estimated locally) body optimize_size
  2219. Called by:
  2220. Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call)
  2221. xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05f18c40
  2222. Type: function definition analyzed
  2223. Visibility: externally_visible public
  2224. Aux: @05d17568
  2225. References:
  2226. Referring:
  2227. Availability: available
  2228. Function flags: count:228942 (estimated locally) body optimize_size
  2229. Called by: xQueueTakeMutexRecursive/13 (65976 (estimated locally),0.29 per call)
  2230. Calls: vPortExitCritical/45 (2502 (estimated locally),0.01 per call) vTaskPriorityDisinheritAfterTimeout/60 (2502 (estimated locally),0.01 per call) prvGetDisinheritPriorityAfterTimeout/30 (inlined) (2502 (estimated locally),0.01 per call) vPortEnterCritical/42 (2502 (estimated locally),0.01 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (207180 (estimated locally),0.90 per call) prvUnlockQueue/33 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (68369 (estimated locally),0.30 per call) prvUnlockQueue/33 (68369 (estimated locally),0.30 per call) xTaskResumeAll/53 (138811 (estimated locally),0.61 per call) prvUnlockQueue/33 (138811 (estimated locally),0.61 per call) vTaskPlaceOnEventList/52 (138811 (estimated locally),0.61 per call) vPortExitCritical/45 (24195 (estimated locally),0.11 per call) xTaskPriorityInherit/59 (24195 (estimated locally),0.11 per call) vPortEnterCritical/42 (24195 (estimated locally),0.11 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskCheckForTimeOut/51 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vPortEnterCritical/42 (414360 (estimated locally),1.81 per call) vTaskSuspendAll/50 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vTaskInternalSetTimeOutState/49 (136739 (estimated locally),0.60 per call) vPortExitCritical/45 (3186 (estimated locally),0.01 per call) vPortExitCritical/45 (16340 (estimated locally),0.07 per call) xTaskRemoveFromEventList/43 (5392 (estimated locally),0.02 per call) pvTaskIncrementMutexHeldCount/58 (2848 (estimated locally),0.01 per call) vPortEnterCritical/42 (446442 (estimated locally),1.95 per call) xTaskGetSchedulerState/48 (52886 (estimated locally),0.23 per call)
  2231. xQueueReceive/18 (xQueueReceive) @05f18540
  2232. Type: function definition analyzed
  2233. Visibility: externally_visible public
  2234. Aux: @05d17548
  2235. References:
  2236. Referring:
  2237. Availability: available
  2238. Function flags: count:357913 (estimated locally) body optimize_size
  2239. Called by:
  2240. Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call)
  2241. xQueueGiveFromISR/17 (xQueueGiveFromISR) @05eb8d20
  2242. Type: function definition analyzed
  2243. Visibility: externally_visible public
  2244. Aux: @05d173e8
  2245. References:
  2246. Referring:
  2247. Availability: available
  2248. Function flags: count:306783 (estimated locally) body optimize_size
  2249. Called by:
  2250. Calls: xTaskRemoveFromEventList/43 (4062 (estimated locally),0.01 per call) vPortValidateInterruptPriority/57 (72401 (estimated locally),0.24 per call)
  2251. xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05eb8c40
  2252. Type: function definition analyzed
  2253. Visibility: externally_visible public
  2254. Aux: @05d174e8
  2255. References:
  2256. Referring:
  2257. Availability: available
  2258. Function flags: count:357913 (estimated locally) body optimize_size
  2259. Called by:
  2260. Calls: xTaskRemoveFromEventList/43 (8831 (estimated locally),0.02 per call) prvCopyDataToQueue/31 (78710 (estimated locally),0.22 per call) vPortValidateInterruptPriority/57 (141108 (estimated locally),0.39 per call)
  2261. xQueueGenericSend/15 (xQueueGenericSend) @05eb87e0
  2262. Type: function definition analyzed
  2263. Visibility: externally_visible public
  2264. Aux: @05d174a8
  2265. References:
  2266. Referring:
  2267. Availability: available
  2268. Function flags: count:357913 (estimated locally) body optimize_size
  2269. Called by: xQueueGiveMutexRecursive/12 (12216 (estimated locally),0.05 per call) prvInitialiseMutex/8 (574129754 (estimated locally),0.53 per call)
  2270. Calls: xTaskResumeAll/53 (25362 (estimated locally),0.07 per call) prvUnlockQueue/33 (25362 (estimated locally),0.07 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) vTaskPlaceOnEventList/52 (448439 (estimated locally),1.25 per call) prvIsQueueFull/36 (inlined) (896877 (estimated locally),2.51 per call) xTaskCheckForTimeOut/51 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vPortEnterCritical/42 (922239 (estimated locally),2.58 per call) vTaskSuspendAll/50 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vTaskInternalSetTimeOutState/49 (304339 (estimated locally),0.85 per call) vPortExitCritical/45 (26079 (estimated locally),0.07 per call) vPortExitCritical/45 (54391 (estimated locally),0.15 per call) xTaskRemoveFromEventList/43 (17949 (estimated locally),0.05 per call) prvCopyDataToQueue/31 (54391 (estimated locally),0.15 per call) vPortEnterCritical/42 (1002708 (estimated locally),2.80 per call) xTaskGetSchedulerState/48 (141108 (estimated locally),0.39 per call)
  2271. xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @05eb80e0
  2272. Type: function definition analyzed
  2273. Visibility: externally_visible public
  2274. Aux: @05d175a8
  2275. References:
  2276. Referring:
  2277. Availability: available
  2278. Function flags: count:128592 (estimated locally) body optimize_size
  2279. Called by:
  2280. Calls: xQueueGenericCreate/6 (21218 (estimated locally),0.17 per call)
  2281. xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05eb09a0
  2282. Type: function definition analyzed
  2283. Visibility: externally_visible public
  2284. Aux: @05d17468
  2285. References:
  2286. Referring:
  2287. Availability: available
  2288. Function flags: count:230763 (estimated locally) body optimize_size
  2289. Called by:
  2290. Calls: xQueueSemaphoreTake/19 (65976 (estimated locally),0.29 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  2291. xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05eb00e0
  2292. Type: function definition analyzed
  2293. Visibility: externally_visible public
  2294. Aux: @05d17768
  2295. References:
  2296. Referring:
  2297. Availability: available
  2298. Function flags: count:230763 (estimated locally) body optimize_size
  2299. Called by:
  2300. Calls: xQueueGenericSend/15 (12216 (estimated locally),0.05 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  2301. xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05eb0c40
  2302. Type: function definition analyzed
  2303. Visibility: externally_visible public
  2304. Aux: @05d176e8
  2305. References:
  2306. Referring:
  2307. Availability: available
  2308. Function flags: count:357913 (estimated locally) body optimize_size
  2309. Called by:
  2310. Calls:
  2311. xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05eb08c0
  2312. Type: function definition analyzed
  2313. Visibility: externally_visible public
  2314. Aux: @05d17708
  2315. References:
  2316. Referring:
  2317. Availability: available
  2318. Function flags: count:230763 (estimated locally) body optimize_size
  2319. Called by:
  2320. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  2321. xQueueCreateMutex/9 (xQueueCreateMutex) @05eb0540
  2322. Type: function definition analyzed
  2323. Visibility: externally_visible public
  2324. Aux: @05d17488
  2325. References:
  2326. Referring:
  2327. Availability: available
  2328. Function flags: count:1073741824 (estimated locally) body optimize_size
  2329. Called by:
  2330. Calls: prvInitialiseMutex/8 (inlined) (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call)
  2331. prvInitialiseMutex/8 (prvInitialiseMutex) @05eb02a0
  2332. Type: function definition analyzed
  2333. Visibility: prevailing_def_ironly
  2334. Aux: @05d17608
  2335. References:
  2336. Referring:
  2337. Function prvInitialiseMutex/8 is inline copy in xQueueCreateMutex/9
  2338. Availability: local
  2339. Function flags: count:1073741824 (estimated locally) body local optimize_size
  2340. Called by: xQueueCreateMutex/9 (inlined) (1073741824 (estimated locally),1.00 per call)
  2341. Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call)
  2342. prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @05eb0000
  2343. Type: function definition analyzed
  2344. Visibility: prevailing_def_ironly
  2345. Aux: @05d17628
  2346. References:
  2347. Referring:
  2348. Function prvInitialiseNewQueue/7 is inline copy in xQueueGenericCreate/6
  2349. Availability: local
  2350. Function flags: count:5162 (estimated locally) body local optimize_size
  2351. Called by: xQueueGenericCreate/6 (inlined) (5162 (estimated locally),0.04 per call)
  2352. Calls: xQueueGenericReset/5 (5162 (estimated locally),0.04 per call)
  2353. xQueueGenericCreate/6 (xQueueGenericCreate) @05ec67e0
  2354. Type: function definition analyzed
  2355. Visibility: externally_visible public
  2356. Aux: @05d17728
  2357. References:
  2358. Referring:
  2359. Availability: available
  2360. Function flags: count:117029 (estimated locally) body optimize_size
  2361. Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) xQueueCreateCountingSemaphore/14 (21218 (estimated locally),0.17 per call)
  2362. Calls: prvInitialiseNewQueue/7 (inlined) (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call)
  2363. xQueueGenericReset/5 (xQueueGenericReset) @05ec6c40
  2364. Type: function definition analyzed
  2365. Visibility: externally_visible public
  2366. Aux: @05d17508
  2367. References:
  2368. Referring:
  2369. Availability: available
  2370. Function flags: count:183702 (estimated locally) body optimize_size
  2371. Called by: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call)
  2372. Calls: xQueueGenericReset.part.0/65 (inlined) (21218 (estimated locally),0.12 per call)
  2373. MALLOC LATTICE Initial:
  2374. vQueueUnregisterQueue.part.0: malloc_bottom
  2375. xQueueGenericReset.part.0: malloc_bottom
  2376. vQueueWaitForMessageRestricted: malloc_bottom
  2377. vQueueUnregisterQueue: malloc_bottom
  2378. pcQueueGetName: malloc_bottom
  2379. vQueueAddToRegistry: malloc_bottom
  2380. xQueueIsQueueFullFromISR: malloc_bottom
  2381. prvIsQueueFull: malloc_bottom
  2382. xQueueIsQueueEmptyFromISR: malloc_bottom
  2383. prvIsQueueEmpty: malloc_bottom
  2384. prvUnlockQueue: malloc_bottom
  2385. prvCopyDataFromQueue: malloc_bottom
  2386. prvCopyDataToQueue: malloc_bottom
  2387. prvGetDisinheritPriorityAfterTimeout: malloc_bottom
  2388. ucQueueGetQueueType: malloc_bottom
  2389. vQueueSetQueueNumber: malloc_bottom
  2390. uxQueueGetQueueNumber: malloc_bottom
  2391. vQueueDelete: malloc_bottom
  2392. uxQueueMessagesWaitingFromISR: malloc_bottom
  2393. uxQueueSpacesAvailable: malloc_bottom
  2394. uxQueueMessagesWaiting: malloc_bottom
  2395. xQueuePeekFromISR: malloc_bottom
  2396. xQueueReceiveFromISR: malloc_bottom
  2397. xQueuePeek: malloc_bottom
  2398. xQueueSemaphoreTake: malloc_bottom
  2399. xQueueReceive: malloc_bottom
  2400. xQueueGiveFromISR: malloc_bottom
  2401. xQueueGenericSendFromISR: malloc_bottom
  2402. xQueueGenericSend: malloc_bottom
  2403. xQueueCreateCountingSemaphore: malloc_bottom
  2404. xQueueTakeMutexRecursive: malloc_bottom
  2405. xQueueGiveMutexRecursive: malloc_bottom
  2406. xQueueGetMutexHolderFromISR: malloc_bottom
  2407. xQueueGetMutexHolder: malloc_bottom
  2408. xQueueCreateMutex: malloc_bottom
  2409. prvInitialiseMutex: malloc_bottom
  2410. prvInitialiseNewQueue: malloc_bottom
  2411. xQueueGenericCreate: malloc_bottom
  2412. xQueueGenericReset: malloc_bottom
  2413. MALLOC LATTICE after propagation:
  2414. vQueueUnregisterQueue.part.0: malloc_bottom
  2415. xQueueGenericReset.part.0: malloc_bottom
  2416. vQueueWaitForMessageRestricted: malloc_bottom
  2417. vQueueUnregisterQueue: malloc_bottom
  2418. pcQueueGetName: malloc_bottom
  2419. vQueueAddToRegistry: malloc_bottom
  2420. xQueueIsQueueFullFromISR: malloc_bottom
  2421. prvIsQueueFull: malloc_bottom
  2422. xQueueIsQueueEmptyFromISR: malloc_bottom
  2423. prvIsQueueEmpty: malloc_bottom
  2424. prvUnlockQueue: malloc_bottom
  2425. prvCopyDataFromQueue: malloc_bottom
  2426. prvCopyDataToQueue: malloc_bottom
  2427. prvGetDisinheritPriorityAfterTimeout: malloc_bottom
  2428. ucQueueGetQueueType: malloc_bottom
  2429. vQueueSetQueueNumber: malloc_bottom
  2430. uxQueueGetQueueNumber: malloc_bottom
  2431. vQueueDelete: malloc_bottom
  2432. uxQueueMessagesWaitingFromISR: malloc_bottom
  2433. uxQueueSpacesAvailable: malloc_bottom
  2434. uxQueueMessagesWaiting: malloc_bottom
  2435. xQueuePeekFromISR: malloc_bottom
  2436. xQueueReceiveFromISR: malloc_bottom
  2437. xQueuePeek: malloc_bottom
  2438. xQueueSemaphoreTake: malloc_bottom
  2439. xQueueReceive: malloc_bottom
  2440. xQueueGiveFromISR: malloc_bottom
  2441. xQueueGenericSendFromISR: malloc_bottom
  2442. xQueueGenericSend: malloc_bottom
  2443. xQueueCreateCountingSemaphore: malloc_bottom
  2444. xQueueTakeMutexRecursive: malloc_bottom
  2445. xQueueGiveMutexRecursive: malloc_bottom
  2446. xQueueGetMutexHolderFromISR: malloc_bottom
  2447. xQueueGetMutexHolder: malloc_bottom
  2448. xQueueCreateMutex: malloc_bottom
  2449. prvInitialiseMutex: malloc_bottom
  2450. prvInitialiseNewQueue: malloc_bottom
  2451. xQueueGenericCreate: malloc_bottom
  2452. xQueueGenericReset: malloc_bottom
  2453. callgraph:
  2454. vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @05e48b60
  2455. Type: function definition analyzed
  2456. Visibility: prevailing_def_ironly artificial
  2457. Aux: @05f49350
  2458. References:
  2459. Referring:
  2460. Function vQueueUnregisterQueue.part.0/114 is inline copy in vQueueUnregisterQueue/40
  2461. Availability: local
  2462. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  2463. Called by: vQueueUnregisterQueue/40 (inlined) (107374 (estimated locally),0.30 per call)
  2464. Calls:
  2465. xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @05e482a0
  2466. Type: function definition analyzed
  2467. Visibility: prevailing_def_ironly artificial
  2468. Aux: @05f493d0
  2469. References:
  2470. Referring:
  2471. Function xQueueGenericReset.part.0/65 is inline copy in xQueueGenericReset/5
  2472. Availability: local
  2473. Function flags: count:21218 (estimated locally) first_run:1 body local split_part optimize_size
  2474. Called by: xQueueGenericReset/5 (inlined) (21218 (estimated locally),0.12 per call)
  2475. Calls: vPortEnterCritical/42 (21218 (estimated locally),0.12 per call) xTaskRemoveFromEventList/43 (4691 (estimated locally),0.03 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vPortExitCritical/45 (21218 (estimated locally),0.12 per call)
  2476. vTaskPlaceOnEventListRestricted/62 (vTaskPlaceOnEventListRestricted) @05fe8620
  2477. Type: function
  2478. Visibility: external public
  2479. References:
  2480. Referring:
  2481. Availability: not_available
  2482. Function flags: optimize_size
  2483. Called by: vQueueWaitForMessageRestricted/41 (354334802 (estimated locally),0.33 per call)
  2484. Calls:
  2485. vPortFree/61 (vPortFree) @05fc9ee0
  2486. Type: function
  2487. Visibility: external public
  2488. References:
  2489. Referring:
  2490. Availability: not_available
  2491. Function flags: optimize_size
  2492. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  2493. Calls:
  2494. vTaskPriorityDisinheritAfterTimeout/60 (vTaskPriorityDisinheritAfterTimeout) @05fc9380
  2495. Type: function
  2496. Visibility: external public
  2497. References:
  2498. Referring:
  2499. Availability: not_available
  2500. Function flags: optimize_size
  2501. Called by: xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call)
  2502. Calls:
  2503. xTaskPriorityInherit/59 (xTaskPriorityInherit) @05fc92a0
  2504. Type: function
  2505. Visibility: external public
  2506. References:
  2507. Referring:
  2508. Availability: not_available
  2509. Function flags: optimize_size
  2510. Called by: xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call)
  2511. Calls:
  2512. pvTaskIncrementMutexHeldCount/58 (pvTaskIncrementMutexHeldCount) @05fc91c0
  2513. Type: function
  2514. Visibility: external public
  2515. References:
  2516. Referring:
  2517. Availability: not_available
  2518. Function flags: optimize_size
  2519. Called by: xQueueSemaphoreTake/19 (2848 (estimated locally),0.01 per call)
  2520. Calls:
  2521. vPortValidateInterruptPriority/57 (vPortValidateInterruptPriority) @05fa3620
  2522. Type: function
  2523. Visibility: external public
  2524. References:
  2525. Referring:
  2526. Availability: not_available
  2527. Function flags: optimize_size
  2528. Called by: xQueuePeekFromISR/22 (52886 (estimated locally),0.20 per call) xQueueReceiveFromISR/21 (192251 (estimated locally),0.54 per call) xQueueGiveFromISR/17 (72401 (estimated locally),0.24 per call) xQueueGenericSendFromISR/16 (141108 (estimated locally),0.39 per call)
  2529. Calls:
  2530. vTaskMissedYield/56 (vTaskMissedYield) @05fa32a0
  2531. Type: function
  2532. Visibility: external public
  2533. References:
  2534. Referring:
  2535. Availability: not_available
  2536. Function flags: optimize_size
  2537. Called by: prvUnlockQueue/33 (316429830 (estimated locally),2.75 per call) prvUnlockQueue/33 (316429836 (estimated locally),2.75 per call)
  2538. Calls:
  2539. memcpy/55 (memcpy) @05fa3000
  2540. Type: function
  2541. Visibility: external public
  2542. References:
  2543. Referring:
  2544. Availability: not_available
  2545. Function flags: optimize_size
  2546. Called by: prvCopyDataFromQueue/32 (536870913 (estimated locally),0.50 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call) prvCopyDataToQueue/31 (268435456 (estimated locally),0.25 per call)
  2547. Calls:
  2548. xTaskPriorityDisinherit/54 (xTaskPriorityDisinherit) @05f558c0
  2549. Type: function
  2550. Visibility: external public
  2551. References:
  2552. Referring:
  2553. Availability: not_available
  2554. Function flags: optimize_size
  2555. Called by: prvCopyDataToQueue/31 (93576600 (estimated locally),0.09 per call)
  2556. Calls:
  2557. xTaskResumeAll/53 (xTaskResumeAll) @05f55e00
  2558. Type: function
  2559. Visibility: external public
  2560. References:
  2561. Referring:
  2562. Availability: not_available
  2563. Function flags: optimize_size
  2564. Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  2565. Calls:
  2566. vTaskPlaceOnEventList/52 (vTaskPlaceOnEventList) @05f55d20
  2567. Type: function
  2568. Visibility: external public
  2569. References:
  2570. Referring:
  2571. Availability: not_available
  2572. Function flags: optimize_size
  2573. Called by: xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  2574. Calls:
  2575. xTaskCheckForTimeOut/51 (xTaskCheckForTimeOut) @05f55c40
  2576. Type: function
  2577. Visibility: external public
  2578. References:
  2579. Referring:
  2580. Availability: not_available
  2581. Function flags: optimize_size
  2582. Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call)
  2583. Calls:
  2584. vTaskSuspendAll/50 (vTaskSuspendAll) @05f55b60
  2585. Type: function
  2586. Visibility: external public
  2587. References:
  2588. Referring:
  2589. Availability: not_available
  2590. Function flags: optimize_size
  2591. Called by: xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call)
  2592. Calls:
  2593. vTaskInternalSetTimeOutState/49 (vTaskInternalSetTimeOutState) @05f55a80
  2594. Type: function
  2595. Visibility: external public
  2596. References:
  2597. Referring:
  2598. Availability: not_available
  2599. Function flags: optimize_size
  2600. Called by: xQueuePeek/20 (497076 (estimated locally),1.39 per call) xQueueSemaphoreTake/19 (136739 (estimated locally),0.60 per call) xQueueReceive/18 (497076 (estimated locally),1.39 per call) xQueueGenericSend/15 (304339 (estimated locally),0.85 per call)
  2601. Calls:
  2602. xTaskGetSchedulerState/48 (xTaskGetSchedulerState) @05f559a0
  2603. Type: function
  2604. Visibility: external public
  2605. References:
  2606. Referring:
  2607. Availability: not_available
  2608. Function flags: optimize_size
  2609. Called by: xQueuePeek/20 (192251 (estimated locally),0.54 per call) xQueueSemaphoreTake/19 (52886 (estimated locally),0.23 per call) xQueueReceive/18 (192251 (estimated locally),0.54 per call) xQueueGenericSend/15 (141108 (estimated locally),0.39 per call)
  2610. Calls:
  2611. xTaskGetCurrentTaskHandle/47 (xTaskGetCurrentTaskHandle) @05f55460
  2612. Type: function
  2613. Visibility: external public
  2614. References:
  2615. Referring:
  2616. Availability: not_available
  2617. Function flags: optimize_size
  2618. Called by: xQueueTakeMutexRecursive/13 (123389 (estimated locally),0.53 per call) xQueueGiveMutexRecursive/12 (123389 (estimated locally),0.53 per call)
  2619. Calls:
  2620. pvPortMalloc/46 (pvPortMalloc) @05f42000
  2621. Type: function
  2622. Visibility: external public
  2623. References:
  2624. Referring:
  2625. Availability: not_available
  2626. Function flags: optimize_size
  2627. Called by: xQueueGenericCreate/6 (9655 (estimated locally),0.08 per call)
  2628. Calls:
  2629. vPortExitCritical/45 (vPortExitCritical) @05f42d20
  2630. Type: function
  2631. Visibility: external public
  2632. References:
  2633. Referring:
  2634. Availability: not_available
  2635. Function flags: optimize_size
  2636. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (57225 (estimated locally),0.16 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (3186 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (16340 (estimated locally),0.07 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (57225 (estimated locally),0.16 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (26079 (estimated locally),0.07 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (21218 (estimated locally),0.12 per call) prvUnlockQueue/33 (114863529 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863532 (estimated locally),1.00 per call) prvIsQueueEmpty/34 (1073741824 (estimated locally),1.00 per call) prvIsQueueFull/36 (896877 (estimated locally),2.51 per call)
  2637. Calls:
  2638. vListInitialise/44 (vListInitialise) @05f42c40
  2639. Type: function
  2640. Visibility: external public
  2641. References:
  2642. Referring:
  2643. Availability: not_available
  2644. Function flags: optimize_size
  2645. Called by: xQueueGenericReset.part.0/65 (7002 (estimated locally),0.04 per call) xQueueGenericReset.part.0/65 (7002 (estimated locally),0.04 per call)
  2646. Calls:
  2647. xTaskRemoveFromEventList/43 (xTaskRemoveFromEventList) @05f42b60
  2648. Type: function
  2649. Visibility: external public
  2650. References:
  2651. Referring:
  2652. Availability: not_available
  2653. Function flags: optimize_size
  2654. Called by: xQueueReceiveFromISR/21 (7118 (estimated locally),0.02 per call) xQueuePeek/20 (19602 (estimated locally),0.05 per call) xQueueSemaphoreTake/19 (5392 (estimated locally),0.02 per call) xQueueReceive/18 (19602 (estimated locally),0.05 per call) xQueueGiveFromISR/17 (4062 (estimated locally),0.01 per call) xQueueGenericSendFromISR/16 (8831 (estimated locally),0.02 per call) xQueueGenericSend/15 (17949 (estimated locally),0.05 per call) xQueueGenericReset.part.0/65 (4691 (estimated locally),0.03 per call) prvUnlockQueue/33 (958878272 (estimated locally),8.35 per call) prvUnlockQueue/33 (958878293 (estimated locally),8.35 per call)
  2655. Calls:
  2656. vPortEnterCritical/42 (vPortEnterCritical) @05f42a80
  2657. Type: function
  2658. Visibility: external public
  2659. References:
  2660. Referring:
  2661. Availability: not_available
  2662. Function flags: optimize_size
  2663. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) uxQueueSpacesAvailable/24 (123389 (estimated locally),0.53 per call) uxQueueMessagesWaiting/23 (123389 (estimated locally),0.53 per call) xQueuePeek/20 (1506292 (estimated locally),4.21 per call) xQueuePeek/20 (1622915 (estimated locally),4.53 per call) xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call) xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call) xQueueSemaphoreTake/19 (414360 (estimated locally),1.81 per call) xQueueSemaphoreTake/19 (446442 (estimated locally),1.95 per call) xQueueReceive/18 (1506292 (estimated locally),4.21 per call) xQueueReceive/18 (1622915 (estimated locally),4.53 per call) xQueueGenericSend/15 (922239 (estimated locally),2.58 per call) xQueueGenericSend/15 (1002708 (estimated locally),2.80 per call) xQueueGetMutexHolder/10 (123389 (estimated locally),0.53 per call) xQueueGenericReset.part.0/65 (21218 (estimated locally),0.12 per call) prvUnlockQueue/33 (114863532 (estimated locally),1.00 per call) prvUnlockQueue/33 (114863534 (estimated locally),1.00 per call) prvIsQueueEmpty/34 (1073741824 (estimated locally),1.00 per call) prvIsQueueFull/36 (896877 (estimated locally),2.51 per call)
  2664. Calls:
  2665. vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @05f42540
  2666. Type: function definition analyzed
  2667. Visibility: externally_visible public
  2668. Aux: @05f49630
  2669. References:
  2670. Referring:
  2671. Availability: available
  2672. Function flags: count:1073741824 (estimated locally) body optimize_size
  2673. Called by:
  2674. Calls: prvUnlockQueue/33 (1073741824 (estimated locally),1.00 per call) vTaskPlaceOnEventListRestricted/62 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  2675. vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05f422a0
  2676. Type: function definition analyzed
  2677. Visibility: externally_visible public
  2678. Aux: @05f49430
  2679. References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write)
  2680. Referring:
  2681. Availability: available
  2682. Function flags: count:357913 (estimated locally) body optimize_size
  2683. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  2684. Calls: vQueueUnregisterQueue.part.0/114 (inlined) (107374 (estimated locally),0.30 per call)
  2685. pcQueueGetName/39 (pcQueueGetName) @05f3ce00
  2686. Type: function definition analyzed
  2687. Visibility: externally_visible public
  2688. Aux: @05f494d0
  2689. References: xQueueRegistry/4 (read)xQueueRegistry/4 (read)
  2690. Referring:
  2691. Availability: available
  2692. Function flags: count:357913 (estimated locally) body optimize_size
  2693. Called by:
  2694. Calls:
  2695. vQueueAddToRegistry/38 (vQueueAddToRegistry) @05f3c460
  2696. Type: function definition analyzed
  2697. Visibility: externally_visible public
  2698. Aux: @05f49690
  2699. References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr)
  2700. Referring:
  2701. Availability: available
  2702. Function flags: count:357913 (estimated locally) body optimize_size
  2703. Called by:
  2704. Calls:
  2705. xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05f3cd20
  2706. Type: function definition analyzed
  2707. Visibility: externally_visible public
  2708. Aux: @061551a8
  2709. References:
  2710. Referring:
  2711. Availability: available
  2712. Function flags: count:357913 (estimated locally) body optimize_size
  2713. Called by:
  2714. Calls:
  2715. prvIsQueueFull/36 (prvIsQueueFull) @05f3c9a0
  2716. Type: function definition analyzed
  2717. Visibility: prevailing_def_ironly
  2718. Aux: @06155488
  2719. References:
  2720. Referring:
  2721. Function prvIsQueueFull/36 is inline copy in xQueueGenericSend/15
  2722. Availability: local
  2723. Function flags: count:896877 (estimated locally) body local optimize_size
  2724. Called by: xQueueGenericSend/15 (inlined) (896877 (estimated locally),2.51 per call)
  2725. Calls: vPortExitCritical/45 (896877 (estimated locally),2.51 per call) vPortEnterCritical/42 (896877 (estimated locally),2.51 per call)
  2726. xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @05f3c700
  2727. Type: function definition analyzed
  2728. Visibility: externally_visible public
  2729. Aux: @06155428
  2730. References:
  2731. Referring:
  2732. Availability: available
  2733. Function flags: count:357913 (estimated locally) body optimize_size
  2734. Called by:
  2735. Calls:
  2736. prvIsQueueEmpty/34 (prvIsQueueEmpty) @05f3c380
  2737. Type: function definition analyzed
  2738. Visibility: prevailing_def_ironly
  2739. Aux: @061553e8
  2740. References:
  2741. Referring:
  2742. Availability: local
  2743. Function flags: count:1073741824 (estimated locally) body local optimize_size
  2744. Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call)
  2745. Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  2746. prvUnlockQueue/33 (prvUnlockQueue) @05f3c0e0
  2747. Type: function definition analyzed
  2748. Visibility: prevailing_def_ironly
  2749. Aux: @061551c8
  2750. References:
  2751. Referring:
  2752. Availability: local
  2753. Function flags: count:114863534 (estimated locally) body local optimize_size
  2754. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  2755. Calls: vPortExitCritical/45 (114863529 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429830 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878272 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863532 (estimated locally),1.00 per call) vPortExitCritical/45 (114863532 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429836 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878293 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863534 (estimated locally),1.00 per call)
  2756. prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05f338c0
  2757. Type: function definition analyzed
  2758. Visibility: prevailing_def_ironly
  2759. Aux: @05dc2878
  2760. References:
  2761. Referring:
  2762. Availability: local
  2763. Function flags: count:1073741824 (estimated locally) body local optimize_size
  2764. Called by: xQueuePeekFromISR/22 (17452 (estimated locally),0.06 per call) xQueueReceiveFromISR/21 (63443 (estimated locally),0.18 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call)
  2765. Calls: memcpy/55 (536870913 (estimated locally),0.50 per call)
  2766. prvCopyDataToQueue/31 (prvCopyDataToQueue) @05f33380
  2767. Type: function definition analyzed
  2768. Visibility: prevailing_def_ironly
  2769. Aux: @05dc2998
  2770. References:
  2771. Referring:
  2772. Availability: local
  2773. Function flags: count:1073741823 (estimated locally) body local optimize_size
  2774. Called by: xQueueGenericSendFromISR/16 (78710 (estimated locally),0.22 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call)
  2775. Calls: memcpy/55 (268435456 (estimated locally),0.25 per call) memcpy/55 (268435456 (estimated locally),0.25 per call) xTaskPriorityDisinherit/54 (93576600 (estimated locally),0.09 per call)
  2776. prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05f33e00
  2777. Type: function definition analyzed
  2778. Visibility: prevailing_def_ironly
  2779. Aux: @05dc2898
  2780. References:
  2781. Referring:
  2782. Function prvGetDisinheritPriorityAfterTimeout/30 is inline copy in xQueueSemaphoreTake/19
  2783. Availability: local
  2784. Function flags: count:2502 (estimated locally) body local optimize_size
  2785. Called by: xQueueSemaphoreTake/19 (inlined) (2502 (estimated locally),0.01 per call)
  2786. Calls:
  2787. ucQueueGetQueueType/29 (ucQueueGetQueueType) @05f33a80
  2788. Type: function definition analyzed
  2789. Visibility: externally_visible public
  2790. Aux: @05d171c8
  2791. References:
  2792. Referring:
  2793. Availability: available
  2794. Function flags: count:1073741824 (estimated locally) body optimize_size
  2795. Called by:
  2796. Calls:
  2797. vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05f337e0
  2798. Type: function definition analyzed
  2799. Visibility: externally_visible public
  2800. Aux: @05d170c8
  2801. References:
  2802. Referring:
  2803. Availability: available
  2804. Function flags: count:1073741824 (estimated locally) body optimize_size
  2805. Called by:
  2806. Calls:
  2807. uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05f33540
  2808. Type: function definition analyzed
  2809. Visibility: externally_visible public
  2810. Aux: @05d17048
  2811. References:
  2812. Referring:
  2813. Availability: available
  2814. Function flags: count:1073741824 (estimated locally) body optimize_size
  2815. Called by:
  2816. Calls:
  2817. vQueueDelete/26 (vQueueDelete) @05f332a0
  2818. Type: function definition analyzed
  2819. Visibility: externally_visible public
  2820. Aux: @05d17308
  2821. References:
  2822. Referring:
  2823. Availability: available
  2824. Function flags: count:230763 (estimated locally) body optimize_size
  2825. Called by:
  2826. Calls: vPortFree/61 (123389 (estimated locally),0.53 per call) vQueueUnregisterQueue/40 (123389 (estimated locally),0.53 per call)
  2827. uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05f2ad20
  2828. Type: function definition analyzed
  2829. Visibility: externally_visible public
  2830. Aux: @05d17248
  2831. References:
  2832. Referring:
  2833. Availability: available
  2834. Function flags: count:357913 (estimated locally) body optimize_size
  2835. Called by:
  2836. Calls:
  2837. uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05f2a0e0
  2838. Type: function definition analyzed
  2839. Visibility: externally_visible public
  2840. Aux: @05d170e8
  2841. References:
  2842. Referring:
  2843. Availability: available
  2844. Function flags: count:230763 (estimated locally) body optimize_size
  2845. Called by:
  2846. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  2847. uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05f2ac40
  2848. Type: function definition analyzed
  2849. Visibility: externally_visible public
  2850. Aux: @05d17288
  2851. References:
  2852. Referring:
  2853. Availability: available
  2854. Function flags: count:230763 (estimated locally) body optimize_size
  2855. Called by:
  2856. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  2857. xQueuePeekFromISR/22 (xQueuePeekFromISR) @05f2a8c0
  2858. Type: function definition analyzed
  2859. Visibility: externally_visible public
  2860. Aux: @05d17368
  2861. References:
  2862. Referring:
  2863. Availability: available
  2864. Function flags: count:269344 (estimated locally) body optimize_size
  2865. Called by:
  2866. Calls: prvCopyDataFromQueue/32 (17452 (estimated locally),0.06 per call) vPortValidateInterruptPriority/57 (52886 (estimated locally),0.20 per call)
  2867. xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05f2a460
  2868. Type: function definition analyzed
  2869. Visibility: externally_visible public
  2870. Aux: @05d17028
  2871. References:
  2872. Referring:
  2873. Availability: available
  2874. Function flags: count:357913 (estimated locally) body optimize_size
  2875. Called by:
  2876. Calls: xTaskRemoveFromEventList/43 (7118 (estimated locally),0.02 per call) prvCopyDataFromQueue/32 (63443 (estimated locally),0.18 per call) vPortValidateInterruptPriority/57 (192251 (estimated locally),0.54 per call)
  2877. xQueuePeek/20 (xQueuePeek) @05f2a000
  2878. Type: function definition analyzed
  2879. Visibility: externally_visible public
  2880. Aux: @05d173c8
  2881. References:
  2882. Referring:
  2883. Availability: available
  2884. Function flags: count:357913 (estimated locally) body optimize_size
  2885. Called by:
  2886. Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call)
  2887. xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05f18c40
  2888. Type: function definition analyzed
  2889. Visibility: externally_visible public
  2890. Aux: @05d17388
  2891. References:
  2892. Referring:
  2893. Availability: available
  2894. Function flags: count:228942 (estimated locally) body optimize_size
  2895. Called by: xQueueTakeMutexRecursive/13 (65976 (estimated locally),0.29 per call)
  2896. Calls: vPortExitCritical/45 (2502 (estimated locally),0.01 per call) vTaskPriorityDisinheritAfterTimeout/60 (2502 (estimated locally),0.01 per call) prvGetDisinheritPriorityAfterTimeout/30 (inlined) (2502 (estimated locally),0.01 per call) vPortEnterCritical/42 (2502 (estimated locally),0.01 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (207180 (estimated locally),0.90 per call) prvUnlockQueue/33 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (68369 (estimated locally),0.30 per call) prvUnlockQueue/33 (68369 (estimated locally),0.30 per call) xTaskResumeAll/53 (138811 (estimated locally),0.61 per call) prvUnlockQueue/33 (138811 (estimated locally),0.61 per call) vTaskPlaceOnEventList/52 (138811 (estimated locally),0.61 per call) vPortExitCritical/45 (24195 (estimated locally),0.11 per call) xTaskPriorityInherit/59 (24195 (estimated locally),0.11 per call) vPortEnterCritical/42 (24195 (estimated locally),0.11 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskCheckForTimeOut/51 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vPortEnterCritical/42 (414360 (estimated locally),1.81 per call) vTaskSuspendAll/50 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vTaskInternalSetTimeOutState/49 (136739 (estimated locally),0.60 per call) vPortExitCritical/45 (3186 (estimated locally),0.01 per call) vPortExitCritical/45 (16340 (estimated locally),0.07 per call) xTaskRemoveFromEventList/43 (5392 (estimated locally),0.02 per call) pvTaskIncrementMutexHeldCount/58 (2848 (estimated locally),0.01 per call) vPortEnterCritical/42 (446442 (estimated locally),1.95 per call) xTaskGetSchedulerState/48 (52886 (estimated locally),0.23 per call)
  2897. xQueueReceive/18 (xQueueReceive) @05f18540
  2898. Type: function definition analyzed
  2899. Visibility: externally_visible public
  2900. Aux: @05d16fe8
  2901. References:
  2902. Referring:
  2903. Availability: available
  2904. Function flags: count:357913 (estimated locally) body optimize_size
  2905. Called by:
  2906. Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call)
  2907. xQueueGiveFromISR/17 (xQueueGiveFromISR) @05eb8d20
  2908. Type: function definition analyzed
  2909. Visibility: externally_visible public
  2910. Aux: @05d17068
  2911. References:
  2912. Referring:
  2913. Availability: available
  2914. Function flags: count:306783 (estimated locally) body optimize_size
  2915. Called by:
  2916. Calls: xTaskRemoveFromEventList/43 (4062 (estimated locally),0.01 per call) vPortValidateInterruptPriority/57 (72401 (estimated locally),0.24 per call)
  2917. xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05eb8c40
  2918. Type: function definition analyzed
  2919. Visibility: externally_visible public
  2920. Aux: @05d17268
  2921. References:
  2922. Referring:
  2923. Availability: available
  2924. Function flags: count:357913 (estimated locally) body optimize_size
  2925. Called by:
  2926. Calls: xTaskRemoveFromEventList/43 (8831 (estimated locally),0.02 per call) prvCopyDataToQueue/31 (78710 (estimated locally),0.22 per call) vPortValidateInterruptPriority/57 (141108 (estimated locally),0.39 per call)
  2927. xQueueGenericSend/15 (xQueueGenericSend) @05eb87e0
  2928. Type: function definition analyzed
  2929. Visibility: externally_visible public
  2930. Aux: @05d171e8
  2931. References:
  2932. Referring:
  2933. Availability: available
  2934. Function flags: count:357913 (estimated locally) body optimize_size
  2935. Called by: xQueueGiveMutexRecursive/12 (12216 (estimated locally),0.05 per call) prvInitialiseMutex/8 (574129754 (estimated locally),0.53 per call)
  2936. Calls: xTaskResumeAll/53 (25362 (estimated locally),0.07 per call) prvUnlockQueue/33 (25362 (estimated locally),0.07 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) vTaskPlaceOnEventList/52 (448439 (estimated locally),1.25 per call) prvIsQueueFull/36 (inlined) (896877 (estimated locally),2.51 per call) xTaskCheckForTimeOut/51 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vPortEnterCritical/42 (922239 (estimated locally),2.58 per call) vTaskSuspendAll/50 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vTaskInternalSetTimeOutState/49 (304339 (estimated locally),0.85 per call) vPortExitCritical/45 (26079 (estimated locally),0.07 per call) vPortExitCritical/45 (54391 (estimated locally),0.15 per call) xTaskRemoveFromEventList/43 (17949 (estimated locally),0.05 per call) prvCopyDataToQueue/31 (54391 (estimated locally),0.15 per call) vPortEnterCritical/42 (1002708 (estimated locally),2.80 per call) xTaskGetSchedulerState/48 (141108 (estimated locally),0.39 per call)
  2937. xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @05eb80e0
  2938. Type: function definition analyzed
  2939. Visibility: externally_visible public
  2940. Aux: @05d17208
  2941. References:
  2942. Referring:
  2943. Availability: available
  2944. Function flags: count:128592 (estimated locally) body optimize_size
  2945. Called by:
  2946. Calls: xQueueGenericCreate/6 (21218 (estimated locally),0.17 per call)
  2947. xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05eb09a0
  2948. Type: function definition analyzed
  2949. Visibility: externally_visible public
  2950. Aux: @05d172a8
  2951. References:
  2952. Referring:
  2953. Availability: available
  2954. Function flags: count:230763 (estimated locally) body optimize_size
  2955. Called by:
  2956. Calls: xQueueSemaphoreTake/19 (65976 (estimated locally),0.29 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  2957. xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05eb00e0
  2958. Type: function definition analyzed
  2959. Visibility: externally_visible public
  2960. Aux: @05d17088
  2961. References:
  2962. Referring:
  2963. Availability: available
  2964. Function flags: count:230763 (estimated locally) body optimize_size
  2965. Called by:
  2966. Calls: xQueueGenericSend/15 (12216 (estimated locally),0.05 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  2967. xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05eb0c40
  2968. Type: function definition analyzed
  2969. Visibility: externally_visible public
  2970. Aux: @05d17008
  2971. References:
  2972. Referring:
  2973. Availability: available
  2974. Function flags: count:357913 (estimated locally) body optimize_size
  2975. Called by:
  2976. Calls:
  2977. xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05eb08c0
  2978. Type: function definition analyzed
  2979. Visibility: externally_visible public
  2980. Aux: @05d17188
  2981. References:
  2982. Referring:
  2983. Availability: available
  2984. Function flags: count:230763 (estimated locally) body optimize_size
  2985. Called by:
  2986. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  2987. xQueueCreateMutex/9 (xQueueCreateMutex) @05eb0540
  2988. Type: function definition analyzed
  2989. Visibility: externally_visible public
  2990. Aux: @05d170a8
  2991. References:
  2992. Referring:
  2993. Availability: available
  2994. Function flags: count:1073741824 (estimated locally) body optimize_size
  2995. Called by:
  2996. Calls: prvInitialiseMutex/8 (inlined) (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call)
  2997. prvInitialiseMutex/8 (prvInitialiseMutex) @05eb02a0
  2998. Type: function definition analyzed
  2999. Visibility: prevailing_def_ironly
  3000. Aux: @05d172c8
  3001. References:
  3002. Referring:
  3003. Function prvInitialiseMutex/8 is inline copy in xQueueCreateMutex/9
  3004. Availability: local
  3005. Function flags: count:1073741824 (estimated locally) body local optimize_size
  3006. Called by: xQueueCreateMutex/9 (inlined) (1073741824 (estimated locally),1.00 per call)
  3007. Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call)
  3008. prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @05eb0000
  3009. Type: function definition analyzed
  3010. Visibility: prevailing_def_ironly
  3011. Aux: @05d172e8
  3012. References:
  3013. Referring:
  3014. Function prvInitialiseNewQueue/7 is inline copy in xQueueGenericCreate/6
  3015. Availability: local
  3016. Function flags: count:5162 (estimated locally) body local optimize_size
  3017. Called by: xQueueGenericCreate/6 (inlined) (5162 (estimated locally),0.04 per call)
  3018. Calls: xQueueGenericReset/5 (5162 (estimated locally),0.04 per call)
  3019. xQueueGenericCreate/6 (xQueueGenericCreate) @05ec67e0
  3020. Type: function definition analyzed
  3021. Visibility: externally_visible public
  3022. Aux: @05d17108
  3023. References:
  3024. Referring:
  3025. Availability: available
  3026. Function flags: count:117029 (estimated locally) body optimize_size
  3027. Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) xQueueCreateCountingSemaphore/14 (21218 (estimated locally),0.17 per call)
  3028. Calls: prvInitialiseNewQueue/7 (inlined) (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call)
  3029. xQueueGenericReset/5 (xQueueGenericReset) @05ec6c40
  3030. Type: function definition analyzed
  3031. Visibility: externally_visible public
  3032. Aux: @05d17328
  3033. References:
  3034. Referring:
  3035. Availability: available
  3036. Function flags: count:183702 (estimated locally) body optimize_size
  3037. Called by: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call)
  3038. Calls: xQueueGenericReset.part.0/65 (inlined) (21218 (estimated locally),0.12 per call)
  3039. ordered call graph: reduced
  3040. vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @05f42540
  3041. Type: function definition analyzed
  3042. Visibility: externally_visible public
  3043. Aux: @05f49630
  3044. References:
  3045. Referring:
  3046. Availability: available
  3047. Function flags: count:1073741824 (estimated locally) body optimize_size
  3048. Called by:
  3049. Calls: prvUnlockQueue/33 (1073741824 (estimated locally),1.00 per call) vTaskPlaceOnEventListRestricted/62 (354334802 (estimated locally),0.33 per call) vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  3050. pcQueueGetName/39 (pcQueueGetName) @05f3ce00
  3051. Type: function definition analyzed
  3052. Visibility: externally_visible public
  3053. Aux: @05f494d0
  3054. References: xQueueRegistry/4 (read)xQueueRegistry/4 (read)
  3055. Referring:
  3056. Availability: available
  3057. Function flags: count:357913 (estimated locally) body optimize_size
  3058. Called by:
  3059. Calls:
  3060. vQueueAddToRegistry/38 (vQueueAddToRegistry) @05f3c460
  3061. Type: function definition analyzed
  3062. Visibility: externally_visible public
  3063. Aux: @05f49690
  3064. References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr)
  3065. Referring:
  3066. Availability: available
  3067. Function flags: count:357913 (estimated locally) body optimize_size
  3068. Called by:
  3069. Calls:
  3070. xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05f3cd20
  3071. Type: function definition analyzed
  3072. Visibility: externally_visible public
  3073. Aux: @061551a8
  3074. References:
  3075. Referring:
  3076. Availability: available
  3077. Function flags: count:357913 (estimated locally) body optimize_size
  3078. Called by:
  3079. Calls:
  3080. xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @05f3c700
  3081. Type: function definition analyzed
  3082. Visibility: externally_visible public
  3083. Aux: @06155428
  3084. References:
  3085. Referring:
  3086. Availability: available
  3087. Function flags: count:357913 (estimated locally) body optimize_size
  3088. Called by:
  3089. Calls:
  3090. ucQueueGetQueueType/29 (ucQueueGetQueueType) @05f33a80
  3091. Type: function definition analyzed
  3092. Visibility: externally_visible public
  3093. Aux: @05d171c8
  3094. References:
  3095. Referring:
  3096. Availability: available
  3097. Function flags: count:1073741824 (estimated locally) body optimize_size
  3098. Called by:
  3099. Calls:
  3100. vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05f337e0
  3101. Type: function definition analyzed
  3102. Visibility: externally_visible public
  3103. Aux: @05d170c8
  3104. References:
  3105. Referring:
  3106. Availability: available
  3107. Function flags: count:1073741824 (estimated locally) body optimize_size
  3108. Called by:
  3109. Calls:
  3110. uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05f33540
  3111. Type: function definition analyzed
  3112. Visibility: externally_visible public
  3113. Aux: @05d17048
  3114. References:
  3115. Referring:
  3116. Availability: available
  3117. Function flags: count:1073741824 (estimated locally) body optimize_size
  3118. Called by:
  3119. Calls:
  3120. vQueueDelete/26 (vQueueDelete) @05f332a0
  3121. Type: function definition analyzed
  3122. Visibility: externally_visible public
  3123. Aux: @05d17308
  3124. References:
  3125. Referring:
  3126. Availability: available
  3127. Function flags: count:230763 (estimated locally) body optimize_size
  3128. Called by:
  3129. Calls: vPortFree/61 (123389 (estimated locally),0.53 per call) vQueueUnregisterQueue/40 (123389 (estimated locally),0.53 per call)
  3130. vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05f422a0
  3131. Type: function definition analyzed
  3132. Visibility: externally_visible public
  3133. Aux: @05f49430
  3134. References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write)
  3135. Referring:
  3136. Availability: available
  3137. Function flags: count:357913 (estimated locally) body optimize_size
  3138. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  3139. Calls: vQueueUnregisterQueue.part.0/114 (inlined) (107374 (estimated locally),0.30 per call)
  3140. vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @05e48b60
  3141. Type: function definition analyzed
  3142. Visibility: prevailing_def_ironly artificial
  3143. Aux: @05f49350
  3144. References:
  3145. Referring:
  3146. Function vQueueUnregisterQueue.part.0/114 is inline copy in vQueueUnregisterQueue/40
  3147. Availability: local
  3148. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  3149. Called by: vQueueUnregisterQueue/40 (inlined) (107374 (estimated locally),0.30 per call)
  3150. Calls:
  3151. uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05f2ad20
  3152. Type: function definition analyzed
  3153. Visibility: externally_visible public
  3154. Aux: @05d17248
  3155. References:
  3156. Referring:
  3157. Availability: available
  3158. Function flags: count:357913 (estimated locally) body optimize_size
  3159. Called by:
  3160. Calls:
  3161. uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05f2a0e0
  3162. Type: function definition analyzed
  3163. Visibility: externally_visible public
  3164. Aux: @05d170e8
  3165. References:
  3166. Referring:
  3167. Availability: available
  3168. Function flags: count:230763 (estimated locally) body optimize_size
  3169. Called by:
  3170. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  3171. uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05f2ac40
  3172. Type: function definition analyzed
  3173. Visibility: externally_visible public
  3174. Aux: @05d17288
  3175. References:
  3176. Referring:
  3177. Availability: available
  3178. Function flags: count:230763 (estimated locally) body optimize_size
  3179. Called by:
  3180. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  3181. xQueuePeekFromISR/22 (xQueuePeekFromISR) @05f2a8c0
  3182. Type: function definition analyzed
  3183. Visibility: externally_visible public
  3184. Aux: @05d17368
  3185. References:
  3186. Referring:
  3187. Availability: available
  3188. Function flags: count:269344 (estimated locally) body optimize_size
  3189. Called by:
  3190. Calls: prvCopyDataFromQueue/32 (17452 (estimated locally),0.06 per call) vPortValidateInterruptPriority/57 (52886 (estimated locally),0.20 per call)
  3191. xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05f2a460
  3192. Type: function definition analyzed
  3193. Visibility: externally_visible public
  3194. Aux: @05d17028
  3195. References:
  3196. Referring:
  3197. Availability: available
  3198. Function flags: count:357913 (estimated locally) body optimize_size
  3199. Called by:
  3200. Calls: xTaskRemoveFromEventList/43 (7118 (estimated locally),0.02 per call) prvCopyDataFromQueue/32 (63443 (estimated locally),0.18 per call) vPortValidateInterruptPriority/57 (192251 (estimated locally),0.54 per call)
  3201. xQueuePeek/20 (xQueuePeek) @05f2a000
  3202. Type: function definition analyzed
  3203. Visibility: externally_visible public
  3204. Aux: @05d173c8
  3205. References:
  3206. Referring:
  3207. Availability: available
  3208. Function flags: count:357913 (estimated locally) body optimize_size
  3209. Called by:
  3210. Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call)
  3211. xQueueReceive/18 (xQueueReceive) @05f18540
  3212. Type: function definition analyzed
  3213. Visibility: externally_visible public
  3214. Aux: @05d16fe8
  3215. References:
  3216. Referring:
  3217. Availability: available
  3218. Function flags: count:357913 (estimated locally) body optimize_size
  3219. Called by:
  3220. Calls: prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (753146 (estimated locally),2.10 per call) prvUnlockQueue/33 (753146 (estimated locally),2.10 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) xTaskResumeAll/53 (376573 (estimated locally),1.05 per call) prvUnlockQueue/33 (376573 (estimated locally),1.05 per call) vTaskPlaceOnEventList/52 (376573 (estimated locally),1.05 per call) prvIsQueueEmpty/34 (753146 (estimated locally),2.10 per call) xTaskCheckForTimeOut/51 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vPortEnterCritical/42 (1506292 (estimated locally),4.21 per call) vTaskSuspendAll/50 (1506292 (estimated locally),4.21 per call) vPortExitCritical/45 (1506292 (estimated locally),4.21 per call) vTaskInternalSetTimeOutState/49 (497076 (estimated locally),1.39 per call) vPortExitCritical/45 (57225 (estimated locally),0.16 per call) vPortExitCritical/45 (59399 (estimated locally),0.17 per call) xTaskRemoveFromEventList/43 (19602 (estimated locally),0.05 per call) prvCopyDataFromQueue/32 (59399 (estimated locally),0.17 per call) vPortEnterCritical/42 (1622915 (estimated locally),4.53 per call) xTaskGetSchedulerState/48 (192251 (estimated locally),0.54 per call)
  3221. prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05f338c0
  3222. Type: function definition analyzed
  3223. Visibility: prevailing_def_ironly
  3224. Aux: @05dc2878
  3225. References:
  3226. Referring:
  3227. Availability: local
  3228. Function flags: count:1073741824 (estimated locally) body local optimize_size
  3229. Called by: xQueuePeekFromISR/22 (17452 (estimated locally),0.06 per call) xQueueReceiveFromISR/21 (63443 (estimated locally),0.18 per call) xQueuePeek/20 (59399 (estimated locally),0.17 per call) xQueueReceive/18 (59399 (estimated locally),0.17 per call)
  3230. Calls: memcpy/55 (536870913 (estimated locally),0.50 per call)
  3231. xQueueGiveFromISR/17 (xQueueGiveFromISR) @05eb8d20
  3232. Type: function definition analyzed
  3233. Visibility: externally_visible public
  3234. Aux: @05d17068
  3235. References:
  3236. Referring:
  3237. Availability: available
  3238. Function flags: count:306783 (estimated locally) body optimize_size
  3239. Called by:
  3240. Calls: xTaskRemoveFromEventList/43 (4062 (estimated locally),0.01 per call) vPortValidateInterruptPriority/57 (72401 (estimated locally),0.24 per call)
  3241. xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05eb8c40
  3242. Type: function definition analyzed
  3243. Visibility: externally_visible public
  3244. Aux: @05d17268
  3245. References:
  3246. Referring:
  3247. Availability: available
  3248. Function flags: count:357913 (estimated locally) body optimize_size
  3249. Called by:
  3250. Calls: xTaskRemoveFromEventList/43 (8831 (estimated locally),0.02 per call) prvCopyDataToQueue/31 (78710 (estimated locally),0.22 per call) vPortValidateInterruptPriority/57 (141108 (estimated locally),0.39 per call)
  3251. xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @05eb80e0
  3252. Type: function definition analyzed
  3253. Visibility: externally_visible public
  3254. Aux: @05d17208
  3255. References:
  3256. Referring:
  3257. Availability: available
  3258. Function flags: count:128592 (estimated locally) body optimize_size
  3259. Called by:
  3260. Calls: xQueueGenericCreate/6 (21218 (estimated locally),0.17 per call)
  3261. xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05eb09a0
  3262. Type: function definition analyzed
  3263. Visibility: externally_visible public
  3264. Aux: @05d172a8
  3265. References:
  3266. Referring:
  3267. Availability: available
  3268. Function flags: count:230763 (estimated locally) body optimize_size
  3269. Called by:
  3270. Calls: xQueueSemaphoreTake/19 (65976 (estimated locally),0.29 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  3271. xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05f18c40
  3272. Type: function definition analyzed
  3273. Visibility: externally_visible public
  3274. Aux: @05d17388
  3275. References:
  3276. Referring:
  3277. Availability: available
  3278. Function flags: count:228942 (estimated locally) body optimize_size
  3279. Called by: xQueueTakeMutexRecursive/13 (65976 (estimated locally),0.29 per call)
  3280. Calls: vPortExitCritical/45 (2502 (estimated locally),0.01 per call) vTaskPriorityDisinheritAfterTimeout/60 (2502 (estimated locally),0.01 per call) prvGetDisinheritPriorityAfterTimeout/30 (inlined) (2502 (estimated locally),0.01 per call) vPortEnterCritical/42 (2502 (estimated locally),0.01 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (207180 (estimated locally),0.90 per call) prvUnlockQueue/33 (207180 (estimated locally),0.90 per call) xTaskResumeAll/53 (68369 (estimated locally),0.30 per call) prvUnlockQueue/33 (68369 (estimated locally),0.30 per call) xTaskResumeAll/53 (138811 (estimated locally),0.61 per call) prvUnlockQueue/33 (138811 (estimated locally),0.61 per call) vTaskPlaceOnEventList/52 (138811 (estimated locally),0.61 per call) vPortExitCritical/45 (24195 (estimated locally),0.11 per call) xTaskPriorityInherit/59 (24195 (estimated locally),0.11 per call) vPortEnterCritical/42 (24195 (estimated locally),0.11 per call) prvIsQueueEmpty/34 (207180 (estimated locally),0.90 per call) xTaskCheckForTimeOut/51 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vPortEnterCritical/42 (414360 (estimated locally),1.81 per call) vTaskSuspendAll/50 (414360 (estimated locally),1.81 per call) vPortExitCritical/45 (414360 (estimated locally),1.81 per call) vTaskInternalSetTimeOutState/49 (136739 (estimated locally),0.60 per call) vPortExitCritical/45 (3186 (estimated locally),0.01 per call) vPortExitCritical/45 (16340 (estimated locally),0.07 per call) xTaskRemoveFromEventList/43 (5392 (estimated locally),0.02 per call) pvTaskIncrementMutexHeldCount/58 (2848 (estimated locally),0.01 per call) vPortEnterCritical/42 (446442 (estimated locally),1.95 per call) xTaskGetSchedulerState/48 (52886 (estimated locally),0.23 per call)
  3281. prvIsQueueEmpty/34 (prvIsQueueEmpty) @05f3c380
  3282. Type: function definition analyzed
  3283. Visibility: prevailing_def_ironly
  3284. Aux: @061553e8
  3285. References:
  3286. Referring:
  3287. Availability: local
  3288. Function flags: count:1073741824 (estimated locally) body local optimize_size
  3289. Called by: xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call)
  3290. Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  3291. prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05f33e00
  3292. Type: function definition analyzed
  3293. Visibility: prevailing_def_ironly
  3294. Aux: @05dc2898
  3295. References:
  3296. Referring:
  3297. Function prvGetDisinheritPriorityAfterTimeout/30 is inline copy in xQueueSemaphoreTake/19
  3298. Availability: local
  3299. Function flags: count:2502 (estimated locally) body local optimize_size
  3300. Called by: xQueueSemaphoreTake/19 (inlined) (2502 (estimated locally),0.01 per call)
  3301. Calls:
  3302. xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05eb00e0
  3303. Type: function definition analyzed
  3304. Visibility: externally_visible public
  3305. Aux: @05d17088
  3306. References:
  3307. Referring:
  3308. Availability: available
  3309. Function flags: count:230763 (estimated locally) body optimize_size
  3310. Called by:
  3311. Calls: xQueueGenericSend/15 (12216 (estimated locally),0.05 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  3312. xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05eb0c40
  3313. Type: function definition analyzed
  3314. Visibility: externally_visible public
  3315. Aux: @05d17008
  3316. References:
  3317. Referring:
  3318. Availability: available
  3319. Function flags: count:357913 (estimated locally) body optimize_size
  3320. Called by:
  3321. Calls:
  3322. xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05eb08c0
  3323. Type: function definition analyzed
  3324. Visibility: externally_visible public
  3325. Aux: @05d17188
  3326. References:
  3327. Referring:
  3328. Availability: available
  3329. Function flags: count:230763 (estimated locally) body optimize_size
  3330. Called by:
  3331. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  3332. xQueueCreateMutex/9 (xQueueCreateMutex) @05eb0540
  3333. Type: function definition analyzed
  3334. Visibility: externally_visible public
  3335. Aux: @05d170a8
  3336. References:
  3337. Referring:
  3338. Availability: available
  3339. Function flags: count:1073741824 (estimated locally) body optimize_size
  3340. Called by:
  3341. Calls: prvInitialiseMutex/8 (inlined) (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call)
  3342. prvInitialiseMutex/8 (prvInitialiseMutex) @05eb02a0
  3343. Type: function definition analyzed
  3344. Visibility: prevailing_def_ironly
  3345. Aux: @05d172c8
  3346. References:
  3347. Referring:
  3348. Function prvInitialiseMutex/8 is inline copy in xQueueCreateMutex/9
  3349. Availability: local
  3350. Function flags: count:1073741824 (estimated locally) body local optimize_size
  3351. Called by: xQueueCreateMutex/9 (inlined) (1073741824 (estimated locally),1.00 per call)
  3352. Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call)
  3353. xQueueGenericSend/15 (xQueueGenericSend) @05eb87e0
  3354. Type: function definition analyzed
  3355. Visibility: externally_visible public
  3356. Aux: @05d171e8
  3357. References:
  3358. Referring:
  3359. Availability: available
  3360. Function flags: count:357913 (estimated locally) body optimize_size
  3361. Called by: xQueueGiveMutexRecursive/12 (12216 (estimated locally),0.05 per call) prvInitialiseMutex/8 (574129754 (estimated locally),0.53 per call)
  3362. Calls: xTaskResumeAll/53 (25362 (estimated locally),0.07 per call) prvUnlockQueue/33 (25362 (estimated locally),0.07 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) xTaskResumeAll/53 (448439 (estimated locally),1.25 per call) prvUnlockQueue/33 (448439 (estimated locally),1.25 per call) vTaskPlaceOnEventList/52 (448439 (estimated locally),1.25 per call) prvIsQueueFull/36 (inlined) (896877 (estimated locally),2.51 per call) xTaskCheckForTimeOut/51 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vPortEnterCritical/42 (922239 (estimated locally),2.58 per call) vTaskSuspendAll/50 (922239 (estimated locally),2.58 per call) vPortExitCritical/45 (922239 (estimated locally),2.58 per call) vTaskInternalSetTimeOutState/49 (304339 (estimated locally),0.85 per call) vPortExitCritical/45 (26079 (estimated locally),0.07 per call) vPortExitCritical/45 (54391 (estimated locally),0.15 per call) xTaskRemoveFromEventList/43 (17949 (estimated locally),0.05 per call) prvCopyDataToQueue/31 (54391 (estimated locally),0.15 per call) vPortEnterCritical/42 (1002708 (estimated locally),2.80 per call) xTaskGetSchedulerState/48 (141108 (estimated locally),0.39 per call)
  3363. prvCopyDataToQueue/31 (prvCopyDataToQueue) @05f33380
  3364. Type: function definition analyzed
  3365. Visibility: prevailing_def_ironly
  3366. Aux: @05dc2998
  3367. References:
  3368. Referring:
  3369. Availability: local
  3370. Function flags: count:1073741823 (estimated locally) body local optimize_size
  3371. Called by: xQueueGenericSendFromISR/16 (78710 (estimated locally),0.22 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call)
  3372. Calls: memcpy/55 (268435456 (estimated locally),0.25 per call) memcpy/55 (268435456 (estimated locally),0.25 per call) xTaskPriorityDisinherit/54 (93576600 (estimated locally),0.09 per call)
  3373. prvIsQueueFull/36 (prvIsQueueFull) @05f3c9a0
  3374. Type: function definition analyzed
  3375. Visibility: prevailing_def_ironly
  3376. Aux: @06155488
  3377. References:
  3378. Referring:
  3379. Function prvIsQueueFull/36 is inline copy in xQueueGenericSend/15
  3380. Availability: local
  3381. Function flags: count:896877 (estimated locally) body local optimize_size
  3382. Called by: xQueueGenericSend/15 (inlined) (896877 (estimated locally),2.51 per call)
  3383. Calls: vPortExitCritical/45 (896877 (estimated locally),2.51 per call) vPortEnterCritical/42 (896877 (estimated locally),2.51 per call)
  3384. prvUnlockQueue/33 (prvUnlockQueue) @05f3c0e0
  3385. Type: function definition analyzed
  3386. Visibility: prevailing_def_ironly
  3387. Aux: @061551c8
  3388. References:
  3389. Referring:
  3390. Availability: local
  3391. Function flags: count:114863534 (estimated locally) body local optimize_size
  3392. Called by: vQueueWaitForMessageRestricted/41 (1073741824 (estimated locally),1.00 per call) xQueuePeek/20 (753146 (estimated locally),2.10 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueuePeek/20 (376573 (estimated locally),1.05 per call) xQueueSemaphoreTake/19 (207180 (estimated locally),0.90 per call) xQueueSemaphoreTake/19 (68369 (estimated locally),0.30 per call) xQueueSemaphoreTake/19 (138811 (estimated locally),0.61 per call) xQueueReceive/18 (753146 (estimated locally),2.10 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueReceive/18 (376573 (estimated locally),1.05 per call) xQueueGenericSend/15 (25362 (estimated locally),0.07 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call) xQueueGenericSend/15 (448439 (estimated locally),1.25 per call)
  3393. Calls: vPortExitCritical/45 (114863529 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429830 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878272 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863532 (estimated locally),1.00 per call) vPortExitCritical/45 (114863532 (estimated locally),1.00 per call) vTaskMissedYield/56 (316429836 (estimated locally),2.75 per call) xTaskRemoveFromEventList/43 (958878293 (estimated locally),8.35 per call) vPortEnterCritical/42 (114863534 (estimated locally),1.00 per call)
  3394. xQueueGenericCreate/6 (xQueueGenericCreate) @05ec67e0
  3395. Type: function definition analyzed
  3396. Visibility: externally_visible public
  3397. Aux: @05d17108
  3398. References:
  3399. Referring:
  3400. Availability: available
  3401. Function flags: count:117029 (estimated locally) body optimize_size
  3402. Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) xQueueCreateCountingSemaphore/14 (21218 (estimated locally),0.17 per call)
  3403. Calls: prvInitialiseNewQueue/7 (inlined) (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call)
  3404. prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @05eb0000
  3405. Type: function definition analyzed
  3406. Visibility: prevailing_def_ironly
  3407. Aux: @05d172e8
  3408. References:
  3409. Referring:
  3410. Function prvInitialiseNewQueue/7 is inline copy in xQueueGenericCreate/6
  3411. Availability: local
  3412. Function flags: count:5162 (estimated locally) body local optimize_size
  3413. Called by: xQueueGenericCreate/6 (inlined) (5162 (estimated locally),0.04 per call)
  3414. Calls: xQueueGenericReset/5 (5162 (estimated locally),0.04 per call)
  3415. xQueueGenericReset/5 (xQueueGenericReset) @05ec6c40
  3416. Type: function definition analyzed
  3417. Visibility: externally_visible public
  3418. Aux: @05d17328
  3419. References:
  3420. Referring:
  3421. Availability: available
  3422. Function flags: count:183702 (estimated locally) body optimize_size
  3423. Called by: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call)
  3424. Calls: xQueueGenericReset.part.0/65 (inlined) (21218 (estimated locally),0.12 per call)
  3425. xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @05e482a0
  3426. Type: function definition analyzed
  3427. Visibility: prevailing_def_ironly artificial
  3428. Aux: @05f493d0
  3429. References:
  3430. Referring:
  3431. Function xQueueGenericReset.part.0/65 is inline copy in xQueueGenericReset/5
  3432. Availability: local
  3433. Function flags: count:21218 (estimated locally) first_run:1 body local split_part optimize_size
  3434. Called by: xQueueGenericReset/5 (inlined) (21218 (estimated locally),0.12 per call)
  3435. Calls: vPortEnterCritical/42 (21218 (estimated locally),0.12 per call) xTaskRemoveFromEventList/43 (4691 (estimated locally),0.03 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vListInitialise/44 (7002 (estimated locally),0.04 per call) vPortExitCritical/45 (21218 (estimated locally),0.12 per call)
  3436. Function found not to call free: prvGetDisinheritPriorityAfterTimeout
  3437. Function found not to call free: uxQueueGetQueueNumber
  3438. Function found not to call free: vQueueSetQueueNumber
  3439. Function found not to call free: ucQueueGetQueueType
  3440. vQueueUnregisterQueue.part.0 ()
  3441. {
  3442. UBaseType_t ux;
  3443. uint32_t ulNewBASEPRI;
  3444. struct QueueDefinition * xQueue;
  3445. <bb 5> [local count: 107374]:
  3446. # DEBUG D#2 s=> xQueue
  3447. # DEBUG xQueue => D#2
  3448. <bb 2> [local count: 107374]:
  3449. # DEBUG BEGIN_STMT
  3450. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3451. # DEBUG BEGIN_STMT
  3452. # DEBUG BEGIN_STMT
  3453. __asm__ __volatile__(" mov %0, %1
  3454. msr basepri, %0
  3455. isb
  3456. dsb
  3457. " : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
  3458. # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
  3459. <bb 3> [local count: 1073741824]:
  3460. # DEBUG ulNewBASEPRI => NULL
  3461. # DEBUG BEGIN_STMT
  3462. # DEBUG BEGIN_STMT
  3463. # DEBUG BEGIN_STMT
  3464. <bb 4> [local count: 1073741824]:
  3465. goto <bb 3>; [100.00%]
  3466. }
  3467. xQueueGenericReset.part.0 (struct QueueDefinition * xQueue, BaseType_t xNewQueue)
  3468. {
  3469. BaseType_t xReturn;
  3470. struct Queue_t * const pxQueue;
  3471. uint32_t ulNewBASEPRI;
  3472. uint32_t ulNewBASEPRI;
  3473. int8_t * _2;
  3474. long unsigned int _3;
  3475. long unsigned int _4;
  3476. long unsigned int _5;
  3477. int8_t * _6;
  3478. long unsigned int _7;
  3479. long unsigned int _8;
  3480. int8_t * _9;
  3481. long unsigned int _11;
  3482. struct List_t * _12;
  3483. long int _13;
  3484. struct List_t * _14;
  3485. struct List_t * _15;
  3486. <bb 8> [local count: 1073741824]:
  3487. <bb 2> [local count: 1073741824]:
  3488. # DEBUG BEGIN_STMT
  3489. vPortEnterCritical ();
  3490. # DEBUG BEGIN_STMT
  3491. _2 = MEM[(struct Queue_t *)xQueue_1(D)].pcHead;
  3492. _3 = MEM[(struct Queue_t *)xQueue_1(D)].uxLength;
  3493. _4 = MEM[(struct Queue_t *)xQueue_1(D)].uxItemSize;
  3494. _5 = _3 * _4;
  3495. _6 = _2 + _5;
  3496. MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcTail = _6;
  3497. # DEBUG BEGIN_STMT
  3498. MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting ={v} 0;
  3499. # DEBUG BEGIN_STMT
  3500. MEM[(struct Queue_t *)xQueue_1(D)].pcWriteTo = _2;
  3501. # DEBUG BEGIN_STMT
  3502. _7 = _3 + 4294967295;
  3503. _8 = _4 * _7;
  3504. _9 = _2 + _8;
  3505. MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcReadFrom = _9;
  3506. # DEBUG BEGIN_STMT
  3507. MEM[(struct Queue_t *)xQueue_1(D)].cRxLock ={v} -1;
  3508. # DEBUG BEGIN_STMT
  3509. MEM[(struct Queue_t *)xQueue_1(D)].cTxLock ={v} -1;
  3510. # DEBUG BEGIN_STMT
  3511. if (xNewQueue_10(D) == 0)
  3512. goto <bb 3>; [67.00%]
  3513. else
  3514. goto <bb 6>; [33.00%]
  3515. <bb 3> [local count: 719407023]:
  3516. # DEBUG BEGIN_STMT
  3517. _11 ={v} MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend.uxNumberOfItems;
  3518. if (_11 != 0)
  3519. goto <bb 4>; [33.00%]
  3520. else
  3521. goto <bb 7>; [67.00%]
  3522. <bb 4> [local count: 237404317]:
  3523. # DEBUG BEGIN_STMT
  3524. _12 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend;
  3525. _13 = xTaskRemoveFromEventList (_12);
  3526. if (_13 != 0)
  3527. goto <bb 5>; [50.00%]
  3528. else
  3529. goto <bb 7>; [50.00%]
  3530. <bb 5> [local count: 118702159]:
  3531. # DEBUG BEGIN_STMT
  3532. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  3533. # DEBUG BEGIN_STMT
  3534. __asm__ __volatile__("dsb" : : : "memory");
  3535. # DEBUG BEGIN_STMT
  3536. __asm__ __volatile__("isb");
  3537. # DEBUG BEGIN_STMT
  3538. goto <bb 7>; [100.00%]
  3539. <bb 6> [local count: 354334802]:
  3540. # DEBUG BEGIN_STMT
  3541. _14 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend;
  3542. vListInitialise (_14);
  3543. # DEBUG BEGIN_STMT
  3544. _15 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToReceive;
  3545. vListInitialise (_15);
  3546. <bb 7> [local count: 1073741824]:
  3547. # DEBUG BEGIN_STMT
  3548. vPortExitCritical ();
  3549. # DEBUG xReturn => 1
  3550. # DEBUG BEGIN_STMT
  3551. # DEBUG BEGIN_STMT
  3552. # DEBUG BEGIN_STMT
  3553. return 1;
  3554. }
  3555. vQueueWaitForMessageRestricted (struct QueueDefinition * xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely)
  3556. {
  3557. signed char _1;
  3558. signed char _2;
  3559. long unsigned int _3;
  3560. struct List_t * _4;
  3561. <bb 2> [local count: 1073741824]:
  3562. # DEBUG BEGIN_STMT
  3563. # DEBUG pxQueue => xQueue_8(D)
  3564. # DEBUG BEGIN_STMT
  3565. vPortEnterCritical ();
  3566. # DEBUG BEGIN_STMT
  3567. _1 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cRxLock;
  3568. if (_1 == -1)
  3569. goto <bb 3>; [34.00%]
  3570. else
  3571. goto <bb 4>; [66.00%]
  3572. <bb 3> [local count: 365072220]:
  3573. # DEBUG BEGIN_STMT
  3574. MEM[(struct Queue_t *)xQueue_8(D)].cRxLock ={v} 0;
  3575. <bb 4> [local count: 1073741824]:
  3576. # DEBUG BEGIN_STMT
  3577. _2 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cTxLock;
  3578. if (_2 == -1)
  3579. goto <bb 5>; [34.00%]
  3580. else
  3581. goto <bb 6>; [66.00%]
  3582. <bb 5> [local count: 365072220]:
  3583. # DEBUG BEGIN_STMT
  3584. MEM[(struct Queue_t *)xQueue_8(D)].cTxLock ={v} 0;
  3585. <bb 6> [local count: 1073741824]:
  3586. # DEBUG BEGIN_STMT
  3587. vPortExitCritical ();
  3588. # DEBUG BEGIN_STMT
  3589. _3 ={v} MEM[(struct Queue_t *)xQueue_8(D)].uxMessagesWaiting;
  3590. if (_3 == 0)
  3591. goto <bb 7>; [33.00%]
  3592. else
  3593. goto <bb 8>; [67.00%]
  3594. <bb 7> [local count: 354334802]:
  3595. # DEBUG BEGIN_STMT
  3596. _4 = &MEM[(struct Queue_t *)xQueue_8(D)].xTasksWaitingToReceive;
  3597. vTaskPlaceOnEventListRestricted (_4, xTicksToWait_14(D), xWaitIndefinitely_15(D));
  3598. <bb 8> [local count: 1073741824]:
  3599. # DEBUG BEGIN_STMT
  3600. # DEBUG BEGIN_STMT
  3601. prvUnlockQueue (xQueue_8(D));
  3602. return;
  3603. }
  3604. vQueueUnregisterQueue (struct QueueDefinition * xQueue)
  3605. {
  3606. UBaseType_t ux;
  3607. struct QueueDefinition * _1;
  3608. <bb 2> [local count: 357913]:
  3609. # DEBUG BEGIN_STMT
  3610. # DEBUG BEGIN_STMT
  3611. if (xQueue_3(D) == 0B)
  3612. goto <bb 3>; [30.00%]
  3613. else
  3614. goto <bb 9>; [70.00%]
  3615. <bb 9> [local count: 250539]:
  3616. goto <bb 7>; [100.00%]
  3617. <bb 3> [local count: 107374]:
  3618. # DEBUG D#1 => xQueue_3(D)
  3619. vQueueUnregisterQueue.part.0 ();
  3620. <bb 4> [local count: 451483]:
  3621. # DEBUG BEGIN_STMT
  3622. _1 = xQueueRegistry[ux_2].xHandle;
  3623. if (_1 == xQueue_3(D))
  3624. goto <bb 5>; [5.50%]
  3625. else
  3626. goto <bb 6>; [94.50%]
  3627. <bb 5> [local count: 24832]:
  3628. # ux_4 = PHI <ux_2(4)>
  3629. # DEBUG BEGIN_STMT
  3630. xQueueRegistry[ux_4].pcQueueName = 0B;
  3631. # DEBUG BEGIN_STMT
  3632. xQueueRegistry[ux_4].xHandle = 0B;
  3633. # DEBUG BEGIN_STMT
  3634. goto <bb 8>; [100.00%]
  3635. <bb 6> [local count: 426652]:
  3636. # DEBUG BEGIN_STMT
  3637. # DEBUG BEGIN_STMT
  3638. ux_6 = ux_2 + 1;
  3639. # DEBUG ux => ux_6
  3640. <bb 7> [local count: 677191]:
  3641. # ux_2 = PHI <ux_6(6), 0(9)>
  3642. # DEBUG ux => ux_2
  3643. # DEBUG BEGIN_STMT
  3644. if (ux_2 != 2)
  3645. goto <bb 4>; [66.67%]
  3646. else
  3647. goto <bb 8>; [33.33%]
  3648. <bb 8> [local count: 250539]:
  3649. return;
  3650. }
  3651. pcQueueGetName (struct QueueDefinition * xQueue)
  3652. {
  3653. uint32_t ulNewBASEPRI;
  3654. const char * pcReturn;
  3655. UBaseType_t ux;
  3656. struct QueueDefinition * _1;
  3657. <bb 2> [local count: 357913]:
  3658. # DEBUG BEGIN_STMT
  3659. # DEBUG BEGIN_STMT
  3660. # DEBUG pcReturn => 0B
  3661. # DEBUG BEGIN_STMT
  3662. if (xQueue_5(D) == 0B)
  3663. goto <bb 3>; [30.00%]
  3664. else
  3665. goto <bb 10>; [70.00%]
  3666. <bb 10> [local count: 250539]:
  3667. goto <bb 8>; [100.00%]
  3668. <bb 3> [local count: 107374]:
  3669. # DEBUG BEGIN_STMT
  3670. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3671. # DEBUG BEGIN_STMT
  3672. # DEBUG BEGIN_STMT
  3673. __asm__ __volatile__(" mov %0, %1
  3674. msr basepri, %0
  3675. isb
  3676. dsb
  3677. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  3678. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  3679. <bb 4> [local count: 1073741824]:
  3680. # DEBUG ulNewBASEPRI => NULL
  3681. # DEBUG BEGIN_STMT
  3682. # DEBUG BEGIN_STMT
  3683. # DEBUG BEGIN_STMT
  3684. <bb 11> [local count: 1073741824]:
  3685. goto <bb 4>; [100.00%]
  3686. <bb 5> [local count: 451483]:
  3687. # DEBUG BEGIN_STMT
  3688. _1 = xQueueRegistry[ux_2].xHandle;
  3689. if (_1 == xQueue_5(D))
  3690. goto <bb 6>; [5.50%]
  3691. else
  3692. goto <bb 7>; [94.50%]
  3693. <bb 6> [local count: 24832]:
  3694. # ux_4 = PHI <ux_2(5)>
  3695. # DEBUG BEGIN_STMT
  3696. pcReturn_8 = xQueueRegistry[ux_4].pcQueueName;
  3697. # DEBUG pcReturn => pcReturn_8
  3698. # DEBUG BEGIN_STMT
  3699. goto <bb 9>; [100.00%]
  3700. <bb 7> [local count: 426652]:
  3701. # DEBUG BEGIN_STMT
  3702. # DEBUG BEGIN_STMT
  3703. ux_7 = ux_2 + 1;
  3704. # DEBUG ux => ux_7
  3705. <bb 8> [local count: 677191]:
  3706. # ux_2 = PHI <ux_7(7), 0(10)>
  3707. # DEBUG ux => ux_2
  3708. # DEBUG BEGIN_STMT
  3709. if (ux_2 != 2)
  3710. goto <bb 5>; [66.67%]
  3711. else
  3712. goto <bb 9>; [33.33%]
  3713. <bb 9> [local count: 250539]:
  3714. # pcReturn_3 = PHI <pcReturn_8(6), 0B(8)>
  3715. # DEBUG pcReturn => pcReturn_3
  3716. # DEBUG BEGIN_STMT
  3717. return pcReturn_3;
  3718. }
  3719. vQueueAddToRegistry (struct QueueDefinition * xQueue, const char * pcQueueName)
  3720. {
  3721. uint32_t ulNewBASEPRI;
  3722. struct QueueRegistryItem_t * pxEntryToWrite;
  3723. UBaseType_t ux;
  3724. struct QueueDefinition * _1;
  3725. const char * _2;
  3726. <bb 2> [local count: 357913]:
  3727. # DEBUG BEGIN_STMT
  3728. # DEBUG BEGIN_STMT
  3729. if (xQueue_8(D) == 0B)
  3730. goto <bb 3>; [30.00%]
  3731. else
  3732. goto <bb 5>; [70.00%]
  3733. <bb 3> [local count: 107374]:
  3734. # DEBUG BEGIN_STMT
  3735. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3736. # DEBUG BEGIN_STMT
  3737. # DEBUG BEGIN_STMT
  3738. __asm__ __volatile__(" mov %0, %1
  3739. msr basepri, %0
  3740. isb
  3741. dsb
  3742. " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  3743. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  3744. <bb 4> [local count: 1073741824]:
  3745. # DEBUG ulNewBASEPRI => NULL
  3746. # DEBUG BEGIN_STMT
  3747. # DEBUG BEGIN_STMT
  3748. # DEBUG BEGIN_STMT
  3749. <bb 17> [local count: 1073741824]:
  3750. goto <bb 4>; [100.00%]
  3751. <bb 5> [local count: 250539]:
  3752. # DEBUG BEGIN_STMT
  3753. # DEBUG BEGIN_STMT
  3754. # DEBUG pxEntryToWrite => 0B
  3755. # DEBUG BEGIN_STMT
  3756. if (pcQueueName_10(D) != 0B)
  3757. goto <bb 16>; [70.00%]
  3758. else
  3759. goto <bb 15>; [30.00%]
  3760. <bb 16> [local count: 175378]:
  3761. goto <bb 12>; [100.00%]
  3762. <bb 6> [local count: 316038]:
  3763. # DEBUG BEGIN_STMT
  3764. _1 = xQueueRegistry[ux_3].xHandle;
  3765. if (_1 == xQueue_8(D))
  3766. goto <bb 7>; [5.50%]
  3767. else
  3768. goto <bb 8>; [94.50%]
  3769. <bb 7> [local count: 17382]:
  3770. # ux_9 = PHI <ux_3(6)>
  3771. # DEBUG BEGIN_STMT
  3772. pxEntryToWrite_14 = &xQueueRegistry[ux_9];
  3773. # DEBUG pxEntryToWrite => pxEntryToWrite_14
  3774. # DEBUG BEGIN_STMT
  3775. goto <bb 13>; [100.00%]
  3776. <bb 8> [local count: 298656]:
  3777. # DEBUG BEGIN_STMT
  3778. if (pxEntryToWrite_5 == 0B)
  3779. goto <bb 9>; [30.00%]
  3780. else
  3781. goto <bb 11>; [70.00%]
  3782. <bb 9> [local count: 89597]:
  3783. _2 = xQueueRegistry[ux_3].pcQueueName;
  3784. if (_2 == 0B)
  3785. goto <bb 10>; [30.00%]
  3786. else
  3787. goto <bb 11>; [70.00%]
  3788. <bb 10> [local count: 26879]:
  3789. # DEBUG BEGIN_STMT
  3790. pxEntryToWrite_12 = &xQueueRegistry[ux_3];
  3791. # DEBUG pxEntryToWrite => pxEntryToWrite_12
  3792. <bb 11> [local count: 298656]:
  3793. # pxEntryToWrite_4 = PHI <pxEntryToWrite_5(8), 0B(9), pxEntryToWrite_12(10)>
  3794. # DEBUG pxEntryToWrite => pxEntryToWrite_4
  3795. # DEBUG BEGIN_STMT
  3796. # DEBUG BEGIN_STMT
  3797. ux_13 = ux_3 + 1;
  3798. # DEBUG ux => ux_13
  3799. <bb 12> [local count: 474034]:
  3800. # ux_3 = PHI <ux_13(11), 0(16)>
  3801. # pxEntryToWrite_5 = PHI <pxEntryToWrite_4(11), 0B(16)>
  3802. # DEBUG pxEntryToWrite => pxEntryToWrite_5
  3803. # DEBUG ux => ux_3
  3804. # DEBUG BEGIN_STMT
  3805. if (ux_3 != 2)
  3806. goto <bb 6>; [66.67%]
  3807. else
  3808. goto <bb 13>; [33.33%]
  3809. <bb 13> [local count: 175378]:
  3810. # pxEntryToWrite_6 = PHI <pxEntryToWrite_5(12), pxEntryToWrite_14(7)>
  3811. # DEBUG pxEntryToWrite => pxEntryToWrite_6
  3812. # DEBUG BEGIN_STMT
  3813. if (pxEntryToWrite_6 != 0B)
  3814. goto <bb 14>; [70.00%]
  3815. else
  3816. goto <bb 15>; [30.00%]
  3817. <bb 14> [local count: 122764]:
  3818. # DEBUG BEGIN_STMT
  3819. pxEntryToWrite_6->pcQueueName = pcQueueName_10(D);
  3820. # DEBUG BEGIN_STMT
  3821. pxEntryToWrite_6->xHandle = xQueue_8(D);
  3822. <bb 15> [local count: 250539]:
  3823. # DEBUG pxEntryToWrite => NULL
  3824. # DEBUG BEGIN_STMT
  3825. return;
  3826. }
  3827. xQueueIsQueueFullFromISR (struct QueueDefinition * const xQueue)
  3828. {
  3829. uint32_t ulNewBASEPRI;
  3830. BaseType_t xReturn;
  3831. long unsigned int _1;
  3832. long unsigned int _2;
  3833. <bb 2> [local count: 357913]:
  3834. # DEBUG BEGIN_STMT
  3835. # DEBUG BEGIN_STMT
  3836. # DEBUG pxQueue => xQueue_4(D)
  3837. # DEBUG BEGIN_STMT
  3838. if (xQueue_4(D) == 0B)
  3839. goto <bb 3>; [30.00%]
  3840. else
  3841. goto <bb 5>; [70.00%]
  3842. <bb 3> [local count: 107374]:
  3843. # DEBUG BEGIN_STMT
  3844. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3845. # DEBUG BEGIN_STMT
  3846. # DEBUG BEGIN_STMT
  3847. __asm__ __volatile__(" mov %0, %1
  3848. msr basepri, %0
  3849. isb
  3850. dsb
  3851. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  3852. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  3853. <bb 4> [local count: 1073741824]:
  3854. # DEBUG ulNewBASEPRI => NULL
  3855. # DEBUG BEGIN_STMT
  3856. # DEBUG BEGIN_STMT
  3857. # DEBUG BEGIN_STMT
  3858. <bb 8> [local count: 1073741824]:
  3859. goto <bb 4>; [100.00%]
  3860. <bb 5> [local count: 250539]:
  3861. # DEBUG BEGIN_STMT
  3862. # DEBUG BEGIN_STMT
  3863. _1 ={v} MEM[(struct Queue_t *)xQueue_4(D)].uxMessagesWaiting;
  3864. _2 = MEM[(struct Queue_t *)xQueue_4(D)].uxLength;
  3865. if (_1 == _2)
  3866. goto <bb 7>; [34.00%]
  3867. else
  3868. goto <bb 6>; [66.00%]
  3869. <bb 6> [local count: 165356]:
  3870. # DEBUG BEGIN_STMT
  3871. # DEBUG xReturn => 0
  3872. <bb 7> [local count: 250539]:
  3873. # xReturn_3 = PHI <1(5), 0(6)>
  3874. # DEBUG xReturn => xReturn_3
  3875. # DEBUG BEGIN_STMT
  3876. return xReturn_3;
  3877. }
  3878. prvIsQueueFull (const struct Queue_t * pxQueue)
  3879. {
  3880. BaseType_t xReturn;
  3881. long unsigned int _1;
  3882. long unsigned int _2;
  3883. <bb 2> [local count: 1073741824]:
  3884. # DEBUG BEGIN_STMT
  3885. # DEBUG BEGIN_STMT
  3886. vPortEnterCritical ();
  3887. # DEBUG BEGIN_STMT
  3888. _1 ={v} pxQueue_6(D)->uxMessagesWaiting;
  3889. _2 = pxQueue_6(D)->uxLength;
  3890. if (_1 == _2)
  3891. goto <bb 4>; [34.00%]
  3892. else
  3893. goto <bb 3>; [66.00%]
  3894. <bb 3> [local count: 708669605]:
  3895. # DEBUG BEGIN_STMT
  3896. # DEBUG xReturn => 0
  3897. <bb 4> [local count: 1073741824]:
  3898. # xReturn_3 = PHI <1(2), 0(3)>
  3899. # DEBUG xReturn => xReturn_3
  3900. # DEBUG BEGIN_STMT
  3901. vPortExitCritical ();
  3902. # DEBUG BEGIN_STMT
  3903. return xReturn_3;
  3904. }
  3905. xQueueIsQueueEmptyFromISR (struct QueueDefinition * const xQueue)
  3906. {
  3907. uint32_t ulNewBASEPRI;
  3908. BaseType_t xReturn;
  3909. long unsigned int _1;
  3910. <bb 2> [local count: 357913]:
  3911. # DEBUG BEGIN_STMT
  3912. # DEBUG BEGIN_STMT
  3913. # DEBUG pxQueue => xQueue_3(D)
  3914. # DEBUG BEGIN_STMT
  3915. if (xQueue_3(D) == 0B)
  3916. goto <bb 3>; [30.00%]
  3917. else
  3918. goto <bb 5>; [70.00%]
  3919. <bb 3> [local count: 107374]:
  3920. # DEBUG BEGIN_STMT
  3921. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3922. # DEBUG BEGIN_STMT
  3923. # DEBUG BEGIN_STMT
  3924. __asm__ __volatile__(" mov %0, %1
  3925. msr basepri, %0
  3926. isb
  3927. dsb
  3928. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  3929. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  3930. <bb 4> [local count: 1073741824]:
  3931. # DEBUG ulNewBASEPRI => NULL
  3932. # DEBUG BEGIN_STMT
  3933. # DEBUG BEGIN_STMT
  3934. # DEBUG BEGIN_STMT
  3935. <bb 8> [local count: 1073741824]:
  3936. goto <bb 4>; [100.00%]
  3937. <bb 5> [local count: 250539]:
  3938. # DEBUG BEGIN_STMT
  3939. # DEBUG BEGIN_STMT
  3940. _1 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
  3941. if (_1 == 0)
  3942. goto <bb 7>; [50.00%]
  3943. else
  3944. goto <bb 6>; [50.00%]
  3945. <bb 6> [local count: 125270]:
  3946. # DEBUG BEGIN_STMT
  3947. # DEBUG xReturn => 0
  3948. <bb 7> [local count: 250539]:
  3949. # xReturn_2 = PHI <1(5), 0(6)>
  3950. # DEBUG xReturn => xReturn_2
  3951. # DEBUG BEGIN_STMT
  3952. return xReturn_2;
  3953. }
  3954. prvIsQueueEmpty (const struct Queue_t * pxQueue)
  3955. {
  3956. BaseType_t xReturn;
  3957. long unsigned int _1;
  3958. <bb 2> [local count: 1073741824]:
  3959. # DEBUG BEGIN_STMT
  3960. # DEBUG BEGIN_STMT
  3961. vPortEnterCritical ();
  3962. # DEBUG BEGIN_STMT
  3963. _1 ={v} pxQueue_5(D)->uxMessagesWaiting;
  3964. if (_1 == 0)
  3965. goto <bb 4>; [50.00%]
  3966. else
  3967. goto <bb 3>; [50.00%]
  3968. <bb 3> [local count: 536870913]:
  3969. # DEBUG BEGIN_STMT
  3970. # DEBUG xReturn => 0
  3971. <bb 4> [local count: 1073741824]:
  3972. # xReturn_2 = PHI <1(2), 0(3)>
  3973. # DEBUG xReturn => xReturn_2
  3974. # DEBUG BEGIN_STMT
  3975. vPortExitCritical ();
  3976. # DEBUG BEGIN_STMT
  3977. return xReturn_2;
  3978. }
  3979. prvUnlockQueue (struct Queue_t * const pxQueue)
  3980. {
  3981. int8_t cRxLock;
  3982. int8_t cTxLock;
  3983. long unsigned int _1;
  3984. struct List_t * _2;
  3985. long int _3;
  3986. unsigned char cTxLock.6_4;
  3987. unsigned char _5;
  3988. long unsigned int _6;
  3989. struct List_t * _7;
  3990. long int _8;
  3991. unsigned char cRxLock.7_9;
  3992. unsigned char _10;
  3993. <bb 2> [local count: 114863534]:
  3994. # DEBUG BEGIN_STMT
  3995. vPortEnterCritical ();
  3996. # DEBUG BEGIN_STMT
  3997. cTxLock_20 ={v} pxQueue_19(D)->cTxLock;
  3998. # DEBUG cTxLock => cTxLock_20
  3999. # DEBUG BEGIN_STMT
  4000. goto <bb 7>; [100.00%]
  4001. <bb 3> [local count: 1014686025]:
  4002. # DEBUG BEGIN_STMT
  4003. _1 ={v} pxQueue_19(D)->xTasksWaitingToReceive.uxNumberOfItems;
  4004. if (_1 != 0)
  4005. goto <bb 4>; [94.50%]
  4006. else
  4007. goto <bb 8>; [5.50%]
  4008. <bb 4> [local count: 958878293]:
  4009. # DEBUG BEGIN_STMT
  4010. _2 = &pxQueue_19(D)->xTasksWaitingToReceive;
  4011. _3 = xTaskRemoveFromEventList (_2);
  4012. if (_3 != 0)
  4013. goto <bb 5>; [33.00%]
  4014. else
  4015. goto <bb 6>; [67.00%]
  4016. <bb 5> [local count: 316429836]:
  4017. # DEBUG BEGIN_STMT
  4018. vTaskMissedYield ();
  4019. <bb 6> [local count: 958878293]:
  4020. # DEBUG BEGIN_STMT
  4021. # DEBUG BEGIN_STMT
  4022. cTxLock.6_4 = (unsigned char) cTxLock_11;
  4023. _5 = cTxLock.6_4 + 255;
  4024. cTxLock_23 = (int8_t) _5;
  4025. # DEBUG cTxLock => cTxLock_23
  4026. <bb 7> [local count: 1073741824]:
  4027. # cTxLock_11 = PHI <cTxLock_20(2), cTxLock_23(6)>
  4028. # DEBUG cTxLock => cTxLock_11
  4029. # DEBUG BEGIN_STMT
  4030. if (cTxLock_11 > 0)
  4031. goto <bb 3>; [94.50%]
  4032. else
  4033. goto <bb 8>; [5.50%]
  4034. <bb 8> [local count: 114863532]:
  4035. # DEBUG BEGIN_STMT
  4036. pxQueue_19(D)->cTxLock ={v} -1;
  4037. # DEBUG BEGIN_STMT
  4038. vPortExitCritical ();
  4039. # DEBUG BEGIN_STMT
  4040. vPortEnterCritical ();
  4041. # DEBUG BEGIN_STMT
  4042. cRxLock_27 ={v} pxQueue_19(D)->cRxLock;
  4043. # DEBUG cRxLock => cRxLock_27
  4044. # DEBUG BEGIN_STMT
  4045. goto <bb 13>; [100.00%]
  4046. <bb 9> [local count: 1014686003]:
  4047. # DEBUG BEGIN_STMT
  4048. _6 ={v} pxQueue_19(D)->xTasksWaitingToSend.uxNumberOfItems;
  4049. if (_6 != 0)
  4050. goto <bb 10>; [94.50%]
  4051. else
  4052. goto <bb 14>; [5.50%]
  4053. <bb 10> [local count: 958878272]:
  4054. # DEBUG BEGIN_STMT
  4055. _7 = &pxQueue_19(D)->xTasksWaitingToSend;
  4056. _8 = xTaskRemoveFromEventList (_7);
  4057. if (_8 != 0)
  4058. goto <bb 11>; [33.00%]
  4059. else
  4060. goto <bb 12>; [67.00%]
  4061. <bb 11> [local count: 316429830]:
  4062. # DEBUG BEGIN_STMT
  4063. vTaskMissedYield ();
  4064. <bb 12> [local count: 958878272]:
  4065. # DEBUG BEGIN_STMT
  4066. # DEBUG BEGIN_STMT
  4067. cRxLock.7_9 = (unsigned char) cRxLock_12;
  4068. _10 = cRxLock.7_9 + 255;
  4069. cRxLock_30 = (int8_t) _10;
  4070. # DEBUG cRxLock => cRxLock_30
  4071. <bb 13> [local count: 1073741803]:
  4072. # cRxLock_12 = PHI <cRxLock_27(8), cRxLock_30(12)>
  4073. # DEBUG cRxLock => cRxLock_12
  4074. # DEBUG BEGIN_STMT
  4075. if (cRxLock_12 > 0)
  4076. goto <bb 9>; [94.50%]
  4077. else
  4078. goto <bb 14>; [5.50%]
  4079. <bb 14> [local count: 114863529]:
  4080. # DEBUG BEGIN_STMT
  4081. pxQueue_19(D)->cRxLock ={v} -1;
  4082. # DEBUG BEGIN_STMT
  4083. vPortExitCritical ();
  4084. return;
  4085. }
  4086. prvCopyDataFromQueue (struct Queue_t * const pxQueue, void * const pvBuffer)
  4087. {
  4088. long unsigned int _1;
  4089. int8_t * _2;
  4090. int8_t * _3;
  4091. int8_t * _4;
  4092. int8_t * _5;
  4093. int8_t * _6;
  4094. <bb 2> [local count: 1073741824]:
  4095. # DEBUG BEGIN_STMT
  4096. _1 = pxQueue_10(D)->uxItemSize;
  4097. if (_1 != 0)
  4098. goto <bb 3>; [50.00%]
  4099. else
  4100. goto <bb 6>; [50.00%]
  4101. <bb 3> [local count: 536870913]:
  4102. # DEBUG BEGIN_STMT
  4103. _2 = pxQueue_10(D)->u.xQueue.pcReadFrom;
  4104. _3 = _2 + _1;
  4105. pxQueue_10(D)->u.xQueue.pcReadFrom = _3;
  4106. # DEBUG BEGIN_STMT
  4107. _4 = pxQueue_10(D)->u.xQueue.pcTail;
  4108. if (_3 >= _4)
  4109. goto <bb 4>; [50.00%]
  4110. else
  4111. goto <bb 5>; [50.00%]
  4112. <bb 4> [local count: 268435456]:
  4113. # DEBUG BEGIN_STMT
  4114. _5 = pxQueue_10(D)->pcHead;
  4115. pxQueue_10(D)->u.xQueue.pcReadFrom = _5;
  4116. <bb 5> [local count: 536870913]:
  4117. # DEBUG BEGIN_STMT
  4118. # DEBUG BEGIN_STMT
  4119. _6 = pxQueue_10(D)->u.xQueue.pcReadFrom;
  4120. memcpy (pvBuffer_13(D), _6, _1);
  4121. <bb 6> [local count: 1073741824]:
  4122. return;
  4123. }
  4124. prvCopyDataToQueue (struct Queue_t * const pxQueue, const void * pvItemToQueue, const BaseType_t xPosition)
  4125. {
  4126. UBaseType_t uxMessagesWaiting;
  4127. BaseType_t xReturn;
  4128. long unsigned int _1;
  4129. int8_t * _2;
  4130. struct tskTaskControlBlock * _3;
  4131. int8_t * _4;
  4132. int8_t * _5;
  4133. long unsigned int _6;
  4134. int8_t * _7;
  4135. int8_t * _8;
  4136. int8_t * _9;
  4137. int8_t * _10;
  4138. int8_t * _11;
  4139. long unsigned int _12;
  4140. sizetype _13;
  4141. int8_t * _14;
  4142. int8_t * _15;
  4143. int8_t * _16;
  4144. int8_t * _17;
  4145. long unsigned int _18;
  4146. <bb 2> [local count: 1073741823]:
  4147. # DEBUG BEGIN_STMT
  4148. # DEBUG xReturn => 0
  4149. # DEBUG BEGIN_STMT
  4150. # DEBUG BEGIN_STMT
  4151. uxMessagesWaiting_25 ={v} pxQueue_24(D)->uxMessagesWaiting;
  4152. # DEBUG uxMessagesWaiting => uxMessagesWaiting_25
  4153. # DEBUG BEGIN_STMT
  4154. _1 = pxQueue_24(D)->uxItemSize;
  4155. if (_1 == 0)
  4156. goto <bb 3>; [50.00%]
  4157. else
  4158. goto <bb 5>; [50.00%]
  4159. <bb 3> [local count: 536870911]:
  4160. # DEBUG BEGIN_STMT
  4161. _2 = pxQueue_24(D)->pcHead;
  4162. if (_2 == 0B)
  4163. goto <bb 4>; [17.43%]
  4164. else
  4165. goto <bb 13>; [82.57%]
  4166. <bb 4> [local count: 93576600]:
  4167. # DEBUG BEGIN_STMT
  4168. _3 = pxQueue_24(D)->u.xSemaphore.xMutexHolder;
  4169. xReturn_36 = xTaskPriorityDisinherit (_3);
  4170. # DEBUG xReturn => xReturn_36
  4171. # DEBUG BEGIN_STMT
  4172. pxQueue_24(D)->u.xSemaphore.xMutexHolder = 0B;
  4173. goto <bb 13>; [100.00%]
  4174. <bb 5> [local count: 536870911]:
  4175. # DEBUG BEGIN_STMT
  4176. if (xPosition_26(D) == 0)
  4177. goto <bb 6>; [50.00%]
  4178. else
  4179. goto <bb 8>; [50.00%]
  4180. <bb 6> [local count: 268435456]:
  4181. # DEBUG BEGIN_STMT
  4182. _4 = pxQueue_24(D)->pcWriteTo;
  4183. memcpy (_4, pvItemToQueue_27(D), _1);
  4184. # DEBUG BEGIN_STMT
  4185. _5 = pxQueue_24(D)->pcWriteTo;
  4186. _6 = pxQueue_24(D)->uxItemSize;
  4187. _7 = _5 + _6;
  4188. pxQueue_24(D)->pcWriteTo = _7;
  4189. # DEBUG BEGIN_STMT
  4190. _8 = pxQueue_24(D)->u.xQueue.pcTail;
  4191. if (_7 >= _8)
  4192. goto <bb 7>; [50.00%]
  4193. else
  4194. goto <bb 13>; [50.00%]
  4195. <bb 7> [local count: 134217728]:
  4196. # DEBUG BEGIN_STMT
  4197. _9 = pxQueue_24(D)->pcHead;
  4198. pxQueue_24(D)->pcWriteTo = _9;
  4199. goto <bb 13>; [100.00%]
  4200. <bb 8> [local count: 268435456]:
  4201. # DEBUG BEGIN_STMT
  4202. _10 = pxQueue_24(D)->u.xQueue.pcReadFrom;
  4203. memcpy (_10, pvItemToQueue_27(D), _1);
  4204. # DEBUG BEGIN_STMT
  4205. _11 = pxQueue_24(D)->u.xQueue.pcReadFrom;
  4206. _12 = pxQueue_24(D)->uxItemSize;
  4207. _13 = -_12;
  4208. _14 = _11 + _13;
  4209. pxQueue_24(D)->u.xQueue.pcReadFrom = _14;
  4210. # DEBUG BEGIN_STMT
  4211. _15 = pxQueue_24(D)->pcHead;
  4212. if (_14 < _15)
  4213. goto <bb 9>; [50.00%]
  4214. else
  4215. goto <bb 10>; [50.00%]
  4216. <bb 9> [local count: 134217728]:
  4217. # DEBUG BEGIN_STMT
  4218. _16 = pxQueue_24(D)->u.xQueue.pcTail;
  4219. _17 = _16 + _13;
  4220. pxQueue_24(D)->u.xQueue.pcReadFrom = _17;
  4221. <bb 10> [local count: 268435456]:
  4222. # DEBUG BEGIN_STMT
  4223. # DEBUG BEGIN_STMT
  4224. if (xPosition_26(D) == 2)
  4225. goto <bb 11>; [34.00%]
  4226. else
  4227. goto <bb 13>; [66.00%]
  4228. <bb 11> [local count: 91268055]:
  4229. # DEBUG BEGIN_STMT
  4230. if (uxMessagesWaiting_25 != 0)
  4231. goto <bb 12>; [50.00%]
  4232. else
  4233. goto <bb 13>; [50.00%]
  4234. <bb 12> [local count: 45634027]:
  4235. # DEBUG BEGIN_STMT
  4236. uxMessagesWaiting_31 = uxMessagesWaiting_25 + 4294967295;
  4237. # DEBUG uxMessagesWaiting => uxMessagesWaiting_31
  4238. <bb 13> [local count: 1073741824]:
  4239. # xReturn_19 = PHI <xReturn_36(4), 0(7), 0(10), 0(12), 0(3), 0(6), 0(11)>
  4240. # uxMessagesWaiting_20 = PHI <uxMessagesWaiting_25(4), uxMessagesWaiting_25(7), uxMessagesWaiting_25(10), uxMessagesWaiting_31(12), uxMessagesWaiting_25(3), uxMessagesWaiting_25(6), uxMessagesWaiting_25(11)>
  4241. # DEBUG uxMessagesWaiting => uxMessagesWaiting_20
  4242. # DEBUG xReturn => xReturn_19
  4243. # DEBUG BEGIN_STMT
  4244. # DEBUG BEGIN_STMT
  4245. _18 = uxMessagesWaiting_20 + 1;
  4246. pxQueue_24(D)->uxMessagesWaiting ={v} _18;
  4247. # DEBUG BEGIN_STMT
  4248. return xReturn_19;
  4249. }
  4250. prvGetDisinheritPriorityAfterTimeout (const struct Queue_t * const pxQueue)
  4251. {
  4252. UBaseType_t uxHighestPriorityOfWaitingTasks;
  4253. long unsigned int _1;
  4254. struct xLIST_ITEM * _2;
  4255. long unsigned int _3;
  4256. <bb 2> [local count: 1073741824]:
  4257. # DEBUG BEGIN_STMT
  4258. # DEBUG BEGIN_STMT
  4259. _1 ={v} pxQueue_6(D)->xTasksWaitingToReceive.uxNumberOfItems;
  4260. if (_1 != 0)
  4261. goto <bb 3>; [50.00%]
  4262. else
  4263. goto <bb 4>; [50.00%]
  4264. <bb 3> [local count: 536870913]:
  4265. # DEBUG BEGIN_STMT
  4266. _2 = pxQueue_6(D)->xTasksWaitingToReceive.xListEnd.pxNext;
  4267. _3 = _2->xItemValue;
  4268. uxHighestPriorityOfWaitingTasks_7 = 5 - _3;
  4269. # DEBUG uxHighestPriorityOfWaitingTasks => uxHighestPriorityOfWaitingTasks_7
  4270. <bb 4> [local count: 1073741824]:
  4271. # uxHighestPriorityOfWaitingTasks_4 = PHI <uxHighestPriorityOfWaitingTasks_7(3), 0(2)>
  4272. # DEBUG uxHighestPriorityOfWaitingTasks => uxHighestPriorityOfWaitingTasks_4
  4273. # DEBUG BEGIN_STMT
  4274. return uxHighestPriorityOfWaitingTasks_4;
  4275. }
  4276. ucQueueGetQueueType (struct QueueDefinition * xQueue)
  4277. {
  4278. uint8_t _3;
  4279. <bb 2> [local count: 1073741824]:
  4280. # DEBUG BEGIN_STMT
  4281. _3 = MEM[(struct Queue_t *)xQueue_2(D)].ucQueueType;
  4282. return _3;
  4283. }
  4284. vQueueSetQueueNumber (struct QueueDefinition * xQueue, UBaseType_t uxQueueNumber)
  4285. {
  4286. <bb 2> [local count: 1073741824]:
  4287. # DEBUG BEGIN_STMT
  4288. MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber = uxQueueNumber_3(D);
  4289. return;
  4290. }
  4291. uxQueueGetQueueNumber (struct QueueDefinition * xQueue)
  4292. {
  4293. UBaseType_t _3;
  4294. <bb 2> [local count: 1073741824]:
  4295. # DEBUG BEGIN_STMT
  4296. _3 = MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber;
  4297. return _3;
  4298. }
  4299. vQueueDelete (struct QueueDefinition * xQueue)
  4300. {
  4301. uint32_t ulNewBASEPRI;
  4302. <bb 2> [local count: 230763]:
  4303. # DEBUG BEGIN_STMT
  4304. # DEBUG pxQueue => xQueue_1(D)
  4305. # DEBUG BEGIN_STMT
  4306. if (xQueue_1(D) == 0B)
  4307. goto <bb 3>; [46.53%]
  4308. else
  4309. goto <bb 5>; [53.47%]
  4310. <bb 3> [local count: 107374]:
  4311. # DEBUG BEGIN_STMT
  4312. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4313. # DEBUG BEGIN_STMT
  4314. # DEBUG BEGIN_STMT
  4315. __asm__ __volatile__(" mov %0, %1
  4316. msr basepri, %0
  4317. isb
  4318. dsb
  4319. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  4320. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  4321. <bb 4> [local count: 1073741824]:
  4322. # DEBUG ulNewBASEPRI => NULL
  4323. # DEBUG BEGIN_STMT
  4324. # DEBUG BEGIN_STMT
  4325. # DEBUG BEGIN_STMT
  4326. <bb 6> [local count: 1073741824]:
  4327. goto <bb 4>; [100.00%]
  4328. <bb 5> [local count: 123389]:
  4329. # DEBUG BEGIN_STMT
  4330. # DEBUG BEGIN_STMT
  4331. # DEBUG BEGIN_STMT
  4332. vQueueUnregisterQueue (xQueue_1(D));
  4333. # DEBUG BEGIN_STMT
  4334. vPortFree (xQueue_1(D));
  4335. return;
  4336. }
  4337. uxQueueMessagesWaitingFromISR (struct QueueDefinition * const xQueue)
  4338. {
  4339. uint32_t ulNewBASEPRI;
  4340. UBaseType_t uxReturn;
  4341. <bb 2> [local count: 357913]:
  4342. # DEBUG BEGIN_STMT
  4343. # DEBUG BEGIN_STMT
  4344. # DEBUG pxQueue => xQueue_1(D)
  4345. # DEBUG BEGIN_STMT
  4346. if (xQueue_1(D) == 0B)
  4347. goto <bb 3>; [30.00%]
  4348. else
  4349. goto <bb 5>; [70.00%]
  4350. <bb 3> [local count: 107374]:
  4351. # DEBUG BEGIN_STMT
  4352. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4353. # DEBUG BEGIN_STMT
  4354. # DEBUG BEGIN_STMT
  4355. __asm__ __volatile__(" mov %0, %1
  4356. msr basepri, %0
  4357. isb
  4358. dsb
  4359. " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
  4360. # DEBUG ulNewBASEPRI => ulNewBASEPRI_4
  4361. <bb 4> [local count: 1073741824]:
  4362. # DEBUG ulNewBASEPRI => NULL
  4363. # DEBUG BEGIN_STMT
  4364. # DEBUG BEGIN_STMT
  4365. # DEBUG BEGIN_STMT
  4366. <bb 6> [local count: 1073741824]:
  4367. goto <bb 4>; [100.00%]
  4368. <bb 5> [local count: 250539]:
  4369. # DEBUG BEGIN_STMT
  4370. # DEBUG BEGIN_STMT
  4371. uxReturn_3 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting;
  4372. # DEBUG uxReturn => uxReturn_3
  4373. # DEBUG BEGIN_STMT
  4374. return uxReturn_3;
  4375. }
  4376. uxQueueSpacesAvailable (struct QueueDefinition * const xQueue)
  4377. {
  4378. uint32_t ulNewBASEPRI;
  4379. UBaseType_t uxReturn;
  4380. long unsigned int _1;
  4381. long unsigned int _2;
  4382. <bb 2> [local count: 230763]:
  4383. # DEBUG BEGIN_STMT
  4384. # DEBUG BEGIN_STMT
  4385. # DEBUG pxQueue => xQueue_3(D)
  4386. # DEBUG BEGIN_STMT
  4387. if (xQueue_3(D) == 0B)
  4388. goto <bb 3>; [46.53%]
  4389. else
  4390. goto <bb 5>; [53.47%]
  4391. <bb 3> [local count: 107374]:
  4392. # DEBUG BEGIN_STMT
  4393. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4394. # DEBUG BEGIN_STMT
  4395. # DEBUG BEGIN_STMT
  4396. __asm__ __volatile__(" mov %0, %1
  4397. msr basepri, %0
  4398. isb
  4399. dsb
  4400. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  4401. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  4402. <bb 4> [local count: 1073741824]:
  4403. # DEBUG ulNewBASEPRI => NULL
  4404. # DEBUG BEGIN_STMT
  4405. # DEBUG BEGIN_STMT
  4406. # DEBUG BEGIN_STMT
  4407. <bb 6> [local count: 1073741824]:
  4408. goto <bb 4>; [100.00%]
  4409. <bb 5> [local count: 123389]:
  4410. # DEBUG BEGIN_STMT
  4411. # DEBUG BEGIN_STMT
  4412. vPortEnterCritical ();
  4413. # DEBUG BEGIN_STMT
  4414. _1 = MEM[(struct Queue_t *)xQueue_3(D)].uxLength;
  4415. _2 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
  4416. uxReturn_6 = _1 - _2;
  4417. # DEBUG uxReturn => uxReturn_6
  4418. # DEBUG BEGIN_STMT
  4419. vPortExitCritical ();
  4420. # DEBUG BEGIN_STMT
  4421. return uxReturn_6;
  4422. }
  4423. uxQueueMessagesWaiting (struct QueueDefinition * const xQueue)
  4424. {
  4425. uint32_t ulNewBASEPRI;
  4426. UBaseType_t uxReturn;
  4427. <bb 2> [local count: 230763]:
  4428. # DEBUG BEGIN_STMT
  4429. # DEBUG BEGIN_STMT
  4430. if (xQueue_1(D) == 0B)
  4431. goto <bb 3>; [46.53%]
  4432. else
  4433. goto <bb 5>; [53.47%]
  4434. <bb 3> [local count: 107374]:
  4435. # DEBUG BEGIN_STMT
  4436. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4437. # DEBUG BEGIN_STMT
  4438. # DEBUG BEGIN_STMT
  4439. __asm__ __volatile__(" mov %0, %1
  4440. msr basepri, %0
  4441. isb
  4442. dsb
  4443. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  4444. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  4445. <bb 4> [local count: 1073741824]:
  4446. # DEBUG ulNewBASEPRI => NULL
  4447. # DEBUG BEGIN_STMT
  4448. # DEBUG BEGIN_STMT
  4449. # DEBUG BEGIN_STMT
  4450. <bb 6> [local count: 1073741824]:
  4451. goto <bb 4>; [100.00%]
  4452. <bb 5> [local count: 123389]:
  4453. # DEBUG BEGIN_STMT
  4454. # DEBUG BEGIN_STMT
  4455. vPortEnterCritical ();
  4456. # DEBUG BEGIN_STMT
  4457. uxReturn_4 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting;
  4458. # DEBUG uxReturn => uxReturn_4
  4459. # DEBUG BEGIN_STMT
  4460. vPortExitCritical ();
  4461. # DEBUG BEGIN_STMT
  4462. return uxReturn_4;
  4463. }
  4464. xQueuePeekFromISR (struct QueueDefinition * xQueue, void * const pvBuffer)
  4465. {
  4466. uint32_t ulOriginalBASEPRI;
  4467. uint32_t ulNewBASEPRI;
  4468. uint32_t ulNewBASEPRI;
  4469. uint32_t ulNewBASEPRI;
  4470. uint32_t ulNewBASEPRI;
  4471. int8_t * pcOriginalReadPosition;
  4472. BaseType_t xReturn;
  4473. long unsigned int _1;
  4474. long unsigned int _2;
  4475. long unsigned int _3;
  4476. <bb 2> [local count: 269344]:
  4477. # DEBUG BEGIN_STMT
  4478. # DEBUG BEGIN_STMT
  4479. # DEBUG BEGIN_STMT
  4480. # DEBUG BEGIN_STMT
  4481. # DEBUG pxQueue => xQueue_6(D)
  4482. # DEBUG BEGIN_STMT
  4483. if (xQueue_6(D) == 0B)
  4484. goto <bb 3>; [30.00%]
  4485. else
  4486. goto <bb 5>; [70.00%]
  4487. <bb 3> [local count: 80803]:
  4488. # DEBUG BEGIN_STMT
  4489. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4490. # DEBUG BEGIN_STMT
  4491. # DEBUG BEGIN_STMT
  4492. __asm__ __volatile__(" mov %0, %1
  4493. msr basepri, %0
  4494. isb
  4495. dsb
  4496. " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
  4497. # DEBUG ulNewBASEPRI => ulNewBASEPRI_13
  4498. <bb 4> [local count: 808033481]:
  4499. # DEBUG ulNewBASEPRI => NULL
  4500. # DEBUG BEGIN_STMT
  4501. # DEBUG BEGIN_STMT
  4502. # DEBUG BEGIN_STMT
  4503. <bb 15> [local count: 808033481]:
  4504. goto <bb 4>; [100.00%]
  4505. <bb 5> [local count: 188541]:
  4506. # DEBUG BEGIN_STMT
  4507. # DEBUG BEGIN_STMT
  4508. if (pvBuffer_7(D) != 0B)
  4509. goto <bb 9>; [70.00%]
  4510. else
  4511. goto <bb 6>; [30.00%]
  4512. <bb 6> [local count: 56562]:
  4513. _1 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
  4514. if (_1 == 0)
  4515. goto <bb 9>; [50.00%]
  4516. else
  4517. goto <bb 7>; [50.00%]
  4518. <bb 7> [local count: 28281]:
  4519. # DEBUG BEGIN_STMT
  4520. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4521. # DEBUG BEGIN_STMT
  4522. # DEBUG BEGIN_STMT
  4523. __asm__ __volatile__(" mov %0, %1
  4524. msr basepri, %0
  4525. isb
  4526. dsb
  4527. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  4528. # DEBUG ulNewBASEPRI => ulNewBASEPRI_14
  4529. <bb 8> [local count: 282811719]:
  4530. # DEBUG ulNewBASEPRI => NULL
  4531. # DEBUG BEGIN_STMT
  4532. # DEBUG BEGIN_STMT
  4533. # DEBUG BEGIN_STMT
  4534. <bb 17> [local count: 282811719]:
  4535. goto <bb 8>; [100.00%]
  4536. <bb 9> [local count: 160260]:
  4537. # DEBUG BEGIN_STMT
  4538. # DEBUG BEGIN_STMT
  4539. _2 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
  4540. if (_2 == 0)
  4541. goto <bb 10>; [67.00%]
  4542. else
  4543. goto <bb 12>; [33.00%]
  4544. <bb 10> [local count: 107374]:
  4545. # DEBUG BEGIN_STMT
  4546. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4547. # DEBUG BEGIN_STMT
  4548. # DEBUG BEGIN_STMT
  4549. __asm__ __volatile__(" mov %0, %1
  4550. msr basepri, %0
  4551. isb
  4552. dsb
  4553. " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  4554. # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
  4555. <bb 11> [local count: 1073741824]:
  4556. # DEBUG ulNewBASEPRI => NULL
  4557. # DEBUG BEGIN_STMT
  4558. # DEBUG BEGIN_STMT
  4559. # DEBUG BEGIN_STMT
  4560. <bb 16> [local count: 1073741824]:
  4561. goto <bb 11>; [100.00%]
  4562. <bb 12> [local count: 52886]:
  4563. # DEBUG BEGIN_STMT
  4564. # DEBUG BEGIN_STMT
  4565. vPortValidateInterruptPriority ();
  4566. # DEBUG BEGIN_STMT
  4567. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  4568. # DEBUG BEGIN_STMT
  4569. # DEBUG BEGIN_STMT
  4570. __asm__ __volatile__(" mrs %0, basepri
  4571. mov %1, %2
  4572. msr basepri, %1
  4573. isb
  4574. dsb
  4575. " : "=r" ulOriginalBASEPRI_16, "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  4576. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  4577. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_16
  4578. # DEBUG BEGIN_STMT
  4579. # DEBUG ulNewBASEPRI => NULL
  4580. # DEBUG ulOriginalBASEPRI => NULL
  4581. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_16
  4582. # DEBUG BEGIN_STMT
  4583. _3 ={v} MEM[(struct Queue_t *)xQueue_6(D)].uxMessagesWaiting;
  4584. if (_3 != 0)
  4585. goto <bb 13>; [33.00%]
  4586. else
  4587. goto <bb 14>; [67.00%]
  4588. <bb 13> [local count: 17452]:
  4589. # DEBUG BEGIN_STMT
  4590. # DEBUG BEGIN_STMT
  4591. pcOriginalReadPosition_10 = MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom;
  4592. # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_10
  4593. # DEBUG BEGIN_STMT
  4594. prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D));
  4595. # DEBUG BEGIN_STMT
  4596. MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_10;
  4597. # DEBUG BEGIN_STMT
  4598. # DEBUG xReturn => 1
  4599. <bb 14> [local count: 52886]:
  4600. # xReturn_4 = PHI <1(13), 0(12)>
  4601. # DEBUG xReturn => xReturn_4
  4602. # DEBUG BEGIN_STMT
  4603. # DEBUG BEGIN_STMT
  4604. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_16
  4605. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  4606. # DEBUG BEGIN_STMT
  4607. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_16 : "memory");
  4608. # DEBUG ulNewMaskValue => NULL
  4609. # DEBUG BEGIN_STMT
  4610. return xReturn_4;
  4611. }
  4612. xQueueReceiveFromISR (struct QueueDefinition * xQueue, void * const pvBuffer, BaseType_t * const pxHigherPriorityTaskWoken)
  4613. {
  4614. uint32_t ulNewBASEPRI;
  4615. uint32_t ulOriginalBASEPRI;
  4616. uint32_t ulNewBASEPRI;
  4617. uint32_t ulNewBASEPRI;
  4618. uint32_t ulNewBASEPRI;
  4619. const int8_t cRxLock;
  4620. const UBaseType_t uxMessagesWaiting;
  4621. BaseType_t xReturn;
  4622. long unsigned int _1;
  4623. long unsigned int _2;
  4624. long unsigned int _3;
  4625. struct List_t * _4;
  4626. long int _5;
  4627. unsigned char cRxLock.28_6;
  4628. unsigned char _7;
  4629. signed char _8;
  4630. <bb 2> [local count: 357913]:
  4631. # DEBUG BEGIN_STMT
  4632. # DEBUG BEGIN_STMT
  4633. # DEBUG BEGIN_STMT
  4634. # DEBUG pxQueue => xQueue_11(D)
  4635. # DEBUG BEGIN_STMT
  4636. if (xQueue_11(D) == 0B)
  4637. goto <bb 3>; [30.00%]
  4638. else
  4639. goto <bb 5>; [70.00%]
  4640. <bb 3> [local count: 107374]:
  4641. # DEBUG BEGIN_STMT
  4642. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4643. # DEBUG BEGIN_STMT
  4644. # DEBUG BEGIN_STMT
  4645. __asm__ __volatile__(" mov %0, %1
  4646. msr basepri, %0
  4647. isb
  4648. dsb
  4649. " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  4650. # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
  4651. <bb 4> [local count: 1073741824]:
  4652. # DEBUG ulNewBASEPRI => NULL
  4653. # DEBUG BEGIN_STMT
  4654. # DEBUG BEGIN_STMT
  4655. # DEBUG BEGIN_STMT
  4656. <bb 21> [local count: 1073741824]:
  4657. goto <bb 4>; [100.00%]
  4658. <bb 5> [local count: 250539]:
  4659. # DEBUG BEGIN_STMT
  4660. # DEBUG BEGIN_STMT
  4661. if (pvBuffer_12(D) != 0B)
  4662. goto <bb 9>; [53.47%]
  4663. else
  4664. goto <bb 6>; [46.53%]
  4665. <bb 6> [local count: 116576]:
  4666. _1 = MEM[(struct Queue_t *)xQueue_11(D)].uxItemSize;
  4667. if (_1 == 0)
  4668. goto <bb 9>; [50.00%]
  4669. else
  4670. goto <bb 7>; [50.00%]
  4671. <bb 7> [local count: 58288]:
  4672. # DEBUG BEGIN_STMT
  4673. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4674. # DEBUG BEGIN_STMT
  4675. # DEBUG BEGIN_STMT
  4676. __asm__ __volatile__(" mov %0, %1
  4677. msr basepri, %0
  4678. isb
  4679. dsb
  4680. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  4681. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  4682. <bb 8> [local count: 582880751]:
  4683. # DEBUG ulNewBASEPRI => NULL
  4684. # DEBUG BEGIN_STMT
  4685. # DEBUG BEGIN_STMT
  4686. # DEBUG BEGIN_STMT
  4687. <bb 23> [local count: 582880751]:
  4688. goto <bb 8>; [100.00%]
  4689. <bb 9> [local count: 192251]:
  4690. # DEBUG BEGIN_STMT
  4691. # DEBUG BEGIN_STMT
  4692. vPortValidateInterruptPriority ();
  4693. # DEBUG BEGIN_STMT
  4694. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  4695. # DEBUG BEGIN_STMT
  4696. # DEBUG BEGIN_STMT
  4697. __asm__ __volatile__(" mrs %0, basepri
  4698. mov %1, %2
  4699. msr basepri, %1
  4700. isb
  4701. dsb
  4702. " : "=r" ulOriginalBASEPRI_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  4703. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  4704. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_25
  4705. # DEBUG BEGIN_STMT
  4706. # DEBUG ulNewBASEPRI => NULL
  4707. # DEBUG ulOriginalBASEPRI => NULL
  4708. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_25
  4709. # DEBUG BEGIN_STMT
  4710. uxMessagesWaiting_15 ={v} MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting;
  4711. # DEBUG uxMessagesWaiting => uxMessagesWaiting_15
  4712. # DEBUG BEGIN_STMT
  4713. if (uxMessagesWaiting_15 != 0)
  4714. goto <bb 10>; [33.00%]
  4715. else
  4716. goto <bb 20>; [67.00%]
  4717. <bb 10> [local count: 63443]:
  4718. # DEBUG BEGIN_STMT
  4719. cRxLock_16 ={v} MEM[(struct Queue_t *)xQueue_11(D)].cRxLock;
  4720. # DEBUG cRxLock => cRxLock_16
  4721. # DEBUG BEGIN_STMT
  4722. # DEBUG BEGIN_STMT
  4723. prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D));
  4724. # DEBUG BEGIN_STMT
  4725. _2 = uxMessagesWaiting_15 + 4294967295;
  4726. MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting ={v} _2;
  4727. # DEBUG BEGIN_STMT
  4728. if (cRxLock_16 == -1)
  4729. goto <bb 11>; [34.00%]
  4730. else
  4731. goto <bb 15>; [66.00%]
  4732. <bb 11> [local count: 21571]:
  4733. # DEBUG BEGIN_STMT
  4734. _3 ={v} MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend.uxNumberOfItems;
  4735. if (_3 != 0)
  4736. goto <bb 12>; [33.00%]
  4737. else
  4738. goto <bb 20>; [67.00%]
  4739. <bb 12> [local count: 7118]:
  4740. # DEBUG BEGIN_STMT
  4741. _4 = &MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend;
  4742. _5 = xTaskRemoveFromEventList (_4);
  4743. if (_5 != 0)
  4744. goto <bb 13>; [50.00%]
  4745. else
  4746. goto <bb 20>; [50.00%]
  4747. <bb 13> [local count: 3559]:
  4748. # DEBUG BEGIN_STMT
  4749. if (pxHigherPriorityTaskWoken_21(D) != 0B)
  4750. goto <bb 14>; [70.00%]
  4751. else
  4752. goto <bb 20>; [30.00%]
  4753. <bb 14> [local count: 2491]:
  4754. # DEBUG BEGIN_STMT
  4755. *pxHigherPriorityTaskWoken_21(D) = 1;
  4756. goto <bb 20>; [100.00%]
  4757. <bb 15> [local count: 41872]:
  4758. # DEBUG BEGIN_STMT
  4759. if (cRxLock_16 == 127)
  4760. goto <bb 16>; [34.00%]
  4761. else
  4762. goto <bb 18>; [66.00%]
  4763. <bb 16> [local count: 14237]:
  4764. # DEBUG BEGIN_STMT
  4765. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4766. # DEBUG BEGIN_STMT
  4767. # DEBUG BEGIN_STMT
  4768. __asm__ __volatile__(" mov %0, %1
  4769. msr basepri, %0
  4770. isb
  4771. dsb
  4772. " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory");
  4773. # DEBUG ulNewBASEPRI => ulNewBASEPRI_27
  4774. <bb 17> [local count: 142366217]:
  4775. # DEBUG ulNewBASEPRI => NULL
  4776. # DEBUG BEGIN_STMT
  4777. # DEBUG BEGIN_STMT
  4778. # DEBUG BEGIN_STMT
  4779. <bb 22> [local count: 142366217]:
  4780. goto <bb 17>; [100.00%]
  4781. <bb 18> [local count: 27636]:
  4782. # DEBUG BEGIN_STMT
  4783. # DEBUG BEGIN_STMT
  4784. cRxLock.28_6 = (unsigned char) cRxLock_16;
  4785. _7 = cRxLock.28_6 + 1;
  4786. _8 = (signed char) _7;
  4787. MEM[(struct Queue_t *)xQueue_11(D)].cRxLock ={v} _8;
  4788. <bb 20> [local count: 178015]:
  4789. # xReturn_9 = PHI <1(18), 0(9), 1(14), 1(12), 1(13), 1(11)>
  4790. # DEBUG xReturn => xReturn_9
  4791. # DEBUG BEGIN_STMT
  4792. # DEBUG BEGIN_STMT
  4793. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_25
  4794. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  4795. # DEBUG BEGIN_STMT
  4796. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_25 : "memory");
  4797. # DEBUG ulNewMaskValue => NULL
  4798. # DEBUG BEGIN_STMT
  4799. return xReturn_9;
  4800. }
  4801. xQueuePeek (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait)
  4802. {
  4803. uint32_t ulNewBASEPRI;
  4804. uint32_t ulNewBASEPRI;
  4805. uint32_t ulNewBASEPRI;
  4806. const UBaseType_t uxMessagesWaiting;
  4807. int8_t * pcOriginalReadPosition;
  4808. struct TimeOut_t xTimeOut;
  4809. BaseType_t xEntryTimeSet;
  4810. long unsigned int _1;
  4811. long int _2;
  4812. long unsigned int xTicksToWait.24_3;
  4813. long unsigned int _4;
  4814. struct List_t * _5;
  4815. long int _6;
  4816. long unsigned int xTicksToWait.25_7;
  4817. signed char _8;
  4818. signed char _9;
  4819. long int _10;
  4820. long int _11;
  4821. struct List_t * _12;
  4822. long unsigned int xTicksToWait.26_13;
  4823. long int _14;
  4824. long int _15;
  4825. BaseType_t _18;
  4826. <bb 2> [local count: 357913]:
  4827. # DEBUG BEGIN_STMT
  4828. # DEBUG xEntryTimeSet => 0
  4829. # DEBUG BEGIN_STMT
  4830. # DEBUG BEGIN_STMT
  4831. # DEBUG BEGIN_STMT
  4832. # DEBUG pxQueue => xQueue_26(D)
  4833. # DEBUG BEGIN_STMT
  4834. if (xQueue_26(D) == 0B)
  4835. goto <bb 3>; [30.00%]
  4836. else
  4837. goto <bb 5>; [70.00%]
  4838. <bb 3> [local count: 107374]:
  4839. # DEBUG BEGIN_STMT
  4840. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4841. # DEBUG BEGIN_STMT
  4842. # DEBUG BEGIN_STMT
  4843. __asm__ __volatile__(" mov %0, %1
  4844. msr basepri, %0
  4845. isb
  4846. dsb
  4847. " : "=r" ulNewBASEPRI_64 : "i" 16 : "memory");
  4848. # DEBUG ulNewBASEPRI => ulNewBASEPRI_64
  4849. <bb 4> [local count: 1073741824]:
  4850. # DEBUG ulNewBASEPRI => NULL
  4851. # DEBUG BEGIN_STMT
  4852. # DEBUG BEGIN_STMT
  4853. # DEBUG BEGIN_STMT
  4854. <bb 35> [local count: 1073741824]:
  4855. goto <bb 4>; [100.00%]
  4856. <bb 5> [local count: 250539]:
  4857. # DEBUG BEGIN_STMT
  4858. # DEBUG BEGIN_STMT
  4859. if (pvBuffer_27(D) != 0B)
  4860. goto <bb 9>; [53.47%]
  4861. else
  4862. goto <bb 6>; [46.53%]
  4863. <bb 6> [local count: 116576]:
  4864. _1 = MEM[(struct Queue_t *)xQueue_26(D)].uxItemSize;
  4865. if (_1 == 0)
  4866. goto <bb 9>; [50.00%]
  4867. else
  4868. goto <bb 7>; [50.00%]
  4869. <bb 7> [local count: 58288]:
  4870. # DEBUG BEGIN_STMT
  4871. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4872. # DEBUG BEGIN_STMT
  4873. # DEBUG BEGIN_STMT
  4874. __asm__ __volatile__(" mov %0, %1
  4875. msr basepri, %0
  4876. isb
  4877. dsb
  4878. " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  4879. # DEBUG ulNewBASEPRI => ulNewBASEPRI_65
  4880. <bb 8> [local count: 582880751]:
  4881. # DEBUG ulNewBASEPRI => NULL
  4882. # DEBUG BEGIN_STMT
  4883. # DEBUG BEGIN_STMT
  4884. # DEBUG BEGIN_STMT
  4885. <bb 37> [local count: 582880751]:
  4886. goto <bb 8>; [100.00%]
  4887. <bb 9> [local count: 192251]:
  4888. # DEBUG BEGIN_STMT
  4889. # DEBUG BEGIN_STMT
  4890. _2 = xTaskGetSchedulerState ();
  4891. if (_2 != 0)
  4892. goto <bb 10>; [50.00%]
  4893. else
  4894. goto <bb 11>; [50.00%]
  4895. <bb 10> [local count: 144189]:
  4896. # xEntryTimeSet_30 = PHI <0(9), 0(11)>
  4897. goto <bb 15>; [100.00%]
  4898. <bb 11> [local count: 96126]:
  4899. xTicksToWait.24_3 = xTicksToWait;
  4900. if (xTicksToWait.24_3 == 0)
  4901. goto <bb 10>; [50.00%]
  4902. else
  4903. goto <bb 12>; [50.00%]
  4904. <bb 12> [local count: 48063]:
  4905. # DEBUG BEGIN_STMT
  4906. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4907. # DEBUG BEGIN_STMT
  4908. # DEBUG BEGIN_STMT
  4909. __asm__ __volatile__(" mov %0, %1
  4910. msr basepri, %0
  4911. isb
  4912. dsb
  4913. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  4914. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  4915. <bb 13> [local count: 480629211]:
  4916. # DEBUG ulNewBASEPRI => NULL
  4917. # DEBUG BEGIN_STMT
  4918. # DEBUG BEGIN_STMT
  4919. # DEBUG BEGIN_STMT
  4920. <bb 36> [local count: 480629211]:
  4921. goto <bb 13>; [100.00%]
  4922. <bb 14> [local count: 1478726]:
  4923. # xEntryTimeSet_44 = PHI <xEntryTimeSet_17(33), xEntryTimeSet_17(32), xEntryTimeSet_17(31), xEntryTimeSet_17(30)>
  4924. <bb 15> [local count: 1622915]:
  4925. # xEntryTimeSet_16 = PHI <xEntryTimeSet_30(10), xEntryTimeSet_44(14)>
  4926. # DEBUG xEntryTimeSet => xEntryTimeSet_16
  4927. # DEBUG BEGIN_STMT
  4928. # DEBUG BEGIN_STMT
  4929. # DEBUG BEGIN_STMT
  4930. vPortEnterCritical ();
  4931. # DEBUG BEGIN_STMT
  4932. uxMessagesWaiting_32 ={v} MEM[(struct Queue_t *)xQueue_26(D)].uxMessagesWaiting;
  4933. # DEBUG uxMessagesWaiting => uxMessagesWaiting_32
  4934. # DEBUG BEGIN_STMT
  4935. if (uxMessagesWaiting_32 != 0)
  4936. goto <bb 16>; [3.66%]
  4937. else
  4938. goto <bb 20>; [96.34%]
  4939. <bb 16> [local count: 59399]:
  4940. # DEBUG BEGIN_STMT
  4941. pcOriginalReadPosition_55 = MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom;
  4942. # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_55
  4943. # DEBUG BEGIN_STMT
  4944. prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D));
  4945. # DEBUG BEGIN_STMT
  4946. # DEBUG BEGIN_STMT
  4947. MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_55;
  4948. # DEBUG BEGIN_STMT
  4949. _4 ={v} MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive.uxNumberOfItems;
  4950. if (_4 != 0)
  4951. goto <bb 17>; [33.00%]
  4952. else
  4953. goto <bb 19>; [67.00%]
  4954. <bb 17> [local count: 19602]:
  4955. # DEBUG BEGIN_STMT
  4956. _5 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  4957. _6 = xTaskRemoveFromEventList (_5);
  4958. if (_6 != 0)
  4959. goto <bb 18>; [50.00%]
  4960. else
  4961. goto <bb 19>; [50.00%]
  4962. <bb 18> [local count: 9801]:
  4963. # DEBUG BEGIN_STMT
  4964. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4965. # DEBUG BEGIN_STMT
  4966. __asm__ __volatile__("dsb" : : : "memory");
  4967. # DEBUG BEGIN_STMT
  4968. __asm__ __volatile__("isb");
  4969. # DEBUG BEGIN_STMT
  4970. <bb 19> [local count: 59399]:
  4971. # DEBUG BEGIN_STMT
  4972. # DEBUG BEGIN_STMT
  4973. vPortExitCritical ();
  4974. # DEBUG BEGIN_STMT
  4975. goto <bb 34>; [100.00%]
  4976. <bb 20> [local count: 1563516]:
  4977. # DEBUG BEGIN_STMT
  4978. xTicksToWait.25_7 = xTicksToWait;
  4979. if (xTicksToWait.25_7 == 0)
  4980. goto <bb 21>; [3.66%]
  4981. else
  4982. goto <bb 22>; [96.34%]
  4983. <bb 21> [local count: 57225]:
  4984. # DEBUG BEGIN_STMT
  4985. vPortExitCritical ();
  4986. # DEBUG BEGIN_STMT
  4987. # DEBUG BEGIN_STMT
  4988. goto <bb 34>; [100.00%]
  4989. <bb 22> [local count: 1506292]:
  4990. # DEBUG BEGIN_STMT
  4991. if (xEntryTimeSet_16 == 0)
  4992. goto <bb 23>; [33.00%]
  4993. else
  4994. goto <bb 24>; [67.00%]
  4995. <bb 23> [local count: 497076]:
  4996. # DEBUG BEGIN_STMT
  4997. vTaskInternalSetTimeOutState (&xTimeOut);
  4998. # DEBUG BEGIN_STMT
  4999. # DEBUG xEntryTimeSet => 1
  5000. <bb 24> [local count: 1506292]:
  5001. # xEntryTimeSet_17 = PHI <xEntryTimeSet_16(22), 1(23)>
  5002. # DEBUG xEntryTimeSet => xEntryTimeSet_17
  5003. # DEBUG BEGIN_STMT
  5004. # DEBUG BEGIN_STMT
  5005. vPortExitCritical ();
  5006. # DEBUG BEGIN_STMT
  5007. vTaskSuspendAll ();
  5008. # DEBUG BEGIN_STMT
  5009. vPortEnterCritical ();
  5010. # DEBUG BEGIN_STMT
  5011. _8 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cRxLock;
  5012. if (_8 == -1)
  5013. goto <bb 25>; [34.00%]
  5014. else
  5015. goto <bb 26>; [66.00%]
  5016. <bb 25> [local count: 512139]:
  5017. # DEBUG BEGIN_STMT
  5018. MEM[(struct Queue_t *)xQueue_26(D)].cRxLock ={v} 0;
  5019. <bb 26> [local count: 1506292]:
  5020. # DEBUG BEGIN_STMT
  5021. _9 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cTxLock;
  5022. if (_9 == -1)
  5023. goto <bb 27>; [34.00%]
  5024. else
  5025. goto <bb 28>; [66.00%]
  5026. <bb 27> [local count: 512139]:
  5027. # DEBUG BEGIN_STMT
  5028. MEM[(struct Queue_t *)xQueue_26(D)].cTxLock ={v} 0;
  5029. <bb 28> [local count: 1506292]:
  5030. # DEBUG BEGIN_STMT
  5031. vPortExitCritical ();
  5032. # DEBUG BEGIN_STMT
  5033. _10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  5034. if (_10 == 0)
  5035. goto <bb 29>; [50.00%]
  5036. else
  5037. goto <bb 33>; [50.00%]
  5038. <bb 29> [local count: 753146]:
  5039. # DEBUG BEGIN_STMT
  5040. _11 = prvIsQueueEmpty (xQueue_26(D));
  5041. if (_11 != 0)
  5042. goto <bb 30>; [50.00%]
  5043. else
  5044. goto <bb 32>; [50.00%]
  5045. <bb 30> [local count: 376573]:
  5046. # DEBUG BEGIN_STMT
  5047. # DEBUG BEGIN_STMT
  5048. _12 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  5049. xTicksToWait.26_13 = xTicksToWait;
  5050. vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  5051. # DEBUG BEGIN_STMT
  5052. prvUnlockQueue (xQueue_26(D));
  5053. # DEBUG BEGIN_STMT
  5054. _14 = xTaskResumeAll ();
  5055. if (_14 == 0)
  5056. goto <bb 31>; [50.00%]
  5057. else
  5058. goto <bb 14>; [50.00%]
  5059. <bb 31> [local count: 188286]:
  5060. # DEBUG BEGIN_STMT
  5061. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  5062. # DEBUG BEGIN_STMT
  5063. __asm__ __volatile__("dsb" : : : "memory");
  5064. # DEBUG BEGIN_STMT
  5065. __asm__ __volatile__("isb");
  5066. # DEBUG BEGIN_STMT
  5067. goto <bb 14>; [100.00%]
  5068. <bb 32> [local count: 376573]:
  5069. # DEBUG BEGIN_STMT
  5070. prvUnlockQueue (xQueue_26(D));
  5071. # DEBUG BEGIN_STMT
  5072. xTaskResumeAll ();
  5073. goto <bb 14>; [100.00%]
  5074. <bb 33> [local count: 753146]:
  5075. # DEBUG BEGIN_STMT
  5076. prvUnlockQueue (xQueue_26(D));
  5077. # DEBUG BEGIN_STMT
  5078. xTaskResumeAll ();
  5079. # DEBUG BEGIN_STMT
  5080. _15 = prvIsQueueEmpty (xQueue_26(D));
  5081. if (_15 != 0)
  5082. goto <bb 34>; [3.66%]
  5083. else
  5084. goto <bb 14>; [96.34%]
  5085. <bb 34> [local count: 144189]:
  5086. # _18 = PHI <1(19), 0(21), 0(33)>
  5087. xTimeOut ={v} {CLOBBER};
  5088. return _18;
  5089. }
  5090. xQueueSemaphoreTake (struct QueueDefinition * xQueue, TickType_t xTicksToWait)
  5091. {
  5092. uint32_t ulNewBASEPRI;
  5093. uint32_t ulNewBASEPRI;
  5094. uint32_t ulNewBASEPRI;
  5095. uint32_t ulNewBASEPRI;
  5096. UBaseType_t uxHighestWaitingPriority;
  5097. const UBaseType_t uxSemaphoreCount;
  5098. BaseType_t xInheritanceOccurred;
  5099. struct TimeOut_t xTimeOut;
  5100. BaseType_t xEntryTimeSet;
  5101. long unsigned int _1;
  5102. long int _2;
  5103. long unsigned int xTicksToWait.19_3;
  5104. long unsigned int _4;
  5105. int8_t * _5;
  5106. struct tskTaskControlBlock * _6;
  5107. long unsigned int _7;
  5108. struct List_t * _8;
  5109. long int _9;
  5110. long unsigned int xTicksToWait.20_10;
  5111. signed char _11;
  5112. signed char _12;
  5113. long int _13;
  5114. long int _14;
  5115. int8_t * _15;
  5116. struct tskTaskControlBlock * _16;
  5117. struct List_t * _17;
  5118. long unsigned int xTicksToWait.21_18;
  5119. long int _19;
  5120. long int _20;
  5121. struct tskTaskControlBlock * _21;
  5122. BaseType_t _27;
  5123. <bb 2> [local count: 228942]:
  5124. # DEBUG BEGIN_STMT
  5125. # DEBUG xEntryTimeSet => 0
  5126. # DEBUG BEGIN_STMT
  5127. # DEBUG BEGIN_STMT
  5128. # DEBUG pxQueue => xQueue_38(D)
  5129. # DEBUG BEGIN_STMT
  5130. # DEBUG xInheritanceOccurred => 0
  5131. # DEBUG BEGIN_STMT
  5132. if (xQueue_38(D) == 0B)
  5133. goto <bb 3>; [30.00%]
  5134. else
  5135. goto <bb 5>; [70.00%]
  5136. <bb 3> [local count: 68683]:
  5137. # DEBUG BEGIN_STMT
  5138. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5139. # DEBUG BEGIN_STMT
  5140. # DEBUG BEGIN_STMT
  5141. __asm__ __volatile__(" mov %0, %1
  5142. msr basepri, %0
  5143. isb
  5144. dsb
  5145. " : "=r" ulNewBASEPRI_88 : "i" 16 : "memory");
  5146. # DEBUG ulNewBASEPRI => ulNewBASEPRI_88
  5147. <bb 4> [local count: 686828460]:
  5148. # DEBUG ulNewBASEPRI => NULL
  5149. # DEBUG BEGIN_STMT
  5150. # DEBUG BEGIN_STMT
  5151. # DEBUG BEGIN_STMT
  5152. <bb 44> [local count: 686828460]:
  5153. goto <bb 4>; [100.00%]
  5154. <bb 5> [local count: 160260]:
  5155. # DEBUG BEGIN_STMT
  5156. # DEBUG BEGIN_STMT
  5157. _1 = MEM[(struct Queue_t *)xQueue_38(D)].uxItemSize;
  5158. if (_1 != 0)
  5159. goto <bb 6>; [67.00%]
  5160. else
  5161. goto <bb 8>; [33.00%]
  5162. <bb 6> [local count: 107374]:
  5163. # DEBUG BEGIN_STMT
  5164. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5165. # DEBUG BEGIN_STMT
  5166. # DEBUG BEGIN_STMT
  5167. __asm__ __volatile__(" mov %0, %1
  5168. msr basepri, %0
  5169. isb
  5170. dsb
  5171. " : "=r" ulNewBASEPRI_89 : "i" 16 : "memory");
  5172. # DEBUG ulNewBASEPRI => ulNewBASEPRI_89
  5173. <bb 7> [local count: 1073741824]:
  5174. # DEBUG ulNewBASEPRI => NULL
  5175. # DEBUG BEGIN_STMT
  5176. # DEBUG BEGIN_STMT
  5177. # DEBUG BEGIN_STMT
  5178. <bb 45> [local count: 1073741824]:
  5179. goto <bb 7>; [100.00%]
  5180. <bb 8> [local count: 52886]:
  5181. # DEBUG BEGIN_STMT
  5182. # DEBUG BEGIN_STMT
  5183. _2 = xTaskGetSchedulerState ();
  5184. if (_2 != 0)
  5185. goto <bb 10>; [50.00%]
  5186. else
  5187. goto <bb 9>; [50.00%]
  5188. <bb 9> [local count: 26443]:
  5189. xTicksToWait.19_3 = xTicksToWait;
  5190. if (xTicksToWait.19_3 == 0)
  5191. goto <bb 10>; [50.00%]
  5192. else
  5193. goto <bb 11>; [50.00%]
  5194. <bb 10> [local count: 39664]:
  5195. # xEntryTimeSet_40 = PHI <0(9), 0(8)>
  5196. # xInheritanceOccurred_64 = PHI <0(9), 0(8)>
  5197. goto <bb 14>; [100.00%]
  5198. <bb 11> [local count: 13221]:
  5199. # DEBUG BEGIN_STMT
  5200. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5201. # DEBUG BEGIN_STMT
  5202. # DEBUG BEGIN_STMT
  5203. __asm__ __volatile__(" mov %0, %1
  5204. msr basepri, %0
  5205. isb
  5206. dsb
  5207. " : "=r" ulNewBASEPRI_90 : "i" 16 : "memory");
  5208. # DEBUG ulNewBASEPRI => ulNewBASEPRI_90
  5209. <bb 12> [local count: 132214478]:
  5210. # DEBUG ulNewBASEPRI => NULL
  5211. # DEBUG BEGIN_STMT
  5212. # DEBUG BEGIN_STMT
  5213. # DEBUG BEGIN_STMT
  5214. <bb 47> [local count: 132214478]:
  5215. goto <bb 12>; [100.00%]
  5216. <bb 13> [local count: 406777]:
  5217. # xEntryTimeSet_48 = PHI <xEntryTimeSet_23(39), xEntryTimeSet_23(38), xEntryTimeSet_23(37), xEntryTimeSet_23(36)>
  5218. # xInheritanceOccurred_39 = PHI <xInheritanceOccurred_24(39), xInheritanceOccurred_24(38), xInheritanceOccurred_25(37), xInheritanceOccurred_25(36)>
  5219. <bb 14> [local count: 446442]:
  5220. # xEntryTimeSet_22 = PHI <xEntryTimeSet_40(10), xEntryTimeSet_48(13)>
  5221. # xInheritanceOccurred_24 = PHI <xInheritanceOccurred_64(10), xInheritanceOccurred_39(13)>
  5222. # DEBUG xInheritanceOccurred => xInheritanceOccurred_24
  5223. # DEBUG xEntryTimeSet => xEntryTimeSet_22
  5224. # DEBUG BEGIN_STMT
  5225. # DEBUG BEGIN_STMT
  5226. # DEBUG BEGIN_STMT
  5227. vPortEnterCritical ();
  5228. # DEBUG BEGIN_STMT
  5229. uxSemaphoreCount_46 ={v} MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting;
  5230. # DEBUG uxSemaphoreCount => uxSemaphoreCount_46
  5231. # DEBUG BEGIN_STMT
  5232. if (uxSemaphoreCount_46 != 0)
  5233. goto <bb 15>; [3.66%]
  5234. else
  5235. goto <bb 21>; [96.34%]
  5236. <bb 15> [local count: 16340]:
  5237. # uxSemaphoreCount_26 = PHI <uxSemaphoreCount_46(14)>
  5238. # DEBUG BEGIN_STMT
  5239. # DEBUG BEGIN_STMT
  5240. _4 = uxSemaphoreCount_26 + 4294967295;
  5241. MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting ={v} _4;
  5242. # DEBUG BEGIN_STMT
  5243. _5 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
  5244. if (_5 == 0B)
  5245. goto <bb 16>; [17.43%]
  5246. else
  5247. goto <bb 17>; [82.57%]
  5248. <bb 16> [local count: 2848]:
  5249. # DEBUG BEGIN_STMT
  5250. _6 = pvTaskIncrementMutexHeldCount ();
  5251. MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder = _6;
  5252. <bb 17> [local count: 16340]:
  5253. # DEBUG BEGIN_STMT
  5254. # DEBUG BEGIN_STMT
  5255. _7 ={v} MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend.uxNumberOfItems;
  5256. if (_7 != 0)
  5257. goto <bb 18>; [33.00%]
  5258. else
  5259. goto <bb 20>; [67.00%]
  5260. <bb 18> [local count: 5392]:
  5261. # DEBUG BEGIN_STMT
  5262. _8 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend;
  5263. _9 = xTaskRemoveFromEventList (_8);
  5264. if (_9 != 0)
  5265. goto <bb 19>; [50.00%]
  5266. else
  5267. goto <bb 20>; [50.00%]
  5268. <bb 19> [local count: 2696]:
  5269. # DEBUG BEGIN_STMT
  5270. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  5271. # DEBUG BEGIN_STMT
  5272. __asm__ __volatile__("dsb" : : : "memory");
  5273. # DEBUG BEGIN_STMT
  5274. __asm__ __volatile__("isb");
  5275. # DEBUG BEGIN_STMT
  5276. <bb 20> [local count: 16340]:
  5277. # DEBUG BEGIN_STMT
  5278. # DEBUG BEGIN_STMT
  5279. vPortExitCritical ();
  5280. # DEBUG BEGIN_STMT
  5281. goto <bb 43>; [100.00%]
  5282. <bb 21> [local count: 430102]:
  5283. # DEBUG BEGIN_STMT
  5284. xTicksToWait.20_10 = xTicksToWait;
  5285. if (xTicksToWait.20_10 == 0)
  5286. goto <bb 22>; [3.66%]
  5287. else
  5288. goto <bb 26>; [96.34%]
  5289. <bb 22> [local count: 15742]:
  5290. # xInheritanceOccurred_43 = PHI <xInheritanceOccurred_24(21)>
  5291. # DEBUG BEGIN_STMT
  5292. if (xInheritanceOccurred_43 != 0)
  5293. goto <bb 23>; [79.76%]
  5294. else
  5295. goto <bb 25>; [20.24%]
  5296. <bb 23> [local count: 12556]:
  5297. # DEBUG BEGIN_STMT
  5298. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5299. # DEBUG BEGIN_STMT
  5300. # DEBUG BEGIN_STMT
  5301. __asm__ __volatile__(" mov %0, %1
  5302. msr basepri, %0
  5303. isb
  5304. dsb
  5305. " : "=r" ulNewBASEPRI_91 : "i" 16 : "memory");
  5306. # DEBUG ulNewBASEPRI => ulNewBASEPRI_91
  5307. <bb 24> [local count: 125556217]:
  5308. # DEBUG ulNewBASEPRI => NULL
  5309. # DEBUG BEGIN_STMT
  5310. # DEBUG BEGIN_STMT
  5311. # DEBUG BEGIN_STMT
  5312. <bb 46> [local count: 125556217]:
  5313. goto <bb 24>; [100.00%]
  5314. <bb 25> [local count: 3186]:
  5315. # DEBUG BEGIN_STMT
  5316. # DEBUG BEGIN_STMT
  5317. vPortExitCritical ();
  5318. # DEBUG BEGIN_STMT
  5319. # DEBUG BEGIN_STMT
  5320. goto <bb 43>; [100.00%]
  5321. <bb 26> [local count: 414360]:
  5322. # DEBUG BEGIN_STMT
  5323. if (xEntryTimeSet_22 == 0)
  5324. goto <bb 27>; [33.00%]
  5325. else
  5326. goto <bb 28>; [67.00%]
  5327. <bb 27> [local count: 136739]:
  5328. # DEBUG BEGIN_STMT
  5329. vTaskInternalSetTimeOutState (&xTimeOut);
  5330. # DEBUG BEGIN_STMT
  5331. # DEBUG xEntryTimeSet => 1
  5332. <bb 28> [local count: 414360]:
  5333. # xEntryTimeSet_23 = PHI <xEntryTimeSet_22(26), 1(27)>
  5334. # DEBUG xEntryTimeSet => xEntryTimeSet_23
  5335. # DEBUG BEGIN_STMT
  5336. # DEBUG BEGIN_STMT
  5337. vPortExitCritical ();
  5338. # DEBUG BEGIN_STMT
  5339. vTaskSuspendAll ();
  5340. # DEBUG BEGIN_STMT
  5341. vPortEnterCritical ();
  5342. # DEBUG BEGIN_STMT
  5343. _11 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cRxLock;
  5344. if (_11 == -1)
  5345. goto <bb 29>; [34.00%]
  5346. else
  5347. goto <bb 30>; [66.00%]
  5348. <bb 29> [local count: 140882]:
  5349. # DEBUG BEGIN_STMT
  5350. MEM[(struct Queue_t *)xQueue_38(D)].cRxLock ={v} 0;
  5351. <bb 30> [local count: 414360]:
  5352. # DEBUG BEGIN_STMT
  5353. _12 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cTxLock;
  5354. if (_12 == -1)
  5355. goto <bb 31>; [34.00%]
  5356. else
  5357. goto <bb 32>; [66.00%]
  5358. <bb 31> [local count: 140882]:
  5359. # DEBUG BEGIN_STMT
  5360. MEM[(struct Queue_t *)xQueue_38(D)].cTxLock ={v} 0;
  5361. <bb 32> [local count: 414360]:
  5362. # DEBUG BEGIN_STMT
  5363. vPortExitCritical ();
  5364. # DEBUG BEGIN_STMT
  5365. _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  5366. if (_13 == 0)
  5367. goto <bb 33>; [50.00%]
  5368. else
  5369. goto <bb 39>; [50.00%]
  5370. <bb 33> [local count: 207180]:
  5371. # DEBUG BEGIN_STMT
  5372. _14 = prvIsQueueEmpty (xQueue_38(D));
  5373. if (_14 != 0)
  5374. goto <bb 34>; [67.00%]
  5375. else
  5376. goto <bb 38>; [33.00%]
  5377. <bb 34> [local count: 138811]:
  5378. # DEBUG BEGIN_STMT
  5379. # DEBUG BEGIN_STMT
  5380. _15 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
  5381. if (_15 == 0B)
  5382. goto <bb 35>; [17.43%]
  5383. else
  5384. goto <bb 36>; [82.57%]
  5385. <bb 35> [local count: 24195]:
  5386. # DEBUG BEGIN_STMT
  5387. vPortEnterCritical ();
  5388. # DEBUG BEGIN_STMT
  5389. _16 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder;
  5390. xInheritanceOccurred_70 = xTaskPriorityInherit (_16);
  5391. # DEBUG xInheritanceOccurred => xInheritanceOccurred_70
  5392. # DEBUG BEGIN_STMT
  5393. vPortExitCritical ();
  5394. <bb 36> [local count: 138811]:
  5395. # xInheritanceOccurred_25 = PHI <xInheritanceOccurred_24(34), xInheritanceOccurred_70(35)>
  5396. # DEBUG xInheritanceOccurred => xInheritanceOccurred_25
  5397. # DEBUG BEGIN_STMT
  5398. # DEBUG BEGIN_STMT
  5399. _17 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToReceive;
  5400. xTicksToWait.21_18 = xTicksToWait;
  5401. vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  5402. # DEBUG BEGIN_STMT
  5403. prvUnlockQueue (xQueue_38(D));
  5404. # DEBUG BEGIN_STMT
  5405. _19 = xTaskResumeAll ();
  5406. if (_19 == 0)
  5407. goto <bb 37>; [50.00%]
  5408. else
  5409. goto <bb 13>; [50.00%]
  5410. <bb 37> [local count: 69405]:
  5411. # DEBUG BEGIN_STMT
  5412. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  5413. # DEBUG BEGIN_STMT
  5414. __asm__ __volatile__("dsb" : : : "memory");
  5415. # DEBUG BEGIN_STMT
  5416. __asm__ __volatile__("isb");
  5417. # DEBUG BEGIN_STMT
  5418. goto <bb 13>; [100.00%]
  5419. <bb 38> [local count: 68369]:
  5420. # DEBUG BEGIN_STMT
  5421. prvUnlockQueue (xQueue_38(D));
  5422. # DEBUG BEGIN_STMT
  5423. xTaskResumeAll ();
  5424. goto <bb 13>; [100.00%]
  5425. <bb 39> [local count: 207180]:
  5426. # DEBUG BEGIN_STMT
  5427. prvUnlockQueue (xQueue_38(D));
  5428. # DEBUG BEGIN_STMT
  5429. xTaskResumeAll ();
  5430. # DEBUG BEGIN_STMT
  5431. _20 = prvIsQueueEmpty (xQueue_38(D));
  5432. if (_20 != 0)
  5433. goto <bb 40>; [3.66%]
  5434. else
  5435. goto <bb 13>; [96.34%]
  5436. <bb 40> [local count: 7583]:
  5437. # xInheritanceOccurred_44 = PHI <xInheritanceOccurred_24(39)>
  5438. # DEBUG BEGIN_STMT
  5439. if (xInheritanceOccurred_44 != 0)
  5440. goto <bb 41>; [33.00%]
  5441. else
  5442. goto <bb 42>; [67.00%]
  5443. <bb 41> [local count: 2502]:
  5444. # DEBUG BEGIN_STMT
  5445. vPortEnterCritical ();
  5446. # DEBUG BEGIN_STMT
  5447. # DEBUG BEGIN_STMT
  5448. uxHighestWaitingPriority_61 = prvGetDisinheritPriorityAfterTimeout (xQueue_38(D));
  5449. # DEBUG uxHighestWaitingPriority => uxHighestWaitingPriority_61
  5450. # DEBUG BEGIN_STMT
  5451. _21 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder;
  5452. vTaskPriorityDisinheritAfterTimeout (_21, uxHighestWaitingPriority_61);
  5453. # DEBUG BEGIN_STMT
  5454. vPortExitCritical ();
  5455. <bb 42> [local count: 7583]:
  5456. # DEBUG BEGIN_STMT
  5457. # DEBUG BEGIN_STMT
  5458. <bb 43> [local count: 27109]:
  5459. # _27 = PHI <1(20), 0(25), 0(42)>
  5460. xTimeOut ={v} {CLOBBER};
  5461. return _27;
  5462. }
  5463. xQueueReceive (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait)
  5464. {
  5465. uint32_t ulNewBASEPRI;
  5466. uint32_t ulNewBASEPRI;
  5467. uint32_t ulNewBASEPRI;
  5468. const UBaseType_t uxMessagesWaiting;
  5469. struct TimeOut_t xTimeOut;
  5470. BaseType_t xEntryTimeSet;
  5471. long unsigned int _1;
  5472. long int _2;
  5473. long unsigned int xTicksToWait.15_3;
  5474. long unsigned int _4;
  5475. long unsigned int _5;
  5476. struct List_t * _6;
  5477. long int _7;
  5478. long unsigned int xTicksToWait.16_8;
  5479. signed char _9;
  5480. signed char _10;
  5481. long int _11;
  5482. long int _12;
  5483. struct List_t * _13;
  5484. long unsigned int xTicksToWait.17_14;
  5485. long int _15;
  5486. long int _16;
  5487. BaseType_t _19;
  5488. <bb 2> [local count: 357913]:
  5489. # DEBUG BEGIN_STMT
  5490. # DEBUG xEntryTimeSet => 0
  5491. # DEBUG BEGIN_STMT
  5492. # DEBUG BEGIN_STMT
  5493. # DEBUG pxQueue => xQueue_27(D)
  5494. # DEBUG BEGIN_STMT
  5495. if (xQueue_27(D) == 0B)
  5496. goto <bb 3>; [30.00%]
  5497. else
  5498. goto <bb 5>; [70.00%]
  5499. <bb 3> [local count: 107374]:
  5500. # DEBUG BEGIN_STMT
  5501. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5502. # DEBUG BEGIN_STMT
  5503. # DEBUG BEGIN_STMT
  5504. __asm__ __volatile__(" mov %0, %1
  5505. msr basepri, %0
  5506. isb
  5507. dsb
  5508. " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  5509. # DEBUG ulNewBASEPRI => ulNewBASEPRI_65
  5510. <bb 4> [local count: 1073741824]:
  5511. # DEBUG ulNewBASEPRI => NULL
  5512. # DEBUG BEGIN_STMT
  5513. # DEBUG BEGIN_STMT
  5514. # DEBUG BEGIN_STMT
  5515. <bb 35> [local count: 1073741824]:
  5516. goto <bb 4>; [100.00%]
  5517. <bb 5> [local count: 250539]:
  5518. # DEBUG BEGIN_STMT
  5519. # DEBUG BEGIN_STMT
  5520. if (pvBuffer_28(D) != 0B)
  5521. goto <bb 9>; [53.47%]
  5522. else
  5523. goto <bb 6>; [46.53%]
  5524. <bb 6> [local count: 116576]:
  5525. _1 = MEM[(struct Queue_t *)xQueue_27(D)].uxItemSize;
  5526. if (_1 == 0)
  5527. goto <bb 9>; [50.00%]
  5528. else
  5529. goto <bb 7>; [50.00%]
  5530. <bb 7> [local count: 58288]:
  5531. # DEBUG BEGIN_STMT
  5532. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5533. # DEBUG BEGIN_STMT
  5534. # DEBUG BEGIN_STMT
  5535. __asm__ __volatile__(" mov %0, %1
  5536. msr basepri, %0
  5537. isb
  5538. dsb
  5539. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  5540. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  5541. <bb 8> [local count: 582880751]:
  5542. # DEBUG ulNewBASEPRI => NULL
  5543. # DEBUG BEGIN_STMT
  5544. # DEBUG BEGIN_STMT
  5545. # DEBUG BEGIN_STMT
  5546. <bb 37> [local count: 582880751]:
  5547. goto <bb 8>; [100.00%]
  5548. <bb 9> [local count: 192251]:
  5549. # DEBUG BEGIN_STMT
  5550. # DEBUG BEGIN_STMT
  5551. _2 = xTaskGetSchedulerState ();
  5552. if (_2 != 0)
  5553. goto <bb 10>; [50.00%]
  5554. else
  5555. goto <bb 11>; [50.00%]
  5556. <bb 10> [local count: 144189]:
  5557. # xEntryTimeSet_32 = PHI <0(9), 0(11)>
  5558. goto <bb 15>; [100.00%]
  5559. <bb 11> [local count: 96126]:
  5560. xTicksToWait.15_3 = xTicksToWait;
  5561. if (xTicksToWait.15_3 == 0)
  5562. goto <bb 10>; [50.00%]
  5563. else
  5564. goto <bb 12>; [50.00%]
  5565. <bb 12> [local count: 48063]:
  5566. # DEBUG BEGIN_STMT
  5567. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5568. # DEBUG BEGIN_STMT
  5569. # DEBUG BEGIN_STMT
  5570. __asm__ __volatile__(" mov %0, %1
  5571. msr basepri, %0
  5572. isb
  5573. dsb
  5574. " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory");
  5575. # DEBUG ulNewBASEPRI => ulNewBASEPRI_67
  5576. <bb 13> [local count: 480629211]:
  5577. # DEBUG ulNewBASEPRI => NULL
  5578. # DEBUG BEGIN_STMT
  5579. # DEBUG BEGIN_STMT
  5580. # DEBUG BEGIN_STMT
  5581. <bb 36> [local count: 480629211]:
  5582. goto <bb 13>; [100.00%]
  5583. <bb 14> [local count: 1478726]:
  5584. # xEntryTimeSet_46 = PHI <xEntryTimeSet_18(33), xEntryTimeSet_18(32), xEntryTimeSet_18(31), xEntryTimeSet_18(30)>
  5585. <bb 15> [local count: 1622915]:
  5586. # xEntryTimeSet_17 = PHI <xEntryTimeSet_32(10), xEntryTimeSet_46(14)>
  5587. # DEBUG xEntryTimeSet => xEntryTimeSet_17
  5588. # DEBUG BEGIN_STMT
  5589. # DEBUG BEGIN_STMT
  5590. # DEBUG BEGIN_STMT
  5591. vPortEnterCritical ();
  5592. # DEBUG BEGIN_STMT
  5593. uxMessagesWaiting_34 ={v} MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting;
  5594. # DEBUG uxMessagesWaiting => uxMessagesWaiting_34
  5595. # DEBUG BEGIN_STMT
  5596. if (uxMessagesWaiting_34 != 0)
  5597. goto <bb 16>; [3.66%]
  5598. else
  5599. goto <bb 20>; [96.34%]
  5600. <bb 16> [local count: 59399]:
  5601. # uxMessagesWaiting_31 = PHI <uxMessagesWaiting_34(15)>
  5602. # DEBUG BEGIN_STMT
  5603. prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D));
  5604. # DEBUG BEGIN_STMT
  5605. # DEBUG BEGIN_STMT
  5606. _4 = uxMessagesWaiting_31 + 4294967295;
  5607. MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting ={v} _4;
  5608. # DEBUG BEGIN_STMT
  5609. _5 ={v} MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend.uxNumberOfItems;
  5610. if (_5 != 0)
  5611. goto <bb 17>; [33.00%]
  5612. else
  5613. goto <bb 19>; [67.00%]
  5614. <bb 17> [local count: 19602]:
  5615. # DEBUG BEGIN_STMT
  5616. _6 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend;
  5617. _7 = xTaskRemoveFromEventList (_6);
  5618. if (_7 != 0)
  5619. goto <bb 18>; [50.00%]
  5620. else
  5621. goto <bb 19>; [50.00%]
  5622. <bb 18> [local count: 9801]:
  5623. # DEBUG BEGIN_STMT
  5624. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  5625. # DEBUG BEGIN_STMT
  5626. __asm__ __volatile__("dsb" : : : "memory");
  5627. # DEBUG BEGIN_STMT
  5628. __asm__ __volatile__("isb");
  5629. # DEBUG BEGIN_STMT
  5630. <bb 19> [local count: 59399]:
  5631. # DEBUG BEGIN_STMT
  5632. # DEBUG BEGIN_STMT
  5633. vPortExitCritical ();
  5634. # DEBUG BEGIN_STMT
  5635. goto <bb 34>; [100.00%]
  5636. <bb 20> [local count: 1563516]:
  5637. # DEBUG BEGIN_STMT
  5638. xTicksToWait.16_8 = xTicksToWait;
  5639. if (xTicksToWait.16_8 == 0)
  5640. goto <bb 21>; [3.66%]
  5641. else
  5642. goto <bb 22>; [96.34%]
  5643. <bb 21> [local count: 57225]:
  5644. # DEBUG BEGIN_STMT
  5645. vPortExitCritical ();
  5646. # DEBUG BEGIN_STMT
  5647. # DEBUG BEGIN_STMT
  5648. goto <bb 34>; [100.00%]
  5649. <bb 22> [local count: 1506292]:
  5650. # DEBUG BEGIN_STMT
  5651. if (xEntryTimeSet_17 == 0)
  5652. goto <bb 23>; [33.00%]
  5653. else
  5654. goto <bb 24>; [67.00%]
  5655. <bb 23> [local count: 497076]:
  5656. # DEBUG BEGIN_STMT
  5657. vTaskInternalSetTimeOutState (&xTimeOut);
  5658. # DEBUG BEGIN_STMT
  5659. # DEBUG xEntryTimeSet => 1
  5660. <bb 24> [local count: 1506292]:
  5661. # xEntryTimeSet_18 = PHI <xEntryTimeSet_17(22), 1(23)>
  5662. # DEBUG xEntryTimeSet => xEntryTimeSet_18
  5663. # DEBUG BEGIN_STMT
  5664. # DEBUG BEGIN_STMT
  5665. vPortExitCritical ();
  5666. # DEBUG BEGIN_STMT
  5667. vTaskSuspendAll ();
  5668. # DEBUG BEGIN_STMT
  5669. vPortEnterCritical ();
  5670. # DEBUG BEGIN_STMT
  5671. _9 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cRxLock;
  5672. if (_9 == -1)
  5673. goto <bb 25>; [34.00%]
  5674. else
  5675. goto <bb 26>; [66.00%]
  5676. <bb 25> [local count: 512139]:
  5677. # DEBUG BEGIN_STMT
  5678. MEM[(struct Queue_t *)xQueue_27(D)].cRxLock ={v} 0;
  5679. <bb 26> [local count: 1506292]:
  5680. # DEBUG BEGIN_STMT
  5681. _10 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cTxLock;
  5682. if (_10 == -1)
  5683. goto <bb 27>; [34.00%]
  5684. else
  5685. goto <bb 28>; [66.00%]
  5686. <bb 27> [local count: 512139]:
  5687. # DEBUG BEGIN_STMT
  5688. MEM[(struct Queue_t *)xQueue_27(D)].cTxLock ={v} 0;
  5689. <bb 28> [local count: 1506292]:
  5690. # DEBUG BEGIN_STMT
  5691. vPortExitCritical ();
  5692. # DEBUG BEGIN_STMT
  5693. _11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  5694. if (_11 == 0)
  5695. goto <bb 29>; [50.00%]
  5696. else
  5697. goto <bb 33>; [50.00%]
  5698. <bb 29> [local count: 753146]:
  5699. # DEBUG BEGIN_STMT
  5700. _12 = prvIsQueueEmpty (xQueue_27(D));
  5701. if (_12 != 0)
  5702. goto <bb 30>; [50.00%]
  5703. else
  5704. goto <bb 32>; [50.00%]
  5705. <bb 30> [local count: 376573]:
  5706. # DEBUG BEGIN_STMT
  5707. # DEBUG BEGIN_STMT
  5708. _13 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToReceive;
  5709. xTicksToWait.17_14 = xTicksToWait;
  5710. vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  5711. # DEBUG BEGIN_STMT
  5712. prvUnlockQueue (xQueue_27(D));
  5713. # DEBUG BEGIN_STMT
  5714. _15 = xTaskResumeAll ();
  5715. if (_15 == 0)
  5716. goto <bb 31>; [50.00%]
  5717. else
  5718. goto <bb 14>; [50.00%]
  5719. <bb 31> [local count: 188286]:
  5720. # DEBUG BEGIN_STMT
  5721. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  5722. # DEBUG BEGIN_STMT
  5723. __asm__ __volatile__("dsb" : : : "memory");
  5724. # DEBUG BEGIN_STMT
  5725. __asm__ __volatile__("isb");
  5726. # DEBUG BEGIN_STMT
  5727. goto <bb 14>; [100.00%]
  5728. <bb 32> [local count: 376573]:
  5729. # DEBUG BEGIN_STMT
  5730. prvUnlockQueue (xQueue_27(D));
  5731. # DEBUG BEGIN_STMT
  5732. xTaskResumeAll ();
  5733. goto <bb 14>; [100.00%]
  5734. <bb 33> [local count: 753146]:
  5735. # DEBUG BEGIN_STMT
  5736. prvUnlockQueue (xQueue_27(D));
  5737. # DEBUG BEGIN_STMT
  5738. xTaskResumeAll ();
  5739. # DEBUG BEGIN_STMT
  5740. _16 = prvIsQueueEmpty (xQueue_27(D));
  5741. if (_16 != 0)
  5742. goto <bb 34>; [3.66%]
  5743. else
  5744. goto <bb 14>; [96.34%]
  5745. <bb 34> [local count: 144189]:
  5746. # _19 = PHI <1(19), 0(21), 0(33)>
  5747. xTimeOut ={v} {CLOBBER};
  5748. return _19;
  5749. }
  5750. xQueueGiveFromISR (struct QueueDefinition * xQueue, BaseType_t * const pxHigherPriorityTaskWoken)
  5751. {
  5752. uint32_t ulNewBASEPRI;
  5753. uint32_t ulOriginalBASEPRI;
  5754. uint32_t ulNewBASEPRI;
  5755. uint32_t ulNewBASEPRI;
  5756. uint32_t ulNewBASEPRI;
  5757. uint32_t ulNewBASEPRI;
  5758. const int8_t cTxLock;
  5759. const UBaseType_t uxMessagesWaiting;
  5760. BaseType_t xReturn;
  5761. long unsigned int _1;
  5762. int8_t * _2;
  5763. struct tskTaskControlBlock * _3;
  5764. long unsigned int _4;
  5765. long unsigned int _5;
  5766. long unsigned int _6;
  5767. struct List_t * _7;
  5768. long int _8;
  5769. unsigned char cTxLock.12_9;
  5770. unsigned char _10;
  5771. signed char _11;
  5772. <bb 2> [local count: 306783]:
  5773. # DEBUG BEGIN_STMT
  5774. # DEBUG BEGIN_STMT
  5775. # DEBUG BEGIN_STMT
  5776. # DEBUG pxQueue => xQueue_14(D)
  5777. # DEBUG BEGIN_STMT
  5778. if (xQueue_14(D) == 0B)
  5779. goto <bb 3>; [30.00%]
  5780. else
  5781. goto <bb 5>; [70.00%]
  5782. <bb 3> [local count: 92035]:
  5783. # DEBUG BEGIN_STMT
  5784. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5785. # DEBUG BEGIN_STMT
  5786. # DEBUG BEGIN_STMT
  5787. __asm__ __volatile__(" mov %0, %1
  5788. msr basepri, %0
  5789. isb
  5790. dsb
  5791. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  5792. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  5793. <bb 4> [local count: 920350133]:
  5794. # DEBUG ulNewBASEPRI => NULL
  5795. # DEBUG BEGIN_STMT
  5796. # DEBUG BEGIN_STMT
  5797. # DEBUG BEGIN_STMT
  5798. <bb 24> [local count: 920350133]:
  5799. goto <bb 4>; [100.00%]
  5800. <bb 5> [local count: 214748]:
  5801. # DEBUG BEGIN_STMT
  5802. # DEBUG BEGIN_STMT
  5803. _1 = MEM[(struct Queue_t *)xQueue_14(D)].uxItemSize;
  5804. if (_1 != 0)
  5805. goto <bb 6>; [50.00%]
  5806. else
  5807. goto <bb 8>; [50.00%]
  5808. <bb 6> [local count: 107374]:
  5809. # DEBUG BEGIN_STMT
  5810. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5811. # DEBUG BEGIN_STMT
  5812. # DEBUG BEGIN_STMT
  5813. __asm__ __volatile__(" mov %0, %1
  5814. msr basepri, %0
  5815. isb
  5816. dsb
  5817. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  5818. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  5819. <bb 7> [local count: 1073741823]:
  5820. # DEBUG ulNewBASEPRI => NULL
  5821. # DEBUG BEGIN_STMT
  5822. # DEBUG BEGIN_STMT
  5823. # DEBUG BEGIN_STMT
  5824. <bb 25> [local count: 1073741824]:
  5825. goto <bb 7>; [100.00%]
  5826. <bb 8> [local count: 107374]:
  5827. # DEBUG BEGIN_STMT
  5828. # DEBUG BEGIN_STMT
  5829. _2 = MEM[(struct Queue_t *)xQueue_14(D)].pcHead;
  5830. if (_2 != 0B)
  5831. goto <bb 12>; [53.47%]
  5832. else
  5833. goto <bb 9>; [46.53%]
  5834. <bb 9> [local count: 49961]:
  5835. _3 = MEM[(struct Queue_t *)xQueue_14(D)].u.xSemaphore.xMutexHolder;
  5836. if (_3 == 0B)
  5837. goto <bb 12>; [30.00%]
  5838. else
  5839. goto <bb 10>; [70.00%]
  5840. <bb 10> [local count: 34973]:
  5841. # DEBUG BEGIN_STMT
  5842. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5843. # DEBUG BEGIN_STMT
  5844. # DEBUG BEGIN_STMT
  5845. __asm__ __volatile__(" mov %0, %1
  5846. msr basepri, %0
  5847. isb
  5848. dsb
  5849. " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  5850. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  5851. <bb 11> [local count: 349728449]:
  5852. # DEBUG ulNewBASEPRI => NULL
  5853. # DEBUG BEGIN_STMT
  5854. # DEBUG BEGIN_STMT
  5855. # DEBUG BEGIN_STMT
  5856. <bb 27> [local count: 349728449]:
  5857. goto <bb 11>; [100.00%]
  5858. <bb 12> [local count: 72401]:
  5859. # DEBUG BEGIN_STMT
  5860. # DEBUG BEGIN_STMT
  5861. vPortValidateInterruptPriority ();
  5862. # DEBUG BEGIN_STMT
  5863. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  5864. # DEBUG BEGIN_STMT
  5865. # DEBUG BEGIN_STMT
  5866. __asm__ __volatile__(" mrs %0, basepri
  5867. mov %1, %2
  5868. msr basepri, %1
  5869. isb
  5870. dsb
  5871. " : "=r" ulOriginalBASEPRI_27, "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
  5872. # DEBUG ulNewBASEPRI => ulNewBASEPRI_28
  5873. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_27
  5874. # DEBUG BEGIN_STMT
  5875. # DEBUG ulNewBASEPRI => NULL
  5876. # DEBUG ulOriginalBASEPRI => NULL
  5877. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_27
  5878. # DEBUG BEGIN_STMT
  5879. uxMessagesWaiting_17 ={v} MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting;
  5880. # DEBUG uxMessagesWaiting => uxMessagesWaiting_17
  5881. # DEBUG BEGIN_STMT
  5882. _4 = MEM[(struct Queue_t *)xQueue_14(D)].uxLength;
  5883. if (_4 > uxMessagesWaiting_17)
  5884. goto <bb 13>; [50.00%]
  5885. else
  5886. goto <bb 23>; [50.00%]
  5887. <bb 13> [local count: 36201]:
  5888. # DEBUG BEGIN_STMT
  5889. cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_14(D)].cTxLock;
  5890. # DEBUG cTxLock => cTxLock_18
  5891. # DEBUG BEGIN_STMT
  5892. # DEBUG BEGIN_STMT
  5893. _5 = uxMessagesWaiting_17 + 1;
  5894. MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting ={v} _5;
  5895. # DEBUG BEGIN_STMT
  5896. if (cTxLock_18 == -1)
  5897. goto <bb 14>; [34.00%]
  5898. else
  5899. goto <bb 18>; [66.00%]
  5900. <bb 14> [local count: 12308]:
  5901. # DEBUG BEGIN_STMT
  5902. _6 ={v} MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive.uxNumberOfItems;
  5903. if (_6 != 0)
  5904. goto <bb 15>; [33.00%]
  5905. else
  5906. goto <bb 23>; [67.00%]
  5907. <bb 15> [local count: 4062]:
  5908. # DEBUG BEGIN_STMT
  5909. _7 = &MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive;
  5910. _8 = xTaskRemoveFromEventList (_7);
  5911. if (_8 != 0)
  5912. goto <bb 16>; [50.00%]
  5913. else
  5914. goto <bb 23>; [50.00%]
  5915. <bb 16> [local count: 2031]:
  5916. # DEBUG BEGIN_STMT
  5917. if (pxHigherPriorityTaskWoken_22(D) != 0B)
  5918. goto <bb 17>; [70.00%]
  5919. else
  5920. goto <bb 23>; [30.00%]
  5921. <bb 17> [local count: 1422]:
  5922. # DEBUG BEGIN_STMT
  5923. *pxHigherPriorityTaskWoken_22(D) = 1;
  5924. goto <bb 23>; [100.00%]
  5925. <bb 18> [local count: 23892]:
  5926. # DEBUG BEGIN_STMT
  5927. if (cTxLock_18 == 127)
  5928. goto <bb 19>; [34.00%]
  5929. else
  5930. goto <bb 21>; [66.00%]
  5931. <bb 19> [local count: 8123]:
  5932. # DEBUG BEGIN_STMT
  5933. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  5934. # DEBUG BEGIN_STMT
  5935. # DEBUG BEGIN_STMT
  5936. __asm__ __volatile__(" mov %0, %1
  5937. msr basepri, %0
  5938. isb
  5939. dsb
  5940. " : "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  5941. # DEBUG ulNewBASEPRI => ulNewBASEPRI_29
  5942. <bb 20> [local count: 81234300]:
  5943. # DEBUG ulNewBASEPRI => NULL
  5944. # DEBUG BEGIN_STMT
  5945. # DEBUG BEGIN_STMT
  5946. # DEBUG BEGIN_STMT
  5947. <bb 26> [local count: 81234300]:
  5948. goto <bb 20>; [100.00%]
  5949. <bb 21> [local count: 15769]:
  5950. # DEBUG BEGIN_STMT
  5951. # DEBUG BEGIN_STMT
  5952. cTxLock.12_9 = (unsigned char) cTxLock_18;
  5953. _10 = cTxLock.12_9 + 1;
  5954. _11 = (signed char) _10;
  5955. MEM[(struct Queue_t *)xQueue_14(D)].cTxLock ={v} _11;
  5956. <bb 23> [local count: 64278]:
  5957. # xReturn_12 = PHI <1(21), 0(12), 1(17), 1(15), 1(16), 1(14)>
  5958. # DEBUG xReturn => xReturn_12
  5959. # DEBUG BEGIN_STMT
  5960. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_27
  5961. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  5962. # DEBUG BEGIN_STMT
  5963. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_27 : "memory");
  5964. # DEBUG ulNewMaskValue => NULL
  5965. # DEBUG BEGIN_STMT
  5966. return xReturn_12;
  5967. }
  5968. xQueueGenericSendFromISR (struct QueueDefinition * xQueue, const void * const pvItemToQueue, BaseType_t * const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition)
  5969. {
  5970. uint32_t ulNewBASEPRI;
  5971. uint32_t ulOriginalBASEPRI;
  5972. uint32_t ulNewBASEPRI;
  5973. uint32_t ulNewBASEPRI;
  5974. uint32_t ulNewBASEPRI;
  5975. uint32_t ulNewBASEPRI;
  5976. const UBaseType_t uxPreviousMessagesWaiting;
  5977. const int8_t cTxLock;
  5978. BaseType_t xReturn;
  5979. long unsigned int _1;
  5980. long unsigned int _2;
  5981. long unsigned int _3;
  5982. long unsigned int _4;
  5983. long unsigned int _5;
  5984. struct List_t * _6;
  5985. long int _7;
  5986. unsigned char cTxLock.10_8;
  5987. unsigned char _9;
  5988. signed char _10;
  5989. <bb 2> [local count: 357913]:
  5990. # DEBUG BEGIN_STMT
  5991. # DEBUG BEGIN_STMT
  5992. # DEBUG BEGIN_STMT
  5993. # DEBUG pxQueue => xQueue_13(D)
  5994. # DEBUG BEGIN_STMT
  5995. if (xQueue_13(D) == 0B)
  5996. goto <bb 3>; [30.00%]
  5997. else
  5998. goto <bb 5>; [70.00%]
  5999. <bb 3> [local count: 107374]:
  6000. # DEBUG BEGIN_STMT
  6001. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6002. # DEBUG BEGIN_STMT
  6003. # DEBUG BEGIN_STMT
  6004. __asm__ __volatile__(" mov %0, %1
  6005. msr basepri, %0
  6006. isb
  6007. dsb
  6008. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  6009. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  6010. <bb 4> [local count: 1073741824]:
  6011. # DEBUG ulNewBASEPRI => NULL
  6012. # DEBUG BEGIN_STMT
  6013. # DEBUG BEGIN_STMT
  6014. # DEBUG BEGIN_STMT
  6015. <bb 26> [local count: 1073741824]:
  6016. goto <bb 4>; [100.00%]
  6017. <bb 5> [local count: 250539]:
  6018. # DEBUG BEGIN_STMT
  6019. # DEBUG BEGIN_STMT
  6020. if (pvItemToQueue_14(D) != 0B)
  6021. goto <bb 9>; [70.00%]
  6022. else
  6023. goto <bb 6>; [30.00%]
  6024. <bb 6> [local count: 75162]:
  6025. _1 = MEM[(struct Queue_t *)xQueue_13(D)].uxItemSize;
  6026. if (_1 == 0)
  6027. goto <bb 9>; [50.00%]
  6028. else
  6029. goto <bb 7>; [50.00%]
  6030. <bb 7> [local count: 37581]:
  6031. # DEBUG BEGIN_STMT
  6032. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6033. # DEBUG BEGIN_STMT
  6034. # DEBUG BEGIN_STMT
  6035. __asm__ __volatile__(" mov %0, %1
  6036. msr basepri, %0
  6037. isb
  6038. dsb
  6039. " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  6040. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  6041. <bb 8> [local count: 375809639]:
  6042. # DEBUG ulNewBASEPRI => NULL
  6043. # DEBUG BEGIN_STMT
  6044. # DEBUG BEGIN_STMT
  6045. # DEBUG BEGIN_STMT
  6046. <bb 29> [local count: 375809639]:
  6047. goto <bb 8>; [100.00%]
  6048. <bb 9> [local count: 212958]:
  6049. # DEBUG BEGIN_STMT
  6050. # DEBUG BEGIN_STMT
  6051. if (xCopyPosition_16(D) != 2)
  6052. goto <bb 13>; [48.88%]
  6053. else
  6054. goto <bb 10>; [51.12%]
  6055. <bb 10> [local count: 108864]:
  6056. _2 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
  6057. if (_2 == 1)
  6058. goto <bb 13>; [34.00%]
  6059. else
  6060. goto <bb 11>; [66.00%]
  6061. <bb 11> [local count: 71850]:
  6062. # DEBUG BEGIN_STMT
  6063. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6064. # DEBUG BEGIN_STMT
  6065. # DEBUG BEGIN_STMT
  6066. __asm__ __volatile__(" mov %0, %1
  6067. msr basepri, %0
  6068. isb
  6069. dsb
  6070. " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory");
  6071. # DEBUG ulNewBASEPRI => ulNewBASEPRI_27
  6072. <bb 12> [local count: 718505940]:
  6073. # DEBUG ulNewBASEPRI => NULL
  6074. # DEBUG BEGIN_STMT
  6075. # DEBUG BEGIN_STMT
  6076. # DEBUG BEGIN_STMT
  6077. <bb 28> [local count: 718505940]:
  6078. goto <bb 12>; [100.00%]
  6079. <bb 13> [local count: 141108]:
  6080. # DEBUG BEGIN_STMT
  6081. # DEBUG BEGIN_STMT
  6082. vPortValidateInterruptPriority ();
  6083. # DEBUG BEGIN_STMT
  6084. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  6085. # DEBUG BEGIN_STMT
  6086. # DEBUG BEGIN_STMT
  6087. __asm__ __volatile__(" mrs %0, basepri
  6088. mov %1, %2
  6089. msr basepri, %1
  6090. isb
  6091. dsb
  6092. " : "=r" ulOriginalBASEPRI_28, "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  6093. # DEBUG ulNewBASEPRI => ulNewBASEPRI_29
  6094. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_28
  6095. # DEBUG BEGIN_STMT
  6096. # DEBUG ulNewBASEPRI => NULL
  6097. # DEBUG ulOriginalBASEPRI => NULL
  6098. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_28
  6099. # DEBUG BEGIN_STMT
  6100. _3 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting;
  6101. _4 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
  6102. if (_3 < _4)
  6103. goto <bb 15>; [33.00%]
  6104. else
  6105. goto <bb 14>; [67.00%]
  6106. <bb 14> [local count: 94542]:
  6107. if (xCopyPosition_16(D) == 2)
  6108. goto <bb 15>; [34.00%]
  6109. else
  6110. goto <bb 25>; [66.00%]
  6111. <bb 15> [local count: 78710]:
  6112. # DEBUG BEGIN_STMT
  6113. cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_13(D)].cTxLock;
  6114. # DEBUG cTxLock => cTxLock_18
  6115. # DEBUG BEGIN_STMT
  6116. uxPreviousMessagesWaiting_19 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting;
  6117. # DEBUG uxPreviousMessagesWaiting => uxPreviousMessagesWaiting_19
  6118. # DEBUG BEGIN_STMT
  6119. # DEBUG BEGIN_STMT
  6120. prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D));
  6121. # DEBUG BEGIN_STMT
  6122. if (cTxLock_18 == -1)
  6123. goto <bb 16>; [34.00%]
  6124. else
  6125. goto <bb 20>; [66.00%]
  6126. <bb 16> [local count: 26761]:
  6127. # DEBUG BEGIN_STMT
  6128. _5 ={v} MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive.uxNumberOfItems;
  6129. if (_5 != 0)
  6130. goto <bb 17>; [33.00%]
  6131. else
  6132. goto <bb 25>; [67.00%]
  6133. <bb 17> [local count: 8831]:
  6134. # DEBUG BEGIN_STMT
  6135. _6 = &MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive;
  6136. _7 = xTaskRemoveFromEventList (_6);
  6137. if (_7 != 0)
  6138. goto <bb 18>; [50.00%]
  6139. else
  6140. goto <bb 25>; [50.00%]
  6141. <bb 18> [local count: 4416]:
  6142. # DEBUG BEGIN_STMT
  6143. if (pxHigherPriorityTaskWoken_23(D) != 0B)
  6144. goto <bb 19>; [70.00%]
  6145. else
  6146. goto <bb 25>; [30.00%]
  6147. <bb 19> [local count: 3091]:
  6148. # DEBUG BEGIN_STMT
  6149. *pxHigherPriorityTaskWoken_23(D) = 1;
  6150. goto <bb 25>; [100.00%]
  6151. <bb 20> [local count: 51949]:
  6152. # DEBUG BEGIN_STMT
  6153. if (cTxLock_18 == 127)
  6154. goto <bb 21>; [34.00%]
  6155. else
  6156. goto <bb 23>; [66.00%]
  6157. <bb 21> [local count: 17663]:
  6158. # DEBUG BEGIN_STMT
  6159. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6160. # DEBUG BEGIN_STMT
  6161. # DEBUG BEGIN_STMT
  6162. __asm__ __volatile__(" mov %0, %1
  6163. msr basepri, %0
  6164. isb
  6165. dsb
  6166. " : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
  6167. # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
  6168. <bb 22> [local count: 176625587]:
  6169. # DEBUG ulNewBASEPRI => NULL
  6170. # DEBUG BEGIN_STMT
  6171. # DEBUG BEGIN_STMT
  6172. # DEBUG BEGIN_STMT
  6173. <bb 27> [local count: 176625587]:
  6174. goto <bb 22>; [100.00%]
  6175. <bb 23> [local count: 34286]:
  6176. # DEBUG BEGIN_STMT
  6177. # DEBUG BEGIN_STMT
  6178. cTxLock.10_8 = (unsigned char) cTxLock_18;
  6179. _9 = cTxLock.10_8 + 1;
  6180. _10 = (signed char) _9;
  6181. MEM[(struct Queue_t *)xQueue_13(D)].cTxLock ={v} _10;
  6182. <bb 25> [local count: 123445]:
  6183. # xReturn_11 = PHI <1(23), 0(14), 1(19), 1(17), 1(18), 1(16)>
  6184. # DEBUG xReturn => xReturn_11
  6185. # DEBUG BEGIN_STMT
  6186. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_28
  6187. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  6188. # DEBUG BEGIN_STMT
  6189. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_28 : "memory");
  6190. # DEBUG ulNewMaskValue => NULL
  6191. # DEBUG BEGIN_STMT
  6192. return xReturn_11;
  6193. }
  6194. xQueueGenericSend (struct QueueDefinition * xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition)
  6195. {
  6196. uint32_t ulNewBASEPRI;
  6197. uint32_t ulNewBASEPRI;
  6198. uint32_t ulNewBASEPRI;
  6199. uint32_t ulNewBASEPRI;
  6200. struct TimeOut_t xTimeOut;
  6201. BaseType_t xYieldRequired;
  6202. BaseType_t xEntryTimeSet;
  6203. long unsigned int _1;
  6204. long unsigned int _2;
  6205. long int _3;
  6206. long unsigned int xTicksToWait.3_4;
  6207. long unsigned int _5;
  6208. long unsigned int _6;
  6209. long unsigned int _7;
  6210. struct List_t * _8;
  6211. long int _9;
  6212. long unsigned int xTicksToWait.4_10;
  6213. signed char _11;
  6214. signed char _12;
  6215. long int _13;
  6216. long int _14;
  6217. struct List_t * _15;
  6218. long unsigned int xTicksToWait.5_16;
  6219. long int _17;
  6220. BaseType_t _21;
  6221. <bb 2> [local count: 357913]:
  6222. # DEBUG BEGIN_STMT
  6223. # DEBUG xEntryTimeSet => 0
  6224. # DEBUG BEGIN_STMT
  6225. # DEBUG BEGIN_STMT
  6226. # DEBUG pxQueue => xQueue_29(D)
  6227. # DEBUG BEGIN_STMT
  6228. if (xQueue_29(D) == 0B)
  6229. goto <bb 3>; [30.00%]
  6230. else
  6231. goto <bb 5>; [70.00%]
  6232. <bb 3> [local count: 107374]:
  6233. # DEBUG BEGIN_STMT
  6234. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6235. # DEBUG BEGIN_STMT
  6236. # DEBUG BEGIN_STMT
  6237. __asm__ __volatile__(" mov %0, %1
  6238. msr basepri, %0
  6239. isb
  6240. dsb
  6241. " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory");
  6242. # DEBUG ulNewBASEPRI => ulNewBASEPRI_67
  6243. <bb 4> [local count: 1073741824]:
  6244. # DEBUG ulNewBASEPRI => NULL
  6245. # DEBUG BEGIN_STMT
  6246. # DEBUG BEGIN_STMT
  6247. # DEBUG BEGIN_STMT
  6248. <bb 42> [local count: 1073741824]:
  6249. goto <bb 4>; [100.00%]
  6250. <bb 5> [local count: 250539]:
  6251. # DEBUG BEGIN_STMT
  6252. # DEBUG BEGIN_STMT
  6253. if (pvItemToQueue_30(D) != 0B)
  6254. goto <bb 9>; [70.00%]
  6255. else
  6256. goto <bb 6>; [30.00%]
  6257. <bb 6> [local count: 75162]:
  6258. _1 = MEM[(struct Queue_t *)xQueue_29(D)].uxItemSize;
  6259. if (_1 == 0)
  6260. goto <bb 9>; [50.00%]
  6261. else
  6262. goto <bb 7>; [50.00%]
  6263. <bb 7> [local count: 37581]:
  6264. # DEBUG BEGIN_STMT
  6265. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6266. # DEBUG BEGIN_STMT
  6267. # DEBUG BEGIN_STMT
  6268. __asm__ __volatile__(" mov %0, %1
  6269. msr basepri, %0
  6270. isb
  6271. dsb
  6272. " : "=r" ulNewBASEPRI_68 : "i" 16 : "memory");
  6273. # DEBUG ulNewBASEPRI => ulNewBASEPRI_68
  6274. <bb 8> [local count: 375809639]:
  6275. # DEBUG ulNewBASEPRI => NULL
  6276. # DEBUG BEGIN_STMT
  6277. # DEBUG BEGIN_STMT
  6278. # DEBUG BEGIN_STMT
  6279. <bb 45> [local count: 375809639]:
  6280. goto <bb 8>; [100.00%]
  6281. <bb 9> [local count: 212958]:
  6282. # DEBUG BEGIN_STMT
  6283. # DEBUG BEGIN_STMT
  6284. if (xCopyPosition_32(D) != 2)
  6285. goto <bb 13>; [48.88%]
  6286. else
  6287. goto <bb 10>; [51.12%]
  6288. <bb 10> [local count: 108864]:
  6289. _2 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
  6290. if (_2 == 1)
  6291. goto <bb 13>; [34.00%]
  6292. else
  6293. goto <bb 11>; [66.00%]
  6294. <bb 11> [local count: 71850]:
  6295. # DEBUG BEGIN_STMT
  6296. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6297. # DEBUG BEGIN_STMT
  6298. # DEBUG BEGIN_STMT
  6299. __asm__ __volatile__(" mov %0, %1
  6300. msr basepri, %0
  6301. isb
  6302. dsb
  6303. " : "=r" ulNewBASEPRI_69 : "i" 16 : "memory");
  6304. # DEBUG ulNewBASEPRI => ulNewBASEPRI_69
  6305. <bb 12> [local count: 718505940]:
  6306. # DEBUG ulNewBASEPRI => NULL
  6307. # DEBUG BEGIN_STMT
  6308. # DEBUG BEGIN_STMT
  6309. # DEBUG BEGIN_STMT
  6310. <bb 44> [local count: 718505940]:
  6311. goto <bb 12>; [100.00%]
  6312. <bb 13> [local count: 141108]:
  6313. # DEBUG BEGIN_STMT
  6314. # DEBUG BEGIN_STMT
  6315. _3 = xTaskGetSchedulerState ();
  6316. if (_3 != 0)
  6317. goto <bb 14>; [50.00%]
  6318. else
  6319. goto <bb 15>; [50.00%]
  6320. <bb 14> [local count: 105831]:
  6321. # xEntryTimeSet_36 = PHI <0(13), 0(15)>
  6322. goto <bb 19>; [100.00%]
  6323. <bb 15> [local count: 70554]:
  6324. xTicksToWait.3_4 = xTicksToWait;
  6325. if (xTicksToWait.3_4 == 0)
  6326. goto <bb 14>; [50.00%]
  6327. else
  6328. goto <bb 16>; [50.00%]
  6329. <bb 16> [local count: 35277]:
  6330. # DEBUG BEGIN_STMT
  6331. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6332. # DEBUG BEGIN_STMT
  6333. # DEBUG BEGIN_STMT
  6334. __asm__ __volatile__(" mov %0, %1
  6335. msr basepri, %0
  6336. isb
  6337. dsb
  6338. " : "=r" ulNewBASEPRI_70 : "i" 16 : "memory");
  6339. # DEBUG ulNewBASEPRI => ulNewBASEPRI_70
  6340. <bb 17> [local count: 352770504]:
  6341. # DEBUG ulNewBASEPRI => NULL
  6342. # DEBUG BEGIN_STMT
  6343. # DEBUG BEGIN_STMT
  6344. # DEBUG BEGIN_STMT
  6345. <bb 43> [local count: 352770504]:
  6346. goto <bb 17>; [100.00%]
  6347. <bb 18> [local count: 896877]:
  6348. # xEntryTimeSet_18 = PHI <xEntryTimeSet_20(38), xEntryTimeSet_20(39), xEntryTimeSet_20(37)>
  6349. <bb 19> [local count: 1002708]:
  6350. # xEntryTimeSet_19 = PHI <xEntryTimeSet_36(14), xEntryTimeSet_18(18)>
  6351. # DEBUG xEntryTimeSet => xEntryTimeSet_19
  6352. # DEBUG BEGIN_STMT
  6353. # DEBUG BEGIN_STMT
  6354. # DEBUG BEGIN_STMT
  6355. vPortEnterCritical ();
  6356. # DEBUG BEGIN_STMT
  6357. _5 ={v} MEM[(struct Queue_t *)xQueue_29(D)].uxMessagesWaiting;
  6358. _6 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
  6359. if (_5 < _6)
  6360. goto <bb 21>; [2.75%]
  6361. else
  6362. goto <bb 20>; [97.25%]
  6363. <bb 20> [local count: 975134]:
  6364. if (xCopyPosition_32(D) == 2)
  6365. goto <bb 21>; [2.75%]
  6366. else
  6367. goto <bb 27>; [97.25%]
  6368. <bb 21> [local count: 54391]:
  6369. # DEBUG BEGIN_STMT
  6370. # DEBUG BEGIN_STMT
  6371. xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D));
  6372. # DEBUG xYieldRequired => xYieldRequired_57
  6373. # DEBUG BEGIN_STMT
  6374. _7 ={v} MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive.uxNumberOfItems;
  6375. if (_7 != 0)
  6376. goto <bb 22>; [33.00%]
  6377. else
  6378. goto <bb 24>; [67.00%]
  6379. <bb 22> [local count: 17949]:
  6380. # DEBUG BEGIN_STMT
  6381. _8 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive;
  6382. _9 = xTaskRemoveFromEventList (_8);
  6383. if (_9 != 0)
  6384. goto <bb 23>; [50.00%]
  6385. else
  6386. goto <bb 26>; [50.00%]
  6387. <bb 23> [local count: 8974]:
  6388. # DEBUG BEGIN_STMT
  6389. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  6390. # DEBUG BEGIN_STMT
  6391. __asm__ __volatile__("dsb" : : : "memory");
  6392. # DEBUG BEGIN_STMT
  6393. __asm__ __volatile__("isb");
  6394. # DEBUG BEGIN_STMT
  6395. goto <bb 26>; [100.00%]
  6396. <bb 24> [local count: 36442]:
  6397. # DEBUG BEGIN_STMT
  6398. if (xYieldRequired_57 != 0)
  6399. goto <bb 25>; [50.00%]
  6400. else
  6401. goto <bb 26>; [50.00%]
  6402. <bb 25> [local count: 18221]:
  6403. # DEBUG BEGIN_STMT
  6404. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  6405. # DEBUG BEGIN_STMT
  6406. __asm__ __volatile__("dsb" : : : "memory");
  6407. # DEBUG BEGIN_STMT
  6408. __asm__ __volatile__("isb");
  6409. # DEBUG BEGIN_STMT
  6410. <bb 26> [local count: 54391]:
  6411. # DEBUG BEGIN_STMT
  6412. # DEBUG BEGIN_STMT
  6413. vPortExitCritical ();
  6414. # DEBUG BEGIN_STMT
  6415. goto <bb 41>; [100.00%]
  6416. <bb 27> [local count: 948318]:
  6417. # DEBUG BEGIN_STMT
  6418. xTicksToWait.4_10 = xTicksToWait;
  6419. if (xTicksToWait.4_10 == 0)
  6420. goto <bb 28>; [2.75%]
  6421. else
  6422. goto <bb 29>; [97.25%]
  6423. <bb 28> [local count: 26079]:
  6424. # DEBUG BEGIN_STMT
  6425. vPortExitCritical ();
  6426. # DEBUG BEGIN_STMT
  6427. # DEBUG BEGIN_STMT
  6428. goto <bb 41>; [100.00%]
  6429. <bb 29> [local count: 922239]:
  6430. # DEBUG BEGIN_STMT
  6431. if (xEntryTimeSet_19 == 0)
  6432. goto <bb 30>; [33.00%]
  6433. else
  6434. goto <bb 31>; [67.00%]
  6435. <bb 30> [local count: 304339]:
  6436. # DEBUG BEGIN_STMT
  6437. vTaskInternalSetTimeOutState (&xTimeOut);
  6438. # DEBUG BEGIN_STMT
  6439. # DEBUG xEntryTimeSet => 1
  6440. <bb 31> [local count: 922239]:
  6441. # xEntryTimeSet_20 = PHI <xEntryTimeSet_19(29), 1(30)>
  6442. # DEBUG xEntryTimeSet => xEntryTimeSet_20
  6443. # DEBUG BEGIN_STMT
  6444. # DEBUG BEGIN_STMT
  6445. vPortExitCritical ();
  6446. # DEBUG BEGIN_STMT
  6447. vTaskSuspendAll ();
  6448. # DEBUG BEGIN_STMT
  6449. vPortEnterCritical ();
  6450. # DEBUG BEGIN_STMT
  6451. _11 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cRxLock;
  6452. if (_11 == -1)
  6453. goto <bb 32>; [34.00%]
  6454. else
  6455. goto <bb 33>; [66.00%]
  6456. <bb 32> [local count: 313561]:
  6457. # DEBUG BEGIN_STMT
  6458. MEM[(struct Queue_t *)xQueue_29(D)].cRxLock ={v} 0;
  6459. <bb 33> [local count: 922239]:
  6460. # DEBUG BEGIN_STMT
  6461. _12 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cTxLock;
  6462. if (_12 == -1)
  6463. goto <bb 34>; [34.00%]
  6464. else
  6465. goto <bb 35>; [66.00%]
  6466. <bb 34> [local count: 313561]:
  6467. # DEBUG BEGIN_STMT
  6468. MEM[(struct Queue_t *)xQueue_29(D)].cTxLock ={v} 0;
  6469. <bb 35> [local count: 922239]:
  6470. # DEBUG BEGIN_STMT
  6471. vPortExitCritical ();
  6472. # DEBUG BEGIN_STMT
  6473. _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  6474. if (_13 == 0)
  6475. goto <bb 36>; [97.25%]
  6476. else
  6477. goto <bb 40>; [2.75%]
  6478. <bb 36> [local count: 896877]:
  6479. # DEBUG BEGIN_STMT
  6480. _14 = prvIsQueueFull (xQueue_29(D));
  6481. if (_14 != 0)
  6482. goto <bb 37>; [50.00%]
  6483. else
  6484. goto <bb 39>; [50.00%]
  6485. <bb 37> [local count: 448439]:
  6486. # DEBUG BEGIN_STMT
  6487. # DEBUG BEGIN_STMT
  6488. _15 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToSend;
  6489. xTicksToWait.5_16 = xTicksToWait;
  6490. vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  6491. # DEBUG BEGIN_STMT
  6492. prvUnlockQueue (xQueue_29(D));
  6493. # DEBUG BEGIN_STMT
  6494. _17 = xTaskResumeAll ();
  6495. if (_17 == 0)
  6496. goto <bb 38>; [50.00%]
  6497. else
  6498. goto <bb 18>; [50.00%]
  6499. <bb 38> [local count: 224219]:
  6500. # DEBUG BEGIN_STMT
  6501. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  6502. # DEBUG BEGIN_STMT
  6503. __asm__ __volatile__("dsb" : : : "memory");
  6504. # DEBUG BEGIN_STMT
  6505. __asm__ __volatile__("isb");
  6506. goto <bb 18>; [100.00%]
  6507. <bb 39> [local count: 448439]:
  6508. # DEBUG BEGIN_STMT
  6509. prvUnlockQueue (xQueue_29(D));
  6510. # DEBUG BEGIN_STMT
  6511. xTaskResumeAll ();
  6512. goto <bb 18>; [100.00%]
  6513. <bb 40> [local count: 25362]:
  6514. # DEBUG BEGIN_STMT
  6515. prvUnlockQueue (xQueue_29(D));
  6516. # DEBUG BEGIN_STMT
  6517. xTaskResumeAll ();
  6518. # DEBUG BEGIN_STMT
  6519. # DEBUG BEGIN_STMT
  6520. <bb 41> [local count: 105831]:
  6521. # _21 = PHI <1(26), 0(28), 0(40)>
  6522. xTimeOut ={v} {CLOBBER};
  6523. return _21;
  6524. }
  6525. xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount)
  6526. {
  6527. uint32_t ulNewBASEPRI;
  6528. struct QueueDefinition * xHandle;
  6529. <bb 2> [local count: 128592]:
  6530. # DEBUG BEGIN_STMT
  6531. # DEBUG xHandle => 0B
  6532. # DEBUG BEGIN_STMT
  6533. if (uxMaxCount_2(D) != 0)
  6534. goto <bb 3>; [50.00%]
  6535. else
  6536. goto <bb 6>; [50.00%]
  6537. <bb 3> [local count: 64296]:
  6538. if (uxMaxCount_2(D) >= uxInitialCount_3(D))
  6539. goto <bb 4>; [33.00%]
  6540. else
  6541. goto <bb 6>; [67.00%]
  6542. <bb 4> [local count: 21218]:
  6543. # DEBUG BEGIN_STMT
  6544. xHandle_6 = xQueueGenericCreate (uxMaxCount_2(D), 0, 2);
  6545. # DEBUG xHandle => xHandle_6
  6546. # DEBUG BEGIN_STMT
  6547. if (xHandle_6 != 0B)
  6548. goto <bb 5>; [70.00%]
  6549. else
  6550. goto <bb 8>; [30.00%]
  6551. <bb 5> [local count: 14852]:
  6552. # DEBUG BEGIN_STMT
  6553. MEM[(struct Queue_t *)xHandle_6].uxMessagesWaiting ={v} uxInitialCount_3(D);
  6554. # DEBUG BEGIN_STMT
  6555. goto <bb 8>; [100.00%]
  6556. <bb 6> [local count: 107374]:
  6557. # DEBUG BEGIN_STMT
  6558. # DEBUG BEGIN_STMT
  6559. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6560. # DEBUG BEGIN_STMT
  6561. # DEBUG BEGIN_STMT
  6562. __asm__ __volatile__(" mov %0, %1
  6563. msr basepri, %0
  6564. isb
  6565. dsb
  6566. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  6567. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  6568. <bb 7> [local count: 1073741824]:
  6569. # DEBUG ulNewBASEPRI => NULL
  6570. # DEBUG BEGIN_STMT
  6571. # DEBUG BEGIN_STMT
  6572. # DEBUG BEGIN_STMT
  6573. <bb 9> [local count: 1073741824]:
  6574. goto <bb 7>; [100.00%]
  6575. <bb 8> [local count: 21218]:
  6576. # DEBUG xHandle => xHandle_6
  6577. # DEBUG BEGIN_STMT
  6578. # DEBUG BEGIN_STMT
  6579. # DEBUG BEGIN_STMT
  6580. return xHandle_6;
  6581. }
  6582. xQueueTakeMutexRecursive (struct QueueDefinition * xMutex, TickType_t xTicksToWait)
  6583. {
  6584. uint32_t ulNewBASEPRI;
  6585. BaseType_t xReturn;
  6586. struct tskTaskControlBlock * _1;
  6587. struct tskTaskControlBlock * _2;
  6588. long unsigned int _3;
  6589. long unsigned int _4;
  6590. long unsigned int _5;
  6591. long unsigned int _6;
  6592. <bb 2> [local count: 230763]:
  6593. # DEBUG BEGIN_STMT
  6594. # DEBUG BEGIN_STMT
  6595. # DEBUG pxMutex => xMutex_9(D)
  6596. # DEBUG BEGIN_STMT
  6597. if (xMutex_9(D) == 0B)
  6598. goto <bb 3>; [46.53%]
  6599. else
  6600. goto <bb 5>; [53.47%]
  6601. <bb 3> [local count: 107374]:
  6602. # DEBUG BEGIN_STMT
  6603. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6604. # DEBUG BEGIN_STMT
  6605. # DEBUG BEGIN_STMT
  6606. __asm__ __volatile__(" mov %0, %1
  6607. msr basepri, %0
  6608. isb
  6609. dsb
  6610. " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  6611. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  6612. <bb 4> [local count: 1073741824]:
  6613. # DEBUG ulNewBASEPRI => NULL
  6614. # DEBUG BEGIN_STMT
  6615. # DEBUG BEGIN_STMT
  6616. # DEBUG BEGIN_STMT
  6617. <bb 10> [local count: 1073741824]:
  6618. goto <bb 4>; [100.00%]
  6619. <bb 5> [local count: 123389]:
  6620. # DEBUG BEGIN_STMT
  6621. # DEBUG BEGIN_STMT
  6622. # DEBUG BEGIN_STMT
  6623. _1 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.xMutexHolder;
  6624. _2 = xTaskGetCurrentTaskHandle ();
  6625. if (_1 == _2)
  6626. goto <bb 6>; [46.53%]
  6627. else
  6628. goto <bb 7>; [53.47%]
  6629. <bb 6> [local count: 57413]:
  6630. # DEBUG BEGIN_STMT
  6631. _3 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount;
  6632. _4 = _3 + 1;
  6633. MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _4;
  6634. # DEBUG BEGIN_STMT
  6635. # DEBUG xReturn => 1
  6636. goto <bb 9>; [100.00%]
  6637. <bb 7> [local count: 65976]:
  6638. # DEBUG BEGIN_STMT
  6639. xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D));
  6640. # DEBUG xReturn => xReturn_14
  6641. # DEBUG BEGIN_STMT
  6642. if (xReturn_14 != 0)
  6643. goto <bb 8>; [50.00%]
  6644. else
  6645. goto <bb 9>; [50.00%]
  6646. <bb 8> [local count: 32988]:
  6647. # DEBUG BEGIN_STMT
  6648. _5 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount;
  6649. _6 = _5 + 1;
  6650. MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _6;
  6651. <bb 9> [local count: 123389]:
  6652. # xReturn_7 = PHI <1(6), xReturn_14(7), xReturn_14(8)>
  6653. # DEBUG xReturn => xReturn_7
  6654. # DEBUG BEGIN_STMT
  6655. # DEBUG BEGIN_STMT
  6656. return xReturn_7;
  6657. }
  6658. xQueueGiveMutexRecursive (struct QueueDefinition * xMutex)
  6659. {
  6660. uint32_t ulNewBASEPRI;
  6661. BaseType_t xReturn;
  6662. struct tskTaskControlBlock * _1;
  6663. struct tskTaskControlBlock * _2;
  6664. long unsigned int _3;
  6665. long unsigned int _4;
  6666. <bb 2> [local count: 230763]:
  6667. # DEBUG BEGIN_STMT
  6668. # DEBUG BEGIN_STMT
  6669. # DEBUG pxMutex => xMutex_7(D)
  6670. # DEBUG BEGIN_STMT
  6671. if (xMutex_7(D) == 0B)
  6672. goto <bb 3>; [46.53%]
  6673. else
  6674. goto <bb 5>; [53.47%]
  6675. <bb 3> [local count: 107374]:
  6676. # DEBUG BEGIN_STMT
  6677. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6678. # DEBUG BEGIN_STMT
  6679. # DEBUG BEGIN_STMT
  6680. __asm__ __volatile__(" mov %0, %1
  6681. msr basepri, %0
  6682. isb
  6683. dsb
  6684. " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  6685. # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  6686. <bb 4> [local count: 1073741824]:
  6687. # DEBUG ulNewBASEPRI => NULL
  6688. # DEBUG BEGIN_STMT
  6689. # DEBUG BEGIN_STMT
  6690. # DEBUG BEGIN_STMT
  6691. <bb 10> [local count: 1073741824]:
  6692. goto <bb 4>; [100.00%]
  6693. <bb 5> [local count: 123389]:
  6694. # DEBUG BEGIN_STMT
  6695. # DEBUG BEGIN_STMT
  6696. _1 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.xMutexHolder;
  6697. _2 = xTaskGetCurrentTaskHandle ();
  6698. if (_1 == _2)
  6699. goto <bb 6>; [30.00%]
  6700. else
  6701. goto <bb 9>; [70.00%]
  6702. <bb 6> [local count: 37017]:
  6703. # DEBUG BEGIN_STMT
  6704. # DEBUG BEGIN_STMT
  6705. _3 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount;
  6706. _4 = _3 + 4294967295;
  6707. MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount = _4;
  6708. # DEBUG BEGIN_STMT
  6709. if (_4 == 0)
  6710. goto <bb 7>; [33.00%]
  6711. else
  6712. goto <bb 9>; [67.00%]
  6713. <bb 7> [local count: 12216]:
  6714. # DEBUG BEGIN_STMT
  6715. xQueueGenericSend (xMutex_7(D), 0B, 0, 0);
  6716. <bb 9> [local count: 123389]:
  6717. # xReturn_5 = PHI <1(7), 0(5), 1(6)>
  6718. # DEBUG xReturn => xReturn_5
  6719. # DEBUG BEGIN_STMT
  6720. # DEBUG BEGIN_STMT
  6721. return xReturn_5;
  6722. }
  6723. xQueueGetMutexHolderFromISR (struct QueueDefinition * xSemaphore)
  6724. {
  6725. uint32_t ulNewBASEPRI;
  6726. struct tskTaskControlBlock * pxReturn;
  6727. int8_t * _1;
  6728. <bb 2> [local count: 357913]:
  6729. # DEBUG BEGIN_STMT
  6730. # DEBUG BEGIN_STMT
  6731. if (xSemaphore_3(D) == 0B)
  6732. goto <bb 3>; [30.00%]
  6733. else
  6734. goto <bb 5>; [70.00%]
  6735. <bb 3> [local count: 107374]:
  6736. # DEBUG BEGIN_STMT
  6737. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6738. # DEBUG BEGIN_STMT
  6739. # DEBUG BEGIN_STMT
  6740. __asm__ __volatile__(" mov %0, %1
  6741. msr basepri, %0
  6742. isb
  6743. dsb
  6744. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  6745. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  6746. <bb 4> [local count: 1073741824]:
  6747. # DEBUG ulNewBASEPRI => NULL
  6748. # DEBUG BEGIN_STMT
  6749. # DEBUG BEGIN_STMT
  6750. # DEBUG BEGIN_STMT
  6751. <bb 8> [local count: 1073741824]:
  6752. goto <bb 4>; [100.00%]
  6753. <bb 5> [local count: 250539]:
  6754. # DEBUG BEGIN_STMT
  6755. # DEBUG BEGIN_STMT
  6756. _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
  6757. if (_1 == 0B)
  6758. goto <bb 6>; [51.20%]
  6759. else
  6760. goto <bb 7>; [48.80%]
  6761. <bb 6> [local count: 128276]:
  6762. # DEBUG BEGIN_STMT
  6763. pxReturn_5 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
  6764. # DEBUG pxReturn => pxReturn_5
  6765. <bb 7> [local count: 250539]:
  6766. # pxReturn_2 = PHI <pxReturn_5(6), 0B(5)>
  6767. # DEBUG pxReturn => pxReturn_2
  6768. # DEBUG BEGIN_STMT
  6769. return pxReturn_2;
  6770. }
  6771. xQueueGetMutexHolder (struct QueueDefinition * xSemaphore)
  6772. {
  6773. uint32_t ulNewBASEPRI;
  6774. struct tskTaskControlBlock * pxReturn;
  6775. int8_t * _1;
  6776. <bb 2> [local count: 230763]:
  6777. # DEBUG BEGIN_STMT
  6778. # DEBUG BEGIN_STMT
  6779. # DEBUG pxSemaphore => xSemaphore_3(D)
  6780. # DEBUG BEGIN_STMT
  6781. if (xSemaphore_3(D) == 0B)
  6782. goto <bb 3>; [46.53%]
  6783. else
  6784. goto <bb 5>; [53.47%]
  6785. <bb 3> [local count: 107374]:
  6786. # DEBUG BEGIN_STMT
  6787. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6788. # DEBUG BEGIN_STMT
  6789. # DEBUG BEGIN_STMT
  6790. __asm__ __volatile__(" mov %0, %1
  6791. msr basepri, %0
  6792. isb
  6793. dsb
  6794. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  6795. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  6796. <bb 4> [local count: 1073741824]:
  6797. # DEBUG ulNewBASEPRI => NULL
  6798. # DEBUG BEGIN_STMT
  6799. # DEBUG BEGIN_STMT
  6800. # DEBUG BEGIN_STMT
  6801. <bb 8> [local count: 1073741824]:
  6802. goto <bb 4>; [100.00%]
  6803. <bb 5> [local count: 123389]:
  6804. # DEBUG BEGIN_STMT
  6805. # DEBUG BEGIN_STMT
  6806. vPortEnterCritical ();
  6807. # DEBUG BEGIN_STMT
  6808. _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
  6809. if (_1 == 0B)
  6810. goto <bb 6>; [51.20%]
  6811. else
  6812. goto <bb 7>; [48.80%]
  6813. <bb 6> [local count: 63175]:
  6814. # DEBUG BEGIN_STMT
  6815. pxReturn_6 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
  6816. # DEBUG pxReturn => pxReturn_6
  6817. <bb 7> [local count: 123389]:
  6818. # pxReturn_2 = PHI <pxReturn_6(6), 0B(5)>
  6819. # DEBUG pxReturn => pxReturn_2
  6820. # DEBUG BEGIN_STMT
  6821. vPortExitCritical ();
  6822. # DEBUG BEGIN_STMT
  6823. return pxReturn_2;
  6824. }
  6825. xQueueCreateMutex (const uint8_t ucQueueType)
  6826. {
  6827. struct QueueDefinition * xNewQueue;
  6828. <bb 2> [local count: 1073741824]:
  6829. # DEBUG BEGIN_STMT
  6830. # DEBUG BEGIN_STMT
  6831. # DEBUG uxMutexLength => 1
  6832. # DEBUG uxMutexSize => 0
  6833. # DEBUG BEGIN_STMT
  6834. xNewQueue_4 = xQueueGenericCreate (1, 0, ucQueueType_2(D));
  6835. # DEBUG xNewQueue => xNewQueue_4
  6836. # DEBUG BEGIN_STMT
  6837. prvInitialiseMutex (xNewQueue_4);
  6838. # DEBUG BEGIN_STMT
  6839. return xNewQueue_4;
  6840. }
  6841. prvInitialiseMutex (struct Queue_t * pxNewQueue)
  6842. {
  6843. <bb 2> [local count: 1073741824]:
  6844. # DEBUG BEGIN_STMT
  6845. if (pxNewQueue_2(D) != 0B)
  6846. goto <bb 3>; [53.47%]
  6847. else
  6848. goto <bb 4>; [46.53%]
  6849. <bb 3> [local count: 574129754]:
  6850. # DEBUG BEGIN_STMT
  6851. pxNewQueue_2(D)->u.xSemaphore.xMutexHolder = 0B;
  6852. # DEBUG BEGIN_STMT
  6853. pxNewQueue_2(D)->pcHead = 0B;
  6854. # DEBUG BEGIN_STMT
  6855. pxNewQueue_2(D)->u.xSemaphore.uxRecursiveCallCount = 0;
  6856. # DEBUG BEGIN_STMT
  6857. # DEBUG BEGIN_STMT
  6858. xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0);
  6859. <bb 4> [local count: 1073741824]:
  6860. # DEBUG BEGIN_STMT
  6861. return;
  6862. }
  6863. prvInitialiseNewQueue (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t * pucQueueStorage, const uint8_t ucQueueType, struct Queue_t * pxNewQueue)
  6864. {
  6865. <bb 2> [local count: 1073741824]:
  6866. # DEBUG BEGIN_STMT
  6867. # DEBUG BEGIN_STMT
  6868. if (uxItemSize_2(D) == 0)
  6869. goto <bb 3>; [50.00%]
  6870. else
  6871. goto <bb 4>; [50.00%]
  6872. <bb 3> [local count: 536870913]:
  6873. # DEBUG BEGIN_STMT
  6874. pxNewQueue_4(D)->pcHead = pxNewQueue_4(D);
  6875. goto <bb 5>; [100.00%]
  6876. <bb 4> [local count: 536870913]:
  6877. # DEBUG BEGIN_STMT
  6878. pxNewQueue_4(D)->pcHead = pucQueueStorage_5(D);
  6879. <bb 5> [local count: 1073741824]:
  6880. # DEBUG BEGIN_STMT
  6881. pxNewQueue_4(D)->uxLength = uxQueueLength_8(D);
  6882. # DEBUG BEGIN_STMT
  6883. pxNewQueue_4(D)->uxItemSize = uxItemSize_2(D);
  6884. # DEBUG BEGIN_STMT
  6885. xQueueGenericReset (pxNewQueue_4(D), 1);
  6886. # DEBUG BEGIN_STMT
  6887. pxNewQueue_4(D)->ucQueueType = ucQueueType_12(D);
  6888. # DEBUG BEGIN_STMT
  6889. return;
  6890. }
  6891. xQueueGenericCreate (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType)
  6892. {
  6893. uint32_t ulNewBASEPRI;
  6894. uint8_t * pucQueueStorage;
  6895. struct Queue_t * pxNewQueue;
  6896. __complex__ long unsigned int _1;
  6897. long unsigned int _2;
  6898. long unsigned int _3;
  6899. unsigned int _4;
  6900. <bb 2> [local count: 117029]:
  6901. # DEBUG BEGIN_STMT
  6902. # DEBUG pxNewQueue => 0B
  6903. # DEBUG BEGIN_STMT
  6904. # DEBUG BEGIN_STMT
  6905. # DEBUG BEGIN_STMT
  6906. if (uxQueueLength_6(D) != 0)
  6907. goto <bb 3>; [50.00%]
  6908. else
  6909. goto <bb 7>; [50.00%]
  6910. <bb 3> [local count: 58514]:
  6911. _1 = .MUL_OVERFLOW (uxItemSize_7(D), uxQueueLength_6(D));
  6912. _2 = IMAGPART_EXPR <_1>;
  6913. if (_2 == 0)
  6914. goto <bb 4>; [50.00%]
  6915. else
  6916. goto <bb 7>; [50.00%]
  6917. <bb 4> [local count: 29257]:
  6918. _3 = uxQueueLength_6(D) * uxItemSize_7(D);
  6919. if (_3 <= 4294967215)
  6920. goto <bb 5>; [33.00%]
  6921. else
  6922. goto <bb 7>; [67.00%]
  6923. <bb 5> [local count: 9655]:
  6924. # DEBUG BEGIN_STMT
  6925. # DEBUG xQueueSizeInBytes => _3
  6926. # DEBUG BEGIN_STMT
  6927. _4 = _3 + 80;
  6928. pxNewQueue_10 = pvPortMalloc (_4);
  6929. # DEBUG pxNewQueue => pxNewQueue_10
  6930. # DEBUG BEGIN_STMT
  6931. if (pxNewQueue_10 != 0B)
  6932. goto <bb 6>; [53.47%]
  6933. else
  6934. goto <bb 9>; [46.53%]
  6935. <bb 6> [local count: 5162]:
  6936. # DEBUG BEGIN_STMT
  6937. # DEBUG pucQueueStorage => pxNewQueue_10
  6938. # DEBUG BEGIN_STMT
  6939. pucQueueStorage_11 = pxNewQueue_10 + 80;
  6940. # DEBUG pucQueueStorage => pucQueueStorage_11
  6941. # DEBUG BEGIN_STMT
  6942. prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10);
  6943. goto <bb 9>; [100.00%]
  6944. <bb 7> [local count: 107374]:
  6945. # DEBUG BEGIN_STMT
  6946. # DEBUG BEGIN_STMT
  6947. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6948. # DEBUG BEGIN_STMT
  6949. # DEBUG BEGIN_STMT
  6950. __asm__ __volatile__(" mov %0, %1
  6951. msr basepri, %0
  6952. isb
  6953. dsb
  6954. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  6955. # DEBUG ulNewBASEPRI => ulNewBASEPRI_14
  6956. <bb 8> [local count: 1073741824]:
  6957. # DEBUG ulNewBASEPRI => NULL
  6958. # DEBUG BEGIN_STMT
  6959. # DEBUG BEGIN_STMT
  6960. # DEBUG BEGIN_STMT
  6961. <bb 10> [local count: 1073741824]:
  6962. goto <bb 8>; [100.00%]
  6963. <bb 9> [local count: 9655]:
  6964. # DEBUG pxNewQueue => pxNewQueue_10
  6965. # DEBUG BEGIN_STMT
  6966. # DEBUG BEGIN_STMT
  6967. # DEBUG BEGIN_STMT
  6968. return pxNewQueue_10;
  6969. }
  6970. xQueueGenericReset (struct QueueDefinition * xQueue, BaseType_t xNewQueue)
  6971. {
  6972. BaseType_t D.7333;
  6973. uint32_t ulNewBASEPRI;
  6974. uint32_t ulNewBASEPRI;
  6975. long unsigned int _1;
  6976. __complex__ long unsigned int _2;
  6977. long unsigned int _3;
  6978. long unsigned int _4;
  6979. <bb 2> [local count: 183702]:
  6980. # DEBUG BEGIN_STMT
  6981. # DEBUG xReturn => 1
  6982. # DEBUG BEGIN_STMT
  6983. # DEBUG pxQueue => xQueue_5(D)
  6984. # DEBUG BEGIN_STMT
  6985. if (xQueue_5(D) == 0B)
  6986. goto <bb 3>; [30.00%]
  6987. else
  6988. goto <bb 5>; [70.00%]
  6989. <bb 3> [local count: 55111]:
  6990. # DEBUG BEGIN_STMT
  6991. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  6992. # DEBUG BEGIN_STMT
  6993. # DEBUG BEGIN_STMT
  6994. __asm__ __volatile__(" mov %0, %1
  6995. msr basepri, %0
  6996. isb
  6997. dsb
  6998. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  6999. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  7000. <bb 4> [local count: 551107865]:
  7001. # DEBUG ulNewBASEPRI => NULL
  7002. # DEBUG BEGIN_STMT
  7003. # DEBUG BEGIN_STMT
  7004. # DEBUG BEGIN_STMT
  7005. <bb 10> [local count: 551107865]:
  7006. goto <bb 4>; [100.00%]
  7007. <bb 5> [local count: 128592]:
  7008. # DEBUG BEGIN_STMT
  7009. # DEBUG BEGIN_STMT
  7010. _1 = MEM[(struct Queue_t *)xQueue_5(D)].uxLength;
  7011. if (_1 != 0)
  7012. goto <bb 6>; [50.00%]
  7013. else
  7014. goto <bb 8>; [50.00%]
  7015. <bb 6> [local count: 64296]:
  7016. _3 = MEM[(struct Queue_t *)xQueue_5(D)].uxItemSize;
  7017. _2 = .MUL_OVERFLOW (_3, _1);
  7018. _4 = IMAGPART_EXPR <_2>;
  7019. if (_4 == 0)
  7020. goto <bb 7>; [33.00%]
  7021. else
  7022. goto <bb 8>; [67.00%]
  7023. <bb 7> [local count: 21218]:
  7024. _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D));
  7025. return _13;
  7026. <bb 8> [local count: 107374]:
  7027. # DEBUG xReturn => NULL
  7028. # DEBUG BEGIN_STMT
  7029. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  7030. # DEBUG BEGIN_STMT
  7031. # DEBUG BEGIN_STMT
  7032. __asm__ __volatile__(" mov %0, %1
  7033. msr basepri, %0
  7034. isb
  7035. dsb
  7036. " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  7037. # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
  7038. <bb 9> [local count: 1073741824]:
  7039. # DEBUG ulNewBASEPRI => NULL
  7040. # DEBUG BEGIN_STMT
  7041. # DEBUG BEGIN_STMT
  7042. # DEBUG BEGIN_STMT
  7043. <bb 11> [local count: 1073741824]:
  7044. goto <bb 9>; [100.00%]
  7045. }