queue.c.079i.static-var 168 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465
  1. callgraph:
  2. vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @05df8b60
  3. Type: function definition analyzed
  4. Visibility: prevailing_def_ironly artificial
  5. References:
  6. Referring:
  7. Function vQueueUnregisterQueue.part.0/114 is inline copy in vQueueUnregisterQueue/40
  8. Availability: local
  9. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  10. Called by: vQueueUnregisterQueue/40 (inlined) (107374 (estimated locally),0.30 per call)
  11. Calls:
  12. xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @05df82a0
  13. Type: function definition analyzed
  14. Visibility: prevailing_def_ironly artificial
  15. References:
  16. Referring:
  17. Function xQueueGenericReset.part.0/65 is inline copy in xQueueGenericReset/5
  18. Availability: local
  19. Function flags: count:21218 (estimated locally) first_run:1 body local split_part optimize_size
  20. Called by: xQueueGenericReset/5 (inlined) (21218 (estimated locally),0.12 per call)
  21. 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)
  22. vTaskPlaceOnEventListRestricted/62 (vTaskPlaceOnEventListRestricted) @05f9a620
  23. Type: function
  24. Visibility: external public
  25. References:
  26. Referring:
  27. Availability: not_available
  28. Function flags: optimize_size
  29. Called by: vQueueWaitForMessageRestricted/41 (354334802 (estimated locally),0.33 per call)
  30. Calls:
  31. vPortFree/61 (vPortFree) @05f79ee0
  32. Type: function
  33. Visibility: external public
  34. References:
  35. Referring:
  36. Availability: not_available
  37. Function flags: optimize_size
  38. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  39. Calls:
  40. vTaskPriorityDisinheritAfterTimeout/60 (vTaskPriorityDisinheritAfterTimeout) @05f79380
  41. Type: function
  42. Visibility: external public
  43. References:
  44. Referring:
  45. Availability: not_available
  46. Function flags: optimize_size
  47. Called by: xQueueSemaphoreTake/19 (2502 (estimated locally),0.01 per call)
  48. Calls:
  49. xTaskPriorityInherit/59 (xTaskPriorityInherit) @05f792a0
  50. Type: function
  51. Visibility: external public
  52. References:
  53. Referring:
  54. Availability: not_available
  55. Function flags: optimize_size
  56. Called by: xQueueSemaphoreTake/19 (24195 (estimated locally),0.11 per call)
  57. Calls:
  58. pvTaskIncrementMutexHeldCount/58 (pvTaskIncrementMutexHeldCount) @05f791c0
  59. Type: function
  60. Visibility: external public
  61. References:
  62. Referring:
  63. Availability: not_available
  64. Function flags: optimize_size
  65. Called by: xQueueSemaphoreTake/19 (2848 (estimated locally),0.01 per call)
  66. Calls:
  67. vPortValidateInterruptPriority/57 (vPortValidateInterruptPriority) @05f53620
  68. Type: function
  69. Visibility: external public
  70. References:
  71. Referring:
  72. Availability: not_available
  73. Function flags: optimize_size
  74. 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)
  75. Calls:
  76. vTaskMissedYield/56 (vTaskMissedYield) @05f532a0
  77. Type: function
  78. Visibility: external public
  79. References:
  80. Referring:
  81. Availability: not_available
  82. Function flags: optimize_size
  83. Called by: prvUnlockQueue/33 (316429830 (estimated locally),2.75 per call) prvUnlockQueue/33 (316429836 (estimated locally),2.75 per call)
  84. Calls:
  85. memcpy/55 (memcpy) @05f53000
  86. Type: function
  87. Visibility: external public
  88. References:
  89. Referring:
  90. Availability: not_available
  91. Function flags: optimize_size
  92. 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)
  93. Calls:
  94. xTaskPriorityDisinherit/54 (xTaskPriorityDisinherit) @05f058c0
  95. Type: function
  96. Visibility: external public
  97. References:
  98. Referring:
  99. Availability: not_available
  100. Function flags: optimize_size
  101. Called by: prvCopyDataToQueue/31 (93576600 (estimated locally),0.09 per call)
  102. Calls:
  103. xTaskResumeAll/53 (xTaskResumeAll) @05f05e00
  104. Type: function
  105. Visibility: external public
  106. References:
  107. Referring:
  108. Availability: not_available
  109. Function flags: optimize_size
  110. 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)
  111. Calls:
  112. vTaskPlaceOnEventList/52 (vTaskPlaceOnEventList) @05f05d20
  113. Type: function
  114. Visibility: external public
  115. References:
  116. Referring:
  117. Availability: not_available
  118. Function flags: optimize_size
  119. 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)
  120. Calls:
  121. xTaskCheckForTimeOut/51 (xTaskCheckForTimeOut) @05f05c40
  122. Type: function
  123. Visibility: external public
  124. References:
  125. Referring:
  126. Availability: not_available
  127. Function flags: optimize_size
  128. 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)
  129. Calls:
  130. vTaskSuspendAll/50 (vTaskSuspendAll) @05f05b60
  131. Type: function
  132. Visibility: external public
  133. References:
  134. Referring:
  135. Availability: not_available
  136. Function flags: optimize_size
  137. 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)
  138. Calls:
  139. vTaskInternalSetTimeOutState/49 (vTaskInternalSetTimeOutState) @05f05a80
  140. Type: function
  141. Visibility: external public
  142. References:
  143. Referring:
  144. Availability: not_available
  145. Function flags: optimize_size
  146. 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)
  147. Calls:
  148. xTaskGetSchedulerState/48 (xTaskGetSchedulerState) @05f059a0
  149. Type: function
  150. Visibility: external public
  151. References:
  152. Referring:
  153. Availability: not_available
  154. Function flags: optimize_size
  155. 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)
  156. Calls:
  157. xTaskGetCurrentTaskHandle/47 (xTaskGetCurrentTaskHandle) @05f05460
  158. Type: function
  159. Visibility: external public
  160. References:
  161. Referring:
  162. Availability: not_available
  163. Function flags: optimize_size
  164. Called by: xQueueTakeMutexRecursive/13 (123389 (estimated locally),0.53 per call) xQueueGiveMutexRecursive/12 (123389 (estimated locally),0.53 per call)
  165. Calls:
  166. pvPortMalloc/46 (pvPortMalloc) @05ef2000
  167. Type: function
  168. Visibility: external public
  169. References:
  170. Referring:
  171. Availability: not_available
  172. Function flags: optimize_size
  173. Called by: xQueueGenericCreate/6 (9655 (estimated locally),0.08 per call)
  174. Calls:
  175. vPortExitCritical/45 (vPortExitCritical) @05ef2d20
  176. Type: function
  177. Visibility: external public
  178. References:
  179. Referring:
  180. Availability: not_available
  181. Function flags: optimize_size
  182. 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)
  183. Calls:
  184. vListInitialise/44 (vListInitialise) @05ef2c40
  185. Type: function
  186. Visibility: external public
  187. References:
  188. Referring:
  189. Availability: not_available
  190. Function flags: optimize_size
  191. Called by: xQueueGenericReset.part.0/65 (7002 (estimated locally),0.04 per call) xQueueGenericReset.part.0/65 (7002 (estimated locally),0.04 per call)
  192. Calls:
  193. xTaskRemoveFromEventList/43 (xTaskRemoveFromEventList) @05ef2b60
  194. Type: function
  195. Visibility: external public
  196. References:
  197. Referring:
  198. Availability: not_available
  199. Function flags: optimize_size
  200. 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)
  201. Calls:
  202. vPortEnterCritical/42 (vPortEnterCritical) @05ef2a80
  203. Type: function
  204. Visibility: external public
  205. References:
  206. Referring:
  207. Availability: not_available
  208. Function flags: optimize_size
  209. 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)
  210. Calls:
  211. vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @05ef2540
  212. Type: function definition analyzed
  213. Visibility: externally_visible public
  214. References:
  215. Referring:
  216. Availability: available
  217. Function flags: count:1073741824 (estimated locally) body optimize_size
  218. Called by:
  219. 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)
  220. vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05ef22a0
  221. Type: function definition analyzed
  222. Visibility: externally_visible public
  223. References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write)
  224. Referring:
  225. Availability: available
  226. Function flags: count:357913 (estimated locally) body optimize_size
  227. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  228. Calls: vQueueUnregisterQueue.part.0/114 (inlined) (107374 (estimated locally),0.30 per call)
  229. pcQueueGetName/39 (pcQueueGetName) @05eece00
  230. Type: function definition analyzed
  231. Visibility: externally_visible public
  232. References: xQueueRegistry/4 (read)xQueueRegistry/4 (read)
  233. Referring:
  234. Availability: available
  235. Function flags: count:357913 (estimated locally) body optimize_size
  236. Called by:
  237. Calls:
  238. vQueueAddToRegistry/38 (vQueueAddToRegistry) @05eec460
  239. Type: function definition analyzed
  240. Visibility: externally_visible public
  241. References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr)
  242. Referring:
  243. Availability: available
  244. Function flags: count:357913 (estimated locally) body optimize_size
  245. Called by:
  246. Calls:
  247. xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05eecd20
  248. Type: function definition analyzed
  249. Visibility: externally_visible public
  250. References:
  251. Referring:
  252. Availability: available
  253. Function flags: count:357913 (estimated locally) body optimize_size
  254. Called by:
  255. Calls:
  256. prvIsQueueFull/36 (prvIsQueueFull) @05eec9a0
  257. Type: function definition analyzed
  258. Visibility: prevailing_def_ironly
  259. References:
  260. Referring:
  261. Function prvIsQueueFull/36 is inline copy in xQueueGenericSend/15
  262. Availability: local
  263. Function flags: count:896877 (estimated locally) body local optimize_size
  264. Called by: xQueueGenericSend/15 (inlined) (896877 (estimated locally),2.51 per call)
  265. Calls: vPortExitCritical/45 (896877 (estimated locally),2.51 per call) vPortEnterCritical/42 (896877 (estimated locally),2.51 per call)
  266. xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @05eec700
  267. Type: function definition analyzed
  268. Visibility: externally_visible public
  269. References:
  270. Referring:
  271. Availability: available
  272. Function flags: count:357913 (estimated locally) body optimize_size
  273. Called by:
  274. Calls:
  275. prvIsQueueEmpty/34 (prvIsQueueEmpty) @05eec380
  276. Type: function definition analyzed
  277. Visibility: prevailing_def_ironly
  278. References:
  279. Referring:
  280. Availability: local
  281. Function flags: count:1073741824 (estimated locally) body local optimize_size
  282. 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)
  283. Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  284. prvUnlockQueue/33 (prvUnlockQueue) @05eec0e0
  285. Type: function definition analyzed
  286. Visibility: prevailing_def_ironly
  287. References:
  288. Referring:
  289. Availability: local
  290. Function flags: count:114863534 (estimated locally) body local optimize_size
  291. 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)
  292. 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)
  293. prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05ee38c0
  294. Type: function definition analyzed
  295. Visibility: prevailing_def_ironly
  296. References:
  297. Referring:
  298. Availability: local
  299. Function flags: count:1073741824 (estimated locally) body local optimize_size
  300. 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)
  301. Calls: memcpy/55 (536870913 (estimated locally),0.50 per call)
  302. prvCopyDataToQueue/31 (prvCopyDataToQueue) @05ee3380
  303. Type: function definition analyzed
  304. Visibility: prevailing_def_ironly
  305. References:
  306. Referring:
  307. Availability: local
  308. Function flags: count:1073741823 (estimated locally) body local optimize_size
  309. Called by: xQueueGenericSendFromISR/16 (78710 (estimated locally),0.22 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call)
  310. 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)
  311. prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05ee3e00
  312. Type: function definition analyzed
  313. Visibility: prevailing_def_ironly
  314. References:
  315. Referring:
  316. Function prvGetDisinheritPriorityAfterTimeout/30 is inline copy in xQueueSemaphoreTake/19
  317. Availability: local
  318. Function flags: count:2502 (estimated locally) body local nonfreeing_fn optimize_size
  319. Called by: xQueueSemaphoreTake/19 (inlined) (2502 (estimated locally),0.01 per call)
  320. Calls:
  321. ucQueueGetQueueType/29 (ucQueueGetQueueType) @05ee3a80
  322. Type: function definition analyzed
  323. Visibility: externally_visible public
  324. References:
  325. Referring:
  326. Availability: available
  327. Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  328. Called by:
  329. Calls:
  330. vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05ee37e0
  331. Type: function definition analyzed
  332. Visibility: externally_visible public
  333. References:
  334. Referring:
  335. Availability: available
  336. Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  337. Called by:
  338. Calls:
  339. uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05ee3540
  340. Type: function definition analyzed
  341. Visibility: externally_visible public
  342. References:
  343. Referring:
  344. Availability: available
  345. Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  346. Called by:
  347. Calls:
  348. vQueueDelete/26 (vQueueDelete) @05ee32a0
  349. Type: function definition analyzed
  350. Visibility: externally_visible public
  351. References:
  352. Referring:
  353. Availability: available
  354. Function flags: count:230763 (estimated locally) body optimize_size
  355. Called by:
  356. Calls: vPortFree/61 (123389 (estimated locally),0.53 per call) vQueueUnregisterQueue/40 (123389 (estimated locally),0.53 per call)
  357. uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05edad20
  358. Type: function definition analyzed
  359. Visibility: externally_visible public
  360. References:
  361. Referring:
  362. Availability: available
  363. Function flags: count:357913 (estimated locally) body optimize_size
  364. Called by:
  365. Calls:
  366. uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05eda0e0
  367. Type: function definition analyzed
  368. Visibility: externally_visible public
  369. References:
  370. Referring:
  371. Availability: available
  372. Function flags: count:230763 (estimated locally) body optimize_size
  373. Called by:
  374. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  375. uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05edac40
  376. Type: function definition analyzed
  377. Visibility: externally_visible public
  378. References:
  379. Referring:
  380. Availability: available
  381. Function flags: count:230763 (estimated locally) body optimize_size
  382. Called by:
  383. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  384. xQueuePeekFromISR/22 (xQueuePeekFromISR) @05eda8c0
  385. Type: function definition analyzed
  386. Visibility: externally_visible public
  387. References:
  388. Referring:
  389. Availability: available
  390. Function flags: count:269344 (estimated locally) body optimize_size
  391. Called by:
  392. Calls: prvCopyDataFromQueue/32 (17452 (estimated locally),0.06 per call) vPortValidateInterruptPriority/57 (52886 (estimated locally),0.20 per call)
  393. xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05eda460
  394. Type: function definition analyzed
  395. Visibility: externally_visible public
  396. References:
  397. Referring:
  398. Availability: available
  399. Function flags: count:357913 (estimated locally) body optimize_size
  400. Called by:
  401. 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)
  402. xQueuePeek/20 (xQueuePeek) @05eda000
  403. Type: function definition analyzed
  404. Visibility: externally_visible public
  405. References:
  406. Referring:
  407. Availability: available
  408. Function flags: count:357913 (estimated locally) body optimize_size
  409. Called by:
  410. 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)
  411. xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05ec8c40
  412. Type: function definition analyzed
  413. Visibility: externally_visible public
  414. References:
  415. Referring:
  416. Availability: available
  417. Function flags: count:228942 (estimated locally) body optimize_size
  418. Called by: xQueueTakeMutexRecursive/13 (65976 (estimated locally),0.29 per call)
  419. 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)
  420. xQueueReceive/18 (xQueueReceive) @05ec8540
  421. Type: function definition analyzed
  422. Visibility: externally_visible public
  423. References:
  424. Referring:
  425. Availability: available
  426. Function flags: count:357913 (estimated locally) body optimize_size
  427. Called by:
  428. 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)
  429. xQueueGiveFromISR/17 (xQueueGiveFromISR) @05e68d20
  430. Type: function definition analyzed
  431. Visibility: externally_visible public
  432. References:
  433. Referring:
  434. Availability: available
  435. Function flags: count:306783 (estimated locally) body optimize_size
  436. Called by:
  437. Calls: xTaskRemoveFromEventList/43 (4062 (estimated locally),0.01 per call) vPortValidateInterruptPriority/57 (72401 (estimated locally),0.24 per call)
  438. xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05e68c40
  439. Type: function definition analyzed
  440. Visibility: externally_visible public
  441. References:
  442. Referring:
  443. Availability: available
  444. Function flags: count:357913 (estimated locally) body optimize_size
  445. Called by:
  446. 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)
  447. xQueueGenericSend/15 (xQueueGenericSend) @05e687e0
  448. Type: function definition analyzed
  449. Visibility: externally_visible public
  450. References:
  451. Referring:
  452. Availability: available
  453. Function flags: count:357913 (estimated locally) body optimize_size
  454. Called by: xQueueGiveMutexRecursive/12 (12216 (estimated locally),0.05 per call) prvInitialiseMutex/8 (574129754 (estimated locally),0.53 per call)
  455. 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)
  456. xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @05e680e0
  457. Type: function definition analyzed
  458. Visibility: externally_visible public
  459. References:
  460. Referring:
  461. Availability: available
  462. Function flags: count:128592 (estimated locally) body optimize_size
  463. Called by:
  464. Calls: xQueueGenericCreate/6 (21218 (estimated locally),0.17 per call)
  465. xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05e609a0
  466. Type: function definition analyzed
  467. Visibility: externally_visible public
  468. References:
  469. Referring:
  470. Availability: available
  471. Function flags: count:230763 (estimated locally) body optimize_size
  472. Called by:
  473. Calls: xQueueSemaphoreTake/19 (65976 (estimated locally),0.29 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  474. xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05e600e0
  475. Type: function definition analyzed
  476. Visibility: externally_visible public
  477. References:
  478. Referring:
  479. Availability: available
  480. Function flags: count:230763 (estimated locally) body optimize_size
  481. Called by:
  482. Calls: xQueueGenericSend/15 (12216 (estimated locally),0.05 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  483. xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05e60c40
  484. Type: function definition analyzed
  485. Visibility: externally_visible public
  486. References:
  487. Referring:
  488. Availability: available
  489. Function flags: count:357913 (estimated locally) body optimize_size
  490. Called by:
  491. Calls:
  492. xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05e608c0
  493. Type: function definition analyzed
  494. Visibility: externally_visible public
  495. References:
  496. Referring:
  497. Availability: available
  498. Function flags: count:230763 (estimated locally) body optimize_size
  499. Called by:
  500. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  501. xQueueCreateMutex/9 (xQueueCreateMutex) @05e60540
  502. Type: function definition analyzed
  503. Visibility: externally_visible public
  504. References:
  505. Referring:
  506. Availability: available
  507. Function flags: count:1073741824 (estimated locally) body optimize_size
  508. Called by:
  509. Calls: prvInitialiseMutex/8 (inlined) (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call)
  510. prvInitialiseMutex/8 (prvInitialiseMutex) @05e602a0
  511. Type: function definition analyzed
  512. Visibility: prevailing_def_ironly
  513. References:
  514. Referring:
  515. Function prvInitialiseMutex/8 is inline copy in xQueueCreateMutex/9
  516. Availability: local
  517. Function flags: count:1073741824 (estimated locally) body local optimize_size
  518. Called by: xQueueCreateMutex/9 (inlined) (1073741824 (estimated locally),1.00 per call)
  519. Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call)
  520. prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @05e60000
  521. Type: function definition analyzed
  522. Visibility: prevailing_def_ironly
  523. References:
  524. Referring:
  525. Function prvInitialiseNewQueue/7 is inline copy in xQueueGenericCreate/6
  526. Availability: local
  527. Function flags: count:5162 (estimated locally) body local optimize_size
  528. Called by: xQueueGenericCreate/6 (inlined) (5162 (estimated locally),0.04 per call)
  529. Calls: xQueueGenericReset/5 (5162 (estimated locally),0.04 per call)
  530. xQueueGenericCreate/6 (xQueueGenericCreate) @05e767e0
  531. Type: function definition analyzed
  532. Visibility: externally_visible public
  533. References:
  534. Referring:
  535. Availability: available
  536. Function flags: count:117029 (estimated locally) body optimize_size
  537. Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) xQueueCreateCountingSemaphore/14 (21218 (estimated locally),0.17 per call)
  538. Calls: prvInitialiseNewQueue/7 (inlined) (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call)
  539. xQueueGenericReset/5 (xQueueGenericReset) @05e76c40
  540. Type: function definition analyzed
  541. Visibility: externally_visible public
  542. References:
  543. Referring:
  544. Availability: available
  545. Function flags: count:183702 (estimated locally) body optimize_size
  546. Called by: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call)
  547. Calls: xQueueGenericReset.part.0/65 (inlined) (21218 (estimated locally),0.12 per call)
  548. Clearing variable flags:
  549. Function name:vQueueUnregisterQueue.part.0/114:
  550. locals read:
  551. locals written:
  552. Function name:xQueueGenericReset.part.0/65:
  553. locals read:
  554. locals written:
  555. Function name:vQueueWaitForMessageRestricted/41:
  556. locals read:
  557. locals written:
  558. Function name:vQueueUnregisterQueue/40:
  559. locals read:
  560. locals written:
  561. Function name:pcQueueGetName/39:
  562. locals read:
  563. locals written:
  564. Function name:vQueueAddToRegistry/38:
  565. locals read:
  566. locals written:
  567. Function name:xQueueIsQueueFullFromISR/37:
  568. locals read:
  569. locals written:
  570. Function name:prvIsQueueFull/36:
  571. locals read:
  572. locals written:
  573. Function name:xQueueIsQueueEmptyFromISR/35:
  574. locals read:
  575. locals written:
  576. Function name:prvIsQueueEmpty/34:
  577. locals read:
  578. locals written:
  579. Function name:prvUnlockQueue/33:
  580. locals read:
  581. locals written:
  582. Function name:prvCopyDataFromQueue/32:
  583. locals read:
  584. locals written:
  585. Function name:prvCopyDataToQueue/31:
  586. locals read:
  587. locals written:
  588. Function name:prvGetDisinheritPriorityAfterTimeout/30:
  589. locals read:
  590. locals written:
  591. Function name:ucQueueGetQueueType/29:
  592. locals read:
  593. locals written:
  594. Function name:vQueueSetQueueNumber/28:
  595. locals read:
  596. locals written:
  597. Function name:uxQueueGetQueueNumber/27:
  598. locals read:
  599. locals written:
  600. Function name:vQueueDelete/26:
  601. locals read:
  602. locals written:
  603. Function name:uxQueueMessagesWaitingFromISR/25:
  604. locals read:
  605. locals written:
  606. Function name:uxQueueSpacesAvailable/24:
  607. locals read:
  608. locals written:
  609. Function name:uxQueueMessagesWaiting/23:
  610. locals read:
  611. locals written:
  612. Function name:xQueuePeekFromISR/22:
  613. locals read:
  614. locals written:
  615. Function name:xQueueReceiveFromISR/21:
  616. locals read:
  617. locals written:
  618. Function name:xQueuePeek/20:
  619. locals read:
  620. locals written:
  621. Function name:xQueueSemaphoreTake/19:
  622. locals read:
  623. locals written:
  624. Function name:xQueueReceive/18:
  625. locals read:
  626. locals written:
  627. Function name:xQueueGiveFromISR/17:
  628. locals read:
  629. locals written:
  630. Function name:xQueueGenericSendFromISR/16:
  631. locals read:
  632. locals written:
  633. Function name:xQueueGenericSend/15:
  634. locals read:
  635. locals written:
  636. Function name:xQueueCreateCountingSemaphore/14:
  637. locals read:
  638. locals written:
  639. Function name:xQueueTakeMutexRecursive/13:
  640. locals read:
  641. locals written:
  642. Function name:xQueueGiveMutexRecursive/12:
  643. locals read:
  644. locals written:
  645. Function name:xQueueGetMutexHolderFromISR/11:
  646. locals read:
  647. locals written:
  648. Function name:xQueueGetMutexHolder/10:
  649. locals read:
  650. locals written:
  651. Function name:xQueueCreateMutex/9:
  652. locals read:
  653. locals written:
  654. Function name:prvInitialiseMutex/8:
  655. locals read:
  656. locals written:
  657. Function name:prvInitialiseNewQueue/7:
  658. locals read:
  659. locals written:
  660. Function name:xQueueGenericCreate/6:
  661. locals read:
  662. locals written:
  663. Function name:xQueueGenericReset/5:
  664. locals read:
  665. locals written:
  666. ordered call graph: reduced
  667. vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @05ef2540
  668. Type: function definition analyzed
  669. Visibility: externally_visible public
  670. Aux: @060c8a18
  671. References:
  672. Referring:
  673. Availability: available
  674. Function flags: count:1073741824 (estimated locally) body optimize_size
  675. Called by:
  676. 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)
  677. pcQueueGetName/39 (pcQueueGetName) @05eece00
  678. Type: function definition analyzed
  679. Visibility: externally_visible public
  680. Aux: @060c88f8
  681. References: xQueueRegistry/4 (read)xQueueRegistry/4 (read)
  682. Referring:
  683. Availability: available
  684. Function flags: count:357913 (estimated locally) body optimize_size
  685. Called by:
  686. Calls:
  687. vQueueAddToRegistry/38 (vQueueAddToRegistry) @05eec460
  688. Type: function definition analyzed
  689. Visibility: externally_visible public
  690. Aux: @060c8c78
  691. References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr)
  692. Referring:
  693. Availability: available
  694. Function flags: count:357913 (estimated locally) body optimize_size
  695. Called by:
  696. Calls:
  697. xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05eecd20
  698. Type: function definition analyzed
  699. Visibility: externally_visible public
  700. Aux: @060c8a38
  701. References:
  702. Referring:
  703. Availability: available
  704. Function flags: count:357913 (estimated locally) body optimize_size
  705. Called by:
  706. Calls:
  707. xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @05eec700
  708. Type: function definition analyzed
  709. Visibility: externally_visible public
  710. Aux: @060c89f8
  711. References:
  712. Referring:
  713. Availability: available
  714. Function flags: count:357913 (estimated locally) body optimize_size
  715. Called by:
  716. Calls:
  717. ucQueueGetQueueType/29 (ucQueueGetQueueType) @05ee3a80
  718. Type: function definition analyzed
  719. Visibility: externally_visible public
  720. Aux: @060c88d8
  721. References:
  722. Referring:
  723. Availability: available
  724. Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  725. Called by:
  726. Calls:
  727. vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05ee37e0
  728. Type: function definition analyzed
  729. Visibility: externally_visible public
  730. Aux: @060c8ab8
  731. References:
  732. Referring:
  733. Availability: available
  734. Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  735. Called by:
  736. Calls:
  737. uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05ee3540
  738. Type: function definition analyzed
  739. Visibility: externally_visible public
  740. Aux: @060c8b78
  741. References:
  742. Referring:
  743. Availability: available
  744. Function flags: count:1073741824 (estimated locally) body nonfreeing_fn optimize_size
  745. Called by:
  746. Calls:
  747. vQueueDelete/26 (vQueueDelete) @05ee32a0
  748. Type: function definition analyzed
  749. Visibility: externally_visible public
  750. Aux: @060c8a58
  751. References:
  752. Referring:
  753. Availability: available
  754. Function flags: count:230763 (estimated locally) body optimize_size
  755. Called by:
  756. Calls: vPortFree/61 (123389 (estimated locally),0.53 per call) vQueueUnregisterQueue/40 (123389 (estimated locally),0.53 per call)
  757. vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05ef22a0
  758. Type: function definition analyzed
  759. Visibility: externally_visible public
  760. Aux: @060c8b18
  761. References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write)
  762. Referring:
  763. Availability: available
  764. Function flags: count:357913 (estimated locally) body optimize_size
  765. Called by: vQueueDelete/26 (123389 (estimated locally),0.53 per call)
  766. Calls: vQueueUnregisterQueue.part.0/114 (inlined) (107374 (estimated locally),0.30 per call)
  767. vQueueUnregisterQueue.part.0/114 (vQueueUnregisterQueue.part.0) @05df8b60
  768. Type: function definition analyzed
  769. Visibility: prevailing_def_ironly artificial
  770. Aux: @060c8bf8
  771. References:
  772. Referring:
  773. Function vQueueUnregisterQueue.part.0/114 is inline copy in vQueueUnregisterQueue/40
  774. Availability: local
  775. Function flags: count:107374 (estimated locally) first_run:1 body local split_part optimize_size
  776. Called by: vQueueUnregisterQueue/40 (inlined) (107374 (estimated locally),0.30 per call)
  777. Calls:
  778. uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05edad20
  779. Type: function definition analyzed
  780. Visibility: externally_visible public
  781. Aux: @060c8978
  782. References:
  783. Referring:
  784. Availability: available
  785. Function flags: count:357913 (estimated locally) body optimize_size
  786. Called by:
  787. Calls:
  788. uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05eda0e0
  789. Type: function definition analyzed
  790. Visibility: externally_visible public
  791. Aux: @060c8a98
  792. References:
  793. Referring:
  794. Availability: available
  795. Function flags: count:230763 (estimated locally) body optimize_size
  796. Called by:
  797. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  798. uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05edac40
  799. Type: function definition analyzed
  800. Visibility: externally_visible public
  801. Aux: @060c89b8
  802. References:
  803. Referring:
  804. Availability: available
  805. Function flags: count:230763 (estimated locally) body optimize_size
  806. Called by:
  807. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  808. xQueuePeekFromISR/22 (xQueuePeekFromISR) @05eda8c0
  809. Type: function definition analyzed
  810. Visibility: externally_visible public
  811. Aux: @060c8998
  812. References:
  813. Referring:
  814. Availability: available
  815. Function flags: count:269344 (estimated locally) body optimize_size
  816. Called by:
  817. Calls: prvCopyDataFromQueue/32 (17452 (estimated locally),0.06 per call) vPortValidateInterruptPriority/57 (52886 (estimated locally),0.20 per call)
  818. xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05eda460
  819. Type: function definition analyzed
  820. Visibility: externally_visible public
  821. Aux: @060c8918
  822. References:
  823. Referring:
  824. Availability: available
  825. Function flags: count:357913 (estimated locally) body optimize_size
  826. Called by:
  827. 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)
  828. xQueuePeek/20 (xQueuePeek) @05eda000
  829. Type: function definition analyzed
  830. Visibility: externally_visible public
  831. Aux: @060c8bd8
  832. References:
  833. Referring:
  834. Availability: available
  835. Function flags: count:357913 (estimated locally) body optimize_size
  836. Called by:
  837. 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)
  838. xQueueReceive/18 (xQueueReceive) @05ec8540
  839. Type: function definition analyzed
  840. Visibility: externally_visible public
  841. Aux: @060c8c58
  842. References:
  843. Referring:
  844. Availability: available
  845. Function flags: count:357913 (estimated locally) body optimize_size
  846. Called by:
  847. 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)
  848. prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05ee38c0
  849. Type: function definition analyzed
  850. Visibility: prevailing_def_ironly
  851. Aux: @060c8c38
  852. References:
  853. Referring:
  854. Availability: local
  855. Function flags: count:1073741824 (estimated locally) body local optimize_size
  856. 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)
  857. Calls: memcpy/55 (536870913 (estimated locally),0.50 per call)
  858. xQueueGiveFromISR/17 (xQueueGiveFromISR) @05e68d20
  859. Type: function definition analyzed
  860. Visibility: externally_visible public
  861. Aux: @060c8b58
  862. References:
  863. Referring:
  864. Availability: available
  865. Function flags: count:306783 (estimated locally) body optimize_size
  866. Called by:
  867. Calls: xTaskRemoveFromEventList/43 (4062 (estimated locally),0.01 per call) vPortValidateInterruptPriority/57 (72401 (estimated locally),0.24 per call)
  868. xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05e68c40
  869. Type: function definition analyzed
  870. Visibility: externally_visible public
  871. Aux: @060c8b98
  872. References:
  873. Referring:
  874. Availability: available
  875. Function flags: count:357913 (estimated locally) body optimize_size
  876. Called by:
  877. 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)
  878. xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @05e680e0
  879. Type: function definition analyzed
  880. Visibility: externally_visible public
  881. Aux: @060c89d8
  882. References:
  883. Referring:
  884. Availability: available
  885. Function flags: count:128592 (estimated locally) body optimize_size
  886. Called by:
  887. Calls: xQueueGenericCreate/6 (21218 (estimated locally),0.17 per call)
  888. xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05e609a0
  889. Type: function definition analyzed
  890. Visibility: externally_visible public
  891. Aux: @060c8778
  892. References:
  893. Referring:
  894. Availability: available
  895. Function flags: count:230763 (estimated locally) body optimize_size
  896. Called by:
  897. Calls: xQueueSemaphoreTake/19 (65976 (estimated locally),0.29 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  898. xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05ec8c40
  899. Type: function definition analyzed
  900. Visibility: externally_visible public
  901. Aux: @060c8af8
  902. References:
  903. Referring:
  904. Availability: available
  905. Function flags: count:228942 (estimated locally) body optimize_size
  906. Called by: xQueueTakeMutexRecursive/13 (65976 (estimated locally),0.29 per call)
  907. 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)
  908. prvIsQueueEmpty/34 (prvIsQueueEmpty) @05eec380
  909. Type: function definition analyzed
  910. Visibility: prevailing_def_ironly
  911. Aux: @060c8a78
  912. References:
  913. Referring:
  914. Availability: local
  915. Function flags: count:1073741824 (estimated locally) body local optimize_size
  916. 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)
  917. Calls: vPortExitCritical/45 (1073741824 (estimated locally),1.00 per call) vPortEnterCritical/42 (1073741824 (estimated locally),1.00 per call)
  918. prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05ee3e00
  919. Type: function definition analyzed
  920. Visibility: prevailing_def_ironly
  921. Aux: @060c8ad8
  922. References:
  923. Referring:
  924. Function prvGetDisinheritPriorityAfterTimeout/30 is inline copy in xQueueSemaphoreTake/19
  925. Availability: local
  926. Function flags: count:2502 (estimated locally) body local nonfreeing_fn optimize_size
  927. Called by: xQueueSemaphoreTake/19 (inlined) (2502 (estimated locally),0.01 per call)
  928. Calls:
  929. xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05e600e0
  930. Type: function definition analyzed
  931. Visibility: externally_visible public
  932. Aux: @060c85d8
  933. References:
  934. Referring:
  935. Availability: available
  936. Function flags: count:230763 (estimated locally) body optimize_size
  937. Called by:
  938. Calls: xQueueGenericSend/15 (12216 (estimated locally),0.05 per call) xTaskGetCurrentTaskHandle/47 (123389 (estimated locally),0.53 per call)
  939. xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05e60c40
  940. Type: function definition analyzed
  941. Visibility: externally_visible public
  942. Aux: @060c8518
  943. References:
  944. Referring:
  945. Availability: available
  946. Function flags: count:357913 (estimated locally) body optimize_size
  947. Called by:
  948. Calls:
  949. xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05e608c0
  950. Type: function definition analyzed
  951. Visibility: externally_visible public
  952. Aux: @060c8678
  953. References:
  954. Referring:
  955. Availability: available
  956. Function flags: count:230763 (estimated locally) body optimize_size
  957. Called by:
  958. Calls: vPortExitCritical/45 (123389 (estimated locally),0.53 per call) vPortEnterCritical/42 (123389 (estimated locally),0.53 per call)
  959. xQueueCreateMutex/9 (xQueueCreateMutex) @05e60540
  960. Type: function definition analyzed
  961. Visibility: externally_visible public
  962. Aux: @060c8638
  963. References:
  964. Referring:
  965. Availability: available
  966. Function flags: count:1073741824 (estimated locally) body optimize_size
  967. Called by:
  968. Calls: prvInitialiseMutex/8 (inlined) (1073741824 (estimated locally),1.00 per call) xQueueGenericCreate/6 (1073741824 (estimated locally),1.00 per call)
  969. prvInitialiseMutex/8 (prvInitialiseMutex) @05e602a0
  970. Type: function definition analyzed
  971. Visibility: prevailing_def_ironly
  972. Aux: @060c8738
  973. References:
  974. Referring:
  975. Function prvInitialiseMutex/8 is inline copy in xQueueCreateMutex/9
  976. Availability: local
  977. Function flags: count:1073741824 (estimated locally) body local optimize_size
  978. Called by: xQueueCreateMutex/9 (inlined) (1073741824 (estimated locally),1.00 per call)
  979. Calls: xQueueGenericSend/15 (574129754 (estimated locally),0.53 per call)
  980. xQueueGenericSend/15 (xQueueGenericSend) @05e687e0
  981. Type: function definition analyzed
  982. Visibility: externally_visible public
  983. Aux: @060c8bb8
  984. References:
  985. Referring:
  986. Availability: available
  987. Function flags: count:357913 (estimated locally) body optimize_size
  988. Called by: xQueueGiveMutexRecursive/12 (12216 (estimated locally),0.05 per call) prvInitialiseMutex/8 (574129754 (estimated locally),0.53 per call)
  989. 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)
  990. prvCopyDataToQueue/31 (prvCopyDataToQueue) @05ee3380
  991. Type: function definition analyzed
  992. Visibility: prevailing_def_ironly
  993. Aux: @060c8938
  994. References:
  995. Referring:
  996. Availability: local
  997. Function flags: count:1073741823 (estimated locally) body local optimize_size
  998. Called by: xQueueGenericSendFromISR/16 (78710 (estimated locally),0.22 per call) xQueueGenericSend/15 (54391 (estimated locally),0.15 per call)
  999. 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)
  1000. prvIsQueueFull/36 (prvIsQueueFull) @05eec9a0
  1001. Type: function definition analyzed
  1002. Visibility: prevailing_def_ironly
  1003. Aux: @060c8958
  1004. References:
  1005. Referring:
  1006. Function prvIsQueueFull/36 is inline copy in xQueueGenericSend/15
  1007. Availability: local
  1008. Function flags: count:896877 (estimated locally) body local optimize_size
  1009. Called by: xQueueGenericSend/15 (inlined) (896877 (estimated locally),2.51 per call)
  1010. Calls: vPortExitCritical/45 (896877 (estimated locally),2.51 per call) vPortEnterCritical/42 (896877 (estimated locally),2.51 per call)
  1011. prvUnlockQueue/33 (prvUnlockQueue) @05eec0e0
  1012. Type: function definition analyzed
  1013. Visibility: prevailing_def_ironly
  1014. Aux: @060c8c18
  1015. References:
  1016. Referring:
  1017. Availability: local
  1018. Function flags: count:114863534 (estimated locally) body local optimize_size
  1019. 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)
  1020. 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)
  1021. xQueueGenericCreate/6 (xQueueGenericCreate) @05e767e0
  1022. Type: function definition analyzed
  1023. Visibility: externally_visible public
  1024. Aux: @060c86b8
  1025. References:
  1026. Referring:
  1027. Availability: available
  1028. Function flags: count:117029 (estimated locally) body optimize_size
  1029. Called by: xQueueCreateMutex/9 (1073741824 (estimated locally),1.00 per call) xQueueCreateCountingSemaphore/14 (21218 (estimated locally),0.17 per call)
  1030. Calls: prvInitialiseNewQueue/7 (inlined) (5162 (estimated locally),0.04 per call) pvPortMalloc/46 (9655 (estimated locally),0.08 per call)
  1031. prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @05e60000
  1032. Type: function definition analyzed
  1033. Visibility: prevailing_def_ironly
  1034. Aux: @060c8698
  1035. References:
  1036. Referring:
  1037. Function prvInitialiseNewQueue/7 is inline copy in xQueueGenericCreate/6
  1038. Availability: local
  1039. Function flags: count:5162 (estimated locally) body local optimize_size
  1040. Called by: xQueueGenericCreate/6 (inlined) (5162 (estimated locally),0.04 per call)
  1041. Calls: xQueueGenericReset/5 (5162 (estimated locally),0.04 per call)
  1042. xQueueGenericReset/5 (xQueueGenericReset) @05e76c40
  1043. Type: function definition analyzed
  1044. Visibility: externally_visible public
  1045. Aux: @060c8798
  1046. References:
  1047. Referring:
  1048. Availability: available
  1049. Function flags: count:183702 (estimated locally) body optimize_size
  1050. Called by: prvInitialiseNewQueue/7 (5162 (estimated locally),0.04 per call)
  1051. Calls: xQueueGenericReset.part.0/65 (inlined) (21218 (estimated locally),0.12 per call)
  1052. xQueueGenericReset.part.0/65 (xQueueGenericReset.part.0) @05df82a0
  1053. Type: function definition analyzed
  1054. Visibility: prevailing_def_ironly artificial
  1055. Aux: @060c8b38
  1056. References:
  1057. Referring:
  1058. Function xQueueGenericReset.part.0/65 is inline copy in xQueueGenericReset/5
  1059. Availability: local
  1060. Function flags: count:21218 (estimated locally) first_run:1 body local split_part optimize_size
  1061. Called by: xQueueGenericReset/5 (inlined) (21218 (estimated locally),0.12 per call)
  1062. 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)
  1063. Function name:xQueueGenericReset.part.0/65:
  1064. locals read:
  1065. locals written:
  1066. globals read: ALL
  1067. globals written: ALL
  1068. Function name:xQueueGenericReset/5:
  1069. locals read:
  1070. locals written:
  1071. globals read: ALL
  1072. globals written: ALL
  1073. Function name:prvInitialiseNewQueue/7:
  1074. locals read:
  1075. locals written:
  1076. globals read: ALL
  1077. globals written: ALL
  1078. Function name:xQueueGenericCreate/6:
  1079. locals read:
  1080. locals written:
  1081. globals read: ALL
  1082. globals written: ALL
  1083. Function name:prvUnlockQueue/33:
  1084. locals read:
  1085. locals written:
  1086. globals read: ALL
  1087. globals written: ALL
  1088. Function name:prvIsQueueFull/36:
  1089. locals read:
  1090. locals written:
  1091. globals read: ALL
  1092. globals written: ALL
  1093. Function name:prvCopyDataToQueue/31:
  1094. locals read:
  1095. locals written:
  1096. globals read: ALL
  1097. globals written: ALL
  1098. Function name:xQueueGenericSend/15:
  1099. locals read:
  1100. locals written:
  1101. globals read: ALL
  1102. globals written: ALL
  1103. Function name:prvInitialiseMutex/8:
  1104. locals read:
  1105. locals written:
  1106. globals read: ALL
  1107. globals written: ALL
  1108. Function name:xQueueCreateMutex/9:
  1109. locals read:
  1110. locals written:
  1111. globals read: ALL
  1112. globals written: ALL
  1113. Function name:xQueueGetMutexHolder/10:
  1114. locals read:
  1115. locals written:
  1116. globals read: ALL
  1117. globals written: ALL
  1118. Function name:xQueueGetMutexHolderFromISR/11:
  1119. locals read:
  1120. locals written:
  1121. globals read:
  1122. globals written:
  1123. Function name:xQueueGiveMutexRecursive/12:
  1124. locals read:
  1125. locals written:
  1126. globals read: ALL
  1127. globals written: ALL
  1128. Function name:prvGetDisinheritPriorityAfterTimeout/30:
  1129. locals read:
  1130. locals written:
  1131. globals read:
  1132. globals written:
  1133. Function name:prvIsQueueEmpty/34:
  1134. locals read:
  1135. locals written:
  1136. globals read: ALL
  1137. globals written: ALL
  1138. Function name:xQueueSemaphoreTake/19:
  1139. locals read:
  1140. locals written:
  1141. globals read: ALL
  1142. globals written: ALL
  1143. Function name:xQueueTakeMutexRecursive/13:
  1144. locals read:
  1145. locals written:
  1146. globals read: ALL
  1147. globals written: ALL
  1148. Function name:xQueueCreateCountingSemaphore/14:
  1149. locals read:
  1150. locals written:
  1151. globals read: ALL
  1152. globals written: ALL
  1153. Function name:xQueueGenericSendFromISR/16:
  1154. locals read:
  1155. locals written:
  1156. globals read: ALL
  1157. globals written: ALL
  1158. Function name:xQueueGiveFromISR/17:
  1159. locals read:
  1160. locals written:
  1161. globals read: ALL
  1162. globals written: ALL
  1163. Function name:prvCopyDataFromQueue/32:
  1164. locals read:
  1165. locals written:
  1166. globals read:
  1167. globals written:
  1168. Function name:xQueueReceive/18:
  1169. locals read:
  1170. locals written:
  1171. globals read: ALL
  1172. globals written: ALL
  1173. Function name:xQueuePeek/20:
  1174. locals read:
  1175. locals written:
  1176. globals read: ALL
  1177. globals written: ALL
  1178. Function name:xQueueReceiveFromISR/21:
  1179. locals read:
  1180. locals written:
  1181. globals read: ALL
  1182. globals written: ALL
  1183. Function name:xQueuePeekFromISR/22:
  1184. locals read:
  1185. locals written:
  1186. globals read: ALL
  1187. globals written: ALL
  1188. Function name:uxQueueMessagesWaiting/23:
  1189. locals read:
  1190. locals written:
  1191. globals read: ALL
  1192. globals written: ALL
  1193. Function name:uxQueueSpacesAvailable/24:
  1194. locals read:
  1195. locals written:
  1196. globals read: ALL
  1197. globals written: ALL
  1198. Function name:uxQueueMessagesWaitingFromISR/25:
  1199. locals read:
  1200. locals written:
  1201. globals read:
  1202. globals written:
  1203. Function name:vQueueUnregisterQueue.part.0/114:
  1204. locals read:
  1205. locals written:
  1206. globals read:
  1207. globals written:
  1208. Function name:vQueueUnregisterQueue/40:
  1209. locals read:
  1210. locals written:
  1211. globals read:
  1212. globals written:
  1213. Function name:vQueueDelete/26:
  1214. locals read:
  1215. locals written:
  1216. globals read: ALL
  1217. globals written: ALL
  1218. Function name:uxQueueGetQueueNumber/27:
  1219. locals read:
  1220. locals written:
  1221. globals read:
  1222. globals written:
  1223. Function name:vQueueSetQueueNumber/28:
  1224. locals read:
  1225. locals written:
  1226. globals read:
  1227. globals written:
  1228. Function name:ucQueueGetQueueType/29:
  1229. locals read:
  1230. locals written:
  1231. globals read:
  1232. globals written:
  1233. Function name:xQueueIsQueueEmptyFromISR/35:
  1234. locals read:
  1235. locals written:
  1236. globals read:
  1237. globals written:
  1238. Function name:xQueueIsQueueFullFromISR/37:
  1239. locals read:
  1240. locals written:
  1241. globals read:
  1242. globals written:
  1243. Function name:vQueueAddToRegistry/38:
  1244. locals read:
  1245. locals written:
  1246. globals read:
  1247. globals written:
  1248. Function name:pcQueueGetName/39:
  1249. locals read:
  1250. locals written:
  1251. globals read:
  1252. globals written:
  1253. Function name:vQueueWaitForMessageRestricted/41:
  1254. locals read:
  1255. locals written:
  1256. globals read: ALL
  1257. globals written: ALL
  1258. vQueueUnregisterQueue.part.0 ()
  1259. {
  1260. UBaseType_t ux;
  1261. uint32_t ulNewBASEPRI;
  1262. struct QueueDefinition * xQueue;
  1263. <bb 5> [local count: 107374]:
  1264. # DEBUG D#2 s=> xQueue
  1265. # DEBUG xQueue => D#2
  1266. <bb 2> [local count: 107374]:
  1267. # DEBUG BEGIN_STMT
  1268. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1269. # DEBUG BEGIN_STMT
  1270. # DEBUG BEGIN_STMT
  1271. __asm__ __volatile__(" mov %0, %1
  1272. msr basepri, %0
  1273. isb
  1274. dsb
  1275. " : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
  1276. # DEBUG ulNewBASEPRI => ulNewBASEPRI_1
  1277. <bb 3> [local count: 1073741824]:
  1278. # DEBUG ulNewBASEPRI => NULL
  1279. # DEBUG BEGIN_STMT
  1280. # DEBUG BEGIN_STMT
  1281. # DEBUG BEGIN_STMT
  1282. <bb 4> [local count: 1073741824]:
  1283. goto <bb 3>; [100.00%]
  1284. }
  1285. xQueueGenericReset.part.0 (struct QueueDefinition * xQueue, BaseType_t xNewQueue)
  1286. {
  1287. BaseType_t xReturn;
  1288. struct Queue_t * const pxQueue;
  1289. uint32_t ulNewBASEPRI;
  1290. uint32_t ulNewBASEPRI;
  1291. int8_t * _2;
  1292. long unsigned int _3;
  1293. long unsigned int _4;
  1294. long unsigned int _5;
  1295. int8_t * _6;
  1296. long unsigned int _7;
  1297. long unsigned int _8;
  1298. int8_t * _9;
  1299. long unsigned int _11;
  1300. struct List_t * _12;
  1301. long int _13;
  1302. struct List_t * _14;
  1303. struct List_t * _15;
  1304. <bb 8> [local count: 1073741824]:
  1305. <bb 2> [local count: 1073741824]:
  1306. # DEBUG BEGIN_STMT
  1307. vPortEnterCritical ();
  1308. # DEBUG BEGIN_STMT
  1309. _2 = MEM[(struct Queue_t *)xQueue_1(D)].pcHead;
  1310. _3 = MEM[(struct Queue_t *)xQueue_1(D)].uxLength;
  1311. _4 = MEM[(struct Queue_t *)xQueue_1(D)].uxItemSize;
  1312. _5 = _3 * _4;
  1313. _6 = _2 + _5;
  1314. MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcTail = _6;
  1315. # DEBUG BEGIN_STMT
  1316. MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting ={v} 0;
  1317. # DEBUG BEGIN_STMT
  1318. MEM[(struct Queue_t *)xQueue_1(D)].pcWriteTo = _2;
  1319. # DEBUG BEGIN_STMT
  1320. _7 = _3 + 4294967295;
  1321. _8 = _4 * _7;
  1322. _9 = _2 + _8;
  1323. MEM[(struct Queue_t *)xQueue_1(D)].u.xQueue.pcReadFrom = _9;
  1324. # DEBUG BEGIN_STMT
  1325. MEM[(struct Queue_t *)xQueue_1(D)].cRxLock ={v} -1;
  1326. # DEBUG BEGIN_STMT
  1327. MEM[(struct Queue_t *)xQueue_1(D)].cTxLock ={v} -1;
  1328. # DEBUG BEGIN_STMT
  1329. if (xNewQueue_10(D) == 0)
  1330. goto <bb 3>; [67.00%]
  1331. else
  1332. goto <bb 6>; [33.00%]
  1333. <bb 3> [local count: 719407023]:
  1334. # DEBUG BEGIN_STMT
  1335. _11 ={v} MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend.uxNumberOfItems;
  1336. if (_11 != 0)
  1337. goto <bb 4>; [33.00%]
  1338. else
  1339. goto <bb 7>; [67.00%]
  1340. <bb 4> [local count: 237404317]:
  1341. # DEBUG BEGIN_STMT
  1342. _12 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend;
  1343. _13 = xTaskRemoveFromEventList (_12);
  1344. if (_13 != 0)
  1345. goto <bb 5>; [50.00%]
  1346. else
  1347. goto <bb 7>; [50.00%]
  1348. <bb 5> [local count: 118702159]:
  1349. # DEBUG BEGIN_STMT
  1350. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  1351. # DEBUG BEGIN_STMT
  1352. __asm__ __volatile__("dsb" : : : "memory");
  1353. # DEBUG BEGIN_STMT
  1354. __asm__ __volatile__("isb");
  1355. # DEBUG BEGIN_STMT
  1356. goto <bb 7>; [100.00%]
  1357. <bb 6> [local count: 354334802]:
  1358. # DEBUG BEGIN_STMT
  1359. _14 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToSend;
  1360. vListInitialise (_14);
  1361. # DEBUG BEGIN_STMT
  1362. _15 = &MEM[(struct Queue_t *)xQueue_1(D)].xTasksWaitingToReceive;
  1363. vListInitialise (_15);
  1364. <bb 7> [local count: 1073741824]:
  1365. # DEBUG BEGIN_STMT
  1366. vPortExitCritical ();
  1367. # DEBUG xReturn => 1
  1368. # DEBUG BEGIN_STMT
  1369. # DEBUG BEGIN_STMT
  1370. # DEBUG BEGIN_STMT
  1371. return 1;
  1372. }
  1373. vQueueWaitForMessageRestricted (struct QueueDefinition * xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely)
  1374. {
  1375. signed char _1;
  1376. signed char _2;
  1377. long unsigned int _3;
  1378. struct List_t * _4;
  1379. <bb 2> [local count: 1073741824]:
  1380. # DEBUG BEGIN_STMT
  1381. # DEBUG pxQueue => xQueue_8(D)
  1382. # DEBUG BEGIN_STMT
  1383. vPortEnterCritical ();
  1384. # DEBUG BEGIN_STMT
  1385. _1 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cRxLock;
  1386. if (_1 == -1)
  1387. goto <bb 3>; [34.00%]
  1388. else
  1389. goto <bb 4>; [66.00%]
  1390. <bb 3> [local count: 365072220]:
  1391. # DEBUG BEGIN_STMT
  1392. MEM[(struct Queue_t *)xQueue_8(D)].cRxLock ={v} 0;
  1393. <bb 4> [local count: 1073741824]:
  1394. # DEBUG BEGIN_STMT
  1395. _2 ={v} MEM[(struct Queue_t *)xQueue_8(D)].cTxLock;
  1396. if (_2 == -1)
  1397. goto <bb 5>; [34.00%]
  1398. else
  1399. goto <bb 6>; [66.00%]
  1400. <bb 5> [local count: 365072220]:
  1401. # DEBUG BEGIN_STMT
  1402. MEM[(struct Queue_t *)xQueue_8(D)].cTxLock ={v} 0;
  1403. <bb 6> [local count: 1073741824]:
  1404. # DEBUG BEGIN_STMT
  1405. vPortExitCritical ();
  1406. # DEBUG BEGIN_STMT
  1407. _3 ={v} MEM[(struct Queue_t *)xQueue_8(D)].uxMessagesWaiting;
  1408. if (_3 == 0)
  1409. goto <bb 7>; [33.00%]
  1410. else
  1411. goto <bb 8>; [67.00%]
  1412. <bb 7> [local count: 354334802]:
  1413. # DEBUG BEGIN_STMT
  1414. _4 = &MEM[(struct Queue_t *)xQueue_8(D)].xTasksWaitingToReceive;
  1415. vTaskPlaceOnEventListRestricted (_4, xTicksToWait_14(D), xWaitIndefinitely_15(D));
  1416. <bb 8> [local count: 1073741824]:
  1417. # DEBUG BEGIN_STMT
  1418. # DEBUG BEGIN_STMT
  1419. prvUnlockQueue (xQueue_8(D));
  1420. return;
  1421. }
  1422. vQueueUnregisterQueue (struct QueueDefinition * xQueue)
  1423. {
  1424. UBaseType_t ux;
  1425. struct QueueDefinition * _1;
  1426. <bb 2> [local count: 357913]:
  1427. # DEBUG BEGIN_STMT
  1428. # DEBUG BEGIN_STMT
  1429. if (xQueue_3(D) == 0B)
  1430. goto <bb 3>; [30.00%]
  1431. else
  1432. goto <bb 9>; [70.00%]
  1433. <bb 9> [local count: 250539]:
  1434. goto <bb 7>; [100.00%]
  1435. <bb 3> [local count: 107374]:
  1436. # DEBUG D#1 => xQueue_3(D)
  1437. vQueueUnregisterQueue.part.0 ();
  1438. <bb 4> [local count: 451483]:
  1439. # DEBUG BEGIN_STMT
  1440. _1 = xQueueRegistry[ux_2].xHandle;
  1441. if (_1 == xQueue_3(D))
  1442. goto <bb 5>; [5.50%]
  1443. else
  1444. goto <bb 6>; [94.50%]
  1445. <bb 5> [local count: 24832]:
  1446. # ux_4 = PHI <ux_2(4)>
  1447. # DEBUG BEGIN_STMT
  1448. xQueueRegistry[ux_4].pcQueueName = 0B;
  1449. # DEBUG BEGIN_STMT
  1450. xQueueRegistry[ux_4].xHandle = 0B;
  1451. # DEBUG BEGIN_STMT
  1452. goto <bb 8>; [100.00%]
  1453. <bb 6> [local count: 426652]:
  1454. # DEBUG BEGIN_STMT
  1455. # DEBUG BEGIN_STMT
  1456. ux_6 = ux_2 + 1;
  1457. # DEBUG ux => ux_6
  1458. <bb 7> [local count: 677191]:
  1459. # ux_2 = PHI <ux_6(6), 0(9)>
  1460. # DEBUG ux => ux_2
  1461. # DEBUG BEGIN_STMT
  1462. if (ux_2 != 2)
  1463. goto <bb 4>; [66.67%]
  1464. else
  1465. goto <bb 8>; [33.33%]
  1466. <bb 8> [local count: 250539]:
  1467. return;
  1468. }
  1469. pcQueueGetName (struct QueueDefinition * xQueue)
  1470. {
  1471. uint32_t ulNewBASEPRI;
  1472. const char * pcReturn;
  1473. UBaseType_t ux;
  1474. struct QueueDefinition * _1;
  1475. <bb 2> [local count: 357913]:
  1476. # DEBUG BEGIN_STMT
  1477. # DEBUG BEGIN_STMT
  1478. # DEBUG pcReturn => 0B
  1479. # DEBUG BEGIN_STMT
  1480. if (xQueue_5(D) == 0B)
  1481. goto <bb 3>; [30.00%]
  1482. else
  1483. goto <bb 10>; [70.00%]
  1484. <bb 10> [local count: 250539]:
  1485. goto <bb 8>; [100.00%]
  1486. <bb 3> [local count: 107374]:
  1487. # DEBUG BEGIN_STMT
  1488. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1489. # DEBUG BEGIN_STMT
  1490. # DEBUG BEGIN_STMT
  1491. __asm__ __volatile__(" mov %0, %1
  1492. msr basepri, %0
  1493. isb
  1494. dsb
  1495. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  1496. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  1497. <bb 4> [local count: 1073741824]:
  1498. # DEBUG ulNewBASEPRI => NULL
  1499. # DEBUG BEGIN_STMT
  1500. # DEBUG BEGIN_STMT
  1501. # DEBUG BEGIN_STMT
  1502. <bb 11> [local count: 1073741824]:
  1503. goto <bb 4>; [100.00%]
  1504. <bb 5> [local count: 451483]:
  1505. # DEBUG BEGIN_STMT
  1506. _1 = xQueueRegistry[ux_2].xHandle;
  1507. if (_1 == xQueue_5(D))
  1508. goto <bb 6>; [5.50%]
  1509. else
  1510. goto <bb 7>; [94.50%]
  1511. <bb 6> [local count: 24832]:
  1512. # ux_4 = PHI <ux_2(5)>
  1513. # DEBUG BEGIN_STMT
  1514. pcReturn_8 = xQueueRegistry[ux_4].pcQueueName;
  1515. # DEBUG pcReturn => pcReturn_8
  1516. # DEBUG BEGIN_STMT
  1517. goto <bb 9>; [100.00%]
  1518. <bb 7> [local count: 426652]:
  1519. # DEBUG BEGIN_STMT
  1520. # DEBUG BEGIN_STMT
  1521. ux_7 = ux_2 + 1;
  1522. # DEBUG ux => ux_7
  1523. <bb 8> [local count: 677191]:
  1524. # ux_2 = PHI <ux_7(7), 0(10)>
  1525. # DEBUG ux => ux_2
  1526. # DEBUG BEGIN_STMT
  1527. if (ux_2 != 2)
  1528. goto <bb 5>; [66.67%]
  1529. else
  1530. goto <bb 9>; [33.33%]
  1531. <bb 9> [local count: 250539]:
  1532. # pcReturn_3 = PHI <pcReturn_8(6), 0B(8)>
  1533. # DEBUG pcReturn => pcReturn_3
  1534. # DEBUG BEGIN_STMT
  1535. return pcReturn_3;
  1536. }
  1537. vQueueAddToRegistry (struct QueueDefinition * xQueue, const char * pcQueueName)
  1538. {
  1539. uint32_t ulNewBASEPRI;
  1540. struct QueueRegistryItem_t * pxEntryToWrite;
  1541. UBaseType_t ux;
  1542. struct QueueDefinition * _1;
  1543. const char * _2;
  1544. <bb 2> [local count: 357913]:
  1545. # DEBUG BEGIN_STMT
  1546. # DEBUG BEGIN_STMT
  1547. if (xQueue_8(D) == 0B)
  1548. goto <bb 3>; [30.00%]
  1549. else
  1550. goto <bb 5>; [70.00%]
  1551. <bb 3> [local count: 107374]:
  1552. # DEBUG BEGIN_STMT
  1553. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1554. # DEBUG BEGIN_STMT
  1555. # DEBUG BEGIN_STMT
  1556. __asm__ __volatile__(" mov %0, %1
  1557. msr basepri, %0
  1558. isb
  1559. dsb
  1560. " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  1561. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  1562. <bb 4> [local count: 1073741824]:
  1563. # DEBUG ulNewBASEPRI => NULL
  1564. # DEBUG BEGIN_STMT
  1565. # DEBUG BEGIN_STMT
  1566. # DEBUG BEGIN_STMT
  1567. <bb 17> [local count: 1073741824]:
  1568. goto <bb 4>; [100.00%]
  1569. <bb 5> [local count: 250539]:
  1570. # DEBUG BEGIN_STMT
  1571. # DEBUG BEGIN_STMT
  1572. # DEBUG pxEntryToWrite => 0B
  1573. # DEBUG BEGIN_STMT
  1574. if (pcQueueName_10(D) != 0B)
  1575. goto <bb 16>; [70.00%]
  1576. else
  1577. goto <bb 15>; [30.00%]
  1578. <bb 16> [local count: 175378]:
  1579. goto <bb 12>; [100.00%]
  1580. <bb 6> [local count: 316038]:
  1581. # DEBUG BEGIN_STMT
  1582. _1 = xQueueRegistry[ux_3].xHandle;
  1583. if (_1 == xQueue_8(D))
  1584. goto <bb 7>; [5.50%]
  1585. else
  1586. goto <bb 8>; [94.50%]
  1587. <bb 7> [local count: 17382]:
  1588. # ux_9 = PHI <ux_3(6)>
  1589. # DEBUG BEGIN_STMT
  1590. pxEntryToWrite_14 = &xQueueRegistry[ux_9];
  1591. # DEBUG pxEntryToWrite => pxEntryToWrite_14
  1592. # DEBUG BEGIN_STMT
  1593. goto <bb 13>; [100.00%]
  1594. <bb 8> [local count: 298656]:
  1595. # DEBUG BEGIN_STMT
  1596. if (pxEntryToWrite_5 == 0B)
  1597. goto <bb 9>; [30.00%]
  1598. else
  1599. goto <bb 11>; [70.00%]
  1600. <bb 9> [local count: 89597]:
  1601. _2 = xQueueRegistry[ux_3].pcQueueName;
  1602. if (_2 == 0B)
  1603. goto <bb 10>; [30.00%]
  1604. else
  1605. goto <bb 11>; [70.00%]
  1606. <bb 10> [local count: 26879]:
  1607. # DEBUG BEGIN_STMT
  1608. pxEntryToWrite_12 = &xQueueRegistry[ux_3];
  1609. # DEBUG pxEntryToWrite => pxEntryToWrite_12
  1610. <bb 11> [local count: 298656]:
  1611. # pxEntryToWrite_4 = PHI <pxEntryToWrite_5(8), 0B(9), pxEntryToWrite_12(10)>
  1612. # DEBUG pxEntryToWrite => pxEntryToWrite_4
  1613. # DEBUG BEGIN_STMT
  1614. # DEBUG BEGIN_STMT
  1615. ux_13 = ux_3 + 1;
  1616. # DEBUG ux => ux_13
  1617. <bb 12> [local count: 474034]:
  1618. # ux_3 = PHI <ux_13(11), 0(16)>
  1619. # pxEntryToWrite_5 = PHI <pxEntryToWrite_4(11), 0B(16)>
  1620. # DEBUG pxEntryToWrite => pxEntryToWrite_5
  1621. # DEBUG ux => ux_3
  1622. # DEBUG BEGIN_STMT
  1623. if (ux_3 != 2)
  1624. goto <bb 6>; [66.67%]
  1625. else
  1626. goto <bb 13>; [33.33%]
  1627. <bb 13> [local count: 175378]:
  1628. # pxEntryToWrite_6 = PHI <pxEntryToWrite_5(12), pxEntryToWrite_14(7)>
  1629. # DEBUG pxEntryToWrite => pxEntryToWrite_6
  1630. # DEBUG BEGIN_STMT
  1631. if (pxEntryToWrite_6 != 0B)
  1632. goto <bb 14>; [70.00%]
  1633. else
  1634. goto <bb 15>; [30.00%]
  1635. <bb 14> [local count: 122764]:
  1636. # DEBUG BEGIN_STMT
  1637. pxEntryToWrite_6->pcQueueName = pcQueueName_10(D);
  1638. # DEBUG BEGIN_STMT
  1639. pxEntryToWrite_6->xHandle = xQueue_8(D);
  1640. <bb 15> [local count: 250539]:
  1641. # DEBUG pxEntryToWrite => NULL
  1642. # DEBUG BEGIN_STMT
  1643. return;
  1644. }
  1645. xQueueIsQueueFullFromISR (struct QueueDefinition * const xQueue)
  1646. {
  1647. uint32_t ulNewBASEPRI;
  1648. BaseType_t xReturn;
  1649. long unsigned int _1;
  1650. long unsigned int _2;
  1651. <bb 2> [local count: 357913]:
  1652. # DEBUG BEGIN_STMT
  1653. # DEBUG BEGIN_STMT
  1654. # DEBUG pxQueue => xQueue_4(D)
  1655. # DEBUG BEGIN_STMT
  1656. if (xQueue_4(D) == 0B)
  1657. goto <bb 3>; [30.00%]
  1658. else
  1659. goto <bb 5>; [70.00%]
  1660. <bb 3> [local count: 107374]:
  1661. # DEBUG BEGIN_STMT
  1662. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1663. # DEBUG BEGIN_STMT
  1664. # DEBUG BEGIN_STMT
  1665. __asm__ __volatile__(" mov %0, %1
  1666. msr basepri, %0
  1667. isb
  1668. dsb
  1669. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  1670. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  1671. <bb 4> [local count: 1073741824]:
  1672. # DEBUG ulNewBASEPRI => NULL
  1673. # DEBUG BEGIN_STMT
  1674. # DEBUG BEGIN_STMT
  1675. # DEBUG BEGIN_STMT
  1676. <bb 8> [local count: 1073741824]:
  1677. goto <bb 4>; [100.00%]
  1678. <bb 5> [local count: 250539]:
  1679. # DEBUG BEGIN_STMT
  1680. # DEBUG BEGIN_STMT
  1681. _1 ={v} MEM[(struct Queue_t *)xQueue_4(D)].uxMessagesWaiting;
  1682. _2 = MEM[(struct Queue_t *)xQueue_4(D)].uxLength;
  1683. if (_1 == _2)
  1684. goto <bb 7>; [34.00%]
  1685. else
  1686. goto <bb 6>; [66.00%]
  1687. <bb 6> [local count: 165356]:
  1688. # DEBUG BEGIN_STMT
  1689. # DEBUG xReturn => 0
  1690. <bb 7> [local count: 250539]:
  1691. # xReturn_3 = PHI <1(5), 0(6)>
  1692. # DEBUG xReturn => xReturn_3
  1693. # DEBUG BEGIN_STMT
  1694. return xReturn_3;
  1695. }
  1696. prvIsQueueFull (const struct Queue_t * pxQueue)
  1697. {
  1698. BaseType_t xReturn;
  1699. long unsigned int _1;
  1700. long unsigned int _2;
  1701. <bb 2> [local count: 1073741824]:
  1702. # DEBUG BEGIN_STMT
  1703. # DEBUG BEGIN_STMT
  1704. vPortEnterCritical ();
  1705. # DEBUG BEGIN_STMT
  1706. _1 ={v} pxQueue_6(D)->uxMessagesWaiting;
  1707. _2 = pxQueue_6(D)->uxLength;
  1708. if (_1 == _2)
  1709. goto <bb 4>; [34.00%]
  1710. else
  1711. goto <bb 3>; [66.00%]
  1712. <bb 3> [local count: 708669605]:
  1713. # DEBUG BEGIN_STMT
  1714. # DEBUG xReturn => 0
  1715. <bb 4> [local count: 1073741824]:
  1716. # xReturn_3 = PHI <1(2), 0(3)>
  1717. # DEBUG xReturn => xReturn_3
  1718. # DEBUG BEGIN_STMT
  1719. vPortExitCritical ();
  1720. # DEBUG BEGIN_STMT
  1721. return xReturn_3;
  1722. }
  1723. xQueueIsQueueEmptyFromISR (struct QueueDefinition * const xQueue)
  1724. {
  1725. uint32_t ulNewBASEPRI;
  1726. BaseType_t xReturn;
  1727. long unsigned int _1;
  1728. <bb 2> [local count: 357913]:
  1729. # DEBUG BEGIN_STMT
  1730. # DEBUG BEGIN_STMT
  1731. # DEBUG pxQueue => xQueue_3(D)
  1732. # DEBUG BEGIN_STMT
  1733. if (xQueue_3(D) == 0B)
  1734. goto <bb 3>; [30.00%]
  1735. else
  1736. goto <bb 5>; [70.00%]
  1737. <bb 3> [local count: 107374]:
  1738. # DEBUG BEGIN_STMT
  1739. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  1740. # DEBUG BEGIN_STMT
  1741. # DEBUG BEGIN_STMT
  1742. __asm__ __volatile__(" mov %0, %1
  1743. msr basepri, %0
  1744. isb
  1745. dsb
  1746. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  1747. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  1748. <bb 4> [local count: 1073741824]:
  1749. # DEBUG ulNewBASEPRI => NULL
  1750. # DEBUG BEGIN_STMT
  1751. # DEBUG BEGIN_STMT
  1752. # DEBUG BEGIN_STMT
  1753. <bb 8> [local count: 1073741824]:
  1754. goto <bb 4>; [100.00%]
  1755. <bb 5> [local count: 250539]:
  1756. # DEBUG BEGIN_STMT
  1757. # DEBUG BEGIN_STMT
  1758. _1 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
  1759. if (_1 == 0)
  1760. goto <bb 7>; [50.00%]
  1761. else
  1762. goto <bb 6>; [50.00%]
  1763. <bb 6> [local count: 125270]:
  1764. # DEBUG BEGIN_STMT
  1765. # DEBUG xReturn => 0
  1766. <bb 7> [local count: 250539]:
  1767. # xReturn_2 = PHI <1(5), 0(6)>
  1768. # DEBUG xReturn => xReturn_2
  1769. # DEBUG BEGIN_STMT
  1770. return xReturn_2;
  1771. }
  1772. prvIsQueueEmpty (const struct Queue_t * pxQueue)
  1773. {
  1774. BaseType_t xReturn;
  1775. long unsigned int _1;
  1776. <bb 2> [local count: 1073741824]:
  1777. # DEBUG BEGIN_STMT
  1778. # DEBUG BEGIN_STMT
  1779. vPortEnterCritical ();
  1780. # DEBUG BEGIN_STMT
  1781. _1 ={v} pxQueue_5(D)->uxMessagesWaiting;
  1782. if (_1 == 0)
  1783. goto <bb 4>; [50.00%]
  1784. else
  1785. goto <bb 3>; [50.00%]
  1786. <bb 3> [local count: 536870913]:
  1787. # DEBUG BEGIN_STMT
  1788. # DEBUG xReturn => 0
  1789. <bb 4> [local count: 1073741824]:
  1790. # xReturn_2 = PHI <1(2), 0(3)>
  1791. # DEBUG xReturn => xReturn_2
  1792. # DEBUG BEGIN_STMT
  1793. vPortExitCritical ();
  1794. # DEBUG BEGIN_STMT
  1795. return xReturn_2;
  1796. }
  1797. prvUnlockQueue (struct Queue_t * const pxQueue)
  1798. {
  1799. int8_t cRxLock;
  1800. int8_t cTxLock;
  1801. long unsigned int _1;
  1802. struct List_t * _2;
  1803. long int _3;
  1804. unsigned char cTxLock.6_4;
  1805. unsigned char _5;
  1806. long unsigned int _6;
  1807. struct List_t * _7;
  1808. long int _8;
  1809. unsigned char cRxLock.7_9;
  1810. unsigned char _10;
  1811. <bb 2> [local count: 114863534]:
  1812. # DEBUG BEGIN_STMT
  1813. vPortEnterCritical ();
  1814. # DEBUG BEGIN_STMT
  1815. cTxLock_20 ={v} pxQueue_19(D)->cTxLock;
  1816. # DEBUG cTxLock => cTxLock_20
  1817. # DEBUG BEGIN_STMT
  1818. goto <bb 7>; [100.00%]
  1819. <bb 3> [local count: 1014686025]:
  1820. # DEBUG BEGIN_STMT
  1821. _1 ={v} pxQueue_19(D)->xTasksWaitingToReceive.uxNumberOfItems;
  1822. if (_1 != 0)
  1823. goto <bb 4>; [94.50%]
  1824. else
  1825. goto <bb 8>; [5.50%]
  1826. <bb 4> [local count: 958878293]:
  1827. # DEBUG BEGIN_STMT
  1828. _2 = &pxQueue_19(D)->xTasksWaitingToReceive;
  1829. _3 = xTaskRemoveFromEventList (_2);
  1830. if (_3 != 0)
  1831. goto <bb 5>; [33.00%]
  1832. else
  1833. goto <bb 6>; [67.00%]
  1834. <bb 5> [local count: 316429836]:
  1835. # DEBUG BEGIN_STMT
  1836. vTaskMissedYield ();
  1837. <bb 6> [local count: 958878293]:
  1838. # DEBUG BEGIN_STMT
  1839. # DEBUG BEGIN_STMT
  1840. cTxLock.6_4 = (unsigned char) cTxLock_11;
  1841. _5 = cTxLock.6_4 + 255;
  1842. cTxLock_23 = (int8_t) _5;
  1843. # DEBUG cTxLock => cTxLock_23
  1844. <bb 7> [local count: 1073741824]:
  1845. # cTxLock_11 = PHI <cTxLock_20(2), cTxLock_23(6)>
  1846. # DEBUG cTxLock => cTxLock_11
  1847. # DEBUG BEGIN_STMT
  1848. if (cTxLock_11 > 0)
  1849. goto <bb 3>; [94.50%]
  1850. else
  1851. goto <bb 8>; [5.50%]
  1852. <bb 8> [local count: 114863532]:
  1853. # DEBUG BEGIN_STMT
  1854. pxQueue_19(D)->cTxLock ={v} -1;
  1855. # DEBUG BEGIN_STMT
  1856. vPortExitCritical ();
  1857. # DEBUG BEGIN_STMT
  1858. vPortEnterCritical ();
  1859. # DEBUG BEGIN_STMT
  1860. cRxLock_27 ={v} pxQueue_19(D)->cRxLock;
  1861. # DEBUG cRxLock => cRxLock_27
  1862. # DEBUG BEGIN_STMT
  1863. goto <bb 13>; [100.00%]
  1864. <bb 9> [local count: 1014686003]:
  1865. # DEBUG BEGIN_STMT
  1866. _6 ={v} pxQueue_19(D)->xTasksWaitingToSend.uxNumberOfItems;
  1867. if (_6 != 0)
  1868. goto <bb 10>; [94.50%]
  1869. else
  1870. goto <bb 14>; [5.50%]
  1871. <bb 10> [local count: 958878272]:
  1872. # DEBUG BEGIN_STMT
  1873. _7 = &pxQueue_19(D)->xTasksWaitingToSend;
  1874. _8 = xTaskRemoveFromEventList (_7);
  1875. if (_8 != 0)
  1876. goto <bb 11>; [33.00%]
  1877. else
  1878. goto <bb 12>; [67.00%]
  1879. <bb 11> [local count: 316429830]:
  1880. # DEBUG BEGIN_STMT
  1881. vTaskMissedYield ();
  1882. <bb 12> [local count: 958878272]:
  1883. # DEBUG BEGIN_STMT
  1884. # DEBUG BEGIN_STMT
  1885. cRxLock.7_9 = (unsigned char) cRxLock_12;
  1886. _10 = cRxLock.7_9 + 255;
  1887. cRxLock_30 = (int8_t) _10;
  1888. # DEBUG cRxLock => cRxLock_30
  1889. <bb 13> [local count: 1073741803]:
  1890. # cRxLock_12 = PHI <cRxLock_27(8), cRxLock_30(12)>
  1891. # DEBUG cRxLock => cRxLock_12
  1892. # DEBUG BEGIN_STMT
  1893. if (cRxLock_12 > 0)
  1894. goto <bb 9>; [94.50%]
  1895. else
  1896. goto <bb 14>; [5.50%]
  1897. <bb 14> [local count: 114863529]:
  1898. # DEBUG BEGIN_STMT
  1899. pxQueue_19(D)->cRxLock ={v} -1;
  1900. # DEBUG BEGIN_STMT
  1901. vPortExitCritical ();
  1902. return;
  1903. }
  1904. prvCopyDataFromQueue (struct Queue_t * const pxQueue, void * const pvBuffer)
  1905. {
  1906. long unsigned int _1;
  1907. int8_t * _2;
  1908. int8_t * _3;
  1909. int8_t * _4;
  1910. int8_t * _5;
  1911. int8_t * _6;
  1912. <bb 2> [local count: 1073741824]:
  1913. # DEBUG BEGIN_STMT
  1914. _1 = pxQueue_10(D)->uxItemSize;
  1915. if (_1 != 0)
  1916. goto <bb 3>; [50.00%]
  1917. else
  1918. goto <bb 6>; [50.00%]
  1919. <bb 3> [local count: 536870913]:
  1920. # DEBUG BEGIN_STMT
  1921. _2 = pxQueue_10(D)->u.xQueue.pcReadFrom;
  1922. _3 = _2 + _1;
  1923. pxQueue_10(D)->u.xQueue.pcReadFrom = _3;
  1924. # DEBUG BEGIN_STMT
  1925. _4 = pxQueue_10(D)->u.xQueue.pcTail;
  1926. if (_3 >= _4)
  1927. goto <bb 4>; [50.00%]
  1928. else
  1929. goto <bb 5>; [50.00%]
  1930. <bb 4> [local count: 268435456]:
  1931. # DEBUG BEGIN_STMT
  1932. _5 = pxQueue_10(D)->pcHead;
  1933. pxQueue_10(D)->u.xQueue.pcReadFrom = _5;
  1934. <bb 5> [local count: 536870913]:
  1935. # DEBUG BEGIN_STMT
  1936. # DEBUG BEGIN_STMT
  1937. _6 = pxQueue_10(D)->u.xQueue.pcReadFrom;
  1938. memcpy (pvBuffer_13(D), _6, _1);
  1939. <bb 6> [local count: 1073741824]:
  1940. return;
  1941. }
  1942. prvCopyDataToQueue (struct Queue_t * const pxQueue, const void * pvItemToQueue, const BaseType_t xPosition)
  1943. {
  1944. UBaseType_t uxMessagesWaiting;
  1945. BaseType_t xReturn;
  1946. long unsigned int _1;
  1947. int8_t * _2;
  1948. struct tskTaskControlBlock * _3;
  1949. int8_t * _4;
  1950. int8_t * _5;
  1951. long unsigned int _6;
  1952. int8_t * _7;
  1953. int8_t * _8;
  1954. int8_t * _9;
  1955. int8_t * _10;
  1956. int8_t * _11;
  1957. long unsigned int _12;
  1958. sizetype _13;
  1959. int8_t * _14;
  1960. int8_t * _15;
  1961. int8_t * _16;
  1962. int8_t * _17;
  1963. long unsigned int _18;
  1964. <bb 2> [local count: 1073741823]:
  1965. # DEBUG BEGIN_STMT
  1966. # DEBUG xReturn => 0
  1967. # DEBUG BEGIN_STMT
  1968. # DEBUG BEGIN_STMT
  1969. uxMessagesWaiting_25 ={v} pxQueue_24(D)->uxMessagesWaiting;
  1970. # DEBUG uxMessagesWaiting => uxMessagesWaiting_25
  1971. # DEBUG BEGIN_STMT
  1972. _1 = pxQueue_24(D)->uxItemSize;
  1973. if (_1 == 0)
  1974. goto <bb 3>; [50.00%]
  1975. else
  1976. goto <bb 5>; [50.00%]
  1977. <bb 3> [local count: 536870911]:
  1978. # DEBUG BEGIN_STMT
  1979. _2 = pxQueue_24(D)->pcHead;
  1980. if (_2 == 0B)
  1981. goto <bb 4>; [17.43%]
  1982. else
  1983. goto <bb 13>; [82.57%]
  1984. <bb 4> [local count: 93576600]:
  1985. # DEBUG BEGIN_STMT
  1986. _3 = pxQueue_24(D)->u.xSemaphore.xMutexHolder;
  1987. xReturn_36 = xTaskPriorityDisinherit (_3);
  1988. # DEBUG xReturn => xReturn_36
  1989. # DEBUG BEGIN_STMT
  1990. pxQueue_24(D)->u.xSemaphore.xMutexHolder = 0B;
  1991. goto <bb 13>; [100.00%]
  1992. <bb 5> [local count: 536870911]:
  1993. # DEBUG BEGIN_STMT
  1994. if (xPosition_26(D) == 0)
  1995. goto <bb 6>; [50.00%]
  1996. else
  1997. goto <bb 8>; [50.00%]
  1998. <bb 6> [local count: 268435456]:
  1999. # DEBUG BEGIN_STMT
  2000. _4 = pxQueue_24(D)->pcWriteTo;
  2001. memcpy (_4, pvItemToQueue_27(D), _1);
  2002. # DEBUG BEGIN_STMT
  2003. _5 = pxQueue_24(D)->pcWriteTo;
  2004. _6 = pxQueue_24(D)->uxItemSize;
  2005. _7 = _5 + _6;
  2006. pxQueue_24(D)->pcWriteTo = _7;
  2007. # DEBUG BEGIN_STMT
  2008. _8 = pxQueue_24(D)->u.xQueue.pcTail;
  2009. if (_7 >= _8)
  2010. goto <bb 7>; [50.00%]
  2011. else
  2012. goto <bb 13>; [50.00%]
  2013. <bb 7> [local count: 134217728]:
  2014. # DEBUG BEGIN_STMT
  2015. _9 = pxQueue_24(D)->pcHead;
  2016. pxQueue_24(D)->pcWriteTo = _9;
  2017. goto <bb 13>; [100.00%]
  2018. <bb 8> [local count: 268435456]:
  2019. # DEBUG BEGIN_STMT
  2020. _10 = pxQueue_24(D)->u.xQueue.pcReadFrom;
  2021. memcpy (_10, pvItemToQueue_27(D), _1);
  2022. # DEBUG BEGIN_STMT
  2023. _11 = pxQueue_24(D)->u.xQueue.pcReadFrom;
  2024. _12 = pxQueue_24(D)->uxItemSize;
  2025. _13 = -_12;
  2026. _14 = _11 + _13;
  2027. pxQueue_24(D)->u.xQueue.pcReadFrom = _14;
  2028. # DEBUG BEGIN_STMT
  2029. _15 = pxQueue_24(D)->pcHead;
  2030. if (_14 < _15)
  2031. goto <bb 9>; [50.00%]
  2032. else
  2033. goto <bb 10>; [50.00%]
  2034. <bb 9> [local count: 134217728]:
  2035. # DEBUG BEGIN_STMT
  2036. _16 = pxQueue_24(D)->u.xQueue.pcTail;
  2037. _17 = _16 + _13;
  2038. pxQueue_24(D)->u.xQueue.pcReadFrom = _17;
  2039. <bb 10> [local count: 268435456]:
  2040. # DEBUG BEGIN_STMT
  2041. # DEBUG BEGIN_STMT
  2042. if (xPosition_26(D) == 2)
  2043. goto <bb 11>; [34.00%]
  2044. else
  2045. goto <bb 13>; [66.00%]
  2046. <bb 11> [local count: 91268055]:
  2047. # DEBUG BEGIN_STMT
  2048. if (uxMessagesWaiting_25 != 0)
  2049. goto <bb 12>; [50.00%]
  2050. else
  2051. goto <bb 13>; [50.00%]
  2052. <bb 12> [local count: 45634027]:
  2053. # DEBUG BEGIN_STMT
  2054. uxMessagesWaiting_31 = uxMessagesWaiting_25 + 4294967295;
  2055. # DEBUG uxMessagesWaiting => uxMessagesWaiting_31
  2056. <bb 13> [local count: 1073741824]:
  2057. # xReturn_19 = PHI <xReturn_36(4), 0(7), 0(10), 0(12), 0(3), 0(6), 0(11)>
  2058. # uxMessagesWaiting_20 = PHI <uxMessagesWaiting_25(4), uxMessagesWaiting_25(7), uxMessagesWaiting_25(10), uxMessagesWaiting_31(12), uxMessagesWaiting_25(3), uxMessagesWaiting_25(6), uxMessagesWaiting_25(11)>
  2059. # DEBUG uxMessagesWaiting => uxMessagesWaiting_20
  2060. # DEBUG xReturn => xReturn_19
  2061. # DEBUG BEGIN_STMT
  2062. # DEBUG BEGIN_STMT
  2063. _18 = uxMessagesWaiting_20 + 1;
  2064. pxQueue_24(D)->uxMessagesWaiting ={v} _18;
  2065. # DEBUG BEGIN_STMT
  2066. return xReturn_19;
  2067. }
  2068. prvGetDisinheritPriorityAfterTimeout (const struct Queue_t * const pxQueue)
  2069. {
  2070. UBaseType_t uxHighestPriorityOfWaitingTasks;
  2071. long unsigned int _1;
  2072. struct xLIST_ITEM * _2;
  2073. long unsigned int _3;
  2074. <bb 2> [local count: 1073741824]:
  2075. # DEBUG BEGIN_STMT
  2076. # DEBUG BEGIN_STMT
  2077. _1 ={v} pxQueue_6(D)->xTasksWaitingToReceive.uxNumberOfItems;
  2078. if (_1 != 0)
  2079. goto <bb 3>; [50.00%]
  2080. else
  2081. goto <bb 4>; [50.00%]
  2082. <bb 3> [local count: 536870913]:
  2083. # DEBUG BEGIN_STMT
  2084. _2 = pxQueue_6(D)->xTasksWaitingToReceive.xListEnd.pxNext;
  2085. _3 = _2->xItemValue;
  2086. uxHighestPriorityOfWaitingTasks_7 = 5 - _3;
  2087. # DEBUG uxHighestPriorityOfWaitingTasks => uxHighestPriorityOfWaitingTasks_7
  2088. <bb 4> [local count: 1073741824]:
  2089. # uxHighestPriorityOfWaitingTasks_4 = PHI <uxHighestPriorityOfWaitingTasks_7(3), 0(2)>
  2090. # DEBUG uxHighestPriorityOfWaitingTasks => uxHighestPriorityOfWaitingTasks_4
  2091. # DEBUG BEGIN_STMT
  2092. return uxHighestPriorityOfWaitingTasks_4;
  2093. }
  2094. ucQueueGetQueueType (struct QueueDefinition * xQueue)
  2095. {
  2096. uint8_t _3;
  2097. <bb 2> [local count: 1073741824]:
  2098. # DEBUG BEGIN_STMT
  2099. _3 = MEM[(struct Queue_t *)xQueue_2(D)].ucQueueType;
  2100. return _3;
  2101. }
  2102. vQueueSetQueueNumber (struct QueueDefinition * xQueue, UBaseType_t uxQueueNumber)
  2103. {
  2104. <bb 2> [local count: 1073741824]:
  2105. # DEBUG BEGIN_STMT
  2106. MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber = uxQueueNumber_3(D);
  2107. return;
  2108. }
  2109. uxQueueGetQueueNumber (struct QueueDefinition * xQueue)
  2110. {
  2111. UBaseType_t _3;
  2112. <bb 2> [local count: 1073741824]:
  2113. # DEBUG BEGIN_STMT
  2114. _3 = MEM[(struct Queue_t *)xQueue_2(D)].uxQueueNumber;
  2115. return _3;
  2116. }
  2117. vQueueDelete (struct QueueDefinition * xQueue)
  2118. {
  2119. uint32_t ulNewBASEPRI;
  2120. <bb 2> [local count: 230763]:
  2121. # DEBUG BEGIN_STMT
  2122. # DEBUG pxQueue => xQueue_1(D)
  2123. # DEBUG BEGIN_STMT
  2124. if (xQueue_1(D) == 0B)
  2125. goto <bb 3>; [46.53%]
  2126. else
  2127. goto <bb 5>; [53.47%]
  2128. <bb 3> [local count: 107374]:
  2129. # DEBUG BEGIN_STMT
  2130. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2131. # DEBUG BEGIN_STMT
  2132. # DEBUG BEGIN_STMT
  2133. __asm__ __volatile__(" mov %0, %1
  2134. msr basepri, %0
  2135. isb
  2136. dsb
  2137. " : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  2138. # DEBUG ulNewBASEPRI => ulNewBASEPRI_5
  2139. <bb 4> [local count: 1073741824]:
  2140. # DEBUG ulNewBASEPRI => NULL
  2141. # DEBUG BEGIN_STMT
  2142. # DEBUG BEGIN_STMT
  2143. # DEBUG BEGIN_STMT
  2144. <bb 6> [local count: 1073741824]:
  2145. goto <bb 4>; [100.00%]
  2146. <bb 5> [local count: 123389]:
  2147. # DEBUG BEGIN_STMT
  2148. # DEBUG BEGIN_STMT
  2149. # DEBUG BEGIN_STMT
  2150. vQueueUnregisterQueue (xQueue_1(D));
  2151. # DEBUG BEGIN_STMT
  2152. vPortFree (xQueue_1(D));
  2153. return;
  2154. }
  2155. uxQueueMessagesWaitingFromISR (struct QueueDefinition * const xQueue)
  2156. {
  2157. uint32_t ulNewBASEPRI;
  2158. UBaseType_t uxReturn;
  2159. <bb 2> [local count: 357913]:
  2160. # DEBUG BEGIN_STMT
  2161. # DEBUG BEGIN_STMT
  2162. # DEBUG pxQueue => xQueue_1(D)
  2163. # DEBUG BEGIN_STMT
  2164. if (xQueue_1(D) == 0B)
  2165. goto <bb 3>; [30.00%]
  2166. else
  2167. goto <bb 5>; [70.00%]
  2168. <bb 3> [local count: 107374]:
  2169. # DEBUG BEGIN_STMT
  2170. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2171. # DEBUG BEGIN_STMT
  2172. # DEBUG BEGIN_STMT
  2173. __asm__ __volatile__(" mov %0, %1
  2174. msr basepri, %0
  2175. isb
  2176. dsb
  2177. " : "=r" ulNewBASEPRI_4 : "i" 16 : "memory");
  2178. # DEBUG ulNewBASEPRI => ulNewBASEPRI_4
  2179. <bb 4> [local count: 1073741824]:
  2180. # DEBUG ulNewBASEPRI => NULL
  2181. # DEBUG BEGIN_STMT
  2182. # DEBUG BEGIN_STMT
  2183. # DEBUG BEGIN_STMT
  2184. <bb 6> [local count: 1073741824]:
  2185. goto <bb 4>; [100.00%]
  2186. <bb 5> [local count: 250539]:
  2187. # DEBUG BEGIN_STMT
  2188. # DEBUG BEGIN_STMT
  2189. uxReturn_3 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting;
  2190. # DEBUG uxReturn => uxReturn_3
  2191. # DEBUG BEGIN_STMT
  2192. return uxReturn_3;
  2193. }
  2194. uxQueueSpacesAvailable (struct QueueDefinition * const xQueue)
  2195. {
  2196. uint32_t ulNewBASEPRI;
  2197. UBaseType_t uxReturn;
  2198. long unsigned int _1;
  2199. long unsigned int _2;
  2200. <bb 2> [local count: 230763]:
  2201. # DEBUG BEGIN_STMT
  2202. # DEBUG BEGIN_STMT
  2203. # DEBUG pxQueue => xQueue_3(D)
  2204. # DEBUG BEGIN_STMT
  2205. if (xQueue_3(D) == 0B)
  2206. goto <bb 3>; [46.53%]
  2207. else
  2208. goto <bb 5>; [53.47%]
  2209. <bb 3> [local count: 107374]:
  2210. # DEBUG BEGIN_STMT
  2211. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2212. # DEBUG BEGIN_STMT
  2213. # DEBUG BEGIN_STMT
  2214. __asm__ __volatile__(" mov %0, %1
  2215. msr basepri, %0
  2216. isb
  2217. dsb
  2218. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  2219. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  2220. <bb 4> [local count: 1073741824]:
  2221. # DEBUG ulNewBASEPRI => NULL
  2222. # DEBUG BEGIN_STMT
  2223. # DEBUG BEGIN_STMT
  2224. # DEBUG BEGIN_STMT
  2225. <bb 6> [local count: 1073741824]:
  2226. goto <bb 4>; [100.00%]
  2227. <bb 5> [local count: 123389]:
  2228. # DEBUG BEGIN_STMT
  2229. # DEBUG BEGIN_STMT
  2230. vPortEnterCritical ();
  2231. # DEBUG BEGIN_STMT
  2232. _1 = MEM[(struct Queue_t *)xQueue_3(D)].uxLength;
  2233. _2 ={v} MEM[(struct Queue_t *)xQueue_3(D)].uxMessagesWaiting;
  2234. uxReturn_6 = _1 - _2;
  2235. # DEBUG uxReturn => uxReturn_6
  2236. # DEBUG BEGIN_STMT
  2237. vPortExitCritical ();
  2238. # DEBUG BEGIN_STMT
  2239. return uxReturn_6;
  2240. }
  2241. uxQueueMessagesWaiting (struct QueueDefinition * const xQueue)
  2242. {
  2243. uint32_t ulNewBASEPRI;
  2244. UBaseType_t uxReturn;
  2245. <bb 2> [local count: 230763]:
  2246. # DEBUG BEGIN_STMT
  2247. # DEBUG BEGIN_STMT
  2248. if (xQueue_1(D) == 0B)
  2249. goto <bb 3>; [46.53%]
  2250. else
  2251. goto <bb 5>; [53.47%]
  2252. <bb 3> [local count: 107374]:
  2253. # DEBUG BEGIN_STMT
  2254. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2255. # DEBUG BEGIN_STMT
  2256. # DEBUG BEGIN_STMT
  2257. __asm__ __volatile__(" mov %0, %1
  2258. msr basepri, %0
  2259. isb
  2260. dsb
  2261. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  2262. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  2263. <bb 4> [local count: 1073741824]:
  2264. # DEBUG ulNewBASEPRI => NULL
  2265. # DEBUG BEGIN_STMT
  2266. # DEBUG BEGIN_STMT
  2267. # DEBUG BEGIN_STMT
  2268. <bb 6> [local count: 1073741824]:
  2269. goto <bb 4>; [100.00%]
  2270. <bb 5> [local count: 123389]:
  2271. # DEBUG BEGIN_STMT
  2272. # DEBUG BEGIN_STMT
  2273. vPortEnterCritical ();
  2274. # DEBUG BEGIN_STMT
  2275. uxReturn_4 ={v} MEM[(struct Queue_t *)xQueue_1(D)].uxMessagesWaiting;
  2276. # DEBUG uxReturn => uxReturn_4
  2277. # DEBUG BEGIN_STMT
  2278. vPortExitCritical ();
  2279. # DEBUG BEGIN_STMT
  2280. return uxReturn_4;
  2281. }
  2282. xQueuePeekFromISR (struct QueueDefinition * xQueue, void * const pvBuffer)
  2283. {
  2284. uint32_t ulOriginalBASEPRI;
  2285. uint32_t ulNewBASEPRI;
  2286. uint32_t ulNewBASEPRI;
  2287. uint32_t ulNewBASEPRI;
  2288. uint32_t ulNewBASEPRI;
  2289. int8_t * pcOriginalReadPosition;
  2290. BaseType_t xReturn;
  2291. long unsigned int _1;
  2292. long unsigned int _2;
  2293. long unsigned int _3;
  2294. <bb 2> [local count: 269344]:
  2295. # DEBUG BEGIN_STMT
  2296. # DEBUG BEGIN_STMT
  2297. # DEBUG BEGIN_STMT
  2298. # DEBUG BEGIN_STMT
  2299. # DEBUG pxQueue => xQueue_6(D)
  2300. # DEBUG BEGIN_STMT
  2301. if (xQueue_6(D) == 0B)
  2302. goto <bb 3>; [30.00%]
  2303. else
  2304. goto <bb 5>; [70.00%]
  2305. <bb 3> [local count: 80803]:
  2306. # DEBUG BEGIN_STMT
  2307. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2308. # DEBUG BEGIN_STMT
  2309. # DEBUG BEGIN_STMT
  2310. __asm__ __volatile__(" mov %0, %1
  2311. msr basepri, %0
  2312. isb
  2313. dsb
  2314. " : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
  2315. # DEBUG ulNewBASEPRI => ulNewBASEPRI_13
  2316. <bb 4> [local count: 808033481]:
  2317. # DEBUG ulNewBASEPRI => NULL
  2318. # DEBUG BEGIN_STMT
  2319. # DEBUG BEGIN_STMT
  2320. # DEBUG BEGIN_STMT
  2321. <bb 15> [local count: 808033481]:
  2322. goto <bb 4>; [100.00%]
  2323. <bb 5> [local count: 188541]:
  2324. # DEBUG BEGIN_STMT
  2325. # DEBUG BEGIN_STMT
  2326. if (pvBuffer_7(D) != 0B)
  2327. goto <bb 9>; [70.00%]
  2328. else
  2329. goto <bb 6>; [30.00%]
  2330. <bb 6> [local count: 56562]:
  2331. _1 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
  2332. if (_1 == 0)
  2333. goto <bb 9>; [50.00%]
  2334. else
  2335. goto <bb 7>; [50.00%]
  2336. <bb 7> [local count: 28281]:
  2337. # DEBUG BEGIN_STMT
  2338. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2339. # DEBUG BEGIN_STMT
  2340. # DEBUG BEGIN_STMT
  2341. __asm__ __volatile__(" mov %0, %1
  2342. msr basepri, %0
  2343. isb
  2344. dsb
  2345. " : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  2346. # DEBUG ulNewBASEPRI => ulNewBASEPRI_14
  2347. <bb 8> [local count: 282811719]:
  2348. # DEBUG ulNewBASEPRI => NULL
  2349. # DEBUG BEGIN_STMT
  2350. # DEBUG BEGIN_STMT
  2351. # DEBUG BEGIN_STMT
  2352. <bb 17> [local count: 282811719]:
  2353. goto <bb 8>; [100.00%]
  2354. <bb 9> [local count: 160260]:
  2355. # DEBUG BEGIN_STMT
  2356. # DEBUG BEGIN_STMT
  2357. _2 = MEM[(struct Queue_t *)xQueue_6(D)].uxItemSize;
  2358. if (_2 == 0)
  2359. goto <bb 10>; [67.00%]
  2360. else
  2361. goto <bb 12>; [33.00%]
  2362. <bb 10> [local count: 107374]:
  2363. # DEBUG BEGIN_STMT
  2364. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2365. # DEBUG BEGIN_STMT
  2366. # DEBUG BEGIN_STMT
  2367. __asm__ __volatile__(" mov %0, %1
  2368. msr basepri, %0
  2369. isb
  2370. dsb
  2371. " : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  2372. # DEBUG ulNewBASEPRI => ulNewBASEPRI_15
  2373. <bb 11> [local count: 1073741824]:
  2374. # DEBUG ulNewBASEPRI => NULL
  2375. # DEBUG BEGIN_STMT
  2376. # DEBUG BEGIN_STMT
  2377. # DEBUG BEGIN_STMT
  2378. <bb 16> [local count: 1073741824]:
  2379. goto <bb 11>; [100.00%]
  2380. <bb 12> [local count: 52886]:
  2381. # DEBUG BEGIN_STMT
  2382. # DEBUG BEGIN_STMT
  2383. vPortValidateInterruptPriority ();
  2384. # DEBUG BEGIN_STMT
  2385. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  2386. # DEBUG BEGIN_STMT
  2387. # DEBUG BEGIN_STMT
  2388. __asm__ __volatile__(" mrs %0, basepri
  2389. mov %1, %2
  2390. msr basepri, %1
  2391. isb
  2392. dsb
  2393. " : "=r" ulOriginalBASEPRI_16, "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  2394. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  2395. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_16
  2396. # DEBUG BEGIN_STMT
  2397. # DEBUG ulNewBASEPRI => NULL
  2398. # DEBUG ulOriginalBASEPRI => NULL
  2399. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_16
  2400. # DEBUG BEGIN_STMT
  2401. _3 ={v} MEM[(struct Queue_t *)xQueue_6(D)].uxMessagesWaiting;
  2402. if (_3 != 0)
  2403. goto <bb 13>; [33.00%]
  2404. else
  2405. goto <bb 14>; [67.00%]
  2406. <bb 13> [local count: 17452]:
  2407. # DEBUG BEGIN_STMT
  2408. # DEBUG BEGIN_STMT
  2409. pcOriginalReadPosition_10 = MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom;
  2410. # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_10
  2411. # DEBUG BEGIN_STMT
  2412. prvCopyDataFromQueue (xQueue_6(D), pvBuffer_7(D));
  2413. # DEBUG BEGIN_STMT
  2414. MEM[(struct Queue_t *)xQueue_6(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_10;
  2415. # DEBUG BEGIN_STMT
  2416. # DEBUG xReturn => 1
  2417. <bb 14> [local count: 52886]:
  2418. # xReturn_4 = PHI <1(13), 0(12)>
  2419. # DEBUG xReturn => xReturn_4
  2420. # DEBUG BEGIN_STMT
  2421. # DEBUG BEGIN_STMT
  2422. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_16
  2423. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  2424. # DEBUG BEGIN_STMT
  2425. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_16 : "memory");
  2426. # DEBUG ulNewMaskValue => NULL
  2427. # DEBUG BEGIN_STMT
  2428. return xReturn_4;
  2429. }
  2430. xQueueReceiveFromISR (struct QueueDefinition * xQueue, void * const pvBuffer, BaseType_t * const pxHigherPriorityTaskWoken)
  2431. {
  2432. uint32_t ulNewBASEPRI;
  2433. uint32_t ulOriginalBASEPRI;
  2434. uint32_t ulNewBASEPRI;
  2435. uint32_t ulNewBASEPRI;
  2436. uint32_t ulNewBASEPRI;
  2437. const int8_t cRxLock;
  2438. const UBaseType_t uxMessagesWaiting;
  2439. BaseType_t xReturn;
  2440. long unsigned int _1;
  2441. long unsigned int _2;
  2442. long unsigned int _3;
  2443. struct List_t * _4;
  2444. long int _5;
  2445. unsigned char cRxLock.28_6;
  2446. unsigned char _7;
  2447. signed char _8;
  2448. <bb 2> [local count: 357913]:
  2449. # DEBUG BEGIN_STMT
  2450. # DEBUG BEGIN_STMT
  2451. # DEBUG BEGIN_STMT
  2452. # DEBUG pxQueue => xQueue_11(D)
  2453. # DEBUG BEGIN_STMT
  2454. if (xQueue_11(D) == 0B)
  2455. goto <bb 3>; [30.00%]
  2456. else
  2457. goto <bb 5>; [70.00%]
  2458. <bb 3> [local count: 107374]:
  2459. # DEBUG BEGIN_STMT
  2460. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2461. # DEBUG BEGIN_STMT
  2462. # DEBUG BEGIN_STMT
  2463. __asm__ __volatile__(" mov %0, %1
  2464. msr basepri, %0
  2465. isb
  2466. dsb
  2467. " : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  2468. # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
  2469. <bb 4> [local count: 1073741824]:
  2470. # DEBUG ulNewBASEPRI => NULL
  2471. # DEBUG BEGIN_STMT
  2472. # DEBUG BEGIN_STMT
  2473. # DEBUG BEGIN_STMT
  2474. <bb 21> [local count: 1073741824]:
  2475. goto <bb 4>; [100.00%]
  2476. <bb 5> [local count: 250539]:
  2477. # DEBUG BEGIN_STMT
  2478. # DEBUG BEGIN_STMT
  2479. if (pvBuffer_12(D) != 0B)
  2480. goto <bb 9>; [53.47%]
  2481. else
  2482. goto <bb 6>; [46.53%]
  2483. <bb 6> [local count: 116576]:
  2484. _1 = MEM[(struct Queue_t *)xQueue_11(D)].uxItemSize;
  2485. if (_1 == 0)
  2486. goto <bb 9>; [50.00%]
  2487. else
  2488. goto <bb 7>; [50.00%]
  2489. <bb 7> [local count: 58288]:
  2490. # DEBUG BEGIN_STMT
  2491. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2492. # DEBUG BEGIN_STMT
  2493. # DEBUG BEGIN_STMT
  2494. __asm__ __volatile__(" mov %0, %1
  2495. msr basepri, %0
  2496. isb
  2497. dsb
  2498. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  2499. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  2500. <bb 8> [local count: 582880751]:
  2501. # DEBUG ulNewBASEPRI => NULL
  2502. # DEBUG BEGIN_STMT
  2503. # DEBUG BEGIN_STMT
  2504. # DEBUG BEGIN_STMT
  2505. <bb 23> [local count: 582880751]:
  2506. goto <bb 8>; [100.00%]
  2507. <bb 9> [local count: 192251]:
  2508. # DEBUG BEGIN_STMT
  2509. # DEBUG BEGIN_STMT
  2510. vPortValidateInterruptPriority ();
  2511. # DEBUG BEGIN_STMT
  2512. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  2513. # DEBUG BEGIN_STMT
  2514. # DEBUG BEGIN_STMT
  2515. __asm__ __volatile__(" mrs %0, basepri
  2516. mov %1, %2
  2517. msr basepri, %1
  2518. isb
  2519. dsb
  2520. " : "=r" ulOriginalBASEPRI_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  2521. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  2522. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_25
  2523. # DEBUG BEGIN_STMT
  2524. # DEBUG ulNewBASEPRI => NULL
  2525. # DEBUG ulOriginalBASEPRI => NULL
  2526. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_25
  2527. # DEBUG BEGIN_STMT
  2528. uxMessagesWaiting_15 ={v} MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting;
  2529. # DEBUG uxMessagesWaiting => uxMessagesWaiting_15
  2530. # DEBUG BEGIN_STMT
  2531. if (uxMessagesWaiting_15 != 0)
  2532. goto <bb 10>; [33.00%]
  2533. else
  2534. goto <bb 20>; [67.00%]
  2535. <bb 10> [local count: 63443]:
  2536. # DEBUG BEGIN_STMT
  2537. cRxLock_16 ={v} MEM[(struct Queue_t *)xQueue_11(D)].cRxLock;
  2538. # DEBUG cRxLock => cRxLock_16
  2539. # DEBUG BEGIN_STMT
  2540. # DEBUG BEGIN_STMT
  2541. prvCopyDataFromQueue (xQueue_11(D), pvBuffer_12(D));
  2542. # DEBUG BEGIN_STMT
  2543. _2 = uxMessagesWaiting_15 + 4294967295;
  2544. MEM[(struct Queue_t *)xQueue_11(D)].uxMessagesWaiting ={v} _2;
  2545. # DEBUG BEGIN_STMT
  2546. if (cRxLock_16 == -1)
  2547. goto <bb 11>; [34.00%]
  2548. else
  2549. goto <bb 15>; [66.00%]
  2550. <bb 11> [local count: 21571]:
  2551. # DEBUG BEGIN_STMT
  2552. _3 ={v} MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend.uxNumberOfItems;
  2553. if (_3 != 0)
  2554. goto <bb 12>; [33.00%]
  2555. else
  2556. goto <bb 20>; [67.00%]
  2557. <bb 12> [local count: 7118]:
  2558. # DEBUG BEGIN_STMT
  2559. _4 = &MEM[(struct Queue_t *)xQueue_11(D)].xTasksWaitingToSend;
  2560. _5 = xTaskRemoveFromEventList (_4);
  2561. if (_5 != 0)
  2562. goto <bb 13>; [50.00%]
  2563. else
  2564. goto <bb 20>; [50.00%]
  2565. <bb 13> [local count: 3559]:
  2566. # DEBUG BEGIN_STMT
  2567. if (pxHigherPriorityTaskWoken_21(D) != 0B)
  2568. goto <bb 14>; [70.00%]
  2569. else
  2570. goto <bb 20>; [30.00%]
  2571. <bb 14> [local count: 2491]:
  2572. # DEBUG BEGIN_STMT
  2573. *pxHigherPriorityTaskWoken_21(D) = 1;
  2574. goto <bb 20>; [100.00%]
  2575. <bb 15> [local count: 41872]:
  2576. # DEBUG BEGIN_STMT
  2577. if (cRxLock_16 == 127)
  2578. goto <bb 16>; [34.00%]
  2579. else
  2580. goto <bb 18>; [66.00%]
  2581. <bb 16> [local count: 14237]:
  2582. # DEBUG BEGIN_STMT
  2583. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2584. # DEBUG BEGIN_STMT
  2585. # DEBUG BEGIN_STMT
  2586. __asm__ __volatile__(" mov %0, %1
  2587. msr basepri, %0
  2588. isb
  2589. dsb
  2590. " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory");
  2591. # DEBUG ulNewBASEPRI => ulNewBASEPRI_27
  2592. <bb 17> [local count: 142366217]:
  2593. # DEBUG ulNewBASEPRI => NULL
  2594. # DEBUG BEGIN_STMT
  2595. # DEBUG BEGIN_STMT
  2596. # DEBUG BEGIN_STMT
  2597. <bb 22> [local count: 142366217]:
  2598. goto <bb 17>; [100.00%]
  2599. <bb 18> [local count: 27636]:
  2600. # DEBUG BEGIN_STMT
  2601. # DEBUG BEGIN_STMT
  2602. cRxLock.28_6 = (unsigned char) cRxLock_16;
  2603. _7 = cRxLock.28_6 + 1;
  2604. _8 = (signed char) _7;
  2605. MEM[(struct Queue_t *)xQueue_11(D)].cRxLock ={v} _8;
  2606. <bb 20> [local count: 178015]:
  2607. # xReturn_9 = PHI <1(18), 0(9), 1(14), 1(12), 1(13), 1(11)>
  2608. # DEBUG xReturn => xReturn_9
  2609. # DEBUG BEGIN_STMT
  2610. # DEBUG BEGIN_STMT
  2611. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_25
  2612. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  2613. # DEBUG BEGIN_STMT
  2614. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_25 : "memory");
  2615. # DEBUG ulNewMaskValue => NULL
  2616. # DEBUG BEGIN_STMT
  2617. return xReturn_9;
  2618. }
  2619. xQueuePeek (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait)
  2620. {
  2621. uint32_t ulNewBASEPRI;
  2622. uint32_t ulNewBASEPRI;
  2623. uint32_t ulNewBASEPRI;
  2624. const UBaseType_t uxMessagesWaiting;
  2625. int8_t * pcOriginalReadPosition;
  2626. struct TimeOut_t xTimeOut;
  2627. BaseType_t xEntryTimeSet;
  2628. long unsigned int _1;
  2629. long int _2;
  2630. long unsigned int xTicksToWait.24_3;
  2631. long unsigned int _4;
  2632. struct List_t * _5;
  2633. long int _6;
  2634. long unsigned int xTicksToWait.25_7;
  2635. signed char _8;
  2636. signed char _9;
  2637. long int _10;
  2638. long int _11;
  2639. struct List_t * _12;
  2640. long unsigned int xTicksToWait.26_13;
  2641. long int _14;
  2642. long int _15;
  2643. BaseType_t _18;
  2644. <bb 2> [local count: 357913]:
  2645. # DEBUG BEGIN_STMT
  2646. # DEBUG xEntryTimeSet => 0
  2647. # DEBUG BEGIN_STMT
  2648. # DEBUG BEGIN_STMT
  2649. # DEBUG BEGIN_STMT
  2650. # DEBUG pxQueue => xQueue_26(D)
  2651. # DEBUG BEGIN_STMT
  2652. if (xQueue_26(D) == 0B)
  2653. goto <bb 3>; [30.00%]
  2654. else
  2655. goto <bb 5>; [70.00%]
  2656. <bb 3> [local count: 107374]:
  2657. # DEBUG BEGIN_STMT
  2658. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2659. # DEBUG BEGIN_STMT
  2660. # DEBUG BEGIN_STMT
  2661. __asm__ __volatile__(" mov %0, %1
  2662. msr basepri, %0
  2663. isb
  2664. dsb
  2665. " : "=r" ulNewBASEPRI_64 : "i" 16 : "memory");
  2666. # DEBUG ulNewBASEPRI => ulNewBASEPRI_64
  2667. <bb 4> [local count: 1073741824]:
  2668. # DEBUG ulNewBASEPRI => NULL
  2669. # DEBUG BEGIN_STMT
  2670. # DEBUG BEGIN_STMT
  2671. # DEBUG BEGIN_STMT
  2672. <bb 35> [local count: 1073741824]:
  2673. goto <bb 4>; [100.00%]
  2674. <bb 5> [local count: 250539]:
  2675. # DEBUG BEGIN_STMT
  2676. # DEBUG BEGIN_STMT
  2677. if (pvBuffer_27(D) != 0B)
  2678. goto <bb 9>; [53.47%]
  2679. else
  2680. goto <bb 6>; [46.53%]
  2681. <bb 6> [local count: 116576]:
  2682. _1 = MEM[(struct Queue_t *)xQueue_26(D)].uxItemSize;
  2683. if (_1 == 0)
  2684. goto <bb 9>; [50.00%]
  2685. else
  2686. goto <bb 7>; [50.00%]
  2687. <bb 7> [local count: 58288]:
  2688. # DEBUG BEGIN_STMT
  2689. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2690. # DEBUG BEGIN_STMT
  2691. # DEBUG BEGIN_STMT
  2692. __asm__ __volatile__(" mov %0, %1
  2693. msr basepri, %0
  2694. isb
  2695. dsb
  2696. " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  2697. # DEBUG ulNewBASEPRI => ulNewBASEPRI_65
  2698. <bb 8> [local count: 582880751]:
  2699. # DEBUG ulNewBASEPRI => NULL
  2700. # DEBUG BEGIN_STMT
  2701. # DEBUG BEGIN_STMT
  2702. # DEBUG BEGIN_STMT
  2703. <bb 37> [local count: 582880751]:
  2704. goto <bb 8>; [100.00%]
  2705. <bb 9> [local count: 192251]:
  2706. # DEBUG BEGIN_STMT
  2707. # DEBUG BEGIN_STMT
  2708. _2 = xTaskGetSchedulerState ();
  2709. if (_2 != 0)
  2710. goto <bb 10>; [50.00%]
  2711. else
  2712. goto <bb 11>; [50.00%]
  2713. <bb 10> [local count: 144189]:
  2714. # xEntryTimeSet_30 = PHI <0(9), 0(11)>
  2715. goto <bb 15>; [100.00%]
  2716. <bb 11> [local count: 96126]:
  2717. xTicksToWait.24_3 = xTicksToWait;
  2718. if (xTicksToWait.24_3 == 0)
  2719. goto <bb 10>; [50.00%]
  2720. else
  2721. goto <bb 12>; [50.00%]
  2722. <bb 12> [local count: 48063]:
  2723. # DEBUG BEGIN_STMT
  2724. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2725. # DEBUG BEGIN_STMT
  2726. # DEBUG BEGIN_STMT
  2727. __asm__ __volatile__(" mov %0, %1
  2728. msr basepri, %0
  2729. isb
  2730. dsb
  2731. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  2732. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  2733. <bb 13> [local count: 480629211]:
  2734. # DEBUG ulNewBASEPRI => NULL
  2735. # DEBUG BEGIN_STMT
  2736. # DEBUG BEGIN_STMT
  2737. # DEBUG BEGIN_STMT
  2738. <bb 36> [local count: 480629211]:
  2739. goto <bb 13>; [100.00%]
  2740. <bb 14> [local count: 1478726]:
  2741. # xEntryTimeSet_44 = PHI <xEntryTimeSet_17(33), xEntryTimeSet_17(32), xEntryTimeSet_17(31), xEntryTimeSet_17(30)>
  2742. <bb 15> [local count: 1622915]:
  2743. # xEntryTimeSet_16 = PHI <xEntryTimeSet_30(10), xEntryTimeSet_44(14)>
  2744. # DEBUG xEntryTimeSet => xEntryTimeSet_16
  2745. # DEBUG BEGIN_STMT
  2746. # DEBUG BEGIN_STMT
  2747. # DEBUG BEGIN_STMT
  2748. vPortEnterCritical ();
  2749. # DEBUG BEGIN_STMT
  2750. uxMessagesWaiting_32 ={v} MEM[(struct Queue_t *)xQueue_26(D)].uxMessagesWaiting;
  2751. # DEBUG uxMessagesWaiting => uxMessagesWaiting_32
  2752. # DEBUG BEGIN_STMT
  2753. if (uxMessagesWaiting_32 != 0)
  2754. goto <bb 16>; [3.66%]
  2755. else
  2756. goto <bb 20>; [96.34%]
  2757. <bb 16> [local count: 59399]:
  2758. # DEBUG BEGIN_STMT
  2759. pcOriginalReadPosition_55 = MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom;
  2760. # DEBUG pcOriginalReadPosition => pcOriginalReadPosition_55
  2761. # DEBUG BEGIN_STMT
  2762. prvCopyDataFromQueue (xQueue_26(D), pvBuffer_27(D));
  2763. # DEBUG BEGIN_STMT
  2764. # DEBUG BEGIN_STMT
  2765. MEM[(struct Queue_t *)xQueue_26(D)].u.xQueue.pcReadFrom = pcOriginalReadPosition_55;
  2766. # DEBUG BEGIN_STMT
  2767. _4 ={v} MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive.uxNumberOfItems;
  2768. if (_4 != 0)
  2769. goto <bb 17>; [33.00%]
  2770. else
  2771. goto <bb 19>; [67.00%]
  2772. <bb 17> [local count: 19602]:
  2773. # DEBUG BEGIN_STMT
  2774. _5 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  2775. _6 = xTaskRemoveFromEventList (_5);
  2776. if (_6 != 0)
  2777. goto <bb 18>; [50.00%]
  2778. else
  2779. goto <bb 19>; [50.00%]
  2780. <bb 18> [local count: 9801]:
  2781. # DEBUG BEGIN_STMT
  2782. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  2783. # DEBUG BEGIN_STMT
  2784. __asm__ __volatile__("dsb" : : : "memory");
  2785. # DEBUG BEGIN_STMT
  2786. __asm__ __volatile__("isb");
  2787. # DEBUG BEGIN_STMT
  2788. <bb 19> [local count: 59399]:
  2789. # DEBUG BEGIN_STMT
  2790. # DEBUG BEGIN_STMT
  2791. vPortExitCritical ();
  2792. # DEBUG BEGIN_STMT
  2793. goto <bb 34>; [100.00%]
  2794. <bb 20> [local count: 1563516]:
  2795. # DEBUG BEGIN_STMT
  2796. xTicksToWait.25_7 = xTicksToWait;
  2797. if (xTicksToWait.25_7 == 0)
  2798. goto <bb 21>; [3.66%]
  2799. else
  2800. goto <bb 22>; [96.34%]
  2801. <bb 21> [local count: 57225]:
  2802. # DEBUG BEGIN_STMT
  2803. vPortExitCritical ();
  2804. # DEBUG BEGIN_STMT
  2805. # DEBUG BEGIN_STMT
  2806. goto <bb 34>; [100.00%]
  2807. <bb 22> [local count: 1506292]:
  2808. # DEBUG BEGIN_STMT
  2809. if (xEntryTimeSet_16 == 0)
  2810. goto <bb 23>; [33.00%]
  2811. else
  2812. goto <bb 24>; [67.00%]
  2813. <bb 23> [local count: 497076]:
  2814. # DEBUG BEGIN_STMT
  2815. vTaskInternalSetTimeOutState (&xTimeOut);
  2816. # DEBUG BEGIN_STMT
  2817. # DEBUG xEntryTimeSet => 1
  2818. <bb 24> [local count: 1506292]:
  2819. # xEntryTimeSet_17 = PHI <xEntryTimeSet_16(22), 1(23)>
  2820. # DEBUG xEntryTimeSet => xEntryTimeSet_17
  2821. # DEBUG BEGIN_STMT
  2822. # DEBUG BEGIN_STMT
  2823. vPortExitCritical ();
  2824. # DEBUG BEGIN_STMT
  2825. vTaskSuspendAll ();
  2826. # DEBUG BEGIN_STMT
  2827. vPortEnterCritical ();
  2828. # DEBUG BEGIN_STMT
  2829. _8 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cRxLock;
  2830. if (_8 == -1)
  2831. goto <bb 25>; [34.00%]
  2832. else
  2833. goto <bb 26>; [66.00%]
  2834. <bb 25> [local count: 512139]:
  2835. # DEBUG BEGIN_STMT
  2836. MEM[(struct Queue_t *)xQueue_26(D)].cRxLock ={v} 0;
  2837. <bb 26> [local count: 1506292]:
  2838. # DEBUG BEGIN_STMT
  2839. _9 ={v} MEM[(struct Queue_t *)xQueue_26(D)].cTxLock;
  2840. if (_9 == -1)
  2841. goto <bb 27>; [34.00%]
  2842. else
  2843. goto <bb 28>; [66.00%]
  2844. <bb 27> [local count: 512139]:
  2845. # DEBUG BEGIN_STMT
  2846. MEM[(struct Queue_t *)xQueue_26(D)].cTxLock ={v} 0;
  2847. <bb 28> [local count: 1506292]:
  2848. # DEBUG BEGIN_STMT
  2849. vPortExitCritical ();
  2850. # DEBUG BEGIN_STMT
  2851. _10 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  2852. if (_10 == 0)
  2853. goto <bb 29>; [50.00%]
  2854. else
  2855. goto <bb 33>; [50.00%]
  2856. <bb 29> [local count: 753146]:
  2857. # DEBUG BEGIN_STMT
  2858. _11 = prvIsQueueEmpty (xQueue_26(D));
  2859. if (_11 != 0)
  2860. goto <bb 30>; [50.00%]
  2861. else
  2862. goto <bb 32>; [50.00%]
  2863. <bb 30> [local count: 376573]:
  2864. # DEBUG BEGIN_STMT
  2865. # DEBUG BEGIN_STMT
  2866. _12 = &MEM[(struct Queue_t *)xQueue_26(D)].xTasksWaitingToReceive;
  2867. xTicksToWait.26_13 = xTicksToWait;
  2868. vTaskPlaceOnEventList (_12, xTicksToWait.26_13);
  2869. # DEBUG BEGIN_STMT
  2870. prvUnlockQueue (xQueue_26(D));
  2871. # DEBUG BEGIN_STMT
  2872. _14 = xTaskResumeAll ();
  2873. if (_14 == 0)
  2874. goto <bb 31>; [50.00%]
  2875. else
  2876. goto <bb 14>; [50.00%]
  2877. <bb 31> [local count: 188286]:
  2878. # DEBUG BEGIN_STMT
  2879. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  2880. # DEBUG BEGIN_STMT
  2881. __asm__ __volatile__("dsb" : : : "memory");
  2882. # DEBUG BEGIN_STMT
  2883. __asm__ __volatile__("isb");
  2884. # DEBUG BEGIN_STMT
  2885. goto <bb 14>; [100.00%]
  2886. <bb 32> [local count: 376573]:
  2887. # DEBUG BEGIN_STMT
  2888. prvUnlockQueue (xQueue_26(D));
  2889. # DEBUG BEGIN_STMT
  2890. xTaskResumeAll ();
  2891. goto <bb 14>; [100.00%]
  2892. <bb 33> [local count: 753146]:
  2893. # DEBUG BEGIN_STMT
  2894. prvUnlockQueue (xQueue_26(D));
  2895. # DEBUG BEGIN_STMT
  2896. xTaskResumeAll ();
  2897. # DEBUG BEGIN_STMT
  2898. _15 = prvIsQueueEmpty (xQueue_26(D));
  2899. if (_15 != 0)
  2900. goto <bb 34>; [3.66%]
  2901. else
  2902. goto <bb 14>; [96.34%]
  2903. <bb 34> [local count: 144189]:
  2904. # _18 = PHI <1(19), 0(21), 0(33)>
  2905. xTimeOut ={v} {CLOBBER};
  2906. return _18;
  2907. }
  2908. xQueueSemaphoreTake (struct QueueDefinition * xQueue, TickType_t xTicksToWait)
  2909. {
  2910. uint32_t ulNewBASEPRI;
  2911. uint32_t ulNewBASEPRI;
  2912. uint32_t ulNewBASEPRI;
  2913. uint32_t ulNewBASEPRI;
  2914. UBaseType_t uxHighestWaitingPriority;
  2915. const UBaseType_t uxSemaphoreCount;
  2916. BaseType_t xInheritanceOccurred;
  2917. struct TimeOut_t xTimeOut;
  2918. BaseType_t xEntryTimeSet;
  2919. long unsigned int _1;
  2920. long int _2;
  2921. long unsigned int xTicksToWait.19_3;
  2922. long unsigned int _4;
  2923. int8_t * _5;
  2924. struct tskTaskControlBlock * _6;
  2925. long unsigned int _7;
  2926. struct List_t * _8;
  2927. long int _9;
  2928. long unsigned int xTicksToWait.20_10;
  2929. signed char _11;
  2930. signed char _12;
  2931. long int _13;
  2932. long int _14;
  2933. int8_t * _15;
  2934. struct tskTaskControlBlock * _16;
  2935. struct List_t * _17;
  2936. long unsigned int xTicksToWait.21_18;
  2937. long int _19;
  2938. long int _20;
  2939. struct tskTaskControlBlock * _21;
  2940. BaseType_t _27;
  2941. <bb 2> [local count: 228942]:
  2942. # DEBUG BEGIN_STMT
  2943. # DEBUG xEntryTimeSet => 0
  2944. # DEBUG BEGIN_STMT
  2945. # DEBUG BEGIN_STMT
  2946. # DEBUG pxQueue => xQueue_38(D)
  2947. # DEBUG BEGIN_STMT
  2948. # DEBUG xInheritanceOccurred => 0
  2949. # DEBUG BEGIN_STMT
  2950. if (xQueue_38(D) == 0B)
  2951. goto <bb 3>; [30.00%]
  2952. else
  2953. goto <bb 5>; [70.00%]
  2954. <bb 3> [local count: 68683]:
  2955. # DEBUG BEGIN_STMT
  2956. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2957. # DEBUG BEGIN_STMT
  2958. # DEBUG BEGIN_STMT
  2959. __asm__ __volatile__(" mov %0, %1
  2960. msr basepri, %0
  2961. isb
  2962. dsb
  2963. " : "=r" ulNewBASEPRI_88 : "i" 16 : "memory");
  2964. # DEBUG ulNewBASEPRI => ulNewBASEPRI_88
  2965. <bb 4> [local count: 686828460]:
  2966. # DEBUG ulNewBASEPRI => NULL
  2967. # DEBUG BEGIN_STMT
  2968. # DEBUG BEGIN_STMT
  2969. # DEBUG BEGIN_STMT
  2970. <bb 44> [local count: 686828460]:
  2971. goto <bb 4>; [100.00%]
  2972. <bb 5> [local count: 160260]:
  2973. # DEBUG BEGIN_STMT
  2974. # DEBUG BEGIN_STMT
  2975. _1 = MEM[(struct Queue_t *)xQueue_38(D)].uxItemSize;
  2976. if (_1 != 0)
  2977. goto <bb 6>; [67.00%]
  2978. else
  2979. goto <bb 8>; [33.00%]
  2980. <bb 6> [local count: 107374]:
  2981. # DEBUG BEGIN_STMT
  2982. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  2983. # DEBUG BEGIN_STMT
  2984. # DEBUG BEGIN_STMT
  2985. __asm__ __volatile__(" mov %0, %1
  2986. msr basepri, %0
  2987. isb
  2988. dsb
  2989. " : "=r" ulNewBASEPRI_89 : "i" 16 : "memory");
  2990. # DEBUG ulNewBASEPRI => ulNewBASEPRI_89
  2991. <bb 7> [local count: 1073741824]:
  2992. # DEBUG ulNewBASEPRI => NULL
  2993. # DEBUG BEGIN_STMT
  2994. # DEBUG BEGIN_STMT
  2995. # DEBUG BEGIN_STMT
  2996. <bb 45> [local count: 1073741824]:
  2997. goto <bb 7>; [100.00%]
  2998. <bb 8> [local count: 52886]:
  2999. # DEBUG BEGIN_STMT
  3000. # DEBUG BEGIN_STMT
  3001. _2 = xTaskGetSchedulerState ();
  3002. if (_2 != 0)
  3003. goto <bb 10>; [50.00%]
  3004. else
  3005. goto <bb 9>; [50.00%]
  3006. <bb 9> [local count: 26443]:
  3007. xTicksToWait.19_3 = xTicksToWait;
  3008. if (xTicksToWait.19_3 == 0)
  3009. goto <bb 10>; [50.00%]
  3010. else
  3011. goto <bb 11>; [50.00%]
  3012. <bb 10> [local count: 39664]:
  3013. # xEntryTimeSet_40 = PHI <0(9), 0(8)>
  3014. # xInheritanceOccurred_64 = PHI <0(9), 0(8)>
  3015. goto <bb 14>; [100.00%]
  3016. <bb 11> [local count: 13221]:
  3017. # DEBUG BEGIN_STMT
  3018. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3019. # DEBUG BEGIN_STMT
  3020. # DEBUG BEGIN_STMT
  3021. __asm__ __volatile__(" mov %0, %1
  3022. msr basepri, %0
  3023. isb
  3024. dsb
  3025. " : "=r" ulNewBASEPRI_90 : "i" 16 : "memory");
  3026. # DEBUG ulNewBASEPRI => ulNewBASEPRI_90
  3027. <bb 12> [local count: 132214478]:
  3028. # DEBUG ulNewBASEPRI => NULL
  3029. # DEBUG BEGIN_STMT
  3030. # DEBUG BEGIN_STMT
  3031. # DEBUG BEGIN_STMT
  3032. <bb 47> [local count: 132214478]:
  3033. goto <bb 12>; [100.00%]
  3034. <bb 13> [local count: 406777]:
  3035. # xEntryTimeSet_48 = PHI <xEntryTimeSet_23(39), xEntryTimeSet_23(38), xEntryTimeSet_23(37), xEntryTimeSet_23(36)>
  3036. # xInheritanceOccurred_39 = PHI <xInheritanceOccurred_24(39), xInheritanceOccurred_24(38), xInheritanceOccurred_25(37), xInheritanceOccurred_25(36)>
  3037. <bb 14> [local count: 446442]:
  3038. # xEntryTimeSet_22 = PHI <xEntryTimeSet_40(10), xEntryTimeSet_48(13)>
  3039. # xInheritanceOccurred_24 = PHI <xInheritanceOccurred_64(10), xInheritanceOccurred_39(13)>
  3040. # DEBUG xInheritanceOccurred => xInheritanceOccurred_24
  3041. # DEBUG xEntryTimeSet => xEntryTimeSet_22
  3042. # DEBUG BEGIN_STMT
  3043. # DEBUG BEGIN_STMT
  3044. # DEBUG BEGIN_STMT
  3045. vPortEnterCritical ();
  3046. # DEBUG BEGIN_STMT
  3047. uxSemaphoreCount_46 ={v} MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting;
  3048. # DEBUG uxSemaphoreCount => uxSemaphoreCount_46
  3049. # DEBUG BEGIN_STMT
  3050. if (uxSemaphoreCount_46 != 0)
  3051. goto <bb 15>; [3.66%]
  3052. else
  3053. goto <bb 21>; [96.34%]
  3054. <bb 15> [local count: 16340]:
  3055. # uxSemaphoreCount_26 = PHI <uxSemaphoreCount_46(14)>
  3056. # DEBUG BEGIN_STMT
  3057. # DEBUG BEGIN_STMT
  3058. _4 = uxSemaphoreCount_26 + 4294967295;
  3059. MEM[(struct Queue_t *)xQueue_38(D)].uxMessagesWaiting ={v} _4;
  3060. # DEBUG BEGIN_STMT
  3061. _5 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
  3062. if (_5 == 0B)
  3063. goto <bb 16>; [17.43%]
  3064. else
  3065. goto <bb 17>; [82.57%]
  3066. <bb 16> [local count: 2848]:
  3067. # DEBUG BEGIN_STMT
  3068. _6 = pvTaskIncrementMutexHeldCount ();
  3069. MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder = _6;
  3070. <bb 17> [local count: 16340]:
  3071. # DEBUG BEGIN_STMT
  3072. # DEBUG BEGIN_STMT
  3073. _7 ={v} MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend.uxNumberOfItems;
  3074. if (_7 != 0)
  3075. goto <bb 18>; [33.00%]
  3076. else
  3077. goto <bb 20>; [67.00%]
  3078. <bb 18> [local count: 5392]:
  3079. # DEBUG BEGIN_STMT
  3080. _8 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToSend;
  3081. _9 = xTaskRemoveFromEventList (_8);
  3082. if (_9 != 0)
  3083. goto <bb 19>; [50.00%]
  3084. else
  3085. goto <bb 20>; [50.00%]
  3086. <bb 19> [local count: 2696]:
  3087. # DEBUG BEGIN_STMT
  3088. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  3089. # DEBUG BEGIN_STMT
  3090. __asm__ __volatile__("dsb" : : : "memory");
  3091. # DEBUG BEGIN_STMT
  3092. __asm__ __volatile__("isb");
  3093. # DEBUG BEGIN_STMT
  3094. <bb 20> [local count: 16340]:
  3095. # DEBUG BEGIN_STMT
  3096. # DEBUG BEGIN_STMT
  3097. vPortExitCritical ();
  3098. # DEBUG BEGIN_STMT
  3099. goto <bb 43>; [100.00%]
  3100. <bb 21> [local count: 430102]:
  3101. # DEBUG BEGIN_STMT
  3102. xTicksToWait.20_10 = xTicksToWait;
  3103. if (xTicksToWait.20_10 == 0)
  3104. goto <bb 22>; [3.66%]
  3105. else
  3106. goto <bb 26>; [96.34%]
  3107. <bb 22> [local count: 15742]:
  3108. # xInheritanceOccurred_43 = PHI <xInheritanceOccurred_24(21)>
  3109. # DEBUG BEGIN_STMT
  3110. if (xInheritanceOccurred_43 != 0)
  3111. goto <bb 23>; [79.76%]
  3112. else
  3113. goto <bb 25>; [20.24%]
  3114. <bb 23> [local count: 12556]:
  3115. # DEBUG BEGIN_STMT
  3116. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3117. # DEBUG BEGIN_STMT
  3118. # DEBUG BEGIN_STMT
  3119. __asm__ __volatile__(" mov %0, %1
  3120. msr basepri, %0
  3121. isb
  3122. dsb
  3123. " : "=r" ulNewBASEPRI_91 : "i" 16 : "memory");
  3124. # DEBUG ulNewBASEPRI => ulNewBASEPRI_91
  3125. <bb 24> [local count: 125556217]:
  3126. # DEBUG ulNewBASEPRI => NULL
  3127. # DEBUG BEGIN_STMT
  3128. # DEBUG BEGIN_STMT
  3129. # DEBUG BEGIN_STMT
  3130. <bb 46> [local count: 125556217]:
  3131. goto <bb 24>; [100.00%]
  3132. <bb 25> [local count: 3186]:
  3133. # DEBUG BEGIN_STMT
  3134. # DEBUG BEGIN_STMT
  3135. vPortExitCritical ();
  3136. # DEBUG BEGIN_STMT
  3137. # DEBUG BEGIN_STMT
  3138. goto <bb 43>; [100.00%]
  3139. <bb 26> [local count: 414360]:
  3140. # DEBUG BEGIN_STMT
  3141. if (xEntryTimeSet_22 == 0)
  3142. goto <bb 27>; [33.00%]
  3143. else
  3144. goto <bb 28>; [67.00%]
  3145. <bb 27> [local count: 136739]:
  3146. # DEBUG BEGIN_STMT
  3147. vTaskInternalSetTimeOutState (&xTimeOut);
  3148. # DEBUG BEGIN_STMT
  3149. # DEBUG xEntryTimeSet => 1
  3150. <bb 28> [local count: 414360]:
  3151. # xEntryTimeSet_23 = PHI <xEntryTimeSet_22(26), 1(27)>
  3152. # DEBUG xEntryTimeSet => xEntryTimeSet_23
  3153. # DEBUG BEGIN_STMT
  3154. # DEBUG BEGIN_STMT
  3155. vPortExitCritical ();
  3156. # DEBUG BEGIN_STMT
  3157. vTaskSuspendAll ();
  3158. # DEBUG BEGIN_STMT
  3159. vPortEnterCritical ();
  3160. # DEBUG BEGIN_STMT
  3161. _11 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cRxLock;
  3162. if (_11 == -1)
  3163. goto <bb 29>; [34.00%]
  3164. else
  3165. goto <bb 30>; [66.00%]
  3166. <bb 29> [local count: 140882]:
  3167. # DEBUG BEGIN_STMT
  3168. MEM[(struct Queue_t *)xQueue_38(D)].cRxLock ={v} 0;
  3169. <bb 30> [local count: 414360]:
  3170. # DEBUG BEGIN_STMT
  3171. _12 ={v} MEM[(struct Queue_t *)xQueue_38(D)].cTxLock;
  3172. if (_12 == -1)
  3173. goto <bb 31>; [34.00%]
  3174. else
  3175. goto <bb 32>; [66.00%]
  3176. <bb 31> [local count: 140882]:
  3177. # DEBUG BEGIN_STMT
  3178. MEM[(struct Queue_t *)xQueue_38(D)].cTxLock ={v} 0;
  3179. <bb 32> [local count: 414360]:
  3180. # DEBUG BEGIN_STMT
  3181. vPortExitCritical ();
  3182. # DEBUG BEGIN_STMT
  3183. _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  3184. if (_13 == 0)
  3185. goto <bb 33>; [50.00%]
  3186. else
  3187. goto <bb 39>; [50.00%]
  3188. <bb 33> [local count: 207180]:
  3189. # DEBUG BEGIN_STMT
  3190. _14 = prvIsQueueEmpty (xQueue_38(D));
  3191. if (_14 != 0)
  3192. goto <bb 34>; [67.00%]
  3193. else
  3194. goto <bb 38>; [33.00%]
  3195. <bb 34> [local count: 138811]:
  3196. # DEBUG BEGIN_STMT
  3197. # DEBUG BEGIN_STMT
  3198. _15 = MEM[(struct Queue_t *)xQueue_38(D)].pcHead;
  3199. if (_15 == 0B)
  3200. goto <bb 35>; [17.43%]
  3201. else
  3202. goto <bb 36>; [82.57%]
  3203. <bb 35> [local count: 24195]:
  3204. # DEBUG BEGIN_STMT
  3205. vPortEnterCritical ();
  3206. # DEBUG BEGIN_STMT
  3207. _16 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder;
  3208. xInheritanceOccurred_70 = xTaskPriorityInherit (_16);
  3209. # DEBUG xInheritanceOccurred => xInheritanceOccurred_70
  3210. # DEBUG BEGIN_STMT
  3211. vPortExitCritical ();
  3212. <bb 36> [local count: 138811]:
  3213. # xInheritanceOccurred_25 = PHI <xInheritanceOccurred_24(34), xInheritanceOccurred_70(35)>
  3214. # DEBUG xInheritanceOccurred => xInheritanceOccurred_25
  3215. # DEBUG BEGIN_STMT
  3216. # DEBUG BEGIN_STMT
  3217. _17 = &MEM[(struct Queue_t *)xQueue_38(D)].xTasksWaitingToReceive;
  3218. xTicksToWait.21_18 = xTicksToWait;
  3219. vTaskPlaceOnEventList (_17, xTicksToWait.21_18);
  3220. # DEBUG BEGIN_STMT
  3221. prvUnlockQueue (xQueue_38(D));
  3222. # DEBUG BEGIN_STMT
  3223. _19 = xTaskResumeAll ();
  3224. if (_19 == 0)
  3225. goto <bb 37>; [50.00%]
  3226. else
  3227. goto <bb 13>; [50.00%]
  3228. <bb 37> [local count: 69405]:
  3229. # DEBUG BEGIN_STMT
  3230. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  3231. # DEBUG BEGIN_STMT
  3232. __asm__ __volatile__("dsb" : : : "memory");
  3233. # DEBUG BEGIN_STMT
  3234. __asm__ __volatile__("isb");
  3235. # DEBUG BEGIN_STMT
  3236. goto <bb 13>; [100.00%]
  3237. <bb 38> [local count: 68369]:
  3238. # DEBUG BEGIN_STMT
  3239. prvUnlockQueue (xQueue_38(D));
  3240. # DEBUG BEGIN_STMT
  3241. xTaskResumeAll ();
  3242. goto <bb 13>; [100.00%]
  3243. <bb 39> [local count: 207180]:
  3244. # DEBUG BEGIN_STMT
  3245. prvUnlockQueue (xQueue_38(D));
  3246. # DEBUG BEGIN_STMT
  3247. xTaskResumeAll ();
  3248. # DEBUG BEGIN_STMT
  3249. _20 = prvIsQueueEmpty (xQueue_38(D));
  3250. if (_20 != 0)
  3251. goto <bb 40>; [3.66%]
  3252. else
  3253. goto <bb 13>; [96.34%]
  3254. <bb 40> [local count: 7583]:
  3255. # xInheritanceOccurred_44 = PHI <xInheritanceOccurred_24(39)>
  3256. # DEBUG BEGIN_STMT
  3257. if (xInheritanceOccurred_44 != 0)
  3258. goto <bb 41>; [33.00%]
  3259. else
  3260. goto <bb 42>; [67.00%]
  3261. <bb 41> [local count: 2502]:
  3262. # DEBUG BEGIN_STMT
  3263. vPortEnterCritical ();
  3264. # DEBUG BEGIN_STMT
  3265. # DEBUG BEGIN_STMT
  3266. uxHighestWaitingPriority_61 = prvGetDisinheritPriorityAfterTimeout (xQueue_38(D));
  3267. # DEBUG uxHighestWaitingPriority => uxHighestWaitingPriority_61
  3268. # DEBUG BEGIN_STMT
  3269. _21 = MEM[(struct Queue_t *)xQueue_38(D)].u.xSemaphore.xMutexHolder;
  3270. vTaskPriorityDisinheritAfterTimeout (_21, uxHighestWaitingPriority_61);
  3271. # DEBUG BEGIN_STMT
  3272. vPortExitCritical ();
  3273. <bb 42> [local count: 7583]:
  3274. # DEBUG BEGIN_STMT
  3275. # DEBUG BEGIN_STMT
  3276. <bb 43> [local count: 27109]:
  3277. # _27 = PHI <1(20), 0(25), 0(42)>
  3278. xTimeOut ={v} {CLOBBER};
  3279. return _27;
  3280. }
  3281. xQueueReceive (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait)
  3282. {
  3283. uint32_t ulNewBASEPRI;
  3284. uint32_t ulNewBASEPRI;
  3285. uint32_t ulNewBASEPRI;
  3286. const UBaseType_t uxMessagesWaiting;
  3287. struct TimeOut_t xTimeOut;
  3288. BaseType_t xEntryTimeSet;
  3289. long unsigned int _1;
  3290. long int _2;
  3291. long unsigned int xTicksToWait.15_3;
  3292. long unsigned int _4;
  3293. long unsigned int _5;
  3294. struct List_t * _6;
  3295. long int _7;
  3296. long unsigned int xTicksToWait.16_8;
  3297. signed char _9;
  3298. signed char _10;
  3299. long int _11;
  3300. long int _12;
  3301. struct List_t * _13;
  3302. long unsigned int xTicksToWait.17_14;
  3303. long int _15;
  3304. long int _16;
  3305. BaseType_t _19;
  3306. <bb 2> [local count: 357913]:
  3307. # DEBUG BEGIN_STMT
  3308. # DEBUG xEntryTimeSet => 0
  3309. # DEBUG BEGIN_STMT
  3310. # DEBUG BEGIN_STMT
  3311. # DEBUG pxQueue => xQueue_27(D)
  3312. # DEBUG BEGIN_STMT
  3313. if (xQueue_27(D) == 0B)
  3314. goto <bb 3>; [30.00%]
  3315. else
  3316. goto <bb 5>; [70.00%]
  3317. <bb 3> [local count: 107374]:
  3318. # DEBUG BEGIN_STMT
  3319. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3320. # DEBUG BEGIN_STMT
  3321. # DEBUG BEGIN_STMT
  3322. __asm__ __volatile__(" mov %0, %1
  3323. msr basepri, %0
  3324. isb
  3325. dsb
  3326. " : "=r" ulNewBASEPRI_65 : "i" 16 : "memory");
  3327. # DEBUG ulNewBASEPRI => ulNewBASEPRI_65
  3328. <bb 4> [local count: 1073741824]:
  3329. # DEBUG ulNewBASEPRI => NULL
  3330. # DEBUG BEGIN_STMT
  3331. # DEBUG BEGIN_STMT
  3332. # DEBUG BEGIN_STMT
  3333. <bb 35> [local count: 1073741824]:
  3334. goto <bb 4>; [100.00%]
  3335. <bb 5> [local count: 250539]:
  3336. # DEBUG BEGIN_STMT
  3337. # DEBUG BEGIN_STMT
  3338. if (pvBuffer_28(D) != 0B)
  3339. goto <bb 9>; [53.47%]
  3340. else
  3341. goto <bb 6>; [46.53%]
  3342. <bb 6> [local count: 116576]:
  3343. _1 = MEM[(struct Queue_t *)xQueue_27(D)].uxItemSize;
  3344. if (_1 == 0)
  3345. goto <bb 9>; [50.00%]
  3346. else
  3347. goto <bb 7>; [50.00%]
  3348. <bb 7> [local count: 58288]:
  3349. # DEBUG BEGIN_STMT
  3350. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3351. # DEBUG BEGIN_STMT
  3352. # DEBUG BEGIN_STMT
  3353. __asm__ __volatile__(" mov %0, %1
  3354. msr basepri, %0
  3355. isb
  3356. dsb
  3357. " : "=r" ulNewBASEPRI_66 : "i" 16 : "memory");
  3358. # DEBUG ulNewBASEPRI => ulNewBASEPRI_66
  3359. <bb 8> [local count: 582880751]:
  3360. # DEBUG ulNewBASEPRI => NULL
  3361. # DEBUG BEGIN_STMT
  3362. # DEBUG BEGIN_STMT
  3363. # DEBUG BEGIN_STMT
  3364. <bb 37> [local count: 582880751]:
  3365. goto <bb 8>; [100.00%]
  3366. <bb 9> [local count: 192251]:
  3367. # DEBUG BEGIN_STMT
  3368. # DEBUG BEGIN_STMT
  3369. _2 = xTaskGetSchedulerState ();
  3370. if (_2 != 0)
  3371. goto <bb 10>; [50.00%]
  3372. else
  3373. goto <bb 11>; [50.00%]
  3374. <bb 10> [local count: 144189]:
  3375. # xEntryTimeSet_32 = PHI <0(9), 0(11)>
  3376. goto <bb 15>; [100.00%]
  3377. <bb 11> [local count: 96126]:
  3378. xTicksToWait.15_3 = xTicksToWait;
  3379. if (xTicksToWait.15_3 == 0)
  3380. goto <bb 10>; [50.00%]
  3381. else
  3382. goto <bb 12>; [50.00%]
  3383. <bb 12> [local count: 48063]:
  3384. # DEBUG BEGIN_STMT
  3385. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3386. # DEBUG BEGIN_STMT
  3387. # DEBUG BEGIN_STMT
  3388. __asm__ __volatile__(" mov %0, %1
  3389. msr basepri, %0
  3390. isb
  3391. dsb
  3392. " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory");
  3393. # DEBUG ulNewBASEPRI => ulNewBASEPRI_67
  3394. <bb 13> [local count: 480629211]:
  3395. # DEBUG ulNewBASEPRI => NULL
  3396. # DEBUG BEGIN_STMT
  3397. # DEBUG BEGIN_STMT
  3398. # DEBUG BEGIN_STMT
  3399. <bb 36> [local count: 480629211]:
  3400. goto <bb 13>; [100.00%]
  3401. <bb 14> [local count: 1478726]:
  3402. # xEntryTimeSet_46 = PHI <xEntryTimeSet_18(33), xEntryTimeSet_18(32), xEntryTimeSet_18(31), xEntryTimeSet_18(30)>
  3403. <bb 15> [local count: 1622915]:
  3404. # xEntryTimeSet_17 = PHI <xEntryTimeSet_32(10), xEntryTimeSet_46(14)>
  3405. # DEBUG xEntryTimeSet => xEntryTimeSet_17
  3406. # DEBUG BEGIN_STMT
  3407. # DEBUG BEGIN_STMT
  3408. # DEBUG BEGIN_STMT
  3409. vPortEnterCritical ();
  3410. # DEBUG BEGIN_STMT
  3411. uxMessagesWaiting_34 ={v} MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting;
  3412. # DEBUG uxMessagesWaiting => uxMessagesWaiting_34
  3413. # DEBUG BEGIN_STMT
  3414. if (uxMessagesWaiting_34 != 0)
  3415. goto <bb 16>; [3.66%]
  3416. else
  3417. goto <bb 20>; [96.34%]
  3418. <bb 16> [local count: 59399]:
  3419. # uxMessagesWaiting_31 = PHI <uxMessagesWaiting_34(15)>
  3420. # DEBUG BEGIN_STMT
  3421. prvCopyDataFromQueue (xQueue_27(D), pvBuffer_28(D));
  3422. # DEBUG BEGIN_STMT
  3423. # DEBUG BEGIN_STMT
  3424. _4 = uxMessagesWaiting_31 + 4294967295;
  3425. MEM[(struct Queue_t *)xQueue_27(D)].uxMessagesWaiting ={v} _4;
  3426. # DEBUG BEGIN_STMT
  3427. _5 ={v} MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend.uxNumberOfItems;
  3428. if (_5 != 0)
  3429. goto <bb 17>; [33.00%]
  3430. else
  3431. goto <bb 19>; [67.00%]
  3432. <bb 17> [local count: 19602]:
  3433. # DEBUG BEGIN_STMT
  3434. _6 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToSend;
  3435. _7 = xTaskRemoveFromEventList (_6);
  3436. if (_7 != 0)
  3437. goto <bb 18>; [50.00%]
  3438. else
  3439. goto <bb 19>; [50.00%]
  3440. <bb 18> [local count: 9801]:
  3441. # DEBUG BEGIN_STMT
  3442. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  3443. # DEBUG BEGIN_STMT
  3444. __asm__ __volatile__("dsb" : : : "memory");
  3445. # DEBUG BEGIN_STMT
  3446. __asm__ __volatile__("isb");
  3447. # DEBUG BEGIN_STMT
  3448. <bb 19> [local count: 59399]:
  3449. # DEBUG BEGIN_STMT
  3450. # DEBUG BEGIN_STMT
  3451. vPortExitCritical ();
  3452. # DEBUG BEGIN_STMT
  3453. goto <bb 34>; [100.00%]
  3454. <bb 20> [local count: 1563516]:
  3455. # DEBUG BEGIN_STMT
  3456. xTicksToWait.16_8 = xTicksToWait;
  3457. if (xTicksToWait.16_8 == 0)
  3458. goto <bb 21>; [3.66%]
  3459. else
  3460. goto <bb 22>; [96.34%]
  3461. <bb 21> [local count: 57225]:
  3462. # DEBUG BEGIN_STMT
  3463. vPortExitCritical ();
  3464. # DEBUG BEGIN_STMT
  3465. # DEBUG BEGIN_STMT
  3466. goto <bb 34>; [100.00%]
  3467. <bb 22> [local count: 1506292]:
  3468. # DEBUG BEGIN_STMT
  3469. if (xEntryTimeSet_17 == 0)
  3470. goto <bb 23>; [33.00%]
  3471. else
  3472. goto <bb 24>; [67.00%]
  3473. <bb 23> [local count: 497076]:
  3474. # DEBUG BEGIN_STMT
  3475. vTaskInternalSetTimeOutState (&xTimeOut);
  3476. # DEBUG BEGIN_STMT
  3477. # DEBUG xEntryTimeSet => 1
  3478. <bb 24> [local count: 1506292]:
  3479. # xEntryTimeSet_18 = PHI <xEntryTimeSet_17(22), 1(23)>
  3480. # DEBUG xEntryTimeSet => xEntryTimeSet_18
  3481. # DEBUG BEGIN_STMT
  3482. # DEBUG BEGIN_STMT
  3483. vPortExitCritical ();
  3484. # DEBUG BEGIN_STMT
  3485. vTaskSuspendAll ();
  3486. # DEBUG BEGIN_STMT
  3487. vPortEnterCritical ();
  3488. # DEBUG BEGIN_STMT
  3489. _9 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cRxLock;
  3490. if (_9 == -1)
  3491. goto <bb 25>; [34.00%]
  3492. else
  3493. goto <bb 26>; [66.00%]
  3494. <bb 25> [local count: 512139]:
  3495. # DEBUG BEGIN_STMT
  3496. MEM[(struct Queue_t *)xQueue_27(D)].cRxLock ={v} 0;
  3497. <bb 26> [local count: 1506292]:
  3498. # DEBUG BEGIN_STMT
  3499. _10 ={v} MEM[(struct Queue_t *)xQueue_27(D)].cTxLock;
  3500. if (_10 == -1)
  3501. goto <bb 27>; [34.00%]
  3502. else
  3503. goto <bb 28>; [66.00%]
  3504. <bb 27> [local count: 512139]:
  3505. # DEBUG BEGIN_STMT
  3506. MEM[(struct Queue_t *)xQueue_27(D)].cTxLock ={v} 0;
  3507. <bb 28> [local count: 1506292]:
  3508. # DEBUG BEGIN_STMT
  3509. vPortExitCritical ();
  3510. # DEBUG BEGIN_STMT
  3511. _11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  3512. if (_11 == 0)
  3513. goto <bb 29>; [50.00%]
  3514. else
  3515. goto <bb 33>; [50.00%]
  3516. <bb 29> [local count: 753146]:
  3517. # DEBUG BEGIN_STMT
  3518. _12 = prvIsQueueEmpty (xQueue_27(D));
  3519. if (_12 != 0)
  3520. goto <bb 30>; [50.00%]
  3521. else
  3522. goto <bb 32>; [50.00%]
  3523. <bb 30> [local count: 376573]:
  3524. # DEBUG BEGIN_STMT
  3525. # DEBUG BEGIN_STMT
  3526. _13 = &MEM[(struct Queue_t *)xQueue_27(D)].xTasksWaitingToReceive;
  3527. xTicksToWait.17_14 = xTicksToWait;
  3528. vTaskPlaceOnEventList (_13, xTicksToWait.17_14);
  3529. # DEBUG BEGIN_STMT
  3530. prvUnlockQueue (xQueue_27(D));
  3531. # DEBUG BEGIN_STMT
  3532. _15 = xTaskResumeAll ();
  3533. if (_15 == 0)
  3534. goto <bb 31>; [50.00%]
  3535. else
  3536. goto <bb 14>; [50.00%]
  3537. <bb 31> [local count: 188286]:
  3538. # DEBUG BEGIN_STMT
  3539. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  3540. # DEBUG BEGIN_STMT
  3541. __asm__ __volatile__("dsb" : : : "memory");
  3542. # DEBUG BEGIN_STMT
  3543. __asm__ __volatile__("isb");
  3544. # DEBUG BEGIN_STMT
  3545. goto <bb 14>; [100.00%]
  3546. <bb 32> [local count: 376573]:
  3547. # DEBUG BEGIN_STMT
  3548. prvUnlockQueue (xQueue_27(D));
  3549. # DEBUG BEGIN_STMT
  3550. xTaskResumeAll ();
  3551. goto <bb 14>; [100.00%]
  3552. <bb 33> [local count: 753146]:
  3553. # DEBUG BEGIN_STMT
  3554. prvUnlockQueue (xQueue_27(D));
  3555. # DEBUG BEGIN_STMT
  3556. xTaskResumeAll ();
  3557. # DEBUG BEGIN_STMT
  3558. _16 = prvIsQueueEmpty (xQueue_27(D));
  3559. if (_16 != 0)
  3560. goto <bb 34>; [3.66%]
  3561. else
  3562. goto <bb 14>; [96.34%]
  3563. <bb 34> [local count: 144189]:
  3564. # _19 = PHI <1(19), 0(21), 0(33)>
  3565. xTimeOut ={v} {CLOBBER};
  3566. return _19;
  3567. }
  3568. xQueueGiveFromISR (struct QueueDefinition * xQueue, BaseType_t * const pxHigherPriorityTaskWoken)
  3569. {
  3570. uint32_t ulNewBASEPRI;
  3571. uint32_t ulOriginalBASEPRI;
  3572. uint32_t ulNewBASEPRI;
  3573. uint32_t ulNewBASEPRI;
  3574. uint32_t ulNewBASEPRI;
  3575. uint32_t ulNewBASEPRI;
  3576. const int8_t cTxLock;
  3577. const UBaseType_t uxMessagesWaiting;
  3578. BaseType_t xReturn;
  3579. long unsigned int _1;
  3580. int8_t * _2;
  3581. struct tskTaskControlBlock * _3;
  3582. long unsigned int _4;
  3583. long unsigned int _5;
  3584. long unsigned int _6;
  3585. struct List_t * _7;
  3586. long int _8;
  3587. unsigned char cTxLock.12_9;
  3588. unsigned char _10;
  3589. signed char _11;
  3590. <bb 2> [local count: 306783]:
  3591. # DEBUG BEGIN_STMT
  3592. # DEBUG BEGIN_STMT
  3593. # DEBUG BEGIN_STMT
  3594. # DEBUG pxQueue => xQueue_14(D)
  3595. # DEBUG BEGIN_STMT
  3596. if (xQueue_14(D) == 0B)
  3597. goto <bb 3>; [30.00%]
  3598. else
  3599. goto <bb 5>; [70.00%]
  3600. <bb 3> [local count: 92035]:
  3601. # DEBUG BEGIN_STMT
  3602. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3603. # DEBUG BEGIN_STMT
  3604. # DEBUG BEGIN_STMT
  3605. __asm__ __volatile__(" mov %0, %1
  3606. msr basepri, %0
  3607. isb
  3608. dsb
  3609. " : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  3610. # DEBUG ulNewBASEPRI => ulNewBASEPRI_24
  3611. <bb 4> [local count: 920350133]:
  3612. # DEBUG ulNewBASEPRI => NULL
  3613. # DEBUG BEGIN_STMT
  3614. # DEBUG BEGIN_STMT
  3615. # DEBUG BEGIN_STMT
  3616. <bb 24> [local count: 920350133]:
  3617. goto <bb 4>; [100.00%]
  3618. <bb 5> [local count: 214748]:
  3619. # DEBUG BEGIN_STMT
  3620. # DEBUG BEGIN_STMT
  3621. _1 = MEM[(struct Queue_t *)xQueue_14(D)].uxItemSize;
  3622. if (_1 != 0)
  3623. goto <bb 6>; [50.00%]
  3624. else
  3625. goto <bb 8>; [50.00%]
  3626. <bb 6> [local count: 107374]:
  3627. # DEBUG BEGIN_STMT
  3628. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3629. # DEBUG BEGIN_STMT
  3630. # DEBUG BEGIN_STMT
  3631. __asm__ __volatile__(" mov %0, %1
  3632. msr basepri, %0
  3633. isb
  3634. dsb
  3635. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  3636. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  3637. <bb 7> [local count: 1073741823]:
  3638. # DEBUG ulNewBASEPRI => NULL
  3639. # DEBUG BEGIN_STMT
  3640. # DEBUG BEGIN_STMT
  3641. # DEBUG BEGIN_STMT
  3642. <bb 25> [local count: 1073741824]:
  3643. goto <bb 7>; [100.00%]
  3644. <bb 8> [local count: 107374]:
  3645. # DEBUG BEGIN_STMT
  3646. # DEBUG BEGIN_STMT
  3647. _2 = MEM[(struct Queue_t *)xQueue_14(D)].pcHead;
  3648. if (_2 != 0B)
  3649. goto <bb 12>; [53.47%]
  3650. else
  3651. goto <bb 9>; [46.53%]
  3652. <bb 9> [local count: 49961]:
  3653. _3 = MEM[(struct Queue_t *)xQueue_14(D)].u.xSemaphore.xMutexHolder;
  3654. if (_3 == 0B)
  3655. goto <bb 12>; [30.00%]
  3656. else
  3657. goto <bb 10>; [70.00%]
  3658. <bb 10> [local count: 34973]:
  3659. # DEBUG BEGIN_STMT
  3660. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3661. # DEBUG BEGIN_STMT
  3662. # DEBUG BEGIN_STMT
  3663. __asm__ __volatile__(" mov %0, %1
  3664. msr basepri, %0
  3665. isb
  3666. dsb
  3667. " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  3668. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  3669. <bb 11> [local count: 349728449]:
  3670. # DEBUG ulNewBASEPRI => NULL
  3671. # DEBUG BEGIN_STMT
  3672. # DEBUG BEGIN_STMT
  3673. # DEBUG BEGIN_STMT
  3674. <bb 27> [local count: 349728449]:
  3675. goto <bb 11>; [100.00%]
  3676. <bb 12> [local count: 72401]:
  3677. # DEBUG BEGIN_STMT
  3678. # DEBUG BEGIN_STMT
  3679. vPortValidateInterruptPriority ();
  3680. # DEBUG BEGIN_STMT
  3681. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  3682. # DEBUG BEGIN_STMT
  3683. # DEBUG BEGIN_STMT
  3684. __asm__ __volatile__(" mrs %0, basepri
  3685. mov %1, %2
  3686. msr basepri, %1
  3687. isb
  3688. dsb
  3689. " : "=r" ulOriginalBASEPRI_27, "=r" ulNewBASEPRI_28 : "i" 16 : "memory");
  3690. # DEBUG ulNewBASEPRI => ulNewBASEPRI_28
  3691. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_27
  3692. # DEBUG BEGIN_STMT
  3693. # DEBUG ulNewBASEPRI => NULL
  3694. # DEBUG ulOriginalBASEPRI => NULL
  3695. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_27
  3696. # DEBUG BEGIN_STMT
  3697. uxMessagesWaiting_17 ={v} MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting;
  3698. # DEBUG uxMessagesWaiting => uxMessagesWaiting_17
  3699. # DEBUG BEGIN_STMT
  3700. _4 = MEM[(struct Queue_t *)xQueue_14(D)].uxLength;
  3701. if (_4 > uxMessagesWaiting_17)
  3702. goto <bb 13>; [50.00%]
  3703. else
  3704. goto <bb 23>; [50.00%]
  3705. <bb 13> [local count: 36201]:
  3706. # DEBUG BEGIN_STMT
  3707. cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_14(D)].cTxLock;
  3708. # DEBUG cTxLock => cTxLock_18
  3709. # DEBUG BEGIN_STMT
  3710. # DEBUG BEGIN_STMT
  3711. _5 = uxMessagesWaiting_17 + 1;
  3712. MEM[(struct Queue_t *)xQueue_14(D)].uxMessagesWaiting ={v} _5;
  3713. # DEBUG BEGIN_STMT
  3714. if (cTxLock_18 == -1)
  3715. goto <bb 14>; [34.00%]
  3716. else
  3717. goto <bb 18>; [66.00%]
  3718. <bb 14> [local count: 12308]:
  3719. # DEBUG BEGIN_STMT
  3720. _6 ={v} MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive.uxNumberOfItems;
  3721. if (_6 != 0)
  3722. goto <bb 15>; [33.00%]
  3723. else
  3724. goto <bb 23>; [67.00%]
  3725. <bb 15> [local count: 4062]:
  3726. # DEBUG BEGIN_STMT
  3727. _7 = &MEM[(struct Queue_t *)xQueue_14(D)].xTasksWaitingToReceive;
  3728. _8 = xTaskRemoveFromEventList (_7);
  3729. if (_8 != 0)
  3730. goto <bb 16>; [50.00%]
  3731. else
  3732. goto <bb 23>; [50.00%]
  3733. <bb 16> [local count: 2031]:
  3734. # DEBUG BEGIN_STMT
  3735. if (pxHigherPriorityTaskWoken_22(D) != 0B)
  3736. goto <bb 17>; [70.00%]
  3737. else
  3738. goto <bb 23>; [30.00%]
  3739. <bb 17> [local count: 1422]:
  3740. # DEBUG BEGIN_STMT
  3741. *pxHigherPriorityTaskWoken_22(D) = 1;
  3742. goto <bb 23>; [100.00%]
  3743. <bb 18> [local count: 23892]:
  3744. # DEBUG BEGIN_STMT
  3745. if (cTxLock_18 == 127)
  3746. goto <bb 19>; [34.00%]
  3747. else
  3748. goto <bb 21>; [66.00%]
  3749. <bb 19> [local count: 8123]:
  3750. # DEBUG BEGIN_STMT
  3751. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3752. # DEBUG BEGIN_STMT
  3753. # DEBUG BEGIN_STMT
  3754. __asm__ __volatile__(" mov %0, %1
  3755. msr basepri, %0
  3756. isb
  3757. dsb
  3758. " : "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  3759. # DEBUG ulNewBASEPRI => ulNewBASEPRI_29
  3760. <bb 20> [local count: 81234300]:
  3761. # DEBUG ulNewBASEPRI => NULL
  3762. # DEBUG BEGIN_STMT
  3763. # DEBUG BEGIN_STMT
  3764. # DEBUG BEGIN_STMT
  3765. <bb 26> [local count: 81234300]:
  3766. goto <bb 20>; [100.00%]
  3767. <bb 21> [local count: 15769]:
  3768. # DEBUG BEGIN_STMT
  3769. # DEBUG BEGIN_STMT
  3770. cTxLock.12_9 = (unsigned char) cTxLock_18;
  3771. _10 = cTxLock.12_9 + 1;
  3772. _11 = (signed char) _10;
  3773. MEM[(struct Queue_t *)xQueue_14(D)].cTxLock ={v} _11;
  3774. <bb 23> [local count: 64278]:
  3775. # xReturn_12 = PHI <1(21), 0(12), 1(17), 1(15), 1(16), 1(14)>
  3776. # DEBUG xReturn => xReturn_12
  3777. # DEBUG BEGIN_STMT
  3778. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_27
  3779. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  3780. # DEBUG BEGIN_STMT
  3781. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_27 : "memory");
  3782. # DEBUG ulNewMaskValue => NULL
  3783. # DEBUG BEGIN_STMT
  3784. return xReturn_12;
  3785. }
  3786. xQueueGenericSendFromISR (struct QueueDefinition * xQueue, const void * const pvItemToQueue, BaseType_t * const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition)
  3787. {
  3788. uint32_t ulNewBASEPRI;
  3789. uint32_t ulOriginalBASEPRI;
  3790. uint32_t ulNewBASEPRI;
  3791. uint32_t ulNewBASEPRI;
  3792. uint32_t ulNewBASEPRI;
  3793. uint32_t ulNewBASEPRI;
  3794. const UBaseType_t uxPreviousMessagesWaiting;
  3795. const int8_t cTxLock;
  3796. BaseType_t xReturn;
  3797. long unsigned int _1;
  3798. long unsigned int _2;
  3799. long unsigned int _3;
  3800. long unsigned int _4;
  3801. long unsigned int _5;
  3802. struct List_t * _6;
  3803. long int _7;
  3804. unsigned char cTxLock.10_8;
  3805. unsigned char _9;
  3806. signed char _10;
  3807. <bb 2> [local count: 357913]:
  3808. # DEBUG BEGIN_STMT
  3809. # DEBUG BEGIN_STMT
  3810. # DEBUG BEGIN_STMT
  3811. # DEBUG pxQueue => xQueue_13(D)
  3812. # DEBUG BEGIN_STMT
  3813. if (xQueue_13(D) == 0B)
  3814. goto <bb 3>; [30.00%]
  3815. else
  3816. goto <bb 5>; [70.00%]
  3817. <bb 3> [local count: 107374]:
  3818. # DEBUG BEGIN_STMT
  3819. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3820. # DEBUG BEGIN_STMT
  3821. # DEBUG BEGIN_STMT
  3822. __asm__ __volatile__(" mov %0, %1
  3823. msr basepri, %0
  3824. isb
  3825. dsb
  3826. " : "=r" ulNewBASEPRI_25 : "i" 16 : "memory");
  3827. # DEBUG ulNewBASEPRI => ulNewBASEPRI_25
  3828. <bb 4> [local count: 1073741824]:
  3829. # DEBUG ulNewBASEPRI => NULL
  3830. # DEBUG BEGIN_STMT
  3831. # DEBUG BEGIN_STMT
  3832. # DEBUG BEGIN_STMT
  3833. <bb 26> [local count: 1073741824]:
  3834. goto <bb 4>; [100.00%]
  3835. <bb 5> [local count: 250539]:
  3836. # DEBUG BEGIN_STMT
  3837. # DEBUG BEGIN_STMT
  3838. if (pvItemToQueue_14(D) != 0B)
  3839. goto <bb 9>; [70.00%]
  3840. else
  3841. goto <bb 6>; [30.00%]
  3842. <bb 6> [local count: 75162]:
  3843. _1 = MEM[(struct Queue_t *)xQueue_13(D)].uxItemSize;
  3844. if (_1 == 0)
  3845. goto <bb 9>; [50.00%]
  3846. else
  3847. goto <bb 7>; [50.00%]
  3848. <bb 7> [local count: 37581]:
  3849. # DEBUG BEGIN_STMT
  3850. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3851. # DEBUG BEGIN_STMT
  3852. # DEBUG BEGIN_STMT
  3853. __asm__ __volatile__(" mov %0, %1
  3854. msr basepri, %0
  3855. isb
  3856. dsb
  3857. " : "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  3858. # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  3859. <bb 8> [local count: 375809639]:
  3860. # DEBUG ulNewBASEPRI => NULL
  3861. # DEBUG BEGIN_STMT
  3862. # DEBUG BEGIN_STMT
  3863. # DEBUG BEGIN_STMT
  3864. <bb 29> [local count: 375809639]:
  3865. goto <bb 8>; [100.00%]
  3866. <bb 9> [local count: 212958]:
  3867. # DEBUG BEGIN_STMT
  3868. # DEBUG BEGIN_STMT
  3869. if (xCopyPosition_16(D) != 2)
  3870. goto <bb 13>; [48.88%]
  3871. else
  3872. goto <bb 10>; [51.12%]
  3873. <bb 10> [local count: 108864]:
  3874. _2 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
  3875. if (_2 == 1)
  3876. goto <bb 13>; [34.00%]
  3877. else
  3878. goto <bb 11>; [66.00%]
  3879. <bb 11> [local count: 71850]:
  3880. # DEBUG BEGIN_STMT
  3881. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3882. # DEBUG BEGIN_STMT
  3883. # DEBUG BEGIN_STMT
  3884. __asm__ __volatile__(" mov %0, %1
  3885. msr basepri, %0
  3886. isb
  3887. dsb
  3888. " : "=r" ulNewBASEPRI_27 : "i" 16 : "memory");
  3889. # DEBUG ulNewBASEPRI => ulNewBASEPRI_27
  3890. <bb 12> [local count: 718505940]:
  3891. # DEBUG ulNewBASEPRI => NULL
  3892. # DEBUG BEGIN_STMT
  3893. # DEBUG BEGIN_STMT
  3894. # DEBUG BEGIN_STMT
  3895. <bb 28> [local count: 718505940]:
  3896. goto <bb 12>; [100.00%]
  3897. <bb 13> [local count: 141108]:
  3898. # DEBUG BEGIN_STMT
  3899. # DEBUG BEGIN_STMT
  3900. vPortValidateInterruptPriority ();
  3901. # DEBUG BEGIN_STMT
  3902. # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  3903. # DEBUG BEGIN_STMT
  3904. # DEBUG BEGIN_STMT
  3905. __asm__ __volatile__(" mrs %0, basepri
  3906. mov %1, %2
  3907. msr basepri, %1
  3908. isb
  3909. dsb
  3910. " : "=r" ulOriginalBASEPRI_28, "=r" ulNewBASEPRI_29 : "i" 16 : "memory");
  3911. # DEBUG ulNewBASEPRI => ulNewBASEPRI_29
  3912. # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_28
  3913. # DEBUG BEGIN_STMT
  3914. # DEBUG ulNewBASEPRI => NULL
  3915. # DEBUG ulOriginalBASEPRI => NULL
  3916. # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_28
  3917. # DEBUG BEGIN_STMT
  3918. _3 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting;
  3919. _4 = MEM[(struct Queue_t *)xQueue_13(D)].uxLength;
  3920. if (_3 < _4)
  3921. goto <bb 15>; [33.00%]
  3922. else
  3923. goto <bb 14>; [67.00%]
  3924. <bb 14> [local count: 94542]:
  3925. if (xCopyPosition_16(D) == 2)
  3926. goto <bb 15>; [34.00%]
  3927. else
  3928. goto <bb 25>; [66.00%]
  3929. <bb 15> [local count: 78710]:
  3930. # DEBUG BEGIN_STMT
  3931. cTxLock_18 ={v} MEM[(struct Queue_t *)xQueue_13(D)].cTxLock;
  3932. # DEBUG cTxLock => cTxLock_18
  3933. # DEBUG BEGIN_STMT
  3934. uxPreviousMessagesWaiting_19 ={v} MEM[(struct Queue_t *)xQueue_13(D)].uxMessagesWaiting;
  3935. # DEBUG uxPreviousMessagesWaiting => uxPreviousMessagesWaiting_19
  3936. # DEBUG BEGIN_STMT
  3937. # DEBUG BEGIN_STMT
  3938. prvCopyDataToQueue (xQueue_13(D), pvItemToQueue_14(D), xCopyPosition_16(D));
  3939. # DEBUG BEGIN_STMT
  3940. if (cTxLock_18 == -1)
  3941. goto <bb 16>; [34.00%]
  3942. else
  3943. goto <bb 20>; [66.00%]
  3944. <bb 16> [local count: 26761]:
  3945. # DEBUG BEGIN_STMT
  3946. _5 ={v} MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive.uxNumberOfItems;
  3947. if (_5 != 0)
  3948. goto <bb 17>; [33.00%]
  3949. else
  3950. goto <bb 25>; [67.00%]
  3951. <bb 17> [local count: 8831]:
  3952. # DEBUG BEGIN_STMT
  3953. _6 = &MEM[(struct Queue_t *)xQueue_13(D)].xTasksWaitingToReceive;
  3954. _7 = xTaskRemoveFromEventList (_6);
  3955. if (_7 != 0)
  3956. goto <bb 18>; [50.00%]
  3957. else
  3958. goto <bb 25>; [50.00%]
  3959. <bb 18> [local count: 4416]:
  3960. # DEBUG BEGIN_STMT
  3961. if (pxHigherPriorityTaskWoken_23(D) != 0B)
  3962. goto <bb 19>; [70.00%]
  3963. else
  3964. goto <bb 25>; [30.00%]
  3965. <bb 19> [local count: 3091]:
  3966. # DEBUG BEGIN_STMT
  3967. *pxHigherPriorityTaskWoken_23(D) = 1;
  3968. goto <bb 25>; [100.00%]
  3969. <bb 20> [local count: 51949]:
  3970. # DEBUG BEGIN_STMT
  3971. if (cTxLock_18 == 127)
  3972. goto <bb 21>; [34.00%]
  3973. else
  3974. goto <bb 23>; [66.00%]
  3975. <bb 21> [local count: 17663]:
  3976. # DEBUG BEGIN_STMT
  3977. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  3978. # DEBUG BEGIN_STMT
  3979. # DEBUG BEGIN_STMT
  3980. __asm__ __volatile__(" mov %0, %1
  3981. msr basepri, %0
  3982. isb
  3983. dsb
  3984. " : "=r" ulNewBASEPRI_30 : "i" 16 : "memory");
  3985. # DEBUG ulNewBASEPRI => ulNewBASEPRI_30
  3986. <bb 22> [local count: 176625587]:
  3987. # DEBUG ulNewBASEPRI => NULL
  3988. # DEBUG BEGIN_STMT
  3989. # DEBUG BEGIN_STMT
  3990. # DEBUG BEGIN_STMT
  3991. <bb 27> [local count: 176625587]:
  3992. goto <bb 22>; [100.00%]
  3993. <bb 23> [local count: 34286]:
  3994. # DEBUG BEGIN_STMT
  3995. # DEBUG BEGIN_STMT
  3996. cTxLock.10_8 = (unsigned char) cTxLock_18;
  3997. _9 = cTxLock.10_8 + 1;
  3998. _10 = (signed char) _9;
  3999. MEM[(struct Queue_t *)xQueue_13(D)].cTxLock ={v} _10;
  4000. <bb 25> [local count: 123445]:
  4001. # xReturn_11 = PHI <1(23), 0(14), 1(19), 1(17), 1(18), 1(16)>
  4002. # DEBUG xReturn => xReturn_11
  4003. # DEBUG BEGIN_STMT
  4004. # DEBUG ulNewMaskValue => ulOriginalBASEPRI_28
  4005. # DEBUG INLINE_ENTRY vPortSetBASEPRI
  4006. # DEBUG BEGIN_STMT
  4007. __asm__ __volatile__(" msr basepri, %0 " : : "r" ulOriginalBASEPRI_28 : "memory");
  4008. # DEBUG ulNewMaskValue => NULL
  4009. # DEBUG BEGIN_STMT
  4010. return xReturn_11;
  4011. }
  4012. xQueueGenericSend (struct QueueDefinition * xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition)
  4013. {
  4014. uint32_t ulNewBASEPRI;
  4015. uint32_t ulNewBASEPRI;
  4016. uint32_t ulNewBASEPRI;
  4017. uint32_t ulNewBASEPRI;
  4018. struct TimeOut_t xTimeOut;
  4019. BaseType_t xYieldRequired;
  4020. BaseType_t xEntryTimeSet;
  4021. long unsigned int _1;
  4022. long unsigned int _2;
  4023. long int _3;
  4024. long unsigned int xTicksToWait.3_4;
  4025. long unsigned int _5;
  4026. long unsigned int _6;
  4027. long unsigned int _7;
  4028. struct List_t * _8;
  4029. long int _9;
  4030. long unsigned int xTicksToWait.4_10;
  4031. signed char _11;
  4032. signed char _12;
  4033. long int _13;
  4034. long int _14;
  4035. struct List_t * _15;
  4036. long unsigned int xTicksToWait.5_16;
  4037. long int _17;
  4038. BaseType_t _21;
  4039. <bb 2> [local count: 357913]:
  4040. # DEBUG BEGIN_STMT
  4041. # DEBUG xEntryTimeSet => 0
  4042. # DEBUG BEGIN_STMT
  4043. # DEBUG BEGIN_STMT
  4044. # DEBUG pxQueue => xQueue_29(D)
  4045. # DEBUG BEGIN_STMT
  4046. if (xQueue_29(D) == 0B)
  4047. goto <bb 3>; [30.00%]
  4048. else
  4049. goto <bb 5>; [70.00%]
  4050. <bb 3> [local count: 107374]:
  4051. # DEBUG BEGIN_STMT
  4052. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4053. # DEBUG BEGIN_STMT
  4054. # DEBUG BEGIN_STMT
  4055. __asm__ __volatile__(" mov %0, %1
  4056. msr basepri, %0
  4057. isb
  4058. dsb
  4059. " : "=r" ulNewBASEPRI_67 : "i" 16 : "memory");
  4060. # DEBUG ulNewBASEPRI => ulNewBASEPRI_67
  4061. <bb 4> [local count: 1073741824]:
  4062. # DEBUG ulNewBASEPRI => NULL
  4063. # DEBUG BEGIN_STMT
  4064. # DEBUG BEGIN_STMT
  4065. # DEBUG BEGIN_STMT
  4066. <bb 42> [local count: 1073741824]:
  4067. goto <bb 4>; [100.00%]
  4068. <bb 5> [local count: 250539]:
  4069. # DEBUG BEGIN_STMT
  4070. # DEBUG BEGIN_STMT
  4071. if (pvItemToQueue_30(D) != 0B)
  4072. goto <bb 9>; [70.00%]
  4073. else
  4074. goto <bb 6>; [30.00%]
  4075. <bb 6> [local count: 75162]:
  4076. _1 = MEM[(struct Queue_t *)xQueue_29(D)].uxItemSize;
  4077. if (_1 == 0)
  4078. goto <bb 9>; [50.00%]
  4079. else
  4080. goto <bb 7>; [50.00%]
  4081. <bb 7> [local count: 37581]:
  4082. # DEBUG BEGIN_STMT
  4083. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4084. # DEBUG BEGIN_STMT
  4085. # DEBUG BEGIN_STMT
  4086. __asm__ __volatile__(" mov %0, %1
  4087. msr basepri, %0
  4088. isb
  4089. dsb
  4090. " : "=r" ulNewBASEPRI_68 : "i" 16 : "memory");
  4091. # DEBUG ulNewBASEPRI => ulNewBASEPRI_68
  4092. <bb 8> [local count: 375809639]:
  4093. # DEBUG ulNewBASEPRI => NULL
  4094. # DEBUG BEGIN_STMT
  4095. # DEBUG BEGIN_STMT
  4096. # DEBUG BEGIN_STMT
  4097. <bb 45> [local count: 375809639]:
  4098. goto <bb 8>; [100.00%]
  4099. <bb 9> [local count: 212958]:
  4100. # DEBUG BEGIN_STMT
  4101. # DEBUG BEGIN_STMT
  4102. if (xCopyPosition_32(D) != 2)
  4103. goto <bb 13>; [48.88%]
  4104. else
  4105. goto <bb 10>; [51.12%]
  4106. <bb 10> [local count: 108864]:
  4107. _2 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
  4108. if (_2 == 1)
  4109. goto <bb 13>; [34.00%]
  4110. else
  4111. goto <bb 11>; [66.00%]
  4112. <bb 11> [local count: 71850]:
  4113. # DEBUG BEGIN_STMT
  4114. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4115. # DEBUG BEGIN_STMT
  4116. # DEBUG BEGIN_STMT
  4117. __asm__ __volatile__(" mov %0, %1
  4118. msr basepri, %0
  4119. isb
  4120. dsb
  4121. " : "=r" ulNewBASEPRI_69 : "i" 16 : "memory");
  4122. # DEBUG ulNewBASEPRI => ulNewBASEPRI_69
  4123. <bb 12> [local count: 718505940]:
  4124. # DEBUG ulNewBASEPRI => NULL
  4125. # DEBUG BEGIN_STMT
  4126. # DEBUG BEGIN_STMT
  4127. # DEBUG BEGIN_STMT
  4128. <bb 44> [local count: 718505940]:
  4129. goto <bb 12>; [100.00%]
  4130. <bb 13> [local count: 141108]:
  4131. # DEBUG BEGIN_STMT
  4132. # DEBUG BEGIN_STMT
  4133. _3 = xTaskGetSchedulerState ();
  4134. if (_3 != 0)
  4135. goto <bb 14>; [50.00%]
  4136. else
  4137. goto <bb 15>; [50.00%]
  4138. <bb 14> [local count: 105831]:
  4139. # xEntryTimeSet_36 = PHI <0(13), 0(15)>
  4140. goto <bb 19>; [100.00%]
  4141. <bb 15> [local count: 70554]:
  4142. xTicksToWait.3_4 = xTicksToWait;
  4143. if (xTicksToWait.3_4 == 0)
  4144. goto <bb 14>; [50.00%]
  4145. else
  4146. goto <bb 16>; [50.00%]
  4147. <bb 16> [local count: 35277]:
  4148. # DEBUG BEGIN_STMT
  4149. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4150. # DEBUG BEGIN_STMT
  4151. # DEBUG BEGIN_STMT
  4152. __asm__ __volatile__(" mov %0, %1
  4153. msr basepri, %0
  4154. isb
  4155. dsb
  4156. " : "=r" ulNewBASEPRI_70 : "i" 16 : "memory");
  4157. # DEBUG ulNewBASEPRI => ulNewBASEPRI_70
  4158. <bb 17> [local count: 352770504]:
  4159. # DEBUG ulNewBASEPRI => NULL
  4160. # DEBUG BEGIN_STMT
  4161. # DEBUG BEGIN_STMT
  4162. # DEBUG BEGIN_STMT
  4163. <bb 43> [local count: 352770504]:
  4164. goto <bb 17>; [100.00%]
  4165. <bb 18> [local count: 896877]:
  4166. # xEntryTimeSet_18 = PHI <xEntryTimeSet_20(38), xEntryTimeSet_20(39), xEntryTimeSet_20(37)>
  4167. <bb 19> [local count: 1002708]:
  4168. # xEntryTimeSet_19 = PHI <xEntryTimeSet_36(14), xEntryTimeSet_18(18)>
  4169. # DEBUG xEntryTimeSet => xEntryTimeSet_19
  4170. # DEBUG BEGIN_STMT
  4171. # DEBUG BEGIN_STMT
  4172. # DEBUG BEGIN_STMT
  4173. vPortEnterCritical ();
  4174. # DEBUG BEGIN_STMT
  4175. _5 ={v} MEM[(struct Queue_t *)xQueue_29(D)].uxMessagesWaiting;
  4176. _6 = MEM[(struct Queue_t *)xQueue_29(D)].uxLength;
  4177. if (_5 < _6)
  4178. goto <bb 21>; [2.75%]
  4179. else
  4180. goto <bb 20>; [97.25%]
  4181. <bb 20> [local count: 975134]:
  4182. if (xCopyPosition_32(D) == 2)
  4183. goto <bb 21>; [2.75%]
  4184. else
  4185. goto <bb 27>; [97.25%]
  4186. <bb 21> [local count: 54391]:
  4187. # DEBUG BEGIN_STMT
  4188. # DEBUG BEGIN_STMT
  4189. xYieldRequired_57 = prvCopyDataToQueue (xQueue_29(D), pvItemToQueue_30(D), xCopyPosition_32(D));
  4190. # DEBUG xYieldRequired => xYieldRequired_57
  4191. # DEBUG BEGIN_STMT
  4192. _7 ={v} MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive.uxNumberOfItems;
  4193. if (_7 != 0)
  4194. goto <bb 22>; [33.00%]
  4195. else
  4196. goto <bb 24>; [67.00%]
  4197. <bb 22> [local count: 17949]:
  4198. # DEBUG BEGIN_STMT
  4199. _8 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToReceive;
  4200. _9 = xTaskRemoveFromEventList (_8);
  4201. if (_9 != 0)
  4202. goto <bb 23>; [50.00%]
  4203. else
  4204. goto <bb 26>; [50.00%]
  4205. <bb 23> [local count: 8974]:
  4206. # DEBUG BEGIN_STMT
  4207. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4208. # DEBUG BEGIN_STMT
  4209. __asm__ __volatile__("dsb" : : : "memory");
  4210. # DEBUG BEGIN_STMT
  4211. __asm__ __volatile__("isb");
  4212. # DEBUG BEGIN_STMT
  4213. goto <bb 26>; [100.00%]
  4214. <bb 24> [local count: 36442]:
  4215. # DEBUG BEGIN_STMT
  4216. if (xYieldRequired_57 != 0)
  4217. goto <bb 25>; [50.00%]
  4218. else
  4219. goto <bb 26>; [50.00%]
  4220. <bb 25> [local count: 18221]:
  4221. # DEBUG BEGIN_STMT
  4222. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4223. # DEBUG BEGIN_STMT
  4224. __asm__ __volatile__("dsb" : : : "memory");
  4225. # DEBUG BEGIN_STMT
  4226. __asm__ __volatile__("isb");
  4227. # DEBUG BEGIN_STMT
  4228. <bb 26> [local count: 54391]:
  4229. # DEBUG BEGIN_STMT
  4230. # DEBUG BEGIN_STMT
  4231. vPortExitCritical ();
  4232. # DEBUG BEGIN_STMT
  4233. goto <bb 41>; [100.00%]
  4234. <bb 27> [local count: 948318]:
  4235. # DEBUG BEGIN_STMT
  4236. xTicksToWait.4_10 = xTicksToWait;
  4237. if (xTicksToWait.4_10 == 0)
  4238. goto <bb 28>; [2.75%]
  4239. else
  4240. goto <bb 29>; [97.25%]
  4241. <bb 28> [local count: 26079]:
  4242. # DEBUG BEGIN_STMT
  4243. vPortExitCritical ();
  4244. # DEBUG BEGIN_STMT
  4245. # DEBUG BEGIN_STMT
  4246. goto <bb 41>; [100.00%]
  4247. <bb 29> [local count: 922239]:
  4248. # DEBUG BEGIN_STMT
  4249. if (xEntryTimeSet_19 == 0)
  4250. goto <bb 30>; [33.00%]
  4251. else
  4252. goto <bb 31>; [67.00%]
  4253. <bb 30> [local count: 304339]:
  4254. # DEBUG BEGIN_STMT
  4255. vTaskInternalSetTimeOutState (&xTimeOut);
  4256. # DEBUG BEGIN_STMT
  4257. # DEBUG xEntryTimeSet => 1
  4258. <bb 31> [local count: 922239]:
  4259. # xEntryTimeSet_20 = PHI <xEntryTimeSet_19(29), 1(30)>
  4260. # DEBUG xEntryTimeSet => xEntryTimeSet_20
  4261. # DEBUG BEGIN_STMT
  4262. # DEBUG BEGIN_STMT
  4263. vPortExitCritical ();
  4264. # DEBUG BEGIN_STMT
  4265. vTaskSuspendAll ();
  4266. # DEBUG BEGIN_STMT
  4267. vPortEnterCritical ();
  4268. # DEBUG BEGIN_STMT
  4269. _11 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cRxLock;
  4270. if (_11 == -1)
  4271. goto <bb 32>; [34.00%]
  4272. else
  4273. goto <bb 33>; [66.00%]
  4274. <bb 32> [local count: 313561]:
  4275. # DEBUG BEGIN_STMT
  4276. MEM[(struct Queue_t *)xQueue_29(D)].cRxLock ={v} 0;
  4277. <bb 33> [local count: 922239]:
  4278. # DEBUG BEGIN_STMT
  4279. _12 ={v} MEM[(struct Queue_t *)xQueue_29(D)].cTxLock;
  4280. if (_12 == -1)
  4281. goto <bb 34>; [34.00%]
  4282. else
  4283. goto <bb 35>; [66.00%]
  4284. <bb 34> [local count: 313561]:
  4285. # DEBUG BEGIN_STMT
  4286. MEM[(struct Queue_t *)xQueue_29(D)].cTxLock ={v} 0;
  4287. <bb 35> [local count: 922239]:
  4288. # DEBUG BEGIN_STMT
  4289. vPortExitCritical ();
  4290. # DEBUG BEGIN_STMT
  4291. _13 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  4292. if (_13 == 0)
  4293. goto <bb 36>; [97.25%]
  4294. else
  4295. goto <bb 40>; [2.75%]
  4296. <bb 36> [local count: 896877]:
  4297. # DEBUG BEGIN_STMT
  4298. _14 = prvIsQueueFull (xQueue_29(D));
  4299. if (_14 != 0)
  4300. goto <bb 37>; [50.00%]
  4301. else
  4302. goto <bb 39>; [50.00%]
  4303. <bb 37> [local count: 448439]:
  4304. # DEBUG BEGIN_STMT
  4305. # DEBUG BEGIN_STMT
  4306. _15 = &MEM[(struct Queue_t *)xQueue_29(D)].xTasksWaitingToSend;
  4307. xTicksToWait.5_16 = xTicksToWait;
  4308. vTaskPlaceOnEventList (_15, xTicksToWait.5_16);
  4309. # DEBUG BEGIN_STMT
  4310. prvUnlockQueue (xQueue_29(D));
  4311. # DEBUG BEGIN_STMT
  4312. _17 = xTaskResumeAll ();
  4313. if (_17 == 0)
  4314. goto <bb 38>; [50.00%]
  4315. else
  4316. goto <bb 18>; [50.00%]
  4317. <bb 38> [local count: 224219]:
  4318. # DEBUG BEGIN_STMT
  4319. MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  4320. # DEBUG BEGIN_STMT
  4321. __asm__ __volatile__("dsb" : : : "memory");
  4322. # DEBUG BEGIN_STMT
  4323. __asm__ __volatile__("isb");
  4324. goto <bb 18>; [100.00%]
  4325. <bb 39> [local count: 448439]:
  4326. # DEBUG BEGIN_STMT
  4327. prvUnlockQueue (xQueue_29(D));
  4328. # DEBUG BEGIN_STMT
  4329. xTaskResumeAll ();
  4330. goto <bb 18>; [100.00%]
  4331. <bb 40> [local count: 25362]:
  4332. # DEBUG BEGIN_STMT
  4333. prvUnlockQueue (xQueue_29(D));
  4334. # DEBUG BEGIN_STMT
  4335. xTaskResumeAll ();
  4336. # DEBUG BEGIN_STMT
  4337. # DEBUG BEGIN_STMT
  4338. <bb 41> [local count: 105831]:
  4339. # _21 = PHI <1(26), 0(28), 0(40)>
  4340. xTimeOut ={v} {CLOBBER};
  4341. return _21;
  4342. }
  4343. xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount)
  4344. {
  4345. uint32_t ulNewBASEPRI;
  4346. struct QueueDefinition * xHandle;
  4347. <bb 2> [local count: 128592]:
  4348. # DEBUG BEGIN_STMT
  4349. # DEBUG xHandle => 0B
  4350. # DEBUG BEGIN_STMT
  4351. if (uxMaxCount_2(D) != 0)
  4352. goto <bb 3>; [50.00%]
  4353. else
  4354. goto <bb 6>; [50.00%]
  4355. <bb 3> [local count: 64296]:
  4356. if (uxMaxCount_2(D) >= uxInitialCount_3(D))
  4357. goto <bb 4>; [33.00%]
  4358. else
  4359. goto <bb 6>; [67.00%]
  4360. <bb 4> [local count: 21218]:
  4361. # DEBUG BEGIN_STMT
  4362. xHandle_6 = xQueueGenericCreate (uxMaxCount_2(D), 0, 2);
  4363. # DEBUG xHandle => xHandle_6
  4364. # DEBUG BEGIN_STMT
  4365. if (xHandle_6 != 0B)
  4366. goto <bb 5>; [70.00%]
  4367. else
  4368. goto <bb 8>; [30.00%]
  4369. <bb 5> [local count: 14852]:
  4370. # DEBUG BEGIN_STMT
  4371. MEM[(struct Queue_t *)xHandle_6].uxMessagesWaiting ={v} uxInitialCount_3(D);
  4372. # DEBUG BEGIN_STMT
  4373. goto <bb 8>; [100.00%]
  4374. <bb 6> [local count: 107374]:
  4375. # DEBUG BEGIN_STMT
  4376. # DEBUG BEGIN_STMT
  4377. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4378. # DEBUG BEGIN_STMT
  4379. # DEBUG BEGIN_STMT
  4380. __asm__ __volatile__(" mov %0, %1
  4381. msr basepri, %0
  4382. isb
  4383. dsb
  4384. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  4385. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  4386. <bb 7> [local count: 1073741824]:
  4387. # DEBUG ulNewBASEPRI => NULL
  4388. # DEBUG BEGIN_STMT
  4389. # DEBUG BEGIN_STMT
  4390. # DEBUG BEGIN_STMT
  4391. <bb 9> [local count: 1073741824]:
  4392. goto <bb 7>; [100.00%]
  4393. <bb 8> [local count: 21218]:
  4394. # DEBUG xHandle => xHandle_6
  4395. # DEBUG BEGIN_STMT
  4396. # DEBUG BEGIN_STMT
  4397. # DEBUG BEGIN_STMT
  4398. return xHandle_6;
  4399. }
  4400. xQueueTakeMutexRecursive (struct QueueDefinition * xMutex, TickType_t xTicksToWait)
  4401. {
  4402. uint32_t ulNewBASEPRI;
  4403. BaseType_t xReturn;
  4404. struct tskTaskControlBlock * _1;
  4405. struct tskTaskControlBlock * _2;
  4406. long unsigned int _3;
  4407. long unsigned int _4;
  4408. long unsigned int _5;
  4409. long unsigned int _6;
  4410. <bb 2> [local count: 230763]:
  4411. # DEBUG BEGIN_STMT
  4412. # DEBUG BEGIN_STMT
  4413. # DEBUG pxMutex => xMutex_9(D)
  4414. # DEBUG BEGIN_STMT
  4415. if (xMutex_9(D) == 0B)
  4416. goto <bb 3>; [46.53%]
  4417. else
  4418. goto <bb 5>; [53.47%]
  4419. <bb 3> [local count: 107374]:
  4420. # DEBUG BEGIN_STMT
  4421. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4422. # DEBUG BEGIN_STMT
  4423. # DEBUG BEGIN_STMT
  4424. __asm__ __volatile__(" mov %0, %1
  4425. msr basepri, %0
  4426. isb
  4427. dsb
  4428. " : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  4429. # DEBUG ulNewBASEPRI => ulNewBASEPRI_17
  4430. <bb 4> [local count: 1073741824]:
  4431. # DEBUG ulNewBASEPRI => NULL
  4432. # DEBUG BEGIN_STMT
  4433. # DEBUG BEGIN_STMT
  4434. # DEBUG BEGIN_STMT
  4435. <bb 10> [local count: 1073741824]:
  4436. goto <bb 4>; [100.00%]
  4437. <bb 5> [local count: 123389]:
  4438. # DEBUG BEGIN_STMT
  4439. # DEBUG BEGIN_STMT
  4440. # DEBUG BEGIN_STMT
  4441. _1 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.xMutexHolder;
  4442. _2 = xTaskGetCurrentTaskHandle ();
  4443. if (_1 == _2)
  4444. goto <bb 6>; [46.53%]
  4445. else
  4446. goto <bb 7>; [53.47%]
  4447. <bb 6> [local count: 57413]:
  4448. # DEBUG BEGIN_STMT
  4449. _3 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount;
  4450. _4 = _3 + 1;
  4451. MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _4;
  4452. # DEBUG BEGIN_STMT
  4453. # DEBUG xReturn => 1
  4454. goto <bb 9>; [100.00%]
  4455. <bb 7> [local count: 65976]:
  4456. # DEBUG BEGIN_STMT
  4457. xReturn_14 = xQueueSemaphoreTake (xMutex_9(D), xTicksToWait_12(D));
  4458. # DEBUG xReturn => xReturn_14
  4459. # DEBUG BEGIN_STMT
  4460. if (xReturn_14 != 0)
  4461. goto <bb 8>; [50.00%]
  4462. else
  4463. goto <bb 9>; [50.00%]
  4464. <bb 8> [local count: 32988]:
  4465. # DEBUG BEGIN_STMT
  4466. _5 = MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount;
  4467. _6 = _5 + 1;
  4468. MEM[(struct Queue_t *)xMutex_9(D)].u.xSemaphore.uxRecursiveCallCount = _6;
  4469. <bb 9> [local count: 123389]:
  4470. # xReturn_7 = PHI <1(6), xReturn_14(7), xReturn_14(8)>
  4471. # DEBUG xReturn => xReturn_7
  4472. # DEBUG BEGIN_STMT
  4473. # DEBUG BEGIN_STMT
  4474. return xReturn_7;
  4475. }
  4476. xQueueGiveMutexRecursive (struct QueueDefinition * xMutex)
  4477. {
  4478. uint32_t ulNewBASEPRI;
  4479. BaseType_t xReturn;
  4480. struct tskTaskControlBlock * _1;
  4481. struct tskTaskControlBlock * _2;
  4482. long unsigned int _3;
  4483. long unsigned int _4;
  4484. <bb 2> [local count: 230763]:
  4485. # DEBUG BEGIN_STMT
  4486. # DEBUG BEGIN_STMT
  4487. # DEBUG pxMutex => xMutex_7(D)
  4488. # DEBUG BEGIN_STMT
  4489. if (xMutex_7(D) == 0B)
  4490. goto <bb 3>; [46.53%]
  4491. else
  4492. goto <bb 5>; [53.47%]
  4493. <bb 3> [local count: 107374]:
  4494. # DEBUG BEGIN_STMT
  4495. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4496. # DEBUG BEGIN_STMT
  4497. # DEBUG BEGIN_STMT
  4498. __asm__ __volatile__(" mov %0, %1
  4499. msr basepri, %0
  4500. isb
  4501. dsb
  4502. " : "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  4503. # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  4504. <bb 4> [local count: 1073741824]:
  4505. # DEBUG ulNewBASEPRI => NULL
  4506. # DEBUG BEGIN_STMT
  4507. # DEBUG BEGIN_STMT
  4508. # DEBUG BEGIN_STMT
  4509. <bb 10> [local count: 1073741824]:
  4510. goto <bb 4>; [100.00%]
  4511. <bb 5> [local count: 123389]:
  4512. # DEBUG BEGIN_STMT
  4513. # DEBUG BEGIN_STMT
  4514. _1 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.xMutexHolder;
  4515. _2 = xTaskGetCurrentTaskHandle ();
  4516. if (_1 == _2)
  4517. goto <bb 6>; [30.00%]
  4518. else
  4519. goto <bb 9>; [70.00%]
  4520. <bb 6> [local count: 37017]:
  4521. # DEBUG BEGIN_STMT
  4522. # DEBUG BEGIN_STMT
  4523. _3 = MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount;
  4524. _4 = _3 + 4294967295;
  4525. MEM[(struct Queue_t *)xMutex_7(D)].u.xSemaphore.uxRecursiveCallCount = _4;
  4526. # DEBUG BEGIN_STMT
  4527. if (_4 == 0)
  4528. goto <bb 7>; [33.00%]
  4529. else
  4530. goto <bb 9>; [67.00%]
  4531. <bb 7> [local count: 12216]:
  4532. # DEBUG BEGIN_STMT
  4533. xQueueGenericSend (xMutex_7(D), 0B, 0, 0);
  4534. <bb 9> [local count: 123389]:
  4535. # xReturn_5 = PHI <1(7), 0(5), 1(6)>
  4536. # DEBUG xReturn => xReturn_5
  4537. # DEBUG BEGIN_STMT
  4538. # DEBUG BEGIN_STMT
  4539. return xReturn_5;
  4540. }
  4541. xQueueGetMutexHolderFromISR (struct QueueDefinition * xSemaphore)
  4542. {
  4543. uint32_t ulNewBASEPRI;
  4544. struct tskTaskControlBlock * pxReturn;
  4545. int8_t * _1;
  4546. <bb 2> [local count: 357913]:
  4547. # DEBUG BEGIN_STMT
  4548. # DEBUG BEGIN_STMT
  4549. if (xSemaphore_3(D) == 0B)
  4550. goto <bb 3>; [30.00%]
  4551. else
  4552. goto <bb 5>; [70.00%]
  4553. <bb 3> [local count: 107374]:
  4554. # DEBUG BEGIN_STMT
  4555. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4556. # DEBUG BEGIN_STMT
  4557. # DEBUG BEGIN_STMT
  4558. __asm__ __volatile__(" mov %0, %1
  4559. msr basepri, %0
  4560. isb
  4561. dsb
  4562. " : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  4563. # DEBUG ulNewBASEPRI => ulNewBASEPRI_6
  4564. <bb 4> [local count: 1073741824]:
  4565. # DEBUG ulNewBASEPRI => NULL
  4566. # DEBUG BEGIN_STMT
  4567. # DEBUG BEGIN_STMT
  4568. # DEBUG BEGIN_STMT
  4569. <bb 8> [local count: 1073741824]:
  4570. goto <bb 4>; [100.00%]
  4571. <bb 5> [local count: 250539]:
  4572. # DEBUG BEGIN_STMT
  4573. # DEBUG BEGIN_STMT
  4574. _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
  4575. if (_1 == 0B)
  4576. goto <bb 6>; [51.20%]
  4577. else
  4578. goto <bb 7>; [48.80%]
  4579. <bb 6> [local count: 128276]:
  4580. # DEBUG BEGIN_STMT
  4581. pxReturn_5 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
  4582. # DEBUG pxReturn => pxReturn_5
  4583. <bb 7> [local count: 250539]:
  4584. # pxReturn_2 = PHI <pxReturn_5(6), 0B(5)>
  4585. # DEBUG pxReturn => pxReturn_2
  4586. # DEBUG BEGIN_STMT
  4587. return pxReturn_2;
  4588. }
  4589. xQueueGetMutexHolder (struct QueueDefinition * xSemaphore)
  4590. {
  4591. uint32_t ulNewBASEPRI;
  4592. struct tskTaskControlBlock * pxReturn;
  4593. int8_t * _1;
  4594. <bb 2> [local count: 230763]:
  4595. # DEBUG BEGIN_STMT
  4596. # DEBUG BEGIN_STMT
  4597. # DEBUG pxSemaphore => xSemaphore_3(D)
  4598. # DEBUG BEGIN_STMT
  4599. if (xSemaphore_3(D) == 0B)
  4600. goto <bb 3>; [46.53%]
  4601. else
  4602. goto <bb 5>; [53.47%]
  4603. <bb 3> [local count: 107374]:
  4604. # DEBUG BEGIN_STMT
  4605. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4606. # DEBUG BEGIN_STMT
  4607. # DEBUG BEGIN_STMT
  4608. __asm__ __volatile__(" mov %0, %1
  4609. msr basepri, %0
  4610. isb
  4611. dsb
  4612. " : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  4613. # DEBUG ulNewBASEPRI => ulNewBASEPRI_8
  4614. <bb 4> [local count: 1073741824]:
  4615. # DEBUG ulNewBASEPRI => NULL
  4616. # DEBUG BEGIN_STMT
  4617. # DEBUG BEGIN_STMT
  4618. # DEBUG BEGIN_STMT
  4619. <bb 8> [local count: 1073741824]:
  4620. goto <bb 4>; [100.00%]
  4621. <bb 5> [local count: 123389]:
  4622. # DEBUG BEGIN_STMT
  4623. # DEBUG BEGIN_STMT
  4624. vPortEnterCritical ();
  4625. # DEBUG BEGIN_STMT
  4626. _1 = MEM[(struct Queue_t *)xSemaphore_3(D)].pcHead;
  4627. if (_1 == 0B)
  4628. goto <bb 6>; [51.20%]
  4629. else
  4630. goto <bb 7>; [48.80%]
  4631. <bb 6> [local count: 63175]:
  4632. # DEBUG BEGIN_STMT
  4633. pxReturn_6 = MEM[(struct Queue_t *)xSemaphore_3(D)].u.xSemaphore.xMutexHolder;
  4634. # DEBUG pxReturn => pxReturn_6
  4635. <bb 7> [local count: 123389]:
  4636. # pxReturn_2 = PHI <pxReturn_6(6), 0B(5)>
  4637. # DEBUG pxReturn => pxReturn_2
  4638. # DEBUG BEGIN_STMT
  4639. vPortExitCritical ();
  4640. # DEBUG BEGIN_STMT
  4641. return pxReturn_2;
  4642. }
  4643. xQueueCreateMutex (const uint8_t ucQueueType)
  4644. {
  4645. struct QueueDefinition * xNewQueue;
  4646. <bb 2> [local count: 1073741824]:
  4647. # DEBUG BEGIN_STMT
  4648. # DEBUG BEGIN_STMT
  4649. # DEBUG uxMutexLength => 1
  4650. # DEBUG uxMutexSize => 0
  4651. # DEBUG BEGIN_STMT
  4652. xNewQueue_4 = xQueueGenericCreate (1, 0, ucQueueType_2(D));
  4653. # DEBUG xNewQueue => xNewQueue_4
  4654. # DEBUG BEGIN_STMT
  4655. prvInitialiseMutex (xNewQueue_4);
  4656. # DEBUG BEGIN_STMT
  4657. return xNewQueue_4;
  4658. }
  4659. prvInitialiseMutex (struct Queue_t * pxNewQueue)
  4660. {
  4661. <bb 2> [local count: 1073741824]:
  4662. # DEBUG BEGIN_STMT
  4663. if (pxNewQueue_2(D) != 0B)
  4664. goto <bb 3>; [53.47%]
  4665. else
  4666. goto <bb 4>; [46.53%]
  4667. <bb 3> [local count: 574129754]:
  4668. # DEBUG BEGIN_STMT
  4669. pxNewQueue_2(D)->u.xSemaphore.xMutexHolder = 0B;
  4670. # DEBUG BEGIN_STMT
  4671. pxNewQueue_2(D)->pcHead = 0B;
  4672. # DEBUG BEGIN_STMT
  4673. pxNewQueue_2(D)->u.xSemaphore.uxRecursiveCallCount = 0;
  4674. # DEBUG BEGIN_STMT
  4675. # DEBUG BEGIN_STMT
  4676. xQueueGenericSend (pxNewQueue_2(D), 0B, 0, 0);
  4677. <bb 4> [local count: 1073741824]:
  4678. # DEBUG BEGIN_STMT
  4679. return;
  4680. }
  4681. prvInitialiseNewQueue (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t * pucQueueStorage, const uint8_t ucQueueType, struct Queue_t * pxNewQueue)
  4682. {
  4683. <bb 2> [local count: 1073741824]:
  4684. # DEBUG BEGIN_STMT
  4685. # DEBUG BEGIN_STMT
  4686. if (uxItemSize_2(D) == 0)
  4687. goto <bb 3>; [50.00%]
  4688. else
  4689. goto <bb 4>; [50.00%]
  4690. <bb 3> [local count: 536870913]:
  4691. # DEBUG BEGIN_STMT
  4692. pxNewQueue_4(D)->pcHead = pxNewQueue_4(D);
  4693. goto <bb 5>; [100.00%]
  4694. <bb 4> [local count: 536870913]:
  4695. # DEBUG BEGIN_STMT
  4696. pxNewQueue_4(D)->pcHead = pucQueueStorage_5(D);
  4697. <bb 5> [local count: 1073741824]:
  4698. # DEBUG BEGIN_STMT
  4699. pxNewQueue_4(D)->uxLength = uxQueueLength_8(D);
  4700. # DEBUG BEGIN_STMT
  4701. pxNewQueue_4(D)->uxItemSize = uxItemSize_2(D);
  4702. # DEBUG BEGIN_STMT
  4703. xQueueGenericReset (pxNewQueue_4(D), 1);
  4704. # DEBUG BEGIN_STMT
  4705. pxNewQueue_4(D)->ucQueueType = ucQueueType_12(D);
  4706. # DEBUG BEGIN_STMT
  4707. return;
  4708. }
  4709. xQueueGenericCreate (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType)
  4710. {
  4711. uint32_t ulNewBASEPRI;
  4712. uint8_t * pucQueueStorage;
  4713. struct Queue_t * pxNewQueue;
  4714. __complex__ long unsigned int _1;
  4715. long unsigned int _2;
  4716. long unsigned int _3;
  4717. unsigned int _4;
  4718. <bb 2> [local count: 117029]:
  4719. # DEBUG BEGIN_STMT
  4720. # DEBUG pxNewQueue => 0B
  4721. # DEBUG BEGIN_STMT
  4722. # DEBUG BEGIN_STMT
  4723. # DEBUG BEGIN_STMT
  4724. if (uxQueueLength_6(D) != 0)
  4725. goto <bb 3>; [50.00%]
  4726. else
  4727. goto <bb 7>; [50.00%]
  4728. <bb 3> [local count: 58514]:
  4729. _1 = .MUL_OVERFLOW (uxItemSize_7(D), uxQueueLength_6(D));
  4730. _2 = IMAGPART_EXPR <_1>;
  4731. if (_2 == 0)
  4732. goto <bb 4>; [50.00%]
  4733. else
  4734. goto <bb 7>; [50.00%]
  4735. <bb 4> [local count: 29257]:
  4736. _3 = uxQueueLength_6(D) * uxItemSize_7(D);
  4737. if (_3 <= 4294967215)
  4738. goto <bb 5>; [33.00%]
  4739. else
  4740. goto <bb 7>; [67.00%]
  4741. <bb 5> [local count: 9655]:
  4742. # DEBUG BEGIN_STMT
  4743. # DEBUG xQueueSizeInBytes => _3
  4744. # DEBUG BEGIN_STMT
  4745. _4 = _3 + 80;
  4746. pxNewQueue_10 = pvPortMalloc (_4);
  4747. # DEBUG pxNewQueue => pxNewQueue_10
  4748. # DEBUG BEGIN_STMT
  4749. if (pxNewQueue_10 != 0B)
  4750. goto <bb 6>; [53.47%]
  4751. else
  4752. goto <bb 9>; [46.53%]
  4753. <bb 6> [local count: 5162]:
  4754. # DEBUG BEGIN_STMT
  4755. # DEBUG pucQueueStorage => pxNewQueue_10
  4756. # DEBUG BEGIN_STMT
  4757. pucQueueStorage_11 = pxNewQueue_10 + 80;
  4758. # DEBUG pucQueueStorage => pucQueueStorage_11
  4759. # DEBUG BEGIN_STMT
  4760. prvInitialiseNewQueue (uxQueueLength_6(D), uxItemSize_7(D), pucQueueStorage_11, ucQueueType_12(D), pxNewQueue_10);
  4761. goto <bb 9>; [100.00%]
  4762. <bb 7> [local count: 107374]:
  4763. # DEBUG BEGIN_STMT
  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_14 : "i" 16 : "memory");
  4773. # DEBUG ulNewBASEPRI => ulNewBASEPRI_14
  4774. <bb 8> [local count: 1073741824]:
  4775. # DEBUG ulNewBASEPRI => NULL
  4776. # DEBUG BEGIN_STMT
  4777. # DEBUG BEGIN_STMT
  4778. # DEBUG BEGIN_STMT
  4779. <bb 10> [local count: 1073741824]:
  4780. goto <bb 8>; [100.00%]
  4781. <bb 9> [local count: 9655]:
  4782. # DEBUG pxNewQueue => pxNewQueue_10
  4783. # DEBUG BEGIN_STMT
  4784. # DEBUG BEGIN_STMT
  4785. # DEBUG BEGIN_STMT
  4786. return pxNewQueue_10;
  4787. }
  4788. xQueueGenericReset (struct QueueDefinition * xQueue, BaseType_t xNewQueue)
  4789. {
  4790. BaseType_t D.7333;
  4791. uint32_t ulNewBASEPRI;
  4792. uint32_t ulNewBASEPRI;
  4793. long unsigned int _1;
  4794. __complex__ long unsigned int _2;
  4795. long unsigned int _3;
  4796. long unsigned int _4;
  4797. <bb 2> [local count: 183702]:
  4798. # DEBUG BEGIN_STMT
  4799. # DEBUG xReturn => 1
  4800. # DEBUG BEGIN_STMT
  4801. # DEBUG pxQueue => xQueue_5(D)
  4802. # DEBUG BEGIN_STMT
  4803. if (xQueue_5(D) == 0B)
  4804. goto <bb 3>; [30.00%]
  4805. else
  4806. goto <bb 5>; [70.00%]
  4807. <bb 3> [local count: 55111]:
  4808. # DEBUG BEGIN_STMT
  4809. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4810. # DEBUG BEGIN_STMT
  4811. # DEBUG BEGIN_STMT
  4812. __asm__ __volatile__(" mov %0, %1
  4813. msr basepri, %0
  4814. isb
  4815. dsb
  4816. " : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  4817. # DEBUG ulNewBASEPRI => ulNewBASEPRI_9
  4818. <bb 4> [local count: 551107865]:
  4819. # DEBUG ulNewBASEPRI => NULL
  4820. # DEBUG BEGIN_STMT
  4821. # DEBUG BEGIN_STMT
  4822. # DEBUG BEGIN_STMT
  4823. <bb 10> [local count: 551107865]:
  4824. goto <bb 4>; [100.00%]
  4825. <bb 5> [local count: 128592]:
  4826. # DEBUG BEGIN_STMT
  4827. # DEBUG BEGIN_STMT
  4828. _1 = MEM[(struct Queue_t *)xQueue_5(D)].uxLength;
  4829. if (_1 != 0)
  4830. goto <bb 6>; [50.00%]
  4831. else
  4832. goto <bb 8>; [50.00%]
  4833. <bb 6> [local count: 64296]:
  4834. _3 = MEM[(struct Queue_t *)xQueue_5(D)].uxItemSize;
  4835. _2 = .MUL_OVERFLOW (_3, _1);
  4836. _4 = IMAGPART_EXPR <_2>;
  4837. if (_4 == 0)
  4838. goto <bb 7>; [33.00%]
  4839. else
  4840. goto <bb 8>; [67.00%]
  4841. <bb 7> [local count: 21218]:
  4842. _13 = xQueueGenericReset.part.0 (xQueue_5(D), xNewQueue_7(D));
  4843. return _13;
  4844. <bb 8> [local count: 107374]:
  4845. # DEBUG xReturn => NULL
  4846. # DEBUG BEGIN_STMT
  4847. # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  4848. # DEBUG BEGIN_STMT
  4849. # DEBUG BEGIN_STMT
  4850. __asm__ __volatile__(" mov %0, %1
  4851. msr basepri, %0
  4852. isb
  4853. dsb
  4854. " : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  4855. # DEBUG ulNewBASEPRI => ulNewBASEPRI_10
  4856. <bb 9> [local count: 1073741824]:
  4857. # DEBUG ulNewBASEPRI => NULL
  4858. # DEBUG BEGIN_STMT
  4859. # DEBUG BEGIN_STMT
  4860. # DEBUG BEGIN_STMT
  4861. <bb 11> [local count: 1073741824]:
  4862. goto <bb 9>; [100.00%]
  4863. }