1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222 |
- Marking local functions: prvIsQueueFull prvIsQueueEmpty prvUnlockQueue prvCopyDataFromQueue prvCopyDataToQueue prvGetDisinheritPriorityAfterTimeout prvInitialiseMutex prvInitialiseNewQueue vPortSetBASEPRI ulPortRaiseBASEPRI vPortRaiseBASEPRI
- Marking externally visible functions: vQueueWaitForMessageRestricted vQueueUnregisterQueue pcQueueGetName vQueueAddToRegistry xQueueIsQueueFullFromISR xQueueIsQueueEmptyFromISR ucQueueGetQueueType vQueueSetQueueNumber uxQueueGetQueueNumber vQueueDelete uxQueueMessagesWaitingFromISR uxQueueSpacesAvailable uxQueueMessagesWaiting xQueuePeekFromISR xQueueReceiveFromISR xQueuePeek xQueueSemaphoreTake xQueueReceive xQueueGiveFromISR xQueueGenericSendFromISR xQueueGenericSend xQueueCreateCountingSemaphore xQueueTakeMutexRecursive xQueueGiveMutexRecursive xQueueGetMutexHolderFromISR xQueueGetMutexHolder xQueueCreateMutex xQueueGenericCreate xQueueGenericReset
- Marking externally visible variables: xQueueRegistry
- Reclaiming functions:
- Reclaiming variables:
- Clearing address taken flags:
- Symbol table:
- vTaskPlaceOnEventListRestricted/62 (vTaskPlaceOnEventListRestricted) @05f9a620
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vQueueWaitForMessageRestricted/41
- Calls:
- vPortFree/61 (vPortFree) @05f79ee0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vQueueDelete/26
- Calls:
- vTaskPriorityDisinheritAfterTimeout/60 (vTaskPriorityDisinheritAfterTimeout) @05f79380
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueueSemaphoreTake/19
- Calls:
- xTaskPriorityInherit/59 (xTaskPriorityInherit) @05f792a0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueueSemaphoreTake/19
- Calls:
- pvTaskIncrementMutexHeldCount/58 (pvTaskIncrementMutexHeldCount) @05f791c0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueueSemaphoreTake/19
- Calls:
- vPortValidateInterruptPriority/57 (vPortValidateInterruptPriority) @05f53620
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueuePeekFromISR/22 xQueueReceiveFromISR/21 xQueueGiveFromISR/17 xQueueGenericSendFromISR/16
- Calls:
- vTaskMissedYield/56 (vTaskMissedYield) @05f532a0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvUnlockQueue/33 prvUnlockQueue/33
- Calls:
- memcpy/55 (memcpy) @05f53000
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvCopyDataFromQueue/32 prvCopyDataToQueue/31 prvCopyDataToQueue/31
- Calls:
- xTaskPriorityDisinherit/54 (xTaskPriorityDisinherit) @05f058c0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvCopyDataToQueue/31
- Calls:
- xTaskResumeAll/53 (xTaskResumeAll) @05f05e00
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueuePeek/20 xQueuePeek/20 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueReceive/18 xQueueReceive/18 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGenericSend/15
- Calls:
- vTaskPlaceOnEventList/52 (vTaskPlaceOnEventList) @05f05d20
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueuePeek/20 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueGenericSend/15
- Calls:
- xTaskCheckForTimeOut/51 (xTaskCheckForTimeOut) @05f05c40
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueuePeek/20 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueGenericSend/15
- Calls:
- vTaskSuspendAll/50 (vTaskSuspendAll) @05f05b60
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueuePeek/20 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueGenericSend/15
- Calls:
- vTaskInternalSetTimeOutState/49 (vTaskInternalSetTimeOutState) @05f05a80
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueuePeek/20 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueGenericSend/15
- Calls:
- xTaskGetSchedulerState/48 (xTaskGetSchedulerState) @05f059a0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueuePeek/20 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueGenericSend/15
- Calls:
- xTaskGetCurrentTaskHandle/47 (xTaskGetCurrentTaskHandle) @05f05460
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueueTakeMutexRecursive/13 xQueueGiveMutexRecursive/12
- Calls:
- pvPortMalloc/46 (pvPortMalloc) @05ef2000
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueueGenericCreate/6
- Calls:
- vPortExitCritical/45 (vPortExitCritical) @05ef2d20
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vQueueWaitForMessageRestricted/41 uxQueueSpacesAvailable/24 uxQueueMessagesWaiting/23 xQueuePeek/20 xQueuePeek/20 xQueuePeek/20 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 prvIsQueueEmpty/34 xQueueReceive/18 xQueueReceive/18 xQueueReceive/18 xQueueReceive/18 prvUnlockQueue/33 prvUnlockQueue/33 prvIsQueueFull/36 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGetMutexHolder/10 xQueueGenericReset/5
- Calls:
- vListInitialise/44 (vListInitialise) @05ef2c40
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueueGenericReset/5 xQueueGenericReset/5
- Calls:
- xTaskRemoveFromEventList/43 (xTaskRemoveFromEventList) @05ef2b60
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xQueueReceiveFromISR/21 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueGiveFromISR/17 xQueueGenericSendFromISR/16 prvUnlockQueue/33 prvUnlockQueue/33 xQueueGenericSend/15 xQueueGenericReset/5
- Calls:
- vPortEnterCritical/42 (vPortEnterCritical) @05ef2a80
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vQueueWaitForMessageRestricted/41 uxQueueSpacesAvailable/24 uxQueueMessagesWaiting/23 xQueuePeek/20 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 prvIsQueueEmpty/34 xQueueReceive/18 xQueueReceive/18 prvUnlockQueue/33 prvUnlockQueue/33 prvIsQueueFull/36 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGetMutexHolder/10 xQueueGenericReset/5
- Calls:
- vQueueWaitForMessageRestricted/41 (vQueueWaitForMessageRestricted) @05ef2540
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: prvUnlockQueue/33 vTaskPlaceOnEventListRestricted/62 vPortExitCritical/45 vPortEnterCritical/42
- vQueueUnregisterQueue/40 (vQueueUnregisterQueue) @05ef22a0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xQueueRegistry/4 (read)xQueueRegistry/4 (write)xQueueRegistry/4 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: vQueueDelete/26
- Calls: vPortRaiseBASEPRI/1
- pcQueueGetName/39 (pcQueueGetName) @05eece00
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xQueueRegistry/4 (read)xQueueRegistry/4 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortRaiseBASEPRI/1
- vQueueAddToRegistry/38 (vQueueAddToRegistry) @05eec460
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xQueueRegistry/4 (read)xQueueRegistry/4 (addr)xQueueRegistry/4 (read)xQueueRegistry/4 (addr)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortRaiseBASEPRI/1
- xQueueIsQueueFullFromISR/37 (xQueueIsQueueFullFromISR) @05eecd20
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortRaiseBASEPRI/1
- prvIsQueueFull/36 (prvIsQueueFull) @05eec9a0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xQueueGenericSend/15
- Calls: vPortExitCritical/45 vPortEnterCritical/42
- xQueueIsQueueEmptyFromISR/35 (xQueueIsQueueEmptyFromISR) @05eec700
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortRaiseBASEPRI/1
- prvIsQueueEmpty/34 (prvIsQueueEmpty) @05eec380
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xQueuePeek/20 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueReceive/18
- Calls: vPortExitCritical/45 vPortEnterCritical/42
- prvUnlockQueue/33 (prvUnlockQueue) @05eec0e0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: vQueueWaitForMessageRestricted/41 xQueuePeek/20 xQueuePeek/20 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueReceive/18 xQueueReceive/18 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGenericSend/15
- Calls: vPortExitCritical/45 vTaskMissedYield/56 xTaskRemoveFromEventList/43 vPortEnterCritical/42 vPortExitCritical/45 vTaskMissedYield/56 xTaskRemoveFromEventList/43 vPortEnterCritical/42
- prvCopyDataFromQueue/32 (prvCopyDataFromQueue) @05ee38c0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xQueuePeekFromISR/22 xQueueReceiveFromISR/21 xQueuePeek/20 xQueueReceive/18
- Calls: memcpy/55
- prvCopyDataToQueue/31 (prvCopyDataToQueue) @05ee3380
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xQueueGenericSendFromISR/16 xQueueGenericSend/15
- Calls: memcpy/55 memcpy/55 xTaskPriorityDisinherit/54
- prvGetDisinheritPriorityAfterTimeout/30 (prvGetDisinheritPriorityAfterTimeout) @05ee3e00
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xQueueSemaphoreTake/19
- Calls:
- ucQueueGetQueueType/29 (ucQueueGetQueueType) @05ee3a80
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls:
- vQueueSetQueueNumber/28 (vQueueSetQueueNumber) @05ee37e0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls:
- uxQueueGetQueueNumber/27 (uxQueueGetQueueNumber) @05ee3540
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls:
- vQueueDelete/26 (vQueueDelete) @05ee32a0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortFree/61 vQueueUnregisterQueue/40 vPortRaiseBASEPRI/1
- uxQueueMessagesWaitingFromISR/25 (uxQueueMessagesWaitingFromISR) @05edad20
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortRaiseBASEPRI/1
- uxQueueSpacesAvailable/24 (uxQueueSpacesAvailable) @05eda0e0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/45 vPortEnterCritical/42 vPortRaiseBASEPRI/1
- uxQueueMessagesWaiting/23 (uxQueueMessagesWaiting) @05edac40
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/45 vPortEnterCritical/42 vPortRaiseBASEPRI/1
- xQueuePeekFromISR/22 (xQueuePeekFromISR) @05eda8c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortSetBASEPRI/3 prvCopyDataFromQueue/32 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/57 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xQueueReceiveFromISR/21 (xQueueReceiveFromISR) @05eda460
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 xTaskRemoveFromEventList/43 prvCopyDataFromQueue/32 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/57 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xQueuePeek/20 (xQueuePeek) @05eda000
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: prvIsQueueEmpty/34 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 vTaskPlaceOnEventList/52 prvIsQueueEmpty/34 xTaskCheckForTimeOut/51 vPortExitCritical/45 vPortEnterCritical/42 vTaskSuspendAll/50 vPortExitCritical/45 vTaskInternalSetTimeOutState/49 vPortExitCritical/45 vPortExitCritical/45 xTaskRemoveFromEventList/43 prvCopyDataFromQueue/32 vPortEnterCritical/42 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/48 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xQueueSemaphoreTake/19 (xQueueSemaphoreTake) @05ec8c40
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: xQueueTakeMutexRecursive/13
- Calls: vPortExitCritical/45 vTaskPriorityDisinheritAfterTimeout/60 prvGetDisinheritPriorityAfterTimeout/30 vPortEnterCritical/42 prvIsQueueEmpty/34 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 vTaskPlaceOnEventList/52 vPortExitCritical/45 xTaskPriorityInherit/59 vPortEnterCritical/42 prvIsQueueEmpty/34 xTaskCheckForTimeOut/51 vPortExitCritical/45 vPortEnterCritical/42 vTaskSuspendAll/50 vPortExitCritical/45 vTaskInternalSetTimeOutState/49 vPortExitCritical/45 vPortRaiseBASEPRI/1 vPortExitCritical/45 xTaskRemoveFromEventList/43 pvTaskIncrementMutexHeldCount/58 vPortEnterCritical/42 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/48 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xQueueReceive/18 (xQueueReceive) @05ec8540
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: prvIsQueueEmpty/34 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 vTaskPlaceOnEventList/52 prvIsQueueEmpty/34 xTaskCheckForTimeOut/51 vPortExitCritical/45 vPortEnterCritical/42 vTaskSuspendAll/50 vPortExitCritical/45 vTaskInternalSetTimeOutState/49 vPortExitCritical/45 vPortExitCritical/45 xTaskRemoveFromEventList/43 prvCopyDataFromQueue/32 vPortEnterCritical/42 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/48 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xQueueGiveFromISR/17 (xQueueGiveFromISR) @05e68d20
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 xTaskRemoveFromEventList/43 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/57 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xQueueGenericSendFromISR/16 (xQueueGenericSendFromISR) @05e68c40
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 xTaskRemoveFromEventList/43 prvCopyDataToQueue/31 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/57 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xQueueGenericSend/15 (xQueueGenericSend) @05e687e0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: xQueueGiveMutexRecursive/12 prvInitialiseMutex/8
- Calls: xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 xTaskResumeAll/53 prvUnlockQueue/33 vTaskPlaceOnEventList/52 prvIsQueueFull/36 xTaskCheckForTimeOut/51 vPortExitCritical/45 vPortEnterCritical/42 vTaskSuspendAll/50 vPortExitCritical/45 vTaskInternalSetTimeOutState/49 vPortExitCritical/45 vPortExitCritical/45 xTaskRemoveFromEventList/43 prvCopyDataToQueue/31 vPortEnterCritical/42 vPortRaiseBASEPRI/1 xTaskGetSchedulerState/48 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xQueueCreateCountingSemaphore/14 (xQueueCreateCountingSemaphore) @05e680e0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortRaiseBASEPRI/1 xQueueGenericCreate/6
- xQueueTakeMutexRecursive/13 (xQueueTakeMutexRecursive) @05e609a0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: xQueueSemaphoreTake/19 xTaskGetCurrentTaskHandle/47 vPortRaiseBASEPRI/1
- xQueueGiveMutexRecursive/12 (xQueueGiveMutexRecursive) @05e600e0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: xQueueGenericSend/15 xTaskGetCurrentTaskHandle/47 vPortRaiseBASEPRI/1
- xQueueGetMutexHolderFromISR/11 (xQueueGetMutexHolderFromISR) @05e60c40
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortRaiseBASEPRI/1
- xQueueGetMutexHolder/10 (xQueueGetMutexHolder) @05e608c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/45 vPortEnterCritical/42 vPortRaiseBASEPRI/1
- xQueueCreateMutex/9 (xQueueCreateMutex) @05e60540
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: prvInitialiseMutex/8 xQueueGenericCreate/6
- prvInitialiseMutex/8 (prvInitialiseMutex) @05e602a0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xQueueCreateMutex/9
- Calls: xQueueGenericSend/15
- prvInitialiseNewQueue/7 (prvInitialiseNewQueue) @05e60000
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xQueueGenericCreate/6
- Calls: xQueueGenericReset/5
- xQueueGenericCreate/6 (xQueueGenericCreate) @05e767e0
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: xQueueCreateCountingSemaphore/14 xQueueCreateMutex/9
- Calls: vPortRaiseBASEPRI/1 prvInitialiseNewQueue/7 pvPortMalloc/46
- xQueueGenericReset/5 (xQueueGenericReset) @05e76c40
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: prvInitialiseNewQueue/7
- Calls: vPortRaiseBASEPRI/1 vPortExitCritical/45 vListInitialise/44 vListInitialise/44 xTaskRemoveFromEventList/43 vPortEnterCritical/42 vPortRaiseBASEPRI/1
- xQueueRegistry/4 (xQueueRegistry) @05e71630
- Type: variable definition analyzed
- Visibility: externally_visible public
- References:
- Referring: vQueueAddToRegistry/38 (read)vQueueAddToRegistry/38 (addr)vQueueAddToRegistry/38 (read)vQueueAddToRegistry/38 (addr)pcQueueGetName/39 (read)pcQueueGetName/39 (read)vQueueUnregisterQueue/40 (read)vQueueUnregisterQueue/40 (write)vQueueUnregisterQueue/40 (write)
- Availability: available
- Varpool flags:
- vPortSetBASEPRI/3 (vPortSetBASEPRI) @05df8b60
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xQueuePeekFromISR/22 xQueueReceiveFromISR/21 xQueueGiveFromISR/17 xQueueGenericSendFromISR/16
- Calls:
- ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @05df88c0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xQueuePeekFromISR/22 xQueueReceiveFromISR/21 xQueueGiveFromISR/17 xQueueGenericSendFromISR/16
- Calls:
- vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @05df8540
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: vQueueUnregisterQueue/40 pcQueueGetName/39 vQueueAddToRegistry/38 xQueueIsQueueFullFromISR/37 xQueueIsQueueEmptyFromISR/35 vQueueDelete/26 uxQueueMessagesWaitingFromISR/25 uxQueueSpacesAvailable/24 uxQueueMessagesWaiting/23 xQueuePeekFromISR/22 xQueuePeekFromISR/22 xQueuePeekFromISR/22 xQueueReceiveFromISR/21 xQueueReceiveFromISR/21 xQueueReceiveFromISR/21 xQueuePeek/20 xQueuePeek/20 xQueuePeek/20 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueSemaphoreTake/19 xQueueReceive/18 xQueueReceive/18 xQueueReceive/18 xQueueGiveFromISR/17 xQueueGiveFromISR/17 xQueueGiveFromISR/17 xQueueGiveFromISR/17 xQueueGenericSendFromISR/16 xQueueGenericSendFromISR/16 xQueueGenericSendFromISR/16 xQueueGenericSendFromISR/16 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGenericSend/15 xQueueGenericSend/15 xQueueCreateCountingSemaphore/14 xQueueTakeMutexRecursive/13 xQueueGiveMutexRecursive/12 xQueueGetMutexHolderFromISR/11 xQueueGetMutexHolder/10 xQueueGenericCreate/6 xQueueGenericReset/5 xQueueGenericReset/5
- Calls:
- vQueueWaitForMessageRestricted (struct QueueDefinition * xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely)
- {
- struct Queue_t * const pxQueue;
- <bb 2> :
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _1 = pxQueue->cRxLock;
- if (_1 == -1)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- pxQueue->cRxLock = 0;
- <bb 4> :
- # DEBUG BEGIN_STMT
- _2 = pxQueue->cTxLock;
- if (_2 == -1)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- pxQueue->cTxLock = 0;
- <bb 6> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- _3 = pxQueue->uxMessagesWaiting;
- if (_3 == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- _4 = &pxQueue->xTasksWaitingToReceive;
- vTaskPlaceOnEventListRestricted (_4, xTicksToWait, xWaitIndefinitely);
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- return;
- }
- vQueueUnregisterQueue (struct QueueDefinition * xQueue)
- {
- UBaseType_t ux;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- ux = 0;
- goto <bb 9>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- _1 = xQueueRegistry[ux].xHandle;
- if (xQueue == _1)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- xQueueRegistry[ux].pcQueueName = 0B;
- # DEBUG BEGIN_STMT
- xQueueRegistry[ux].xHandle = 0B;
- # DEBUG BEGIN_STMT
- goto <bb 10>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- ux = ux + 1;
- <bb 9> :
- # DEBUG BEGIN_STMT
- if (ux <= 1)
- goto <bb 6>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 10> :
- return;
- }
- pcQueueGetName (struct QueueDefinition * xQueue)
- {
- const char * pcReturn;
- UBaseType_t ux;
- const char * D.7259;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pcReturn = 0B;
- # DEBUG BEGIN_STMT
- if (xQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- ux = 0;
- goto <bb 9>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- _1 = xQueueRegistry[ux].xHandle;
- if (xQueue == _1)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- pcReturn = xQueueRegistry[ux].pcQueueName;
- # DEBUG BEGIN_STMT
- goto <bb 10>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- ux = ux + 1;
- <bb 9> :
- # DEBUG BEGIN_STMT
- if (ux <= 1)
- goto <bb 6>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- D.7259 = pcReturn;
- return D.7259;
- }
- vQueueAddToRegistry (struct QueueDefinition * xQueue, const char * pcQueueName)
- {
- struct QueueRegistryItem_t * pxEntryToWrite;
- UBaseType_t ux;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxEntryToWrite = 0B;
- # DEBUG BEGIN_STMT
- if (pcQueueName != 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- ux = 0;
- goto <bb 13>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- _1 = xQueueRegistry[ux].xHandle;
- if (xQueue == _1)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- pxEntryToWrite = &xQueueRegistry[ux];
- # DEBUG BEGIN_STMT
- goto <bb 14>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- if (pxEntryToWrite == 0B)
- goto <bb 10>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 10> :
- _2 = xQueueRegistry[ux].pcQueueName;
- if (_2 == 0B)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- pxEntryToWrite = &xQueueRegistry[ux];
- <bb 12> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- ux = ux + 1;
- <bb 13> :
- # DEBUG BEGIN_STMT
- if (ux <= 1)
- goto <bb 7>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- if (pxEntryToWrite != 0B)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- pxEntryToWrite->pcQueueName = pcQueueName;
- # DEBUG BEGIN_STMT
- pxEntryToWrite->xHandle = xQueue;
- <bb 16> :
- # DEBUG BEGIN_STMT
- return;
- }
- xQueueIsQueueFullFromISR (struct QueueDefinition * const xQueue)
- {
- struct Queue_t * const pxQueue;
- BaseType_t xReturn;
- BaseType_t D.7240;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxQueue->uxMessagesWaiting;
- _2 = pxQueue->uxLength;
- if (_1 == _2)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 8> :
- # DEBUG BEGIN_STMT
- D.7240 = xReturn;
- return D.7240;
- }
- prvIsQueueFull (const struct Queue_t * pxQueue)
- {
- BaseType_t xReturn;
- BaseType_t D.6927;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _1 = pxQueue->uxMessagesWaiting;
- _2 = pxQueue->uxLength;
- if (_1 == _2)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 5>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 5> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.6927 = xReturn;
- return D.6927;
- }
- xQueueIsQueueEmptyFromISR (struct QueueDefinition * const xQueue)
- {
- struct Queue_t * const pxQueue;
- BaseType_t xReturn;
- BaseType_t D.7233;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxQueue->uxMessagesWaiting;
- if (_1 == 0)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 8> :
- # DEBUG BEGIN_STMT
- D.7233 = xReturn;
- return D.7233;
- }
- prvIsQueueEmpty (const struct Queue_t * pxQueue)
- {
- BaseType_t xReturn;
- BaseType_t D.7060;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _1 = pxQueue->uxMessagesWaiting;
- if (_1 == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 5>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 5> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.7060 = xReturn;
- return D.7060;
- }
- prvUnlockQueue (struct Queue_t * const pxQueue)
- {
- int8_t cRxLock;
- int8_t cTxLock;
- <bb 2> :
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- cTxLock = pxQueue->cTxLock;
- # DEBUG BEGIN_STMT
- goto <bb 7>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- _1 = pxQueue->xTasksWaitingToReceive.uxNumberOfItems;
- if (_1 != 0)
- goto <bb 4>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- _2 = &pxQueue->xTasksWaitingToReceive;
- _3 = xTaskRemoveFromEventList (_2);
- if (_3 != 0)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- vTaskMissedYield ();
- <bb 6> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- cTxLock.6_4 = (unsigned char) cTxLock;
- _5 = cTxLock.6_4 + 255;
- cTxLock = (int8_t) _5;
- <bb 7> :
- # DEBUG BEGIN_STMT
- if (cTxLock > 0)
- goto <bb 3>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- pxQueue->cTxLock = -1;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- cRxLock = pxQueue->cRxLock;
- # DEBUG BEGIN_STMT
- goto <bb 13>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- _6 = pxQueue->xTasksWaitingToSend.uxNumberOfItems;
- if (_6 != 0)
- goto <bb 10>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- _7 = &pxQueue->xTasksWaitingToSend;
- _8 = xTaskRemoveFromEventList (_7);
- if (_8 != 0)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- vTaskMissedYield ();
- <bb 12> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- cRxLock.7_9 = (unsigned char) cRxLock;
- _10 = cRxLock.7_9 + 255;
- cRxLock = (int8_t) _10;
- <bb 13> :
- # DEBUG BEGIN_STMT
- if (cRxLock > 0)
- goto <bb 9>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- pxQueue->cRxLock = -1;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- return;
- }
- prvCopyDataFromQueue (struct Queue_t * const pxQueue, void * const pvBuffer)
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- _1 = pxQueue->uxItemSize;
- if (_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- _2 = pxQueue->u.xQueue.pcReadFrom;
- _3 = pxQueue->uxItemSize;
- _4 = _2 + _3;
- pxQueue->u.xQueue.pcReadFrom = _4;
- # DEBUG BEGIN_STMT
- _5 = pxQueue->u.xQueue.pcReadFrom;
- _6 = pxQueue->u.xQueue.pcTail;
- if (_5 >= _6)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- _7 = pxQueue->pcHead;
- pxQueue->u.xQueue.pcReadFrom = _7;
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _8 = pxQueue->u.xQueue.pcReadFrom;
- _9 = pxQueue->uxItemSize;
- memcpy (pvBuffer, _8, _9);
- <bb 6> :
- return;
- }
- prvCopyDataToQueue (struct Queue_t * const pxQueue, const void * pvItemToQueue, const BaseType_t xPosition)
- {
- UBaseType_t uxMessagesWaiting;
- BaseType_t xReturn;
- BaseType_t D.6922;
- <bb 2> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxMessagesWaiting = pxQueue->uxMessagesWaiting;
- # DEBUG BEGIN_STMT
- _1 = pxQueue->uxItemSize;
- if (_1 == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- _2 = pxQueue->pcHead;
- if (_2 == 0B)
- goto <bb 4>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- _3 = pxQueue->u.xSemaphore.xMutexHolder;
- xReturn = xTaskPriorityDisinherit (_3);
- # DEBUG BEGIN_STMT
- pxQueue->u.xSemaphore.xMutexHolder = 0B;
- goto <bb 13>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- if (xPosition == 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- _4 = pxQueue->pcWriteTo;
- _5 = pxQueue->uxItemSize;
- memcpy (_4, pvItemToQueue, _5);
- # DEBUG BEGIN_STMT
- _6 = pxQueue->pcWriteTo;
- _7 = pxQueue->uxItemSize;
- _8 = _6 + _7;
- pxQueue->pcWriteTo = _8;
- # DEBUG BEGIN_STMT
- _9 = pxQueue->pcWriteTo;
- _10 = pxQueue->u.xQueue.pcTail;
- if (_9 >= _10)
- goto <bb 7>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- _11 = pxQueue->pcHead;
- pxQueue->pcWriteTo = _11;
- goto <bb 13>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- _12 = pxQueue->u.xQueue.pcReadFrom;
- _13 = pxQueue->uxItemSize;
- memcpy (_12, pvItemToQueue, _13);
- # DEBUG BEGIN_STMT
- _14 = pxQueue->u.xQueue.pcReadFrom;
- _15 = pxQueue->uxItemSize;
- _16 = -_15;
- _17 = _14 + _16;
- pxQueue->u.xQueue.pcReadFrom = _17;
- # DEBUG BEGIN_STMT
- _18 = pxQueue->u.xQueue.pcReadFrom;
- _19 = pxQueue->pcHead;
- if (_18 < _19)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- _20 = pxQueue->u.xQueue.pcTail;
- _21 = pxQueue->uxItemSize;
- _22 = -_21;
- _23 = _20 + _22;
- pxQueue->u.xQueue.pcReadFrom = _23;
- <bb 10> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xPosition == 2)
- goto <bb 11>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- if (uxMessagesWaiting != 0)
- goto <bb 12>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- uxMessagesWaiting = uxMessagesWaiting + 4294967295;
- <bb 13> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _24 = uxMessagesWaiting + 1;
- pxQueue->uxMessagesWaiting = _24;
- # DEBUG BEGIN_STMT
- D.6922 = xReturn;
- return D.6922;
- }
- prvGetDisinheritPriorityAfterTimeout (const struct Queue_t * const pxQueue)
- {
- UBaseType_t uxHighestPriorityOfWaitingTasks;
- UBaseType_t D.7117;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxQueue->xTasksWaitingToReceive.uxNumberOfItems;
- if (_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- _2 = pxQueue->xTasksWaitingToReceive.xListEnd.pxNext;
- _3 = _2->xItemValue;
- uxHighestPriorityOfWaitingTasks = 5 - _3;
- goto <bb 5>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- uxHighestPriorityOfWaitingTasks = 0;
- <bb 5> :
- # DEBUG BEGIN_STMT
- D.7117 = uxHighestPriorityOfWaitingTasks;
- return D.7117;
- }
- ucQueueGetQueueType (struct QueueDefinition * xQueue)
- {
- uint8_t D.7226;
- <bb 2> :
- # DEBUG BEGIN_STMT
- D.7226 = MEM[(struct Queue_t *)xQueue].ucQueueType;
- return D.7226;
- }
- vQueueSetQueueNumber (struct QueueDefinition * xQueue, UBaseType_t uxQueueNumber)
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- MEM[(struct Queue_t *)xQueue].uxQueueNumber = uxQueueNumber;
- return;
- }
- uxQueueGetQueueNumber (struct QueueDefinition * xQueue)
- {
- UBaseType_t D.7224;
- <bb 2> :
- # DEBUG BEGIN_STMT
- D.7224 = MEM[(struct Queue_t *)xQueue].uxQueueNumber;
- return D.7224;
- }
- vQueueDelete (struct QueueDefinition * xQueue)
- {
- struct Queue_t * const pxQueue;
- <bb 2> :
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vQueueUnregisterQueue (pxQueue);
- # DEBUG BEGIN_STMT
- vPortFree (pxQueue);
- return;
- }
- uxQueueMessagesWaitingFromISR (struct QueueDefinition * const xQueue)
- {
- struct Queue_t * const pxQueue;
- UBaseType_t uxReturn;
- UBaseType_t D.7220;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxReturn = pxQueue->uxMessagesWaiting;
- # DEBUG BEGIN_STMT
- D.7220 = uxReturn;
- return D.7220;
- }
- uxQueueSpacesAvailable (struct QueueDefinition * const xQueue)
- {
- struct Queue_t * const pxQueue;
- UBaseType_t uxReturn;
- UBaseType_t D.7216;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _1 = pxQueue->uxLength;
- _2 = pxQueue->uxMessagesWaiting;
- uxReturn = _1 - _2;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.7216 = uxReturn;
- return D.7216;
- }
- uxQueueMessagesWaiting (struct QueueDefinition * const xQueue)
- {
- UBaseType_t uxReturn;
- UBaseType_t D.7212;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- uxReturn = MEM[(struct Queue_t *)xQueue].uxMessagesWaiting;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.7212 = uxReturn;
- return D.7212;
- }
- xQueuePeekFromISR (struct QueueDefinition * xQueue, void * const pvBuffer)
- {
- struct Queue_t * const pxQueue;
- int8_t * pcOriginalReadPosition;
- UBaseType_t uxSavedInterruptStatus;
- BaseType_t xReturn;
- BaseType_t D.7208;
- int iftmp.29;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pvBuffer != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 6> :
- _1 = pxQueue->uxItemSize;
- if (_1 == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- iftmp.29 = 1;
- goto <bb 9>; [INV]
- <bb 8> :
- iftmp.29 = 0;
- <bb 9> :
- if (iftmp.29 == 0)
- goto <bb 10>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 11> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 11>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = pxQueue->uxItemSize;
- if (_2 == 0)
- goto <bb 13>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 14> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 14>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
- # DEBUG BEGIN_STMT
- _3 = pxQueue->uxMessagesWaiting;
- if (_3 != 0)
- goto <bb 16>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pcOriginalReadPosition = pxQueue->u.xQueue.pcReadFrom;
- # DEBUG BEGIN_STMT
- prvCopyDataFromQueue (pxQueue, pvBuffer);
- # DEBUG BEGIN_STMT
- pxQueue->u.xQueue.pcReadFrom = pcOriginalReadPosition;
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 18>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 18> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortSetBASEPRI (uxSavedInterruptStatus);
- # DEBUG BEGIN_STMT
- D.7208 = xReturn;
- return D.7208;
- }
- xQueueReceiveFromISR (struct QueueDefinition * xQueue, void * const pvBuffer, BaseType_t * const pxHigherPriorityTaskWoken)
- {
- const int8_t cRxLock;
- const UBaseType_t uxMessagesWaiting;
- struct Queue_t * const pxQueue;
- UBaseType_t uxSavedInterruptStatus;
- BaseType_t xReturn;
- BaseType_t D.7192;
- int iftmp.27;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pvBuffer != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 6> :
- _1 = pxQueue->uxItemSize;
- if (_1 == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- iftmp.27 = 1;
- goto <bb 9>; [INV]
- <bb 8> :
- iftmp.27 = 0;
- <bb 9> :
- if (iftmp.27 == 0)
- goto <bb 10>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 11> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 11>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
- # DEBUG BEGIN_STMT
- uxMessagesWaiting = pxQueue->uxMessagesWaiting;
- # DEBUG BEGIN_STMT
- if (uxMessagesWaiting != 0)
- goto <bb 13>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- cRxLock = pxQueue->cRxLock;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvCopyDataFromQueue (pxQueue, pvBuffer);
- # DEBUG BEGIN_STMT
- _2 = uxMessagesWaiting + 4294967295;
- pxQueue->uxMessagesWaiting = _2;
- # DEBUG BEGIN_STMT
- if (cRxLock == -1)
- goto <bb 14>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- _3 = pxQueue->xTasksWaitingToSend.uxNumberOfItems;
- if (_3 != 0)
- goto <bb 15>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- _4 = &pxQueue->xTasksWaitingToSend;
- _5 = xTaskRemoveFromEventList (_4);
- if (_5 != 0)
- goto <bb 16>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- if (pxHigherPriorityTaskWoken != 0B)
- goto <bb 17>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- *pxHigherPriorityTaskWoken = 1;
- goto <bb 22>; [INV]
- <bb 18> :
- # DEBUG BEGIN_STMT
- if (cRxLock == 127)
- goto <bb 19>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 19> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 20> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 20>; [INV]
- <bb 21> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- cRxLock.28_6 = (unsigned char) cRxLock;
- _7 = cRxLock.28_6 + 1;
- _8 = (signed char) _7;
- pxQueue->cRxLock = _8;
- <bb 22> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 24>; [INV]
- <bb 23> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 24> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortSetBASEPRI (uxSavedInterruptStatus);
- # DEBUG BEGIN_STMT
- D.7192 = xReturn;
- return D.7192;
- }
- xQueuePeek (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait)
- {
- const UBaseType_t uxMessagesWaiting;
- struct Queue_t * const pxQueue;
- int8_t * pcOriginalReadPosition;
- struct TimeOut_t xTimeOut;
- BaseType_t xEntryTimeSet;
- BaseType_t D.7143;
- int iftmp.23;
- int iftmp.22;
- <bb 2> :
- # DEBUG BEGIN_STMT
- xEntryTimeSet = 0;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pvBuffer != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 6> :
- _1 = pxQueue->uxItemSize;
- if (_1 == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- iftmp.22 = 1;
- goto <bb 9>; [INV]
- <bb 8> :
- iftmp.22 = 0;
- <bb 9> :
- if (iftmp.22 == 0)
- goto <bb 10>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 11> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 11>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = xTaskGetSchedulerState ();
- if (_2 != 0)
- goto <bb 14>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 13> :
- xTicksToWait.24_3 = xTicksToWait;
- if (xTicksToWait.24_3 == 0)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- iftmp.23 = 1;
- goto <bb 16>; [INV]
- <bb 15> :
- iftmp.23 = 0;
- <bb 16> :
- if (iftmp.23 == 0)
- goto <bb 17>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 18> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 18>; [INV]
- <bb 19> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- uxMessagesWaiting = pxQueue->uxMessagesWaiting;
- # DEBUG BEGIN_STMT
- if (uxMessagesWaiting != 0)
- goto <bb 20>; [INV]
- else
- goto <bb 24>; [INV]
- <bb 20> :
- # DEBUG BEGIN_STMT
- pcOriginalReadPosition = pxQueue->u.xQueue.pcReadFrom;
- # DEBUG BEGIN_STMT
- prvCopyDataFromQueue (pxQueue, pvBuffer);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue->u.xQueue.pcReadFrom = pcOriginalReadPosition;
- # DEBUG BEGIN_STMT
- _4 = pxQueue->xTasksWaitingToReceive.uxNumberOfItems;
- if (_4 != 0)
- goto <bb 21>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 21> :
- # DEBUG BEGIN_STMT
- _5 = &pxQueue->xTasksWaitingToReceive;
- _6 = xTaskRemoveFromEventList (_5);
- if (_6 != 0)
- goto <bb 22>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 22> :
- # DEBUG BEGIN_STMT
- _7 = 3758157060B;
- *_7 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 23> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.7143 = 1;
- // predicted unlikely by early return (on trees) predictor.
- goto <bb 39>; [INV]
- <bb 24> :
- # DEBUG BEGIN_STMT
- xTicksToWait.25_8 = xTicksToWait;
- if (xTicksToWait.25_8 == 0)
- goto <bb 25>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 25> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.7143 = 0;
- // predicted unlikely by early return (on trees) predictor.
- goto <bb 39>; [INV]
- <bb 26> :
- # DEBUG BEGIN_STMT
- if (xEntryTimeSet == 0)
- goto <bb 27>; [INV]
- else
- goto <bb 28>; [INV]
- <bb 27> :
- # DEBUG BEGIN_STMT
- vTaskInternalSetTimeOutState (&xTimeOut);
- # DEBUG BEGIN_STMT
- xEntryTimeSet = 1;
- <bb 28> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _9 = pxQueue->cRxLock;
- if (_9 == -1)
- goto <bb 29>; [INV]
- else
- goto <bb 30>; [INV]
- <bb 29> :
- # DEBUG BEGIN_STMT
- pxQueue->cRxLock = 0;
- <bb 30> :
- # DEBUG BEGIN_STMT
- _10 = pxQueue->cTxLock;
- if (_10 == -1)
- goto <bb 31>; [INV]
- else
- goto <bb 32>; [INV]
- <bb 31> :
- # DEBUG BEGIN_STMT
- pxQueue->cTxLock = 0;
- <bb 32> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- _11 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
- if (_11 == 0)
- goto <bb 33>; [INV]
- else
- goto <bb 37>; [INV]
- <bb 33> :
- # DEBUG BEGIN_STMT
- _12 = prvIsQueueEmpty (pxQueue);
- if (_12 != 0)
- goto <bb 34>; [INV]
- else
- goto <bb 36>; [INV]
- <bb 34> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _13 = &pxQueue->xTasksWaitingToReceive;
- xTicksToWait.26_14 = xTicksToWait;
- vTaskPlaceOnEventList (_13, xTicksToWait.26_14);
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- # DEBUG BEGIN_STMT
- _15 = xTaskResumeAll ();
- if (_15 == 0)
- goto <bb 35>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 35> :
- # DEBUG BEGIN_STMT
- _16 = 3758157060B;
- *_16 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- goto <bb 19>; [INV]
- <bb 36> :
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- goto <bb 19>; [INV]
- <bb 37> :
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- _17 = prvIsQueueEmpty (pxQueue);
- if (_17 != 0)
- goto <bb 38>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 38> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.7143 = 0;
- // predicted unlikely by early return (on trees) predictor.
- <bb 39> :
- xTimeOut = {CLOBBER};
- return D.7143;
- }
- xQueueSemaphoreTake (struct QueueDefinition * xQueue, TickType_t xTicksToWait)
- {
- UBaseType_t uxHighestWaitingPriority;
- const UBaseType_t uxSemaphoreCount;
- BaseType_t xInheritanceOccurred;
- struct Queue_t * const pxQueue;
- struct TimeOut_t xTimeOut;
- BaseType_t xEntryTimeSet;
- BaseType_t D.7084;
- int iftmp.18;
- <bb 2> :
- # DEBUG BEGIN_STMT
- xEntryTimeSet = 0;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- xInheritanceOccurred = 0;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxQueue->uxItemSize;
- if (_1 != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 7> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 7>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = xTaskGetSchedulerState ();
- if (_2 != 0)
- goto <bb 10>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 9> :
- xTicksToWait.19_3 = xTicksToWait;
- if (xTicksToWait.19_3 == 0)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- iftmp.18 = 1;
- goto <bb 12>; [INV]
- <bb 11> :
- iftmp.18 = 0;
- <bb 12> :
- if (iftmp.18 == 0)
- goto <bb 13>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 14> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 14>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- uxSemaphoreCount = pxQueue->uxMessagesWaiting;
- # DEBUG BEGIN_STMT
- if (uxSemaphoreCount != 0)
- goto <bb 16>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _4 = uxSemaphoreCount + 4294967295;
- pxQueue->uxMessagesWaiting = _4;
- # DEBUG BEGIN_STMT
- _5 = pxQueue->pcHead;
- if (_5 == 0B)
- goto <bb 17>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- _6 = pvTaskIncrementMutexHeldCount ();
- pxQueue->u.xSemaphore.xMutexHolder = _6;
- <bb 18> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _7 = pxQueue->xTasksWaitingToSend.uxNumberOfItems;
- if (_7 != 0)
- goto <bb 19>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 19> :
- # DEBUG BEGIN_STMT
- _8 = &pxQueue->xTasksWaitingToSend;
- _9 = xTaskRemoveFromEventList (_8);
- if (_9 != 0)
- goto <bb 20>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 20> :
- # DEBUG BEGIN_STMT
- _10 = 3758157060B;
- *_10 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 21> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.7084 = 1;
- // predicted unlikely by early return (on trees) predictor.
- goto <bb 44>; [INV]
- <bb 22> :
- # DEBUG BEGIN_STMT
- xTicksToWait.20_11 = xTicksToWait;
- if (xTicksToWait.20_11 == 0)
- goto <bb 23>; [INV]
- else
- goto <bb 27>; [INV]
- <bb 23> :
- # DEBUG BEGIN_STMT
- if (xInheritanceOccurred != 0)
- goto <bb 24>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 24> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 25> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 25>; [INV]
- <bb 26> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.7084 = 0;
- // predicted unlikely by early return (on trees) predictor.
- goto <bb 44>; [INV]
- <bb 27> :
- # DEBUG BEGIN_STMT
- if (xEntryTimeSet == 0)
- goto <bb 28>; [INV]
- else
- goto <bb 29>; [INV]
- <bb 28> :
- # DEBUG BEGIN_STMT
- vTaskInternalSetTimeOutState (&xTimeOut);
- # DEBUG BEGIN_STMT
- xEntryTimeSet = 1;
- <bb 29> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _12 = pxQueue->cRxLock;
- if (_12 == -1)
- goto <bb 30>; [INV]
- else
- goto <bb 31>; [INV]
- <bb 30> :
- # DEBUG BEGIN_STMT
- pxQueue->cRxLock = 0;
- <bb 31> :
- # DEBUG BEGIN_STMT
- _13 = pxQueue->cTxLock;
- if (_13 == -1)
- goto <bb 32>; [INV]
- else
- goto <bb 33>; [INV]
- <bb 32> :
- # DEBUG BEGIN_STMT
- pxQueue->cTxLock = 0;
- <bb 33> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- _14 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
- if (_14 == 0)
- goto <bb 34>; [INV]
- else
- goto <bb 40>; [INV]
- <bb 34> :
- # DEBUG BEGIN_STMT
- _15 = prvIsQueueEmpty (pxQueue);
- if (_15 != 0)
- goto <bb 35>; [INV]
- else
- goto <bb 39>; [INV]
- <bb 35> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _16 = pxQueue->pcHead;
- if (_16 == 0B)
- goto <bb 36>; [INV]
- else
- goto <bb 37>; [INV]
- <bb 36> :
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _17 = pxQueue->u.xSemaphore.xMutexHolder;
- xInheritanceOccurred = xTaskPriorityInherit (_17);
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- <bb 37> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _18 = &pxQueue->xTasksWaitingToReceive;
- xTicksToWait.21_19 = xTicksToWait;
- vTaskPlaceOnEventList (_18, xTicksToWait.21_19);
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- # DEBUG BEGIN_STMT
- _20 = xTaskResumeAll ();
- if (_20 == 0)
- goto <bb 38>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 38> :
- # DEBUG BEGIN_STMT
- _21 = 3758157060B;
- *_21 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- goto <bb 15>; [INV]
- <bb 39> :
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- goto <bb 15>; [INV]
- <bb 40> :
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- _22 = prvIsQueueEmpty (pxQueue);
- if (_22 != 0)
- goto <bb 41>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 41> :
- # DEBUG BEGIN_STMT
- if (xInheritanceOccurred != 0)
- goto <bb 42>; [INV]
- else
- goto <bb 43>; [INV]
- <bb 42> :
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxHighestWaitingPriority = prvGetDisinheritPriorityAfterTimeout (pxQueue);
- # DEBUG BEGIN_STMT
- _23 = pxQueue->u.xSemaphore.xMutexHolder;
- vTaskPriorityDisinheritAfterTimeout (_23, uxHighestWaitingPriority);
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- <bb 43> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.7084 = 0;
- // predicted unlikely by early return (on trees) predictor.
- <bb 44> :
- xTimeOut = {CLOBBER};
- return D.7084;
- }
- xQueueReceive (struct QueueDefinition * xQueue, void * const pvBuffer, TickType_t xTicksToWait)
- {
- const UBaseType_t uxMessagesWaiting;
- struct Queue_t * const pxQueue;
- struct TimeOut_t xTimeOut;
- BaseType_t xEntryTimeSet;
- BaseType_t D.7029;
- int iftmp.14;
- int iftmp.13;
- <bb 2> :
- # DEBUG BEGIN_STMT
- xEntryTimeSet = 0;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pvBuffer != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 6> :
- _1 = pxQueue->uxItemSize;
- if (_1 == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- iftmp.13 = 1;
- goto <bb 9>; [INV]
- <bb 8> :
- iftmp.13 = 0;
- <bb 9> :
- if (iftmp.13 == 0)
- goto <bb 10>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 11> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 11>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = xTaskGetSchedulerState ();
- if (_2 != 0)
- goto <bb 14>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 13> :
- xTicksToWait.15_3 = xTicksToWait;
- if (xTicksToWait.15_3 == 0)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- iftmp.14 = 1;
- goto <bb 16>; [INV]
- <bb 15> :
- iftmp.14 = 0;
- <bb 16> :
- if (iftmp.14 == 0)
- goto <bb 17>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 18> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 18>; [INV]
- <bb 19> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- uxMessagesWaiting = pxQueue->uxMessagesWaiting;
- # DEBUG BEGIN_STMT
- if (uxMessagesWaiting != 0)
- goto <bb 20>; [INV]
- else
- goto <bb 24>; [INV]
- <bb 20> :
- # DEBUG BEGIN_STMT
- prvCopyDataFromQueue (pxQueue, pvBuffer);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _4 = uxMessagesWaiting + 4294967295;
- pxQueue->uxMessagesWaiting = _4;
- # DEBUG BEGIN_STMT
- _5 = pxQueue->xTasksWaitingToSend.uxNumberOfItems;
- if (_5 != 0)
- goto <bb 21>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 21> :
- # DEBUG BEGIN_STMT
- _6 = &pxQueue->xTasksWaitingToSend;
- _7 = xTaskRemoveFromEventList (_6);
- if (_7 != 0)
- goto <bb 22>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 22> :
- # DEBUG BEGIN_STMT
- _8 = 3758157060B;
- *_8 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 23> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.7029 = 1;
- // predicted unlikely by early return (on trees) predictor.
- goto <bb 39>; [INV]
- <bb 24> :
- # DEBUG BEGIN_STMT
- xTicksToWait.16_9 = xTicksToWait;
- if (xTicksToWait.16_9 == 0)
- goto <bb 25>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 25> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.7029 = 0;
- // predicted unlikely by early return (on trees) predictor.
- goto <bb 39>; [INV]
- <bb 26> :
- # DEBUG BEGIN_STMT
- if (xEntryTimeSet == 0)
- goto <bb 27>; [INV]
- else
- goto <bb 28>; [INV]
- <bb 27> :
- # DEBUG BEGIN_STMT
- vTaskInternalSetTimeOutState (&xTimeOut);
- # DEBUG BEGIN_STMT
- xEntryTimeSet = 1;
- <bb 28> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _10 = pxQueue->cRxLock;
- if (_10 == -1)
- goto <bb 29>; [INV]
- else
- goto <bb 30>; [INV]
- <bb 29> :
- # DEBUG BEGIN_STMT
- pxQueue->cRxLock = 0;
- <bb 30> :
- # DEBUG BEGIN_STMT
- _11 = pxQueue->cTxLock;
- if (_11 == -1)
- goto <bb 31>; [INV]
- else
- goto <bb 32>; [INV]
- <bb 31> :
- # DEBUG BEGIN_STMT
- pxQueue->cTxLock = 0;
- <bb 32> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- _12 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
- if (_12 == 0)
- goto <bb 33>; [INV]
- else
- goto <bb 37>; [INV]
- <bb 33> :
- # DEBUG BEGIN_STMT
- _13 = prvIsQueueEmpty (pxQueue);
- if (_13 != 0)
- goto <bb 34>; [INV]
- else
- goto <bb 36>; [INV]
- <bb 34> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _14 = &pxQueue->xTasksWaitingToReceive;
- xTicksToWait.17_15 = xTicksToWait;
- vTaskPlaceOnEventList (_14, xTicksToWait.17_15);
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- # DEBUG BEGIN_STMT
- _16 = xTaskResumeAll ();
- if (_16 == 0)
- goto <bb 35>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 35> :
- # DEBUG BEGIN_STMT
- _17 = 3758157060B;
- *_17 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- goto <bb 19>; [INV]
- <bb 36> :
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- goto <bb 19>; [INV]
- <bb 37> :
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- _18 = prvIsQueueEmpty (pxQueue);
- if (_18 != 0)
- goto <bb 38>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 38> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.7029 = 0;
- // predicted unlikely by early return (on trees) predictor.
- <bb 39> :
- xTimeOut = {CLOBBER};
- return D.7029;
- }
- xQueueGiveFromISR (struct QueueDefinition * xQueue, BaseType_t * const pxHigherPriorityTaskWoken)
- {
- const int8_t cTxLock;
- const UBaseType_t uxMessagesWaiting;
- struct Queue_t * const pxQueue;
- UBaseType_t uxSavedInterruptStatus;
- BaseType_t xReturn;
- BaseType_t D.7003;
- int iftmp.11;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxQueue->uxItemSize;
- if (_1 != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 7> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 7>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = pxQueue->pcHead;
- if (_2 != 0B)
- goto <bb 10>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 9> :
- _3 = pxQueue->u.xSemaphore.xMutexHolder;
- if (_3 == 0B)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- iftmp.11 = 1;
- goto <bb 12>; [INV]
- <bb 11> :
- iftmp.11 = 0;
- <bb 12> :
- if (iftmp.11 == 0)
- goto <bb 13>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 14> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 14>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
- # DEBUG BEGIN_STMT
- uxMessagesWaiting = pxQueue->uxMessagesWaiting;
- # DEBUG BEGIN_STMT
- _4 = pxQueue->uxLength;
- if (uxMessagesWaiting < _4)
- goto <bb 16>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- cTxLock = pxQueue->cTxLock;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _5 = uxMessagesWaiting + 1;
- pxQueue->uxMessagesWaiting = _5;
- # DEBUG BEGIN_STMT
- if (cTxLock == -1)
- goto <bb 17>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- _6 = pxQueue->xTasksWaitingToReceive.uxNumberOfItems;
- if (_6 != 0)
- goto <bb 18>; [INV]
- else
- goto <bb 25>; [INV]
- <bb 18> :
- # DEBUG BEGIN_STMT
- _7 = &pxQueue->xTasksWaitingToReceive;
- _8 = xTaskRemoveFromEventList (_7);
- if (_8 != 0)
- goto <bb 19>; [INV]
- else
- goto <bb 25>; [INV]
- <bb 19> :
- # DEBUG BEGIN_STMT
- if (pxHigherPriorityTaskWoken != 0B)
- goto <bb 20>; [INV]
- else
- goto <bb 25>; [INV]
- <bb 20> :
- # DEBUG BEGIN_STMT
- *pxHigherPriorityTaskWoken = 1;
- goto <bb 25>; [INV]
- <bb 21> :
- # DEBUG BEGIN_STMT
- if (cTxLock == 127)
- goto <bb 22>; [INV]
- else
- goto <bb 24>; [INV]
- <bb 22> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 23> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 23>; [INV]
- <bb 24> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- cTxLock.12_9 = (unsigned char) cTxLock;
- _10 = cTxLock.12_9 + 1;
- _11 = (signed char) _10;
- pxQueue->cTxLock = _11;
- <bb 25> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 27>; [INV]
- <bb 26> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 27> :
- # DEBUG BEGIN_STMT
- vPortSetBASEPRI (uxSavedInterruptStatus);
- # DEBUG BEGIN_STMT
- D.7003 = xReturn;
- return D.7003;
- }
- xQueueGenericSendFromISR (struct QueueDefinition * xQueue, const void * const pvItemToQueue, BaseType_t * const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition)
- {
- const UBaseType_t uxPreviousMessagesWaiting;
- const int8_t cTxLock;
- struct Queue_t * const pxQueue;
- UBaseType_t uxSavedInterruptStatus;
- BaseType_t xReturn;
- BaseType_t D.6971;
- int iftmp.9;
- int iftmp.8;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pvItemToQueue != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 6> :
- _1 = pxQueue->uxItemSize;
- if (_1 == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- iftmp.8 = 1;
- goto <bb 9>; [INV]
- <bb 8> :
- iftmp.8 = 0;
- <bb 9> :
- if (iftmp.8 == 0)
- goto <bb 10>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 11> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 11>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xCopyPosition != 2)
- goto <bb 14>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 13> :
- _2 = pxQueue->uxLength;
- if (_2 == 1)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- iftmp.9 = 1;
- goto <bb 16>; [INV]
- <bb 15> :
- iftmp.9 = 0;
- <bb 16> :
- if (iftmp.9 == 0)
- goto <bb 17>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 18> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 18>; [INV]
- <bb 19> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
- # DEBUG BEGIN_STMT
- _3 = pxQueue->uxMessagesWaiting;
- _4 = pxQueue->uxLength;
- if (_3 < _4)
- goto <bb 21>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 20> :
- if (xCopyPosition == 2)
- goto <bb 21>; [INV]
- else
- goto <bb 31>; [INV]
- <bb 21> :
- # DEBUG BEGIN_STMT
- cTxLock = pxQueue->cTxLock;
- # DEBUG BEGIN_STMT
- uxPreviousMessagesWaiting = pxQueue->uxMessagesWaiting;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvCopyDataToQueue (pxQueue, pvItemToQueue, xCopyPosition);
- # DEBUG BEGIN_STMT
- if (cTxLock == -1)
- goto <bb 22>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 22> :
- # DEBUG BEGIN_STMT
- _5 = pxQueue->xTasksWaitingToReceive.uxNumberOfItems;
- if (_5 != 0)
- goto <bb 23>; [INV]
- else
- goto <bb 30>; [INV]
- <bb 23> :
- # DEBUG BEGIN_STMT
- _6 = &pxQueue->xTasksWaitingToReceive;
- _7 = xTaskRemoveFromEventList (_6);
- if (_7 != 0)
- goto <bb 24>; [INV]
- else
- goto <bb 30>; [INV]
- <bb 24> :
- # DEBUG BEGIN_STMT
- if (pxHigherPriorityTaskWoken != 0B)
- goto <bb 25>; [INV]
- else
- goto <bb 30>; [INV]
- <bb 25> :
- # DEBUG BEGIN_STMT
- *pxHigherPriorityTaskWoken = 1;
- goto <bb 30>; [INV]
- <bb 26> :
- # DEBUG BEGIN_STMT
- if (cTxLock == 127)
- goto <bb 27>; [INV]
- else
- goto <bb 29>; [INV]
- <bb 27> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 28> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 28>; [INV]
- <bb 29> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- cTxLock.10_8 = (unsigned char) cTxLock;
- _9 = cTxLock.10_8 + 1;
- _10 = (signed char) _9;
- pxQueue->cTxLock = _10;
- <bb 30> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 32>; [INV]
- <bb 31> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 32> :
- # DEBUG BEGIN_STMT
- vPortSetBASEPRI (uxSavedInterruptStatus);
- # DEBUG BEGIN_STMT
- D.6971 = xReturn;
- return D.6971;
- }
- xQueueGenericSend (struct QueueDefinition * xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition)
- {
- struct Queue_t * const pxQueue;
- struct TimeOut_t xTimeOut;
- BaseType_t xYieldRequired;
- BaseType_t xEntryTimeSet;
- BaseType_t D.6881;
- int iftmp.2;
- int iftmp.1;
- int iftmp.0;
- <bb 2> :
- # DEBUG BEGIN_STMT
- xEntryTimeSet = 0;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pvItemToQueue != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 6> :
- _1 = pxQueue->uxItemSize;
- if (_1 == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- iftmp.0 = 1;
- goto <bb 9>; [INV]
- <bb 8> :
- iftmp.0 = 0;
- <bb 9> :
- if (iftmp.0 == 0)
- goto <bb 10>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 11> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 11>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xCopyPosition != 2)
- goto <bb 14>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 13> :
- _2 = pxQueue->uxLength;
- if (_2 == 1)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- iftmp.1 = 1;
- goto <bb 16>; [INV]
- <bb 15> :
- iftmp.1 = 0;
- <bb 16> :
- if (iftmp.1 == 0)
- goto <bb 17>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 18> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 18>; [INV]
- <bb 19> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _3 = xTaskGetSchedulerState ();
- if (_3 != 0)
- goto <bb 21>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 20> :
- xTicksToWait.3_4 = xTicksToWait;
- if (xTicksToWait.3_4 == 0)
- goto <bb 21>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 21> :
- iftmp.2 = 1;
- goto <bb 23>; [INV]
- <bb 22> :
- iftmp.2 = 0;
- <bb 23> :
- if (iftmp.2 == 0)
- goto <bb 24>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 24> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 25> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 25>; [INV]
- <bb 26> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _5 = pxQueue->uxMessagesWaiting;
- _6 = pxQueue->uxLength;
- if (_5 < _6)
- goto <bb 28>; [INV]
- else
- goto <bb 27>; [INV]
- <bb 27> :
- if (xCopyPosition == 2)
- goto <bb 28>; [INV]
- else
- goto <bb 34>; [INV]
- <bb 28> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xYieldRequired = prvCopyDataToQueue (pxQueue, pvItemToQueue, xCopyPosition);
- # DEBUG BEGIN_STMT
- _7 = pxQueue->xTasksWaitingToReceive.uxNumberOfItems;
- if (_7 != 0)
- goto <bb 29>; [INV]
- else
- goto <bb 31>; [INV]
- <bb 29> :
- # DEBUG BEGIN_STMT
- _8 = &pxQueue->xTasksWaitingToReceive;
- _9 = xTaskRemoveFromEventList (_8);
- if (_9 != 0)
- goto <bb 30>; [INV]
- else
- goto <bb 33>; [INV]
- <bb 30> :
- # DEBUG BEGIN_STMT
- _10 = 3758157060B;
- *_10 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- goto <bb 33>; [INV]
- <bb 31> :
- # DEBUG BEGIN_STMT
- if (xYieldRequired != 0)
- goto <bb 32>; [INV]
- else
- goto <bb 33>; [INV]
- <bb 32> :
- # DEBUG BEGIN_STMT
- _11 = 3758157060B;
- *_11 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 33> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.6881 = 1;
- // predicted unlikely by early return (on trees) predictor.
- goto <bb 48>; [INV]
- <bb 34> :
- # DEBUG BEGIN_STMT
- xTicksToWait.4_12 = xTicksToWait;
- if (xTicksToWait.4_12 == 0)
- goto <bb 35>; [INV]
- else
- goto <bb 36>; [INV]
- <bb 35> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.6881 = 0;
- // predicted unlikely by early return (on trees) predictor.
- goto <bb 48>; [INV]
- <bb 36> :
- # DEBUG BEGIN_STMT
- if (xEntryTimeSet == 0)
- goto <bb 37>; [INV]
- else
- goto <bb 38>; [INV]
- <bb 37> :
- # DEBUG BEGIN_STMT
- vTaskInternalSetTimeOutState (&xTimeOut);
- # DEBUG BEGIN_STMT
- xEntryTimeSet = 1;
- <bb 38> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _13 = pxQueue->cRxLock;
- if (_13 == -1)
- goto <bb 39>; [INV]
- else
- goto <bb 40>; [INV]
- <bb 39> :
- # DEBUG BEGIN_STMT
- pxQueue->cRxLock = 0;
- <bb 40> :
- # DEBUG BEGIN_STMT
- _14 = pxQueue->cTxLock;
- if (_14 == -1)
- goto <bb 41>; [INV]
- else
- goto <bb 42>; [INV]
- <bb 41> :
- # DEBUG BEGIN_STMT
- pxQueue->cTxLock = 0;
- <bb 42> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- _15 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
- if (_15 == 0)
- goto <bb 43>; [INV]
- else
- goto <bb 47>; [INV]
- <bb 43> :
- # DEBUG BEGIN_STMT
- _16 = prvIsQueueFull (pxQueue);
- if (_16 != 0)
- goto <bb 44>; [INV]
- else
- goto <bb 46>; [INV]
- <bb 44> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _17 = &pxQueue->xTasksWaitingToSend;
- xTicksToWait.5_18 = xTicksToWait;
- vTaskPlaceOnEventList (_17, xTicksToWait.5_18);
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- # DEBUG BEGIN_STMT
- _19 = xTaskResumeAll ();
- if (_19 == 0)
- goto <bb 45>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 45> :
- # DEBUG BEGIN_STMT
- _20 = 3758157060B;
- *_20 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- goto <bb 26>; [INV]
- <bb 46> :
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- goto <bb 26>; [INV]
- <bb 47> :
- # DEBUG BEGIN_STMT
- prvUnlockQueue (pxQueue);
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.6881 = 0;
- // predicted unlikely by early return (on trees) predictor.
- <bb 48> :
- xTimeOut = {CLOBBER};
- return D.6881;
- }
- xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount)
- {
- struct QueueDefinition * xHandle;
- struct QueueDefinition * D.6844;
- <bb 2> :
- # DEBUG BEGIN_STMT
- xHandle = 0B;
- # DEBUG BEGIN_STMT
- if (uxMaxCount != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 3> :
- if (uxInitialCount <= uxMaxCount)
- goto <bb 4>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- xHandle = xQueueGenericCreate (uxMaxCount, 0, 2);
- # DEBUG BEGIN_STMT
- if (xHandle != 0B)
- goto <bb 5>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- MEM[(struct Queue_t *)xHandle].uxMessagesWaiting = uxInitialCount;
- # DEBUG BEGIN_STMT
- goto <bb 9>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- if (xHandle == 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 8>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.6844 = xHandle;
- return D.6844;
- }
- xQueueTakeMutexRecursive (struct QueueDefinition * xMutex, TickType_t xTicksToWait)
- {
- struct Queue_t * const pxMutex;
- BaseType_t xReturn;
- BaseType_t D.6833;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxMutex = xMutex;
- # DEBUG BEGIN_STMT
- if (pxMutex == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxMutex->u.xSemaphore.xMutexHolder;
- _2 = xTaskGetCurrentTaskHandle ();
- if (_1 == _2)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- _3 = pxMutex->u.xSemaphore.uxRecursiveCallCount;
- _4 = _3 + 1;
- pxMutex->u.xSemaphore.uxRecursiveCallCount = _4;
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 9>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- xReturn = xQueueSemaphoreTake (pxMutex, xTicksToWait);
- # DEBUG BEGIN_STMT
- if (xReturn != 0)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- _5 = pxMutex->u.xSemaphore.uxRecursiveCallCount;
- _6 = _5 + 1;
- pxMutex->u.xSemaphore.uxRecursiveCallCount = _6;
- <bb 9> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.6833 = xReturn;
- return D.6833;
- }
- xQueueGiveMutexRecursive (struct QueueDefinition * xMutex)
- {
- struct Queue_t * const pxMutex;
- BaseType_t xReturn;
- BaseType_t D.6823;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxMutex = xMutex;
- # DEBUG BEGIN_STMT
- if (pxMutex == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxMutex->u.xSemaphore.xMutexHolder;
- _2 = xTaskGetCurrentTaskHandle ();
- if (_1 == _2)
- goto <bb 6>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _3 = pxMutex->u.xSemaphore.uxRecursiveCallCount;
- _4 = _3 + 4294967295;
- pxMutex->u.xSemaphore.uxRecursiveCallCount = _4;
- # DEBUG BEGIN_STMT
- _5 = pxMutex->u.xSemaphore.uxRecursiveCallCount;
- if (_5 == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- xQueueGenericSend (pxMutex, 0B, 0, 0);
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 10> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.6823 = xReturn;
- return D.6823;
- }
- xQueueGetMutexHolderFromISR (struct QueueDefinition * xSemaphore)
- {
- struct tskTaskControlBlock * pxReturn;
- struct tskTaskControlBlock * D.6813;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xSemaphore == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = MEM[(struct Queue_t *)xSemaphore].pcHead;
- if (_1 == 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- pxReturn = MEM[(struct Queue_t *)xSemaphore].u.xSemaphore.xMutexHolder;
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- pxReturn = 0B;
- <bb 8> :
- # DEBUG BEGIN_STMT
- D.6813 = pxReturn;
- return D.6813;
- }
- xQueueGetMutexHolder (struct QueueDefinition * xSemaphore)
- {
- struct Queue_t * const pxSemaphore;
- struct tskTaskControlBlock * pxReturn;
- struct tskTaskControlBlock * D.6806;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxSemaphore = xSemaphore;
- # DEBUG BEGIN_STMT
- if (xSemaphore == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _1 = pxSemaphore->pcHead;
- if (_1 == 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- pxReturn = pxSemaphore->u.xSemaphore.xMutexHolder;
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- pxReturn = 0B;
- <bb 8> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.6806 = pxReturn;
- return D.6806;
- }
- xQueueCreateMutex (const uint8_t ucQueueType)
- {
- const UBaseType_t uxMutexSize;
- const UBaseType_t uxMutexLength;
- struct QueueDefinition * xNewQueue;
- struct QueueDefinition * D.6796;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxMutexLength = 1;
- uxMutexSize = 0;
- # DEBUG BEGIN_STMT
- xNewQueue = xQueueGenericCreate (1, 0, ucQueueType);
- # DEBUG BEGIN_STMT
- prvInitialiseMutex (xNewQueue);
- # DEBUG BEGIN_STMT
- D.6796 = xNewQueue;
- return D.6796;
- }
- prvInitialiseMutex (struct Queue_t * pxNewQueue)
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- if (pxNewQueue != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- pxNewQueue->u.xSemaphore.xMutexHolder = 0B;
- # DEBUG BEGIN_STMT
- pxNewQueue->pcHead = 0B;
- # DEBUG BEGIN_STMT
- pxNewQueue->u.xSemaphore.uxRecursiveCallCount = 0;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xQueueGenericSend (pxNewQueue, 0B, 0, 0);
- <bb 4> :
- # DEBUG BEGIN_STMT
- return;
- }
- prvInitialiseNewQueue (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t * pucQueueStorage, const uint8_t ucQueueType, struct Queue_t * pxNewQueue)
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxItemSize == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- pxNewQueue->pcHead = pxNewQueue;
- goto <bb 5>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- pxNewQueue->pcHead = pucQueueStorage;
- <bb 5> :
- # DEBUG BEGIN_STMT
- pxNewQueue->uxLength = uxQueueLength;
- # DEBUG BEGIN_STMT
- pxNewQueue->uxItemSize = uxItemSize;
- # DEBUG BEGIN_STMT
- xQueueGenericReset (pxNewQueue, 1);
- # DEBUG BEGIN_STMT
- pxNewQueue->ucQueueType = ucQueueType;
- # DEBUG BEGIN_STMT
- return;
- }
- xQueueGenericCreate (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType)
- {
- uint8_t * pucQueueStorage;
- size_t xQueueSizeInBytes;
- struct Queue_t * pxNewQueue;
- struct QueueDefinition * D.6791;
- <bb 2> :
- # DEBUG BEGIN_STMT
- pxNewQueue = 0B;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxQueueLength != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 3> :
- _1 = .MUL_OVERFLOW (uxItemSize, uxQueueLength);
- _2 = IMAGPART_EXPR <_1>;
- if (_2 == 0)
- goto <bb 4>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 4> :
- _3 = uxQueueLength * uxItemSize;
- if (_3 <= 4294967215)
- goto <bb 5>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- xQueueSizeInBytes = uxQueueLength * uxItemSize;
- # DEBUG BEGIN_STMT
- _4 = xQueueSizeInBytes + 80;
- pxNewQueue = pvPortMalloc (_4);
- # DEBUG BEGIN_STMT
- if (pxNewQueue != 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- pucQueueStorage = pxNewQueue;
- # DEBUG BEGIN_STMT
- pucQueueStorage = pucQueueStorage + 80;
- # DEBUG BEGIN_STMT
- prvInitialiseNewQueue (uxQueueLength, uxItemSize, pucQueueStorage, ucQueueType, pxNewQueue);
- goto <bb 10>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- if (pxNewQueue == 0B)
- goto <bb 8>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 9> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 9>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.6791 = pxNewQueue;
- return D.6791;
- }
- xQueueGenericReset (struct QueueDefinition * xQueue, BaseType_t xNewQueue)
- {
- struct Queue_t * const pxQueue;
- BaseType_t xReturn;
- BaseType_t D.6779;
- <bb 2> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- # DEBUG BEGIN_STMT
- pxQueue = xQueue;
- # DEBUG BEGIN_STMT
- if (pxQueue == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pxQueue != 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 6> :
- _1 = pxQueue->uxLength;
- if (_1 != 0)
- goto <bb 7>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 7> :
- _3 = pxQueue->uxItemSize;
- _4 = pxQueue->uxLength;
- _2 = .MUL_OVERFLOW (_3, _4);
- _5 = IMAGPART_EXPR <_2>;
- if (_5 == 0)
- goto <bb 8>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _6 = pxQueue->pcHead;
- _7 = pxQueue->uxLength;
- _8 = pxQueue->uxItemSize;
- _9 = _7 * _8;
- _10 = _6 + _9;
- pxQueue->u.xQueue.pcTail = _10;
- # DEBUG BEGIN_STMT
- pxQueue->uxMessagesWaiting = 0;
- # DEBUG BEGIN_STMT
- _11 = pxQueue->pcHead;
- pxQueue->pcWriteTo = _11;
- # DEBUG BEGIN_STMT
- _12 = pxQueue->pcHead;
- _13 = pxQueue->uxLength;
- _14 = _13 + 4294967295;
- _15 = pxQueue->uxItemSize;
- _16 = _14 * _15;
- _17 = _12 + _16;
- pxQueue->u.xQueue.pcReadFrom = _17;
- # DEBUG BEGIN_STMT
- pxQueue->cRxLock = -1;
- # DEBUG BEGIN_STMT
- pxQueue->cTxLock = -1;
- # DEBUG BEGIN_STMT
- if (xNewQueue == 0)
- goto <bb 9>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- _18 = pxQueue->xTasksWaitingToSend.uxNumberOfItems;
- if (_18 != 0)
- goto <bb 10>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- _19 = &pxQueue->xTasksWaitingToSend;
- _20 = xTaskRemoveFromEventList (_19);
- if (_20 != 0)
- goto <bb 11>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- _21 = 3758157060B;
- *_21 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- goto <bb 13>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- _22 = &pxQueue->xTasksWaitingToSend;
- vListInitialise (_22);
- # DEBUG BEGIN_STMT
- _23 = &pxQueue->xTasksWaitingToReceive;
- vListInitialise (_23);
- <bb 13> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- goto <bb 15>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 15> :
- # DEBUG BEGIN_STMT
- if (xReturn == 0)
- goto <bb 16>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 17> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 17>; [INV]
- <bb 18> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.6779 = xReturn;
- return D.6779;
- }
- __attribute__((always_inline))
- vPortSetBASEPRI (uint32_t ulNewMaskValue)
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" msr basepri, %0 " : : "r" ulNewMaskValue : "memory");
- return;
- }
- __attribute__((always_inline))
- ulPortRaiseBASEPRI ()
- {
- uint32_t ulNewBASEPRI;
- uint32_t ulOriginalBASEPRI;
- uint32_t D.6973;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mrs %0, basepri
- mov %1, %2
- msr basepri, %1
- isb
- dsb
- " : "=r" ulOriginalBASEPRI, "=r" ulNewBASEPRI : "i" 16 : "memory");
- # DEBUG BEGIN_STMT
- D.6973 = ulOriginalBASEPRI;
- return D.6973;
- }
- __attribute__((always_inline))
- vPortRaiseBASEPRI ()
- {
- uint32_t ulNewBASEPRI;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__(" mov %0, %1
- msr basepri, %0
- isb
- dsb
- " : "=r" ulNewBASEPRI : "i" 16 : "memory");
- return;
- }
|