1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363 |
- Marking local functions: prvAddCurrentTaskToDelayedList prvWriteNameToBuffer prvResetNextTaskUnblockTime prvDeleteTCB prvTaskCheckFreeStackSpace prvListTasksWithinSingleList prvCheckTasksWaitingTermination prvInitialiseTaskLists prvSearchForNameWithinSingleList prvTaskIsTaskSuspended prvAddNewTaskToReadyList prvInitialiseNewTask vPortSetBASEPRI ulPortRaiseBASEPRI vPortRaiseBASEPRI
- Marking externally visible functions: ulTaskGenericNotifyValueClear xTaskGenericNotifyStateClear vTaskGenericNotifyGiveFromISR xTaskGenericNotifyFromISR xTaskGenericNotify xTaskGenericNotifyWait ulTaskGenericNotifyTake pvTaskIncrementMutexHeldCount uxTaskResetEventItemValue vTaskList vTaskPriorityDisinheritAfterTimeout xTaskPriorityDisinherit xTaskPriorityInherit xTaskGetSchedulerState xTaskGetCurrentTaskHandle uxTaskGetStackHighWaterMark vTaskGetInfo vTaskSetTaskNumber uxTaskGetTaskNumber vTaskMissedYield xTaskCheckForTimeOut vTaskInternalSetTimeOutState vTaskSetTimeOutState vTaskRemoveFromUnorderedEventList xTaskRemoveFromEventList vTaskPlaceOnEventListRestricted vTaskPlaceOnUnorderedEventList vTaskPlaceOnEventList vTaskSwitchContext xTaskIncrementTick xTaskAbortDelay xTaskCatchUpTicks uxTaskGetSystemState xTaskGetHandle pcTaskGetName uxTaskGetNumberOfTasks xTaskGetTickCountFromISR xTaskGetTickCount xTaskResumeAll vTaskSuspendAll vTaskEndScheduler vTaskStartScheduler xTaskResumeFromISR vTaskResume vTaskSuspend vTaskPrioritySet uxTaskPriorityGetFromISR uxTaskPriorityGet eTaskGetState vTaskDelay xTaskDelayUntil vTaskDelete xTaskCreate
- Marking externally visible variables: uxTopUsedPriority pxCurrentTCB
- Reclaiming functions:
- Reclaiming variables:
- Clearing address taken flags:
- Symbol table:
- strcpy/112 (strcpy) @06161000
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvWriteNameToBuffer/83
- Calls:
- sprintf/111 (sprintf) @06141ee0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskList/84
- Calls:
- strlen/110 (strlen) @060d49a0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvWriteNameToBuffer/83 vTaskList/84 xTaskGetHandle/52
- Calls:
- vPortEndScheduler/109 (vPortEndScheduler) @060d4000
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskEndScheduler/44
- Calls:
- xPortStartScheduler/108 (xPortStartScheduler) @05a9ac40
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskStartScheduler/43
- Calls:
- xTimerCreateTimerTask/107 (xTimerCreateTimerTask) @05a9ab60
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskStartScheduler/43
- Calls:
- vPortValidateInterruptPriority/106 (vPortValidateInterruptPriority) @05a83e00
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskGenericNotifyGiveFromISR/91 xTaskGenericNotifyFromISR/90 xTaskGetTickCountFromISR/48 xTaskResumeFromISR/42 uxTaskPriorityGetFromISR/37
- Calls:
- vListInsert/105 (vListInsert) @05a837e0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskPlaceOnEventList/58 prvAddCurrentTaskToDelayedList/94 prvAddCurrentTaskToDelayedList/94
- Calls:
- vListInsertEnd/104 (vListInsertEnd) @05a830e0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: xTaskResumeFromISR/42 vTaskSuspend/39 vTaskDelete/32
- Calls:
- uxListRemove/103 (uxListRemove) @05a83000
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskPriorityDisinheritAfterTimeout/82 xTaskPriorityDisinherit/81 xTaskPriorityInherit/80 xTaskAbortDelay/55 xTaskAbortDelay/55 prvCheckTasksWaitingTermination/71 xTaskResumeFromISR/42 vTaskResume/41 vTaskSuspend/39 vTaskSuspend/39 vTaskPrioritySet/38 prvAddCurrentTaskToDelayedList/94 vTaskDelete/32 vTaskDelete/32
- Calls:
- vListInitialise/102 (vListInitialise) @060b4ee0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvInitialiseTaskLists/70 prvInitialiseTaskLists/70 prvInitialiseTaskLists/70 prvInitialiseTaskLists/70 prvInitialiseTaskLists/70 prvInitialiseTaskLists/70
- Calls:
- vPortExitCritical/101 (vPortExitCritical) @060b4d20
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: ulTaskGenericNotifyValueClear/93 xTaskGenericNotifyStateClear/92 xTaskGenericNotify/89 xTaskGenericNotifyWait/88 xTaskGenericNotifyWait/88 ulTaskGenericNotifyTake/87 ulTaskGenericNotifyTake/87 xTaskCheckForTimeOut/65 vTaskSetTimeOutState/63 xTaskAbortDelay/55 xTaskResumeAll/46 prvCheckTasksWaitingTermination/71 vTaskResume/41 vTaskSuspend/39 vTaskSuspend/39 vTaskPrioritySet/38 uxTaskPriorityGet/36 eTaskGetState/35 vTaskDelete/32 prvAddNewTaskToReadyList/31
- Calls:
- vPortEnterCritical/100 (vPortEnterCritical) @060b4b60
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: ulTaskGenericNotifyValueClear/93 xTaskGenericNotifyStateClear/92 xTaskGenericNotify/89 xTaskGenericNotifyWait/88 xTaskGenericNotifyWait/88 ulTaskGenericNotifyTake/87 ulTaskGenericNotifyTake/87 xTaskCheckForTimeOut/65 vTaskSetTimeOutState/63 xTaskAbortDelay/55 xTaskResumeAll/46 prvCheckTasksWaitingTermination/71 vTaskResume/41 vTaskSuspend/39 vTaskSuspend/39 vTaskPrioritySet/38 uxTaskPriorityGet/36 eTaskGetState/35 vTaskDelete/32 prvAddNewTaskToReadyList/31
- Calls:
- pxPortInitialiseStack/99 (pxPortInitialiseStack) @060b48c0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvInitialiseNewTask/30
- Calls:
- vListInitialiseItem/98 (vListInitialiseItem) @060b47e0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvInitialiseNewTask/30 prvInitialiseNewTask/30
- Calls:
- memset/97 (memset) @060b4700
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: prvInitialiseNewTask/30 prvInitialiseNewTask/30 prvInitialiseNewTask/30
- Calls:
- vPortFree/96 (vPortFree) @060b4540
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskList/84 prvDeleteTCB/76 prvDeleteTCB/76 xTaskCreate/29
- Calls:
- pvPortMalloc/95 (pvPortMalloc) @060b4460
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags: optimize_size
- Called by: vTaskList/84 xTaskCreate/29 xTaskCreate/29
- Calls:
- prvAddCurrentTaskToDelayedList/94 (prvAddCurrentTaskToDelayedList) @060b4000
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xSuspendedTaskList/16 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xSuspendedTaskList/16 (addr)xSuspendedTaskList/16 (read)xSuspendedTaskList/16 (write)pxCurrentTCB/7 (read)pxOverflowDelayedTaskList/12 (read)pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxCurrentTCB/7 (read)xNextTaskUnblockTime/25 (read)xNextTaskUnblockTime/25 (write)
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xTaskGenericNotifyWait/88 ulTaskGenericNotifyTake/87 vTaskPlaceOnEventListRestricted/60 vTaskPlaceOnUnorderedEventList/59 vTaskPlaceOnEventList/58 vTaskDelay/34 xTaskDelayUntil/33
- Calls: vListInsert/105 vListInsert/105 uxListRemove/103
- ulTaskGenericNotifyValueClear/93 (ulTaskGenericNotifyValueClear) @0607a540
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/101 vPortEnterCritical/100
- xTaskGenericNotifyStateClear/92 (xTaskGenericNotifyStateClear) @0607ad20
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/101 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- vTaskGenericNotifyGiveFromISR/91 (vTaskGenericNotifyGiveFromISR) @0607a8c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/106 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xTaskGenericNotifyFromISR/90 (xTaskGenericNotifyFromISR) @0607a460
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xTickCount/18 (read)uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortSetBASEPRI/3 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/106 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xTaskGenericNotify/89 (xTaskGenericNotify) @0606ce00
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xTickCount/18 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/101 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortEnterCritical/100 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xTaskGenericNotifyWait/88 (xTaskGenericNotifyWait) @0606cd20
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/101 vPortEnterCritical/100 vPortExitCritical/101 prvAddCurrentTaskToDelayedList/94 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- ulTaskGenericNotifyTake/87 (ulTaskGenericNotifyTake) @0606c8c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/101 vPortEnterCritical/100 vPortExitCritical/101 prvAddCurrentTaskToDelayedList/94 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- pvTaskIncrementMutexHeldCount/86 (pvTaskIncrementMutexHeldCount) @0606c460
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls:
- uxTaskResetEventItemValue/85 (uxTaskResetEventItemValue) @0606c1c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls:
- vTaskList/84 (vTaskList) @0604fc40
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortFree/96 strlen/110 sprintf/111 prvWriteNameToBuffer/83 uxTaskGetSystemState/53 pvPortMalloc/95
- prvWriteNameToBuffer/83 (prvWriteNameToBuffer) @0604f540
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: vTaskList/84
- Calls: strlen/110 strcpy/112
- vTaskPriorityDisinheritAfterTimeout/82 (vTaskPriorityDisinheritAfterTimeout) @0604f000
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: uxListRemove/103 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xTaskPriorityDisinherit/81 (xTaskPriorityDisinherit) @0604fb60
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: uxListRemove/103 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xTaskPriorityInherit/80 (xTaskPriorityInherit) @0604f700
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: uxListRemove/103
- xTaskGetSchedulerState/79 (xTaskGetSchedulerState) @0604f460
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls:
- xTaskGetCurrentTaskHandle/78 (xTaskGetCurrentTaskHandle) @0604f1c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls:
- prvResetNextTaskUnblockTime/77 (prvResetNextTaskUnblockTime) @06043c40
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References: pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xTaskIncrementTick/56 xTaskResumeAll/46 vTaskSuspend/39 vTaskDelete/32
- Calls:
- prvDeleteTCB/76 (prvDeleteTCB) @06043380
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: prvCheckTasksWaitingTermination/71 vTaskDelete/32
- Calls: vPortFree/96 vPortFree/96
- uxTaskGetStackHighWaterMark/75 (uxTaskGetStackHighWaterMark) @06043ee0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: prvTaskCheckFreeStackSpace/74
- prvTaskCheckFreeStackSpace/74 (prvTaskCheckFreeStackSpace) @06043b60
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: uxTaskGetStackHighWaterMark/75 vTaskGetInfo/72
- Calls:
- prvListTasksWithinSingleList/73 (prvListTasksWithinSingleList) @060438c0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: uxTaskGetSystemState/53 uxTaskGetSystemState/53 uxTaskGetSystemState/53 uxTaskGetSystemState/53 uxTaskGetSystemState/53
- Calls: vTaskGetInfo/72
- vTaskGetInfo/72 (vTaskGetInfo) @06043620
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: prvListTasksWithinSingleList/73
- Calls: prvTaskCheckFreeStackSpace/74 eTaskGetState/35 xTaskResumeAll/46 vTaskSuspendAll/45
- prvCheckTasksWaitingTermination/71 (prvCheckTasksWaitingTermination) @060432a0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References: xTasksWaitingTermination/14 (read)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxDeletedTasksWaitingCleanUp/15 (read)
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: prvIdleTask/69
- Calls: prvDeleteTCB/76 vPortExitCritical/101 uxListRemove/103 vPortEnterCritical/100
- prvInitialiseTaskLists/70 (prvInitialiseTaskLists) @0603fee0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References: pxReadyTasksLists/8 (addr)xDelayedTaskList1/9 (addr)xDelayedTaskList2/10 (addr)xPendingReadyList/13 (addr)xTasksWaitingTermination/14 (addr)xSuspendedTaskList/16 (addr)pxDelayedTaskList/11 (write)xDelayedTaskList1/9 (addr)pxOverflowDelayedTaskList/12 (write)xDelayedTaskList2/10 (addr)
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: prvAddNewTaskToReadyList/31
- Calls: vListInitialise/102 vListInitialise/102 vListInitialise/102 vListInitialise/102 vListInitialise/102 vListInitialise/102
- prvIdleTask/69 (prvIdleTask) @0603f9a0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- Address is taken.
- References: pxReadyTasksLists/8 (read)
- Referring: vTaskStartScheduler/43 (addr)
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: prvCheckTasksWaitingTermination/71
- vTaskSetTaskNumber/68 (vTaskSetTaskNumber) @0603fe00
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls:
- uxTaskGetTaskNumber/67 (uxTaskGetTaskNumber) @0603fb60
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls:
- vTaskMissedYield/66 (vTaskMissedYield) @0603f8c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls:
- xTaskCheckForTimeOut/65 (xTaskCheckForTimeOut) @0603f620
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xTickCount/18 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)xNumOfOverflows/23 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/101 vTaskInternalSetTimeOutState/64 vPortEnterCritical/100 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- vTaskInternalSetTimeOutState/64 (vTaskInternalSetTimeOutState) @0603f1c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xNumOfOverflows/23 (read)xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: xTaskCheckForTimeOut/65
- Calls:
- vTaskSetTimeOutState/63 (vTaskSetTimeOutState) @05f9ab60
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xNumOfOverflows/23 (read)xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/101 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- vTaskRemoveFromUnorderedEventList/62 (vTaskRemoveFromUnorderedEventList) @05f9aee0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- xTaskRemoveFromEventList/61 (xTaskRemoveFromEventList) @05f9aa80
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (read)xPendingReadyList/13 (addr)xPendingReadyList/13 (read)xPendingReadyList/13 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortRaiseBASEPRI/1
- vTaskPlaceOnEventListRestricted/60 (vTaskPlaceOnEventListRestricted) @05f9a620
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: prvAddCurrentTaskToDelayedList/94 vPortRaiseBASEPRI/1
- vTaskPlaceOnUnorderedEventList/59 (vTaskPlaceOnUnorderedEventList) @05f9a2a0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: prvAddCurrentTaskToDelayedList/94 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- vTaskPlaceOnEventList/58 (vTaskPlaceOnEventList) @05f8aa80
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: prvAddCurrentTaskToDelayedList/94 vListInsert/105 vPortRaiseBASEPRI/1
- vTaskSwitchContext/57 (vTaskSwitchContext) @05f8ae00
- Type: function definition analyzed
- Visibility: force_output externally_visible public
- References: uxSchedulerSuspended/28 (read)xYieldPending/22 (write)xYieldPending/22 (write)uxTopReadyPriority/19 (read)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxCurrentTCB/7 (write)uxTopReadyPriority/19 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: vTaskSuspend/39
- Calls: vPortRaiseBASEPRI/1
- xTaskIncrementTick/56 (xTaskIncrementTick) @05f8a9a0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)xTickCount/18 (read)xTickCount/18 (write)pxDelayedTaskList/11 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)pxDelayedTaskList/11 (write)pxOverflowDelayedTaskList/12 (write)xNumOfOverflows/23 (read)xNumOfOverflows/23 (write)xNextTaskUnblockTime/25 (read)pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)pxDelayedTaskList/11 (read)xNextTaskUnblockTime/25 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (read)xYieldPending/22 (read)xPendedTicks/21 (read)xPendedTicks/21 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: xTaskResumeAll/46
- Calls: prvResetNextTaskUnblockTime/77 vPortRaiseBASEPRI/1
- xTaskAbortDelay/55 (xTaskAbortDelay) @05f8a380
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: xTaskResumeAll/46 vPortExitCritical/101 uxListRemove/103 vPortEnterCritical/100 uxListRemove/103 eTaskGetState/35 vTaskSuspendAll/45 vPortRaiseBASEPRI/1
- xTaskCatchUpTicks/54 (xTaskCatchUpTicks) @05f8a000
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)xPendedTicks/21 (read)xPendedTicks/21 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: xTaskResumeAll/46 vTaskSuspendAll/45 vPortRaiseBASEPRI/1
- uxTaskGetSystemState/53 (uxTaskGetSystemState) @05f7f7e0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxCurrentNumberOfTasks/17 (read)pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xTasksWaitingTermination/14 (addr)xSuspendedTaskList/16 (addr)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: vTaskList/84
- Calls: xTaskResumeAll/46 prvListTasksWithinSingleList/73 prvListTasksWithinSingleList/73 prvListTasksWithinSingleList/73 prvListTasksWithinSingleList/73 prvListTasksWithinSingleList/73 vTaskSuspendAll/45
- xTaskGetHandle/52 (xTaskGetHandle) @05f7f2a0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxReadyTasksLists/8 (addr)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: xTaskResumeAll/46 prvSearchForNameWithinSingleList/51 prvSearchForNameWithinSingleList/51 prvSearchForNameWithinSingleList/51 prvSearchForNameWithinSingleList/51 prvSearchForNameWithinSingleList/51 vTaskSuspendAll/45 vPortRaiseBASEPRI/1 strlen/110
- prvSearchForNameWithinSingleList/51 (prvSearchForNameWithinSingleList) @05f7fe00
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xTaskGetHandle/52 xTaskGetHandle/52 xTaskGetHandle/52 xTaskGetHandle/52 xTaskGetHandle/52
- Calls:
- pcTaskGetName/50 (pcTaskGetName) @05f7fb60
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortRaiseBASEPRI/1
- uxTaskGetNumberOfTasks/49 (uxTaskGetNumberOfTasks) @05f7f700
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxCurrentNumberOfTasks/17 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls:
- xTaskGetTickCountFromISR/48 (xTaskGetTickCountFromISR) @05f7f460
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortValidateInterruptPriority/106
- xTaskGetTickCount/47 (xTaskGetTickCount) @05f7f1c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls:
- xTaskResumeAll/46 (xTaskResumeAll) @05f6ce00
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write)uxSchedulerSuspended/28 (read)uxCurrentNumberOfTasks/17 (read)xPendingReadyList/13 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)xYieldPending/22 (write)xPendingReadyList/13 (read)xPendedTicks/21 (read)xYieldPending/22 (write)xPendedTicks/21 (write)xYieldPending/22 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: vTaskGetInfo/72 xTaskAbortDelay/55 xTaskCatchUpTicks/54 uxTaskGetSystemState/53 xTaskGetHandle/52 vTaskDelay/34 xTaskDelayUntil/33
- Calls: vPortExitCritical/101 xTaskIncrementTick/56 prvResetNextTaskUnblockTime/77 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- vTaskSuspendAll/45 (vTaskSuspendAll) @05f6cd20
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)uxSchedulerSuspended/28 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: vTaskGetInfo/72 xTaskAbortDelay/55 xTaskCatchUpTicks/54 uxTaskGetSystemState/53 xTaskGetHandle/52 vTaskDelay/34 xTaskDelayUntil/33
- Calls:
- vTaskEndScheduler/44 (vTaskEndScheduler) @05f6ca80
- Type: function definition analyzed
- Visibility: externally_visible public
- References: xSchedulerRunning/20 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortEndScheduler/109 vPortRaiseBASEPRI/1
- vTaskStartScheduler/43 (vTaskStartScheduler) @05f6c7e0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: prvIdleTask/69 (addr)xIdleTaskHandle/26 (addr)xNextTaskUnblockTime/25 (write)xSchedulerRunning/20 (write)xTickCount/18 (write)uxTopUsedPriority/27 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortRaiseBASEPRI/1 xPortStartScheduler/108 vPortRaiseBASEPRI/1 xTimerCreateTimerTask/107 xTaskCreate/29
- xTaskResumeFromISR/42 (xTaskResumeFromISR) @05f6c540
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)pxCurrentTCB/7 (read)xYieldPending/22 (write)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xPendingReadyList/13 (addr)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortSetBASEPRI/3 vListInsertEnd/104 uxListRemove/103 prvTaskIsTaskSuspended/40 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/106 vPortRaiseBASEPRI/1
- vTaskResume/41 (vTaskResume) @05f6c1c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/101 uxListRemove/103 prvTaskIsTaskSuspended/40 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- prvTaskIsTaskSuspended/40 (prvTaskIsTaskSuspended) @05f5d9a0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References: xSuspendedTaskList/16 (addr)xPendingReadyList/13 (addr)
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xTaskResumeFromISR/42 vTaskResume/41
- Calls: vPortRaiseBASEPRI/1
- vTaskSuspend/39 (vTaskSuspend) @05f5de00
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)xSuspendedTaskList/16 (addr)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)xSchedulerRunning/20 (read)uxSchedulerSuspended/28 (read)xSuspendedTaskList/16 (read)uxCurrentNumberOfTasks/17 (read)pxCurrentTCB/7 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vTaskSwitchContext/57 vPortRaiseBASEPRI/1 vPortExitCritical/101 prvResetNextTaskUnblockTime/77 vPortEnterCritical/100 vPortExitCritical/101 vListInsertEnd/104 uxListRemove/103 uxListRemove/103 vPortEnterCritical/100
- vTaskPrioritySet/38 (vTaskPrioritySet) @05f5d8c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (read)pxReadyTasksLists/8 (addr)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/101 uxListRemove/103 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- uxTaskPriorityGetFromISR/37 (uxTaskPriorityGetFromISR) @05f5d380
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortSetBASEPRI/3 ulPortRaiseBASEPRI/2 vPortValidateInterruptPriority/106
- uxTaskPriorityGet/36 (uxTaskPriorityGet) @05f5d000
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortExitCritical/101 vPortEnterCritical/100
- eTaskGetState/35 (eTaskGetState) @05f482a0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)pxDelayedTaskList/11 (read)pxOverflowDelayedTaskList/12 (read)xSuspendedTaskList/16 (addr)xTasksWaitingTermination/14 (addr)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: vTaskGetInfo/72 xTaskAbortDelay/55
- Calls: vPortExitCritical/101 vPortEnterCritical/100 vPortRaiseBASEPRI/1
- vTaskDelay/34 (vTaskDelay) @05f48c40
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: xTaskResumeAll/46 prvAddCurrentTaskToDelayedList/94 vTaskSuspendAll/45 vPortRaiseBASEPRI/1
- xTaskDelayUntil/33 (xTaskDelayUntil) @05f487e0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: uxSchedulerSuspended/28 (read)xTickCount/18 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: xTaskResumeAll/46 prvAddCurrentTaskToDelayedList/94 vTaskSuspendAll/45 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1
- vTaskDelete/32 (vTaskDelete) @05f481c0
- Type: function definition analyzed
- Visibility: externally_visible public
- References: pxCurrentTCB/7 (read)uxTaskNumber/24 (read)uxTaskNumber/24 (write)pxCurrentTCB/7 (read)xTasksWaitingTermination/14 (addr)uxDeletedTasksWaitingCleanUp/15 (read)uxDeletedTasksWaitingCleanUp/15 (write)uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)uxSchedulerSuspended/28 (read)
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by:
- Calls: vPortRaiseBASEPRI/1 vPortExitCritical/101 prvResetNextTaskUnblockTime/77 prvDeleteTCB/76 vListInsertEnd/104 uxListRemove/103 uxListRemove/103 vPortEnterCritical/100
- prvAddNewTaskToReadyList/31 (prvAddNewTaskToReadyList) @05f36540
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References: uxCurrentNumberOfTasks/17 (read)uxCurrentNumberOfTasks/17 (write)pxCurrentTCB/7 (read)pxCurrentTCB/7 (write)uxCurrentNumberOfTasks/17 (read)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)pxCurrentTCB/7 (write)uxTaskNumber/24 (read)uxTaskNumber/24 (write)uxTaskNumber/24 (read)uxTopReadyPriority/19 (read)uxTopReadyPriority/19 (write)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (addr)pxReadyTasksLists/8 (read)pxReadyTasksLists/8 (write)xSchedulerRunning/20 (read)pxCurrentTCB/7 (read)
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xTaskCreate/29
- Calls: vPortExitCritical/101 prvInitialiseTaskLists/70 vPortEnterCritical/100
- prvInitialiseNewTask/30 (prvInitialiseNewTask) @05f36c40
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xTaskCreate/29
- Calls: pxPortInitialiseStack/99 memset/97 memset/97 vListInitialiseItem/98 vListInitialiseItem/98 vPortRaiseBASEPRI/1 vPortRaiseBASEPRI/1 memset/97
- xTaskCreate/29 (xTaskCreate) @05f36700
- Type: function definition analyzed
- Visibility: externally_visible public
- References:
- Referring:
- Availability: available
- Function flags: body optimize_size
- Called by: vTaskStartScheduler/43
- Calls: prvAddNewTaskToReadyList/31 prvInitialiseNewTask/30 vPortFree/96 pvPortMalloc/95 pvPortMalloc/95
- uxSchedulerSuspended/28 (uxSchedulerSuspended) @05f305a0
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: vTaskDelete/32 (read)xTaskDelayUntil/33 (read)vTaskDelay/34 (read)vTaskSuspend/39 (read)xTaskResumeFromISR/42 (read)vTaskSuspendAll/45 (read)vTaskSuspendAll/45 (write)xTaskResumeAll/46 (read)xTaskResumeAll/46 (read)xTaskResumeAll/46 (write)xTaskResumeAll/46 (read)xTaskCatchUpTicks/54 (read)xTaskIncrementTick/56 (read)vTaskSwitchContext/57 (read)vTaskPlaceOnUnorderedEventList/59 (read)xTaskRemoveFromEventList/61 (read)vTaskRemoveFromUnorderedEventList/62 (read)xTaskGetSchedulerState/79 (read)xTaskGenericNotifyFromISR/90 (read)vTaskGenericNotifyGiveFromISR/91 (read)
- Availability: available
- Varpool flags: initialized
- uxTopUsedPriority/27 (uxTopUsedPriority) @05f30510
- Type: variable definition analyzed
- Visibility: force_output externally_visible public
- References:
- Referring: vTaskStartScheduler/43 (read)
- Availability: available
- Varpool flags: initialized read-only
- xIdleTaskHandle/26 (xIdleTaskHandle) @05f30480
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: vTaskStartScheduler/43 (addr)
- Availability: available
- Varpool flags: initialized
- xNextTaskUnblockTime/25 (xNextTaskUnblockTime) @05f303f0
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: prvResetNextTaskUnblockTime/77 (write)prvResetNextTaskUnblockTime/77 (write)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (write)vTaskStartScheduler/43 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)xTaskIncrementTick/56 (write)
- Availability: available
- Varpool flags: initialized
- uxTaskNumber/24 (uxTaskNumber) @05f30360
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskDelete/32 (write)
- Availability: available
- Varpool flags: initialized
- xNumOfOverflows/23 (xNumOfOverflows) @05f30318
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)vTaskSetTimeOutState/63 (read)vTaskInternalSetTimeOutState/64 (read)xTaskCheckForTimeOut/65 (read)
- Availability: available
- Varpool flags: initialized
- xYieldPending/22 (xYieldPending) @05f302d0
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: xTaskResumeFromISR/42 (write)xTaskResumeAll/46 (write)xTaskResumeAll/46 (write)xTaskResumeAll/46 (read)xTaskAbortDelay/55 (write)xTaskIncrementTick/56 (read)vTaskSwitchContext/57 (write)vTaskSwitchContext/57 (write)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (write)vTaskMissedYield/66 (write)xTaskGenericNotifyFromISR/90 (write)vTaskGenericNotifyGiveFromISR/91 (write)
- Availability: available
- Varpool flags: initialized
- xPendedTicks/21 (xPendedTicks) @05f30240
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: xTaskResumeAll/46 (read)xTaskResumeAll/46 (write)xTaskCatchUpTicks/54 (read)xTaskCatchUpTicks/54 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)
- Availability: available
- Varpool flags: initialized
- xSchedulerRunning/20 (xSchedulerRunning) @05f301b0
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskSuspend/39 (read)vTaskSuspend/39 (read)vTaskStartScheduler/43 (write)vTaskEndScheduler/44 (write)xTaskGetSchedulerState/79 (read)
- Availability: available
- Varpool flags: initialized
- uxTopReadyPriority/19 (uxTopReadyPriority) @05f30120
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (write)vTaskResume/41 (read)vTaskResume/41 (write)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (write)xTaskResumeAll/46 (read)xTaskResumeAll/46 (write)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)vTaskSwitchContext/57 (read)vTaskSwitchContext/57 (write)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (write)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (write)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (write)vTaskPriorityDisinheritAfterTimeout/82 (read)vTaskPriorityDisinheritAfterTimeout/82 (write)xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (write)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write)
- Availability: available
- Varpool flags: initialized
- xTickCount/18 (xTickCount) @05f300d8
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: xTaskDelayUntil/33 (read)prvAddCurrentTaskToDelayedList/94 (read)vTaskStartScheduler/43 (write)xTaskGetTickCount/47 (read)xTaskGetTickCountFromISR/48 (read)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)vTaskSetTimeOutState/63 (read)vTaskInternalSetTimeOutState/64 (read)xTaskCheckForTimeOut/65 (read)xTaskGenericNotify/89 (read)xTaskGenericNotifyFromISR/90 (read)
- Availability: available
- Varpool flags: initialized
- uxCurrentNumberOfTasks/17 (uxCurrentNumberOfTasks) @05f30090
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskDelete/32 (write)vTaskSuspend/39 (read)prvCheckTasksWaitingTermination/71 (read)prvCheckTasksWaitingTermination/71 (write)xTaskResumeAll/46 (read)uxTaskGetNumberOfTasks/49 (read)uxTaskGetSystemState/53 (read)vTaskList/84 (read)vTaskList/84 (read)
- Availability: available
- Varpool flags: initialized
- xSuspendedTaskList/16 (xSuspendedTaskList) @05f2cf78
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: prvInitialiseTaskLists/70 (addr)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (addr)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (write)eTaskGetState/35 (addr)vTaskSuspend/39 (addr)vTaskSuspend/39 (read)prvTaskIsTaskSuspended/40 (addr)xTaskGetHandle/52 (addr)uxTaskGetSystemState/53 (addr)
- Availability: available
- Varpool flags:
- uxDeletedTasksWaitingCleanUp/15 (uxDeletedTasksWaitingCleanUp) @05f2cee8
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: vTaskDelete/32 (read)vTaskDelete/32 (write)prvCheckTasksWaitingTermination/71 (read)prvCheckTasksWaitingTermination/71 (write)prvCheckTasksWaitingTermination/71 (read)
- Availability: available
- Varpool flags: initialized
- xTasksWaitingTermination/14 (xTasksWaitingTermination) @05f2ce58
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: prvInitialiseTaskLists/70 (addr)vTaskDelete/32 (addr)eTaskGetState/35 (addr)prvCheckTasksWaitingTermination/71 (read)xTaskGetHandle/52 (addr)uxTaskGetSystemState/53 (addr)
- Availability: available
- Varpool flags:
- xPendingReadyList/13 (xPendingReadyList) @05f2cdc8
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: prvInitialiseTaskLists/70 (addr)prvTaskIsTaskSuspended/40 (addr)xTaskResumeFromISR/42 (addr)xTaskResumeAll/46 (read)xTaskResumeAll/46 (read)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (write)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write)
- Availability: available
- Varpool flags:
- pxOverflowDelayedTaskList/12 (pxOverflowDelayedTaskList) @05f2cd38
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: prvInitialiseTaskLists/70 (write)prvAddCurrentTaskToDelayedList/94 (read)eTaskGetState/35 (read)xTaskGetHandle/52 (read)uxTaskGetSystemState/53 (read)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)
- Availability: available
- Varpool flags:
- pxDelayedTaskList/11 (pxDelayedTaskList) @05f2ccf0
- Type: variable definition analyzed
- Visibility: force_output prevailing_def_ironly
- References:
- Referring: prvInitialiseTaskLists/70 (write)prvResetNextTaskUnblockTime/77 (read)prvResetNextTaskUnblockTime/77 (read)prvAddCurrentTaskToDelayedList/94 (read)eTaskGetState/35 (read)xTaskGetHandle/52 (read)uxTaskGetSystemState/53 (read)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (read)
- Availability: available
- Varpool flags:
- xDelayedTaskList2/10 (xDelayedTaskList2) @05f2cca8
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr)
- Availability: available
- Varpool flags:
- xDelayedTaskList1/9 (xDelayedTaskList1) @05f2cc18
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: prvInitialiseTaskLists/70 (addr)prvInitialiseTaskLists/70 (addr)
- Availability: available
- Varpool flags:
- pxReadyTasksLists/8 (pxReadyTasksLists) @05f2cb88
- Type: variable definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring: prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (addr)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvInitialiseTaskLists/70 (addr)vTaskPrioritySet/38 (addr)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (addr)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (write)vTaskResume/41 (read)vTaskResume/41 (addr)vTaskResume/41 (read)vTaskResume/41 (write)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (addr)xTaskResumeFromISR/42 (read)xTaskResumeFromISR/42 (write)prvIdleTask/69 (read)xTaskResumeAll/46 (read)xTaskResumeAll/46 (addr)xTaskResumeAll/46 (read)xTaskResumeAll/46 (write)xTaskGetHandle/52 (addr)uxTaskGetSystemState/53 (addr)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (addr)xTaskAbortDelay/55 (read)xTaskAbortDelay/55 (write)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (addr)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (write)xTaskIncrementTick/56 (read)vTaskSwitchContext/57 (read)vTaskSwitchContext/57 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (addr)xTaskRemoveFromEventList/61 (read)xTaskRemoveFromEventList/61 (write)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (addr)vTaskRemoveFromUnorderedEventList/62 (read)vTaskRemoveFromUnorderedEventList/62 (write)xTaskPriorityInherit/80 (addr)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (addr)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (write)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (addr)xTaskPriorityDisinherit/81 (read)xTaskPriorityDisinherit/81 (write)vTaskPriorityDisinheritAfterTimeout/82 (addr)vTaskPriorityDisinheritAfterTimeout/82 (read)vTaskPriorityDisinheritAfterTimeout/82 (addr)vTaskPriorityDisinheritAfterTimeout/82 (read)vTaskPriorityDisinheritAfterTimeout/82 (write)xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (addr)xTaskGenericNotify/89 (read)xTaskGenericNotify/89 (write)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (addr)xTaskGenericNotifyFromISR/90 (read)xTaskGenericNotifyFromISR/90 (write)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (addr)vTaskGenericNotifyGiveFromISR/91 (read)vTaskGenericNotifyGiveFromISR/91 (write)
- Availability: available
- Varpool flags:
- pxCurrentTCB/7 (pxCurrentTCB) @05f2cb40
- Type: variable definition analyzed
- Visibility: force_output externally_visible public
- References:
- Referring: prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)prvAddNewTaskToReadyList/31 (write)prvAddNewTaskToReadyList/31 (read)vTaskDelete/32 (read)vTaskDelete/32 (read)vTaskDelete/32 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)prvAddCurrentTaskToDelayedList/94 (read)eTaskGetState/35 (read)uxTaskPriorityGet/36 (read)uxTaskPriorityGetFromISR/37 (read)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (read)vTaskPrioritySet/38 (read)vTaskSuspend/39 (read)vTaskSuspend/39 (read)vTaskSuspend/39 (write)vTaskResume/41 (read)vTaskResume/41 (read)xTaskResumeFromISR/42 (read)xTaskResumeAll/46 (read)pcTaskGetName/50 (read)xTaskAbortDelay/55 (read)xTaskIncrementTick/56 (read)xTaskIncrementTick/56 (read)vTaskSwitchContext/57 (write)vTaskPlaceOnEventList/58 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnUnorderedEventList/59 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnEventListRestricted/60 (read)vTaskPlaceOnEventListRestricted/60 (read)xTaskRemoveFromEventList/61 (read)vTaskRemoveFromUnorderedEventList/62 (read)xTaskCheckForTimeOut/65 (read)xTaskCheckForTimeOut/65 (read)vTaskGetInfo/72 (read)vTaskGetInfo/72 (read)uxTaskGetStackHighWaterMark/75 (read)xTaskGetCurrentTaskHandle/78 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)xTaskPriorityInherit/80 (read)xTaskPriorityDisinherit/81 (read)vTaskPriorityDisinheritAfterTimeout/82 (read)uxTaskResetEventItemValue/85 (read)uxTaskResetEventItemValue/85 (read)uxTaskResetEventItemValue/85 (read)pvTaskIncrementMutexHeldCount/86 (read)pvTaskIncrementMutexHeldCount/86 (read)pvTaskIncrementMutexHeldCount/86 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)ulTaskGenericNotifyTake/87 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotifyWait/88 (read)xTaskGenericNotify/89 (read)xTaskGenericNotifyFromISR/90 (read)vTaskGenericNotifyGiveFromISR/91 (read)xTaskGenericNotifyStateClear/92 (read)ulTaskGenericNotifyValueClear/93 (read)
- Availability: available
- Varpool flags: initialized
- vPortSetBASEPRI/3 (vPortSetBASEPRI) @05e54b60
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: vTaskGenericNotifyGiveFromISR/91 xTaskGenericNotifyFromISR/90 xTaskResumeFromISR/42 uxTaskPriorityGetFromISR/37
- Calls:
- ulPortRaiseBASEPRI/2 (ulPortRaiseBASEPRI) @05e548c0
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: vTaskGenericNotifyGiveFromISR/91 xTaskGenericNotifyFromISR/90 xTaskResumeFromISR/42 uxTaskPriorityGetFromISR/37
- Calls:
- vPortRaiseBASEPRI/1 (vPortRaiseBASEPRI) @05e54540
- Type: function definition analyzed
- Visibility: prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local optimize_size
- Called by: xTaskGenericNotifyStateClear/92 vTaskGenericNotifyGiveFromISR/91 vTaskGenericNotifyGiveFromISR/91 vTaskGenericNotifyGiveFromISR/91 xTaskGenericNotifyFromISR/90 xTaskGenericNotifyFromISR/90 xTaskGenericNotifyFromISR/90 xTaskGenericNotifyFromISR/90 xTaskGenericNotify/89 xTaskGenericNotify/89 xTaskGenericNotify/89 xTaskGenericNotify/89 xTaskGenericNotifyWait/88 ulTaskGenericNotifyTake/87 vTaskPriorityDisinheritAfterTimeout/82 vTaskPriorityDisinheritAfterTimeout/82 xTaskPriorityDisinherit/81 xTaskPriorityDisinherit/81 xTaskCheckForTimeOut/65 xTaskCheckForTimeOut/65 vTaskSetTimeOutState/63 vTaskRemoveFromUnorderedEventList/62 vTaskRemoveFromUnorderedEventList/62 xTaskRemoveFromEventList/61 vTaskPlaceOnEventListRestricted/60 vTaskPlaceOnUnorderedEventList/59 vTaskPlaceOnUnorderedEventList/59 vTaskPlaceOnEventList/58 vTaskSwitchContext/57 xTaskIncrementTick/56 xTaskAbortDelay/55 xTaskCatchUpTicks/54 xTaskGetHandle/52 pcTaskGetName/50 xTaskResumeAll/46 vTaskEndScheduler/44 vTaskStartScheduler/43 vTaskStartScheduler/43 xTaskResumeFromISR/42 prvTaskIsTaskSuspended/40 vTaskResume/41 vTaskSuspend/39 vTaskPrioritySet/38 eTaskGetState/35 vTaskDelay/34 xTaskDelayUntil/33 xTaskDelayUntil/33 xTaskDelayUntil/33 vTaskDelete/32 prvInitialiseNewTask/30 prvInitialiseNewTask/30
- Calls:
- prvAddCurrentTaskToDelayedList (TickType_t xTicksToWait, const BaseType_t xCanBlockIndefinitely)
- {
- struct ListItem_t * const pxIndex;
- const TickType_t xConstTickCount;
- TickType_t xTimeToWake;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xConstTickCount = xTickCount;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.23_1 = pxCurrentTCB;
- pxCurrentTCB.23_1->ucDelayAborted = 0;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.24_2 = pxCurrentTCB;
- _3 = &pxCurrentTCB.24_2->xStateListItem;
- _4 = uxListRemove (_3);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTicksToWait == 4294967295)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- if (xCanBlockIndefinitely != 0)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- pxIndex = xSuspendedTaskList.pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.25_5 = pxCurrentTCB;
- pxCurrentTCB.25_5->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.26_6 = pxCurrentTCB;
- _7 = pxIndex->pxPrevious;
- pxCurrentTCB.26_6->xStateListItem.pxPrevious = _7;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.27_8 = pxCurrentTCB;
- _9 = pxIndex->pxPrevious;
- _10 = &pxCurrentTCB.27_8->xStateListItem;
- _9->pxNext = _10;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.28_11 = pxCurrentTCB;
- _12 = &pxCurrentTCB.28_11->xStateListItem;
- pxIndex->pxPrevious = _12;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.29_13 = pxCurrentTCB;
- pxCurrentTCB.29_13->xStateListItem.pvContainer = &xSuspendedTaskList;
- # DEBUG BEGIN_STMT
- _14 = xSuspendedTaskList.uxNumberOfItems;
- _15 = _14 + 1;
- xSuspendedTaskList.uxNumberOfItems = _15;
- # DEBUG BEGIN_STMT
- goto <bb 9>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- xTimeToWake = xConstTickCount + xTicksToWait;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.30_16 = pxCurrentTCB;
- pxCurrentTCB.30_16->xStateListItem.xItemValue = xTimeToWake;
- # DEBUG BEGIN_STMT
- if (xTimeToWake < xConstTickCount)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- pxOverflowDelayedTaskList.31_17 = pxOverflowDelayedTaskList;
- pxCurrentTCB.32_18 = pxCurrentTCB;
- _19 = &pxCurrentTCB.32_18->xStateListItem;
- vListInsert (pxOverflowDelayedTaskList.31_17, _19);
- goto <bb 9>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.33_20 = pxDelayedTaskList;
- pxCurrentTCB.34_21 = pxCurrentTCB;
- _22 = &pxCurrentTCB.34_21->xStateListItem;
- vListInsert (pxDelayedTaskList.33_20, _22);
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime.35_23 = xNextTaskUnblockTime;
- if (xTimeToWake < xNextTaskUnblockTime.35_23)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime = xTimeToWake;
- <bb 9> :
- # DEBUG BEGIN_STMT
- return;
- }
- ulTaskGenericNotifyValueClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear)
- {
- uint32_t ulReturn;
- struct TCB_t * pxTCB;
- uint32_t D.8233;
- struct TCB_t * iftmp.164;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTask == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.164 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.164 = xTask;
- <bb 5> :
- pxTCB = iftmp.164;
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- ulReturn = pxTCB->ulNotifiedValue[uxIndexToClear];
- # DEBUG BEGIN_STMT
- _1 = pxTCB->ulNotifiedValue[uxIndexToClear];
- _2 = ~ulBitsToClear;
- _3 = _1 & _2;
- pxTCB->ulNotifiedValue[uxIndexToClear] = _3;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.8233 = ulReturn;
- return D.8233;
- }
- xTaskGenericNotifyStateClear (struct tskTaskControlBlock * xTask, UBaseType_t uxIndexToClear)
- {
- BaseType_t xReturn;
- struct TCB_t * pxTCB;
- BaseType_t D.8227;
- struct TCB_t * iftmp.163;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxIndexToClear != 0)
- 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 (xTask == 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- iftmp.163 = pxCurrentTCB;
- goto <bb 8>; [INV]
- <bb 7> :
- iftmp.163 = xTask;
- <bb 8> :
- pxTCB = iftmp.163;
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _1 = pxTCB->ucNotifyState[uxIndexToClear];
- if (_1 == 2)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- pxTCB->ucNotifyState[uxIndexToClear] = 0;
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 11>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 11> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.8227 = xReturn;
- return D.8227;
- }
- vTaskGenericNotifyGiveFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, BaseType_t * pxHigherPriorityTaskWoken)
- {
- struct ListItem_t * const pxIndex;
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- UBaseType_t uxSavedInterruptStatus;
- uint8_t ucOriginalNotifyState;
- struct TCB_t * pxTCB;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTaskToNotify == 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 (uxIndexToNotify != 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
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- pxTCB = xTaskToNotify;
- # DEBUG BEGIN_STMT
- uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
- # DEBUG BEGIN_STMT
- ucOriginalNotifyState = pxTCB->ucNotifyState[uxIndexToNotify];
- # DEBUG BEGIN_STMT
- pxTCB->ucNotifyState[uxIndexToNotify] = 2;
- # DEBUG BEGIN_STMT
- _1 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- _2 = _1 + 1;
- pxTCB->ulNotifiedValue[uxIndexToNotify] = _2;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (ucOriginalNotifyState == 1)
- goto <bb 9>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- _3 = pxTCB->xEventListItem.pvContainer;
- if (_3 != 0B)
- 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
- uxSchedulerSuspended.160_4 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.160_4 == 0)
- goto <bb 13>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- pxList = pxTCB->xStateListItem.pvContainer;
- # DEBUG BEGIN_STMT
- _5 = pxTCB->xStateListItem.pxNext;
- _6 = pxTCB->xStateListItem.pxPrevious;
- _5->pxPrevious = _6;
- # DEBUG BEGIN_STMT
- _7 = pxTCB->xStateListItem.pxPrevious;
- _8 = pxTCB->xStateListItem.pxNext;
- _7->pxNext = _8;
- # DEBUG BEGIN_STMT
- _9 = pxList->pxIndex;
- _10 = &pxTCB->xStateListItem;
- if (_9 == _10)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- _11 = pxTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _11;
- <bb 15> :
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _12 = pxList->uxNumberOfItems;
- _13 = _12 + 4294967295;
- pxList->uxNumberOfItems = _13;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _14 = pxTCB->uxPriority;
- uxTopReadyPriority.161_15 = uxTopReadyPriority;
- if (_14 > uxTopReadyPriority.161_15)
- goto <bb 16>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- _16 = pxTCB->uxPriority;
- uxTopReadyPriority = _16;
- <bb 17> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _17 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_17].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _18 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _18;
- # DEBUG BEGIN_STMT
- _19 = pxIndex->pxPrevious;
- _20 = &pxTCB->xStateListItem;
- _19->pxNext = _20;
- # DEBUG BEGIN_STMT
- _21 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _21;
- # DEBUG BEGIN_STMT
- _22 = pxTCB->uxPriority;
- _23 = &pxReadyTasksLists[_22];
- pxTCB->xStateListItem.pvContainer = _23;
- # DEBUG BEGIN_STMT
- _24 = pxTCB->uxPriority;
- _25 = pxReadyTasksLists[_24].uxNumberOfItems;
- _26 = _25 + 1;
- pxReadyTasksLists[_24].uxNumberOfItems = _26;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 19>; [INV]
- <bb 18> :
- # DEBUG BEGIN_STMT
- pxIndex = xPendingReadyList.pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xEventListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _27 = pxIndex->pxPrevious;
- pxTCB->xEventListItem.pxPrevious = _27;
- # DEBUG BEGIN_STMT
- _28 = pxIndex->pxPrevious;
- _29 = &pxTCB->xEventListItem;
- _28->pxNext = _29;
- # DEBUG BEGIN_STMT
- _30 = &pxTCB->xEventListItem;
- pxIndex->pxPrevious = _30;
- # DEBUG BEGIN_STMT
- pxTCB->xEventListItem.pvContainer = &xPendingReadyList;
- # DEBUG BEGIN_STMT
- _31 = xPendingReadyList.uxNumberOfItems;
- _32 = _31 + 1;
- xPendingReadyList.uxNumberOfItems = _32;
- <bb 19> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _33 = pxTCB->uxPriority;
- pxCurrentTCB.162_34 = pxCurrentTCB;
- _35 = pxCurrentTCB.162_34->uxPriority;
- if (_33 > _35)
- goto <bb 20>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 20> :
- # DEBUG BEGIN_STMT
- if (pxHigherPriorityTaskWoken != 0B)
- goto <bb 21>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 21> :
- # DEBUG BEGIN_STMT
- *pxHigherPriorityTaskWoken = 1;
- <bb 22> :
- # DEBUG BEGIN_STMT
- xYieldPending = 1;
- <bb 23> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortSetBASEPRI (uxSavedInterruptStatus);
- return;
- }
- xTaskGenericNotifyFromISR (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue, BaseType_t * pxHigherPriorityTaskWoken)
- {
- struct ListItem_t * const pxIndex;
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- UBaseType_t uxSavedInterruptStatus;
- BaseType_t xReturn;
- uint8_t ucOriginalNotifyState;
- struct TCB_t * pxTCB;
- BaseType_t D.8195;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn = 1;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTaskToNotify == 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 (uxIndexToNotify != 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
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- pxTCB = xTaskToNotify;
- # DEBUG BEGIN_STMT
- uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
- # DEBUG BEGIN_STMT
- if (pulPreviousNotificationValue != 0B)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- _1 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- *pulPreviousNotificationValue = _1;
- <bb 10> :
- # DEBUG BEGIN_STMT
- ucOriginalNotifyState = pxTCB->ucNotifyState[uxIndexToNotify];
- # DEBUG BEGIN_STMT
- pxTCB->ucNotifyState[uxIndexToNotify] = 2;
- # DEBUG BEGIN_STMT
- switch (eAction) <default: <L16> [INV], case 0: <L39> [INV], case 1: <L8> [INV], case 2: <L9> [INV], case 3: <L10> [INV], case 4: <L11> [INV]>
- <bb 11> :
- <L8>:
- # DEBUG BEGIN_STMT
- _2 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- _3 = ulValue | _2;
- pxTCB->ulNotifiedValue[uxIndexToNotify] = _3;
- # DEBUG BEGIN_STMT
- goto <bb 20>; [INV]
- <bb 12> :
- <L9>:
- # DEBUG BEGIN_STMT
- _4 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- _5 = _4 + 1;
- pxTCB->ulNotifiedValue[uxIndexToNotify] = _5;
- # DEBUG BEGIN_STMT
- goto <bb 20>; [INV]
- <bb 13> :
- <L10>:
- # DEBUG BEGIN_STMT
- pxTCB->ulNotifiedValue[uxIndexToNotify] = ulValue;
- # DEBUG BEGIN_STMT
- goto <bb 20>; [INV]
- <bb 14> :
- <L11>:
- # DEBUG BEGIN_STMT
- if (ucOriginalNotifyState != 2)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- pxTCB->ulNotifiedValue[uxIndexToNotify] = ulValue;
- goto <bb 20>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- goto <bb 20>; [INV]
- <bb 17> :
- <L16>:
- # DEBUG BEGIN_STMT
- xTickCount.156_6 = xTickCount;
- if (xTickCount.156_6 != 0)
- goto <bb 18>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 18> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 19> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 19>; [INV]
- <bb 20> :
- <L39>:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (ucOriginalNotifyState == 1)
- goto <bb 21>; [INV]
- else
- goto <bb 35>; [INV]
- <bb 21> :
- # DEBUG BEGIN_STMT
- _7 = pxTCB->xEventListItem.pvContainer;
- if (_7 != 0B)
- 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
- uxSchedulerSuspended.157_8 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.157_8 == 0)
- goto <bb 25>; [INV]
- else
- goto <bb 30>; [INV]
- <bb 25> :
- # DEBUG BEGIN_STMT
- pxList = pxTCB->xStateListItem.pvContainer;
- # DEBUG BEGIN_STMT
- _9 = pxTCB->xStateListItem.pxNext;
- _10 = pxTCB->xStateListItem.pxPrevious;
- _9->pxPrevious = _10;
- # DEBUG BEGIN_STMT
- _11 = pxTCB->xStateListItem.pxPrevious;
- _12 = pxTCB->xStateListItem.pxNext;
- _11->pxNext = _12;
- # DEBUG BEGIN_STMT
- _13 = pxList->pxIndex;
- _14 = &pxTCB->xStateListItem;
- if (_13 == _14)
- goto <bb 26>; [INV]
- else
- goto <bb 27>; [INV]
- <bb 26> :
- # DEBUG BEGIN_STMT
- _15 = pxTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _15;
- <bb 27> :
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _16 = pxList->uxNumberOfItems;
- _17 = _16 + 4294967295;
- pxList->uxNumberOfItems = _17;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _18 = pxTCB->uxPriority;
- uxTopReadyPriority.158_19 = uxTopReadyPriority;
- if (_18 > uxTopReadyPriority.158_19)
- goto <bb 28>; [INV]
- else
- goto <bb 29>; [INV]
- <bb 28> :
- # DEBUG BEGIN_STMT
- _20 = pxTCB->uxPriority;
- uxTopReadyPriority = _20;
- <bb 29> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _21 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_21].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _22 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _22;
- # DEBUG BEGIN_STMT
- _23 = pxIndex->pxPrevious;
- _24 = &pxTCB->xStateListItem;
- _23->pxNext = _24;
- # DEBUG BEGIN_STMT
- _25 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _25;
- # DEBUG BEGIN_STMT
- _26 = pxTCB->uxPriority;
- _27 = &pxReadyTasksLists[_26];
- pxTCB->xStateListItem.pvContainer = _27;
- # DEBUG BEGIN_STMT
- _28 = pxTCB->uxPriority;
- _29 = pxReadyTasksLists[_28].uxNumberOfItems;
- _30 = _29 + 1;
- pxReadyTasksLists[_28].uxNumberOfItems = _30;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 31>; [INV]
- <bb 30> :
- # DEBUG BEGIN_STMT
- pxIndex = xPendingReadyList.pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xEventListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _31 = pxIndex->pxPrevious;
- pxTCB->xEventListItem.pxPrevious = _31;
- # DEBUG BEGIN_STMT
- _32 = pxIndex->pxPrevious;
- _33 = &pxTCB->xEventListItem;
- _32->pxNext = _33;
- # DEBUG BEGIN_STMT
- _34 = &pxTCB->xEventListItem;
- pxIndex->pxPrevious = _34;
- # DEBUG BEGIN_STMT
- pxTCB->xEventListItem.pvContainer = &xPendingReadyList;
- # DEBUG BEGIN_STMT
- _35 = xPendingReadyList.uxNumberOfItems;
- _36 = _35 + 1;
- xPendingReadyList.uxNumberOfItems = _36;
- <bb 31> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _37 = pxTCB->uxPriority;
- pxCurrentTCB.159_38 = pxCurrentTCB;
- _39 = pxCurrentTCB.159_38->uxPriority;
- if (_37 > _39)
- goto <bb 32>; [INV]
- else
- goto <bb 35>; [INV]
- <bb 32> :
- # DEBUG BEGIN_STMT
- if (pxHigherPriorityTaskWoken != 0B)
- goto <bb 33>; [INV]
- else
- goto <bb 34>; [INV]
- <bb 33> :
- # DEBUG BEGIN_STMT
- *pxHigherPriorityTaskWoken = 1;
- <bb 34> :
- # DEBUG BEGIN_STMT
- xYieldPending = 1;
- <bb 35> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortSetBASEPRI (uxSavedInterruptStatus);
- # DEBUG BEGIN_STMT
- D.8195 = xReturn;
- return D.8195;
- }
- xTaskGenericNotify (struct tskTaskControlBlock * xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t * pulPreviousNotificationValue)
- {
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- uint8_t ucOriginalNotifyState;
- BaseType_t xReturn;
- struct TCB_t * pxTCB;
- BaseType_t D.8165;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn = 1;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxIndexToNotify != 0)
- 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 (xTaskToNotify == 0B)
- 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
- pxTCB = xTaskToNotify;
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- if (pulPreviousNotificationValue != 0B)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- _1 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- *pulPreviousNotificationValue = _1;
- <bb 10> :
- # DEBUG BEGIN_STMT
- ucOriginalNotifyState = pxTCB->ucNotifyState[uxIndexToNotify];
- # DEBUG BEGIN_STMT
- pxTCB->ucNotifyState[uxIndexToNotify] = 2;
- # DEBUG BEGIN_STMT
- switch (eAction) <default: <L16> [INV], case 0: <L35> [INV], case 1: <L8> [INV], case 2: <L9> [INV], case 3: <L10> [INV], case 4: <L11> [INV]>
- <bb 11> :
- <L8>:
- # DEBUG BEGIN_STMT
- _2 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- _3 = ulValue | _2;
- pxTCB->ulNotifiedValue[uxIndexToNotify] = _3;
- # DEBUG BEGIN_STMT
- goto <bb 20>; [INV]
- <bb 12> :
- <L9>:
- # DEBUG BEGIN_STMT
- _4 = pxTCB->ulNotifiedValue[uxIndexToNotify];
- _5 = _4 + 1;
- pxTCB->ulNotifiedValue[uxIndexToNotify] = _5;
- # DEBUG BEGIN_STMT
- goto <bb 20>; [INV]
- <bb 13> :
- <L10>:
- # DEBUG BEGIN_STMT
- pxTCB->ulNotifiedValue[uxIndexToNotify] = ulValue;
- # DEBUG BEGIN_STMT
- goto <bb 20>; [INV]
- <bb 14> :
- <L11>:
- # DEBUG BEGIN_STMT
- if (ucOriginalNotifyState != 2)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- pxTCB->ulNotifiedValue[uxIndexToNotify] = ulValue;
- goto <bb 20>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- goto <bb 20>; [INV]
- <bb 17> :
- <L16>:
- # DEBUG BEGIN_STMT
- xTickCount.153_6 = xTickCount;
- if (xTickCount.153_6 != 0)
- goto <bb 18>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 18> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 19> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 19>; [INV]
- <bb 20> :
- <L35>:
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (ucOriginalNotifyState == 1)
- goto <bb 21>; [INV]
- else
- goto <bb 30>; [INV]
- <bb 21> :
- # DEBUG BEGIN_STMT
- pxList = pxTCB->xStateListItem.pvContainer;
- # DEBUG BEGIN_STMT
- _7 = pxTCB->xStateListItem.pxNext;
- _8 = pxTCB->xStateListItem.pxPrevious;
- _7->pxPrevious = _8;
- # DEBUG BEGIN_STMT
- _9 = pxTCB->xStateListItem.pxPrevious;
- _10 = pxTCB->xStateListItem.pxNext;
- _9->pxNext = _10;
- # DEBUG BEGIN_STMT
- _11 = pxList->pxIndex;
- _12 = &pxTCB->xStateListItem;
- if (_11 == _12)
- goto <bb 22>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 22> :
- # DEBUG BEGIN_STMT
- _13 = pxTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _13;
- <bb 23> :
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _14 = pxList->uxNumberOfItems;
- _15 = _14 + 4294967295;
- pxList->uxNumberOfItems = _15;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _16 = pxTCB->uxPriority;
- uxTopReadyPriority.154_17 = uxTopReadyPriority;
- if (_16 > uxTopReadyPriority.154_17)
- goto <bb 24>; [INV]
- else
- goto <bb 25>; [INV]
- <bb 24> :
- # DEBUG BEGIN_STMT
- _18 = pxTCB->uxPriority;
- uxTopReadyPriority = _18;
- <bb 25> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _19 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_19].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _20 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _20;
- # DEBUG BEGIN_STMT
- _21 = pxIndex->pxPrevious;
- _22 = &pxTCB->xStateListItem;
- _21->pxNext = _22;
- # DEBUG BEGIN_STMT
- _23 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _23;
- # DEBUG BEGIN_STMT
- _24 = pxTCB->uxPriority;
- _25 = &pxReadyTasksLists[_24];
- pxTCB->xStateListItem.pvContainer = _25;
- # DEBUG BEGIN_STMT
- _26 = pxTCB->uxPriority;
- _27 = pxReadyTasksLists[_26].uxNumberOfItems;
- _28 = _27 + 1;
- pxReadyTasksLists[_26].uxNumberOfItems = _28;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _29 = pxTCB->xEventListItem.pvContainer;
- if (_29 != 0B)
- goto <bb 26>; [INV]
- else
- goto <bb 28>; [INV]
- <bb 26> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 27> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 27>; [INV]
- <bb 28> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _30 = pxTCB->uxPriority;
- pxCurrentTCB.155_31 = pxCurrentTCB;
- _32 = pxCurrentTCB.155_31->uxPriority;
- if (_30 > _32)
- goto <bb 29>; [INV]
- else
- goto <bb 30>; [INV]
- <bb 29> :
- # DEBUG BEGIN_STMT
- _33 = 3758157060B;
- *_33 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 30> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.8165 = xReturn;
- return D.8165;
- }
- xTaskGenericNotifyWait (UBaseType_t uxIndexToWait, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t * pulNotificationValue, TickType_t xTicksToWait)
- {
- BaseType_t xReturn;
- BaseType_t D.8140;
- struct TCB_t * pxCurrentTCB.151;
- struct TCB_t * pxCurrentTCB.147;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxIndexToWait != 0)
- 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
- pxCurrentTCB.146_1 = pxCurrentTCB;
- _2 = pxCurrentTCB.146_1->ucNotifyState[uxIndexToWait];
- if (_2 != 2)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.147 = pxCurrentTCB;
- _3 = pxCurrentTCB.147->ulNotifiedValue[uxIndexToWait];
- _4 = ~ulBitsToClearOnEntry;
- _5 = _3 & _4;
- pxCurrentTCB.147->ulNotifiedValue[uxIndexToWait] = _5;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.148_6 = pxCurrentTCB;
- pxCurrentTCB.148_6->ucNotifyState[uxIndexToWait] = 1;
- # DEBUG BEGIN_STMT
- if (xTicksToWait != 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- prvAddCurrentTaskToDelayedList (xTicksToWait, 1);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _7 = 3758157060B;
- *_7 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pulNotificationValue != 0B)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.149_8 = pxCurrentTCB;
- _9 = pxCurrentTCB.149_8->ulNotifiedValue[uxIndexToWait];
- *pulNotificationValue = _9;
- <bb 10> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.150_10 = pxCurrentTCB;
- _11 = pxCurrentTCB.150_10->ucNotifyState[uxIndexToWait];
- if (_11 != 2)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- goto <bb 13>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.151 = pxCurrentTCB;
- _12 = pxCurrentTCB.151->ulNotifiedValue[uxIndexToWait];
- _13 = ~ulBitsToClearOnExit;
- _14 = _12 & _13;
- pxCurrentTCB.151->ulNotifiedValue[uxIndexToWait] = _14;
- # DEBUG BEGIN_STMT
- xReturn = 1;
- <bb 13> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.152_15 = pxCurrentTCB;
- pxCurrentTCB.152_15->ucNotifyState[uxIndexToWait] = 0;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.8140 = xReturn;
- return D.8140;
- }
- ulTaskGenericNotifyTake (UBaseType_t uxIndexToWait, BaseType_t xClearCountOnExit, TickType_t xTicksToWait)
- {
- uint32_t ulReturn;
- uint32_t D.8123;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (uxIndexToWait != 0)
- 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
- pxCurrentTCB.140_1 = pxCurrentTCB;
- _2 = pxCurrentTCB.140_1->ulNotifiedValue[uxIndexToWait];
- if (_2 == 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.141_3 = pxCurrentTCB;
- pxCurrentTCB.141_3->ucNotifyState[uxIndexToWait] = 1;
- # DEBUG BEGIN_STMT
- if (xTicksToWait != 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- prvAddCurrentTaskToDelayedList (xTicksToWait, 1);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _4 = 3758157060B;
- *_4 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.142_5 = pxCurrentTCB;
- ulReturn = pxCurrentTCB.142_5->ulNotifiedValue[uxIndexToWait];
- # DEBUG BEGIN_STMT
- if (ulReturn != 0)
- goto <bb 9>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- if (xClearCountOnExit != 0)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.143_6 = pxCurrentTCB;
- pxCurrentTCB.143_6->ulNotifiedValue[uxIndexToWait] = 0;
- goto <bb 12>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.144_7 = pxCurrentTCB;
- _8 = ulReturn + 4294967295;
- pxCurrentTCB.144_7->ulNotifiedValue[uxIndexToWait] = _8;
- <bb 12> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.145_9 = pxCurrentTCB;
- pxCurrentTCB.145_9->ucNotifyState[uxIndexToWait] = 0;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.8123 = ulReturn;
- return D.8123;
- }
- pvTaskIncrementMutexHeldCount ()
- {
- struct tskTaskControlBlock * D.8107;
- <bb 2> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.138_1 = pxCurrentTCB;
- if (pxCurrentTCB.138_1 != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.139_2 = pxCurrentTCB;
- _3 = pxCurrentTCB.139_2->uxMutexesHeld;
- _4 = _3 + 1;
- pxCurrentTCB.139_2->uxMutexesHeld = _4;
- <bb 4> :
- # DEBUG BEGIN_STMT
- D.8107 = pxCurrentTCB;
- return D.8107;
- }
- uxTaskResetEventItemValue ()
- {
- TickType_t uxReturn;
- TickType_t D.8103;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.135_1 = pxCurrentTCB;
- uxReturn = pxCurrentTCB.135_1->xEventListItem.xItemValue;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.136_2 = pxCurrentTCB;
- _3 = pxCurrentTCB.136_2->uxPriority;
- pxCurrentTCB.137_4 = pxCurrentTCB;
- _5 = 5 - _3;
- pxCurrentTCB.137_4->xEventListItem.xItemValue = _5;
- # DEBUG BEGIN_STMT
- D.8103 = uxReturn;
- return D.8103;
- }
- vTaskList (char * pcWriteBuffer)
- {
- char cStatus;
- UBaseType_t x;
- UBaseType_t uxArraySize;
- struct TaskStatus_t * pxTaskStatusArray;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- *pcWriteBuffer = 0;
- # DEBUG BEGIN_STMT
- uxArraySize = uxCurrentNumberOfTasks;
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.134_1 = uxCurrentNumberOfTasks;
- _2 = uxCurrentNumberOfTasks.134_1 * 36;
- pxTaskStatusArray = pvPortMalloc (_2);
- # DEBUG BEGIN_STMT
- if (pxTaskStatusArray != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- uxArraySize = uxTaskGetSystemState (pxTaskStatusArray, uxArraySize, 0B);
- # DEBUG BEGIN_STMT
- x = 0;
- goto <bb 12>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- _3 = x * 36;
- _4 = pxTaskStatusArray + _3;
- _5 = _4->eCurrentState;
- switch (_5) <default: <L7> [INV], case 0: <L2> [INV], case 1: <L3> [INV], case 2: <L4> [INV], case 3: <L5> [INV], case 4: <L6> [INV]>
- <bb 5> :
- <L2>:
- # DEBUG BEGIN_STMT
- cStatus = 88;
- # DEBUG BEGIN_STMT
- goto <bb 11>; [INV]
- <bb 6> :
- <L3>:
- # DEBUG BEGIN_STMT
- cStatus = 82;
- # DEBUG BEGIN_STMT
- goto <bb 11>; [INV]
- <bb 7> :
- <L4>:
- # DEBUG BEGIN_STMT
- cStatus = 66;
- # DEBUG BEGIN_STMT
- goto <bb 11>; [INV]
- <bb 8> :
- <L5>:
- # DEBUG BEGIN_STMT
- cStatus = 83;
- # DEBUG BEGIN_STMT
- goto <bb 11>; [INV]
- <bb 9> :
- <L6>:
- # DEBUG BEGIN_STMT
- cStatus = 68;
- # DEBUG BEGIN_STMT
- goto <bb 11>; [INV]
- <bb 10> :
- <L7>:
- # DEBUG BEGIN_STMT
- cStatus = 0;
- # DEBUG BEGIN_STMT
- <bb 11> :
- # DEBUG BEGIN_STMT
- _6 = x * 36;
- _7 = pxTaskStatusArray + _6;
- _8 = _7->pcTaskName;
- pcWriteBuffer = prvWriteNameToBuffer (pcWriteBuffer, _8);
- # DEBUG BEGIN_STMT
- _9 = (int) cStatus;
- _10 = x * 36;
- _11 = pxTaskStatusArray + _10;
- _12 = _11->uxCurrentPriority;
- _13 = x * 36;
- _14 = pxTaskStatusArray + _13;
- _15 = _14->usStackHighWaterMark;
- _16 = (unsigned int) _15;
- _17 = x * 36;
- _18 = pxTaskStatusArray + _17;
- _19 = _18->xTaskNumber;
- sprintf (pcWriteBuffer, "\t%c\t%u\t%u\t%u\r\n", _9, _12, _16, _19);
- # DEBUG BEGIN_STMT
- _20 = strlen (pcWriteBuffer);
- pcWriteBuffer = pcWriteBuffer + _20;
- # DEBUG BEGIN_STMT
- x = x + 1;
- <bb 12> :
- # DEBUG BEGIN_STMT
- if (x < uxArraySize)
- goto <bb 4>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- vPortFree (pxTaskStatusArray);
- <bb 14> :
- # DEBUG BEGIN_STMT
- return;
- }
- prvWriteNameToBuffer (char * pcBuffer, const char * pcTaskName)
- {
- size_t x;
- char * D.8101;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- strcpy (pcBuffer, pcTaskName);
- # DEBUG BEGIN_STMT
- x = strlen (pcBuffer);
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- _1 = pcBuffer + x;
- *_1 = 32;
- # DEBUG BEGIN_STMT
- x = x + 1;
- <bb 4> :
- # DEBUG BEGIN_STMT
- if (x <= 8)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- _2 = pcBuffer + x;
- *_2 = 0;
- # DEBUG BEGIN_STMT
- D.8101 = pcBuffer + x;
- return D.8101;
- }
- vTaskPriorityDisinheritAfterTimeout (struct tskTaskControlBlock * const pxMutexHolder, UBaseType_t uxHighestPriorityWaitingTask)
- {
- struct ListItem_t * const pxIndex;
- const UBaseType_t uxOnlyOneMutexHeld;
- UBaseType_t uxPriorityToUse;
- UBaseType_t uxPriorityUsedOnEntry;
- struct TCB_t * const pxTCB;
- <bb 2> :
- # DEBUG BEGIN_STMT
- pxTCB = pxMutexHolder;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxOnlyOneMutexHeld = 1;
- # DEBUG BEGIN_STMT
- if (pxMutexHolder != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- _1 = pxTCB->uxMutexesHeld;
- if (_1 == 0)
- goto <bb 4>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 5>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = pxTCB->uxBasePriority;
- if (uxHighestPriorityWaitingTask > _2)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- uxPriorityToUse = uxHighestPriorityWaitingTask;
- goto <bb 9>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- uxPriorityToUse = pxTCB->uxBasePriority;
- <bb 9> :
- # DEBUG BEGIN_STMT
- _3 = pxTCB->uxPriority;
- if (uxPriorityToUse != _3)
- goto <bb 10>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- _4 = pxTCB->uxMutexesHeld;
- if (_4 == 1)
- goto <bb 11>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.132_5 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.132_5)
- goto <bb 12>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 13> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 13>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxPriorityUsedOnEntry = pxTCB->uxPriority;
- # DEBUG BEGIN_STMT
- pxTCB->uxPriority = uxPriorityToUse;
- # DEBUG BEGIN_STMT
- _6 = pxTCB->xEventListItem.xItemValue;
- _7 = (signed int) _6;
- if (_7 >= 0)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- _8 = 5 - uxPriorityToUse;
- pxTCB->xEventListItem.xItemValue = _8;
- <bb 16> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _9 = pxTCB->xStateListItem.pvContainer;
- _10 = &pxReadyTasksLists[uxPriorityUsedOnEntry];
- if (_9 == _10)
- goto <bb 17>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- _11 = &pxTCB->xStateListItem;
- _12 = uxListRemove (_11);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _13 = pxTCB->uxPriority;
- uxTopReadyPriority.133_14 = uxTopReadyPriority;
- if (_13 > uxTopReadyPriority.133_14)
- goto <bb 18>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 18> :
- # DEBUG BEGIN_STMT
- _15 = pxTCB->uxPriority;
- uxTopReadyPriority = _15;
- <bb 19> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _16 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_16].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _17 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _17;
- # DEBUG BEGIN_STMT
- _18 = pxIndex->pxPrevious;
- _19 = &pxTCB->xStateListItem;
- _18->pxNext = _19;
- # DEBUG BEGIN_STMT
- _20 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _20;
- # DEBUG BEGIN_STMT
- _21 = pxTCB->uxPriority;
- _22 = &pxReadyTasksLists[_21];
- pxTCB->xStateListItem.pvContainer = _22;
- # DEBUG BEGIN_STMT
- _23 = pxTCB->uxPriority;
- _24 = pxReadyTasksLists[_23].uxNumberOfItems;
- _25 = _24 + 1;
- pxReadyTasksLists[_23].uxNumberOfItems = _25;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 20> :
- # DEBUG BEGIN_STMT
- return;
- }
- xTaskPriorityDisinherit (struct tskTaskControlBlock * const pxMutexHolder)
- {
- struct ListItem_t * const pxIndex;
- BaseType_t xReturn;
- struct TCB_t * const pxTCB;
- BaseType_t D.8069;
- <bb 2> :
- # DEBUG BEGIN_STMT
- pxTCB = pxMutexHolder;
- # DEBUG BEGIN_STMT
- xReturn = 0;
- # DEBUG BEGIN_STMT
- if (pxMutexHolder != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.130_1 = pxCurrentTCB;
- if (pxTCB != pxCurrentTCB.130_1)
- goto <bb 4>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 5>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _2 = pxTCB->uxMutexesHeld;
- if (_2 == 0)
- 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
- _3 = pxTCB->uxMutexesHeld;
- _4 = _3 + 4294967295;
- pxTCB->uxMutexesHeld = _4;
- # DEBUG BEGIN_STMT
- _5 = pxTCB->uxPriority;
- _6 = pxTCB->uxBasePriority;
- if (_5 != _6)
- goto <bb 10>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- _7 = pxTCB->uxMutexesHeld;
- if (_7 == 0)
- goto <bb 11>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- _8 = &pxTCB->xStateListItem;
- _9 = uxListRemove (_8);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _10 = pxTCB->uxBasePriority;
- pxTCB->uxPriority = _10;
- # DEBUG BEGIN_STMT
- _11 = pxTCB->uxPriority;
- _12 = 5 - _11;
- pxTCB->xEventListItem.xItemValue = _12;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _13 = pxTCB->uxPriority;
- uxTopReadyPriority.131_14 = uxTopReadyPriority;
- if (_13 > uxTopReadyPriority.131_14)
- goto <bb 12>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- _15 = pxTCB->uxPriority;
- uxTopReadyPriority = _15;
- <bb 13> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _16 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_16].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _17 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _17;
- # DEBUG BEGIN_STMT
- _18 = pxIndex->pxPrevious;
- _19 = &pxTCB->xStateListItem;
- _18->pxNext = _19;
- # DEBUG BEGIN_STMT
- _20 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _20;
- # DEBUG BEGIN_STMT
- _21 = pxTCB->uxPriority;
- _22 = &pxReadyTasksLists[_21];
- pxTCB->xStateListItem.pvContainer = _22;
- # DEBUG BEGIN_STMT
- _23 = pxTCB->uxPriority;
- _24 = pxReadyTasksLists[_23].uxNumberOfItems;
- _25 = _24 + 1;
- pxReadyTasksLists[_23].uxNumberOfItems = _25;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn = 1;
- <bb 14> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.8069 = xReturn;
- return D.8069;
- }
- xTaskPriorityInherit (struct tskTaskControlBlock * const pxMutexHolder)
- {
- struct ListItem_t * const pxIndex;
- BaseType_t xReturn;
- struct TCB_t * const pxMutexHolderTCB;
- BaseType_t D.8049;
- <bb 2> :
- # DEBUG BEGIN_STMT
- pxMutexHolderTCB = pxMutexHolder;
- # DEBUG BEGIN_STMT
- xReturn = 0;
- # DEBUG BEGIN_STMT
- if (pxMutexHolder != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- _1 = pxMutexHolderTCB->uxPriority;
- pxCurrentTCB.124_2 = pxCurrentTCB;
- _3 = pxCurrentTCB.124_2->uxPriority;
- if (_1 < _3)
- goto <bb 4>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- _4 = pxMutexHolderTCB->xEventListItem.xItemValue;
- _5 = (signed int) _4;
- if (_5 >= 0)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.125_6 = pxCurrentTCB;
- _7 = pxCurrentTCB.125_6->uxPriority;
- _8 = 5 - _7;
- pxMutexHolderTCB->xEventListItem.xItemValue = _8;
- <bb 6> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _9 = pxMutexHolderTCB->xStateListItem.pvContainer;
- _10 = pxMutexHolderTCB->uxPriority;
- _11 = &pxReadyTasksLists[_10];
- if (_9 == _11)
- goto <bb 7>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- _12 = &pxMutexHolderTCB->xStateListItem;
- _13 = uxListRemove (_12);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.126_14 = pxCurrentTCB;
- _15 = pxCurrentTCB.126_14->uxPriority;
- pxMutexHolderTCB->uxPriority = _15;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _16 = pxMutexHolderTCB->uxPriority;
- uxTopReadyPriority.127_17 = uxTopReadyPriority;
- if (_16 > uxTopReadyPriority.127_17)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- _18 = pxMutexHolderTCB->uxPriority;
- uxTopReadyPriority = _18;
- <bb 9> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _19 = pxMutexHolderTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_19].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxMutexHolderTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _20 = pxIndex->pxPrevious;
- pxMutexHolderTCB->xStateListItem.pxPrevious = _20;
- # DEBUG BEGIN_STMT
- _21 = pxIndex->pxPrevious;
- _22 = &pxMutexHolderTCB->xStateListItem;
- _21->pxNext = _22;
- # DEBUG BEGIN_STMT
- _23 = &pxMutexHolderTCB->xStateListItem;
- pxIndex->pxPrevious = _23;
- # DEBUG BEGIN_STMT
- _24 = pxMutexHolderTCB->uxPriority;
- _25 = &pxReadyTasksLists[_24];
- pxMutexHolderTCB->xStateListItem.pvContainer = _25;
- # DEBUG BEGIN_STMT
- _26 = pxMutexHolderTCB->uxPriority;
- _27 = pxReadyTasksLists[_26].uxNumberOfItems;
- _28 = _27 + 1;
- pxReadyTasksLists[_26].uxNumberOfItems = _28;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 11>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.128_29 = pxCurrentTCB;
- _30 = pxCurrentTCB.128_29->uxPriority;
- pxMutexHolderTCB->uxPriority = _30;
- <bb 11> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 14>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- _31 = pxMutexHolderTCB->uxBasePriority;
- pxCurrentTCB.129_32 = pxCurrentTCB;
- _33 = pxCurrentTCB.129_32->uxPriority;
- if (_31 < _33)
- goto <bb 13>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- <bb 14> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.8049 = xReturn;
- return D.8049;
- }
- xTaskGetSchedulerState ()
- {
- BaseType_t xReturn;
- BaseType_t D.8027;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xSchedulerRunning.122_1 = xSchedulerRunning;
- if (xSchedulerRunning.122_1 == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 7>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.123_2 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.123_2 == 0)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- xReturn = 2;
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 7> :
- # DEBUG BEGIN_STMT
- D.8027 = xReturn;
- return D.8027;
- }
- xTaskGetCurrentTaskHandle ()
- {
- struct tskTaskControlBlock * xReturn;
- struct tskTaskControlBlock * D.8019;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn = pxCurrentTCB;
- # DEBUG BEGIN_STMT
- D.8019 = xReturn;
- return D.8019;
- }
- prvResetNextTaskUnblockTime ()
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.20_1 = pxDelayedTaskList;
- _2 = pxDelayedTaskList.20_1->uxNumberOfItems;
- if (_2 == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime = 4294967295;
- goto <bb 5>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.21_3 = pxDelayedTaskList;
- _4 = pxDelayedTaskList.21_3->xListEnd.pxNext;
- _5 = _4->xItemValue;
- xNextTaskUnblockTime = _5;
- <bb 5> :
- return;
- }
- prvDeleteTCB (struct TCB_t * pxTCB)
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxTCB->pxStack;
- vPortFree (_1);
- # DEBUG BEGIN_STMT
- vPortFree (pxTCB);
- return;
- }
- uxTaskGetStackHighWaterMark (struct tskTaskControlBlock * xTask)
- {
- UBaseType_t uxReturn;
- uint8_t * pucEndOfStack;
- struct TCB_t * pxTCB;
- UBaseType_t D.8017;
- struct TCB_t * iftmp.121;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTask == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.121 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.121 = xTask;
- <bb 5> :
- pxTCB = iftmp.121;
- # DEBUG BEGIN_STMT
- pucEndOfStack = pxTCB->pxStack;
- # DEBUG BEGIN_STMT
- _1 = prvTaskCheckFreeStackSpace (pucEndOfStack);
- uxReturn = (UBaseType_t) _1;
- # DEBUG BEGIN_STMT
- D.8017 = uxReturn;
- return D.8017;
- }
- prvTaskCheckFreeStackSpace (const uint8_t * pucStackByte)
- {
- uint32_t ulCount;
- uint16_t D.8011;
- <bb 2> :
- # DEBUG BEGIN_STMT
- ulCount = 0;
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- pucStackByte = pucStackByte + 1;
- # DEBUG BEGIN_STMT
- ulCount = ulCount + 1;
- <bb 4> :
- # DEBUG BEGIN_STMT
- _1 = *pucStackByte;
- if (_1 == 165)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- ulCount = ulCount / 4;
- # DEBUG BEGIN_STMT
- D.8011 = (uint16_t) ulCount;
- return D.8011;
- }
- prvListTasksWithinSingleList (struct TaskStatus_t * pxTaskStatusArray, struct List_t * pxList, eTaskState eState)
- {
- struct List_t * const pxConstList;
- struct List_t * const pxConstList;
- UBaseType_t uxTask;
- struct TCB_t * pxFirstTCB;
- struct TCB_t * pxNextTCB;
- UBaseType_t D.7866;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxTask = 0;
- # DEBUG BEGIN_STMT
- _1 = pxList->uxNumberOfItems;
- if (_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- pxConstList = pxList;
- # DEBUG BEGIN_STMT
- _2 = pxConstList->pxIndex;
- _3 = _2->pxNext;
- pxConstList->pxIndex = _3;
- # DEBUG BEGIN_STMT
- _4 = pxConstList->pxIndex;
- _5 = &pxConstList->xListEnd;
- if (_4 == _5)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- _6 = pxConstList->pxIndex;
- _7 = _6->pxNext;
- pxConstList->pxIndex = _7;
- <bb 5> :
- # DEBUG BEGIN_STMT
- _8 = pxConstList->pxIndex;
- pxFirstTCB = _8->pvOwner;
- <bb 6> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxConstList = pxList;
- # DEBUG BEGIN_STMT
- _9 = pxConstList->pxIndex;
- _10 = _9->pxNext;
- pxConstList->pxIndex = _10;
- # DEBUG BEGIN_STMT
- _11 = pxConstList->pxIndex;
- _12 = &pxConstList->xListEnd;
- if (_11 == _12)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- _13 = pxConstList->pxIndex;
- _14 = _13->pxNext;
- pxConstList->pxIndex = _14;
- <bb 8> :
- # DEBUG BEGIN_STMT
- _15 = pxConstList->pxIndex;
- pxNextTCB = _15->pvOwner;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _16 = uxTask * 36;
- _17 = pxTaskStatusArray + _16;
- vTaskGetInfo (pxNextTCB, _17, 1, eState);
- # DEBUG BEGIN_STMT
- uxTask = uxTask + 1;
- # DEBUG BEGIN_STMT
- if (pxNextTCB != pxFirstTCB)
- goto <bb 6>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.7866 = uxTask;
- return D.7866;
- }
- vTaskGetInfo (struct tskTaskControlBlock * xTask, struct TaskStatus_t * pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState)
- {
- struct TCB_t * pxTCB;
- struct TCB_t * iftmp.119;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTask == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.119 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.119 = xTask;
- <bb 5> :
- pxTCB = iftmp.119;
- # DEBUG BEGIN_STMT
- pxTaskStatus->xHandle = pxTCB;
- # DEBUG BEGIN_STMT
- _1 = &pxTCB->pcTaskName[0];
- pxTaskStatus->pcTaskName = _1;
- # DEBUG BEGIN_STMT
- _2 = pxTCB->uxPriority;
- pxTaskStatus->uxCurrentPriority = _2;
- # DEBUG BEGIN_STMT
- _3 = pxTCB->pxStack;
- pxTaskStatus->pxStackBase = _3;
- # DEBUG BEGIN_STMT
- _4 = pxTCB->uxTCBNumber;
- pxTaskStatus->xTaskNumber = _4;
- # DEBUG BEGIN_STMT
- _5 = pxTCB->uxBasePriority;
- pxTaskStatus->uxBasePriority = _5;
- # DEBUG BEGIN_STMT
- pxTaskStatus->ulRunTimeCounter = 0;
- # DEBUG BEGIN_STMT
- if (eState != 5)
- goto <bb 6>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.120_6 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.120_6)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- pxTaskStatus->eCurrentState = 0;
- goto <bb 13>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- pxTaskStatus->eCurrentState = eState;
- # DEBUG BEGIN_STMT
- if (eState == 3)
- goto <bb 9>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- _7 = pxTCB->xEventListItem.pvContainer;
- if (_7 != 0B)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- pxTaskStatus->eCurrentState = 2;
- <bb 11> :
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- goto <bb 13>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- _8 = eTaskGetState (pxTCB);
- pxTaskStatus->eCurrentState = _8;
- <bb 13> :
- # DEBUG BEGIN_STMT
- if (xGetFreeStackSpace != 0)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- _9 = pxTCB->pxStack;
- _10 = prvTaskCheckFreeStackSpace (_9);
- pxTaskStatus->usStackHighWaterMark = _10;
- goto <bb 16>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- pxTaskStatus->usStackHighWaterMark = 0;
- <bb 16> :
- return;
- }
- prvCheckTasksWaitingTermination ()
- {
- struct TCB_t * pxTCB;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _1 = xTasksWaitingTermination.xListEnd.pxNext;
- pxTCB = _1->pvOwner;
- # DEBUG BEGIN_STMT
- _2 = &pxTCB->xStateListItem;
- uxListRemove (_2);
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.58_3 = uxCurrentNumberOfTasks;
- _4 = uxCurrentNumberOfTasks.58_3 + 4294967295;
- uxCurrentNumberOfTasks = _4;
- # DEBUG BEGIN_STMT
- uxDeletedTasksWaitingCleanUp.59_5 = uxDeletedTasksWaitingCleanUp;
- _6 = uxDeletedTasksWaitingCleanUp.59_5 + 4294967295;
- uxDeletedTasksWaitingCleanUp = _6;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- prvDeleteTCB (pxTCB);
- <bb 4> :
- # DEBUG BEGIN_STMT
- uxDeletedTasksWaitingCleanUp.60_7 = uxDeletedTasksWaitingCleanUp;
- if (uxDeletedTasksWaitingCleanUp.60_7 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 5> :
- return;
- }
- prvInitialiseTaskLists ()
- {
- UBaseType_t uxPriority;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxPriority = 0;
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- _1 = &pxReadyTasksLists[uxPriority];
- vListInitialise (_1);
- # DEBUG BEGIN_STMT
- uxPriority = uxPriority + 1;
- <bb 4> :
- # DEBUG BEGIN_STMT
- if (uxPriority <= 4)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- vListInitialise (&xDelayedTaskList1);
- # DEBUG BEGIN_STMT
- vListInitialise (&xDelayedTaskList2);
- # DEBUG BEGIN_STMT
- vListInitialise (&xPendingReadyList);
- # DEBUG BEGIN_STMT
- vListInitialise (&xTasksWaitingTermination);
- # DEBUG BEGIN_STMT
- vListInitialise (&xSuspendedTaskList);
- # DEBUG BEGIN_STMT
- pxDelayedTaskList = &xDelayedTaskList1;
- # DEBUG BEGIN_STMT
- pxOverflowDelayedTaskList = &xDelayedTaskList2;
- return;
- }
- prvIdleTask (void * pvParameters)
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvCheckTasksWaitingTermination ();
- # DEBUG BEGIN_STMT
- _1 = pxReadyTasksLists[0].uxNumberOfItems;
- if (_1 > 1)
- goto <bb 3>; [INV]
- else
- goto <bb 2>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- _2 = 3758157060B;
- *_2 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- goto <bb 2>; [INV]
- }
- vTaskSetTaskNumber (struct tskTaskControlBlock * xTask, const UBaseType_t uxHandle)
- {
- struct TCB_t * pxTCB;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTask != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- pxTCB = xTask;
- # DEBUG BEGIN_STMT
- pxTCB->uxTaskNumber = uxHandle;
- <bb 4> :
- return;
- }
- uxTaskGetTaskNumber (struct tskTaskControlBlock * xTask)
- {
- const struct TCB_t * pxTCB;
- UBaseType_t uxReturn;
- UBaseType_t D.7990;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTask != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- pxTCB = xTask;
- # DEBUG BEGIN_STMT
- uxReturn = pxTCB->uxTaskNumber;
- goto <bb 5>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- uxReturn = 0;
- <bb 5> :
- # DEBUG BEGIN_STMT
- D.7990 = uxReturn;
- return D.7990;
- }
- vTaskMissedYield ()
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- xYieldPending = 1;
- return;
- }
- xTaskCheckForTimeOut (struct TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait)
- {
- const TickType_t xElapsedTime;
- const TickType_t xConstTickCount;
- BaseType_t xReturn;
- BaseType_t D.7985;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pxTimeOut == 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 (pxTicksToWait == 0B)
- 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
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- xConstTickCount = xTickCount;
- # DEBUG BEGIN_STMT
- _1 = pxTimeOut->xTimeOnEntering;
- xElapsedTime = xConstTickCount - _1;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.116_2 = pxCurrentTCB;
- _3 = pxCurrentTCB.116_2->ucDelayAborted;
- if (_3 != 0)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.117_4 = pxCurrentTCB;
- pxCurrentTCB.117_4->ucDelayAborted = 0;
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 18>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- _5 = *pxTicksToWait;
- if (_5 == 4294967295)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- goto <bb 18>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- _6 = pxTimeOut->xOverflowCount;
- xNumOfOverflows.118_7 = xNumOfOverflows;
- if (_6 != xNumOfOverflows.118_7)
- goto <bb 13>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 13> :
- _8 = pxTimeOut->xTimeOnEntering;
- if (xConstTickCount >= _8)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- # DEBUG BEGIN_STMT
- *pxTicksToWait = 0;
- goto <bb 18>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- _9 = *pxTicksToWait;
- if (xElapsedTime < _9)
- goto <bb 16>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- _10 = *pxTicksToWait;
- _11 = _10 - xElapsedTime;
- *pxTicksToWait = _11;
- # DEBUG BEGIN_STMT
- vTaskInternalSetTimeOutState (pxTimeOut);
- # DEBUG BEGIN_STMT
- xReturn = 0;
- goto <bb 18>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- *pxTicksToWait = 0;
- # DEBUG BEGIN_STMT
- xReturn = 1;
- <bb 18> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.7985 = xReturn;
- return D.7985;
- }
- vTaskInternalSetTimeOutState (struct TimeOut_t * const pxTimeOut)
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- xNumOfOverflows.114_1 = xNumOfOverflows;
- pxTimeOut->xOverflowCount = xNumOfOverflows.114_1;
- # DEBUG BEGIN_STMT
- xTickCount.115_2 = xTickCount;
- pxTimeOut->xTimeOnEntering = xTickCount.115_2;
- return;
- }
- vTaskSetTimeOutState (struct TimeOut_t * const pxTimeOut)
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- if (pxTimeOut == 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
- xNumOfOverflows.112_1 = xNumOfOverflows;
- pxTimeOut->xOverflowCount = xNumOfOverflows.112_1;
- # DEBUG BEGIN_STMT
- xTickCount.113_2 = xTickCount;
- pxTimeOut->xTimeOnEntering = xTickCount.113_2;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- return;
- }
- vTaskRemoveFromUnorderedEventList (struct ListItem_t * pxEventListItem, const TickType_t xItemValue)
- {
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- struct List_t * const pxList;
- struct TCB_t * pxUnblockedTCB;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.109_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.109_1 == 0)
- 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
- _2 = xItemValue | 2147483648;
- pxEventListItem->xItemValue = _2;
- # DEBUG BEGIN_STMT
- pxUnblockedTCB = pxEventListItem->pvOwner;
- # DEBUG BEGIN_STMT
- if (pxUnblockedTCB == 0B)
- 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
- pxList = pxEventListItem->pvContainer;
- # DEBUG BEGIN_STMT
- _3 = pxEventListItem->pxNext;
- _4 = pxEventListItem->pxPrevious;
- _3->pxPrevious = _4;
- # DEBUG BEGIN_STMT
- _5 = pxEventListItem->pxPrevious;
- _6 = pxEventListItem->pxNext;
- _5->pxNext = _6;
- # DEBUG BEGIN_STMT
- _7 = pxList->pxIndex;
- if (pxEventListItem == _7)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- _8 = pxEventListItem->pxPrevious;
- pxList->pxIndex = _8;
- <bb 10> :
- # DEBUG BEGIN_STMT
- pxEventListItem->pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _9 = pxList->uxNumberOfItems;
- _10 = _9 + 4294967295;
- pxList->uxNumberOfItems = _10;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxList = pxUnblockedTCB->xStateListItem.pvContainer;
- # DEBUG BEGIN_STMT
- _11 = pxUnblockedTCB->xStateListItem.pxNext;
- _12 = pxUnblockedTCB->xStateListItem.pxPrevious;
- _11->pxPrevious = _12;
- # DEBUG BEGIN_STMT
- _13 = pxUnblockedTCB->xStateListItem.pxPrevious;
- _14 = pxUnblockedTCB->xStateListItem.pxNext;
- _13->pxNext = _14;
- # DEBUG BEGIN_STMT
- _15 = pxList->pxIndex;
- _16 = &pxUnblockedTCB->xStateListItem;
- if (_15 == _16)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- _17 = pxUnblockedTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _17;
- <bb 12> :
- # DEBUG BEGIN_STMT
- pxUnblockedTCB->xStateListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _18 = pxList->uxNumberOfItems;
- _19 = _18 + 4294967295;
- pxList->uxNumberOfItems = _19;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _20 = pxUnblockedTCB->uxPriority;
- uxTopReadyPriority.110_21 = uxTopReadyPriority;
- if (_20 > uxTopReadyPriority.110_21)
- goto <bb 13>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- _22 = pxUnblockedTCB->uxPriority;
- uxTopReadyPriority = _22;
- <bb 14> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _23 = pxUnblockedTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_23].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxUnblockedTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _24 = pxIndex->pxPrevious;
- pxUnblockedTCB->xStateListItem.pxPrevious = _24;
- # DEBUG BEGIN_STMT
- _25 = pxIndex->pxPrevious;
- _26 = &pxUnblockedTCB->xStateListItem;
- _25->pxNext = _26;
- # DEBUG BEGIN_STMT
- _27 = &pxUnblockedTCB->xStateListItem;
- pxIndex->pxPrevious = _27;
- # DEBUG BEGIN_STMT
- _28 = pxUnblockedTCB->uxPriority;
- _29 = &pxReadyTasksLists[_28];
- pxUnblockedTCB->xStateListItem.pvContainer = _29;
- # DEBUG BEGIN_STMT
- _30 = pxUnblockedTCB->uxPriority;
- _31 = pxReadyTasksLists[_30].uxNumberOfItems;
- _32 = _31 + 1;
- pxReadyTasksLists[_30].uxNumberOfItems = _32;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _33 = pxUnblockedTCB->uxPriority;
- pxCurrentTCB.111_34 = pxCurrentTCB;
- _35 = pxCurrentTCB.111_34->uxPriority;
- if (_33 > _35)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- xYieldPending = 1;
- <bb 16> :
- return;
- }
- xTaskRemoveFromEventList (const struct List_t * const pxEventList)
- {
- struct ListItem_t * const pxIndex;
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- struct List_t * const pxList;
- BaseType_t xReturn;
- struct TCB_t * pxUnblockedTCB;
- BaseType_t D.7952;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxEventList->xListEnd.pxNext;
- pxUnblockedTCB = _1->pvOwner;
- # DEBUG BEGIN_STMT
- if (pxUnblockedTCB == 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
- pxList = pxUnblockedTCB->xEventListItem.pvContainer;
- # DEBUG BEGIN_STMT
- _2 = pxUnblockedTCB->xEventListItem.pxNext;
- _3 = pxUnblockedTCB->xEventListItem.pxPrevious;
- _2->pxPrevious = _3;
- # DEBUG BEGIN_STMT
- _4 = pxUnblockedTCB->xEventListItem.pxPrevious;
- _5 = pxUnblockedTCB->xEventListItem.pxNext;
- _4->pxNext = _5;
- # DEBUG BEGIN_STMT
- _6 = pxList->pxIndex;
- _7 = &pxUnblockedTCB->xEventListItem;
- if (_6 == _7)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- _8 = pxUnblockedTCB->xEventListItem.pxPrevious;
- pxList->pxIndex = _8;
- <bb 7> :
- # DEBUG BEGIN_STMT
- pxUnblockedTCB->xEventListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _9 = pxList->uxNumberOfItems;
- _10 = _9 + 4294967295;
- pxList->uxNumberOfItems = _10;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.106_11 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.106_11 == 0)
- goto <bb 8>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- pxList = pxUnblockedTCB->xStateListItem.pvContainer;
- # DEBUG BEGIN_STMT
- _12 = pxUnblockedTCB->xStateListItem.pxNext;
- _13 = pxUnblockedTCB->xStateListItem.pxPrevious;
- _12->pxPrevious = _13;
- # DEBUG BEGIN_STMT
- _14 = pxUnblockedTCB->xStateListItem.pxPrevious;
- _15 = pxUnblockedTCB->xStateListItem.pxNext;
- _14->pxNext = _15;
- # DEBUG BEGIN_STMT
- _16 = pxList->pxIndex;
- _17 = &pxUnblockedTCB->xStateListItem;
- if (_16 == _17)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- _18 = pxUnblockedTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _18;
- <bb 10> :
- # DEBUG BEGIN_STMT
- pxUnblockedTCB->xStateListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _19 = pxList->uxNumberOfItems;
- _20 = _19 + 4294967295;
- pxList->uxNumberOfItems = _20;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _21 = pxUnblockedTCB->uxPriority;
- uxTopReadyPriority.107_22 = uxTopReadyPriority;
- if (_21 > uxTopReadyPriority.107_22)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- _23 = pxUnblockedTCB->uxPriority;
- uxTopReadyPriority = _23;
- <bb 12> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _24 = pxUnblockedTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_24].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxUnblockedTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _25 = pxIndex->pxPrevious;
- pxUnblockedTCB->xStateListItem.pxPrevious = _25;
- # DEBUG BEGIN_STMT
- _26 = pxIndex->pxPrevious;
- _27 = &pxUnblockedTCB->xStateListItem;
- _26->pxNext = _27;
- # DEBUG BEGIN_STMT
- _28 = &pxUnblockedTCB->xStateListItem;
- pxIndex->pxPrevious = _28;
- # DEBUG BEGIN_STMT
- _29 = pxUnblockedTCB->uxPriority;
- _30 = &pxReadyTasksLists[_29];
- pxUnblockedTCB->xStateListItem.pvContainer = _30;
- # DEBUG BEGIN_STMT
- _31 = pxUnblockedTCB->uxPriority;
- _32 = pxReadyTasksLists[_31].uxNumberOfItems;
- _33 = _32 + 1;
- pxReadyTasksLists[_31].uxNumberOfItems = _33;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 14>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- pxIndex = xPendingReadyList.pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxUnblockedTCB->xEventListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _34 = pxIndex->pxPrevious;
- pxUnblockedTCB->xEventListItem.pxPrevious = _34;
- # DEBUG BEGIN_STMT
- _35 = pxIndex->pxPrevious;
- _36 = &pxUnblockedTCB->xEventListItem;
- _35->pxNext = _36;
- # DEBUG BEGIN_STMT
- _37 = &pxUnblockedTCB->xEventListItem;
- pxIndex->pxPrevious = _37;
- # DEBUG BEGIN_STMT
- pxUnblockedTCB->xEventListItem.pvContainer = &xPendingReadyList;
- # DEBUG BEGIN_STMT
- _38 = xPendingReadyList.uxNumberOfItems;
- _39 = _38 + 1;
- xPendingReadyList.uxNumberOfItems = _39;
- <bb 14> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _40 = pxUnblockedTCB->uxPriority;
- pxCurrentTCB.108_41 = pxCurrentTCB;
- _42 = pxCurrentTCB.108_41->uxPriority;
- if (_40 > _42)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- # DEBUG BEGIN_STMT
- xYieldPending = 1;
- goto <bb 17>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 17> :
- # DEBUG BEGIN_STMT
- D.7952 = xReturn;
- return D.7952;
- }
- vTaskPlaceOnEventListRestricted (struct List_t * const pxEventList, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely)
- {
- struct ListItem_t * const pxIndex;
- <bb 2> :
- # DEBUG BEGIN_STMT
- if (pxEventList == 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
- pxIndex = pxEventList->pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.101_1 = pxCurrentTCB;
- pxCurrentTCB.101_1->xEventListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.102_2 = pxCurrentTCB;
- _3 = pxIndex->pxPrevious;
- pxCurrentTCB.102_2->xEventListItem.pxPrevious = _3;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.103_4 = pxCurrentTCB;
- _5 = pxIndex->pxPrevious;
- _6 = &pxCurrentTCB.103_4->xEventListItem;
- _5->pxNext = _6;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.104_7 = pxCurrentTCB;
- _8 = &pxCurrentTCB.104_7->xEventListItem;
- pxIndex->pxPrevious = _8;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.105_9 = pxCurrentTCB;
- pxCurrentTCB.105_9->xEventListItem.pvContainer = pxEventList;
- # DEBUG BEGIN_STMT
- _10 = pxEventList->uxNumberOfItems;
- _11 = _10 + 1;
- pxEventList->uxNumberOfItems = _11;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xWaitIndefinitely != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- xTicksToWait = 4294967295;
- <bb 7> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvAddCurrentTaskToDelayedList (xTicksToWait, xWaitIndefinitely);
- return;
- }
- vTaskPlaceOnUnorderedEventList (struct List_t * pxEventList, const TickType_t xItemValue, const TickType_t xTicksToWait)
- {
- struct ListItem_t * const pxIndex;
- <bb 2> :
- # DEBUG BEGIN_STMT
- if (pxEventList == 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
- uxSchedulerSuspended.94_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.94_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
- pxCurrentTCB.95_2 = pxCurrentTCB;
- _3 = xItemValue | 2147483648;
- pxCurrentTCB.95_2->xEventListItem.xItemValue = _3;
- # DEBUG BEGIN_STMT
- pxIndex = pxEventList->pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.96_4 = pxCurrentTCB;
- pxCurrentTCB.96_4->xEventListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.97_5 = pxCurrentTCB;
- _6 = pxIndex->pxPrevious;
- pxCurrentTCB.97_5->xEventListItem.pxPrevious = _6;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.98_7 = pxCurrentTCB;
- _8 = pxIndex->pxPrevious;
- _9 = &pxCurrentTCB.98_7->xEventListItem;
- _8->pxNext = _9;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.99_10 = pxCurrentTCB;
- _11 = &pxCurrentTCB.99_10->xEventListItem;
- pxIndex->pxPrevious = _11;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.100_12 = pxCurrentTCB;
- pxCurrentTCB.100_12->xEventListItem.pvContainer = pxEventList;
- # DEBUG BEGIN_STMT
- _13 = pxEventList->uxNumberOfItems;
- _14 = _13 + 1;
- pxEventList->uxNumberOfItems = _14;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvAddCurrentTaskToDelayedList (xTicksToWait, 1);
- return;
- }
- vTaskPlaceOnEventList (struct List_t * const pxEventList, const TickType_t xTicksToWait)
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- if (pxEventList == 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
- pxCurrentTCB.93_1 = pxCurrentTCB;
- _2 = &pxCurrentTCB.93_1->xEventListItem;
- vListInsert (pxEventList, _2);
- # DEBUG BEGIN_STMT
- prvAddCurrentTaskToDelayedList (xTicksToWait, 1);
- return;
- }
- __attribute__((used))
- vTaskSwitchContext ()
- {
- struct List_t * const pxConstList;
- UBaseType_t uxTopPriority;
- <bb 2> :
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.92_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.92_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- xYieldPending = 1;
- goto <bb 13>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- xYieldPending = 0;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxTopPriority = uxTopReadyPriority;
- # DEBUG BEGIN_STMT
- goto <bb 9>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- if (uxTopPriority == 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
- uxTopPriority = uxTopPriority + 4294967295;
- <bb 9> :
- # DEBUG BEGIN_STMT
- _2 = pxReadyTasksLists[uxTopPriority].uxNumberOfItems;
- if (_2 == 0)
- goto <bb 5>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- pxConstList = &pxReadyTasksLists[uxTopPriority];
- # DEBUG BEGIN_STMT
- _3 = pxConstList->pxIndex;
- _4 = _3->pxNext;
- pxConstList->pxIndex = _4;
- # DEBUG BEGIN_STMT
- _5 = pxConstList->pxIndex;
- _6 = &pxConstList->xListEnd;
- if (_5 == _6)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- _7 = pxConstList->pxIndex;
- _8 = _7->pxNext;
- pxConstList->pxIndex = _8;
- <bb 12> :
- # DEBUG BEGIN_STMT
- _9 = pxConstList->pxIndex;
- _10 = _9->pvOwner;
- pxCurrentTCB = _10;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxTopReadyPriority = uxTopPriority;
- <bb 13> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- return;
- }
- xTaskIncrementTick ()
- {
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- struct List_t * const pxList;
- struct List_t * pxTemp;
- const TickType_t xConstTickCount;
- BaseType_t xSwitchRequired;
- TickType_t xItemValue;
- struct TCB_t * pxTCB;
- BaseType_t D.7919;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xSwitchRequired = 0;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.79_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.79_1 == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 27>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- xTickCount.80_2 = xTickCount;
- xConstTickCount = xTickCount.80_2 + 1;
- # DEBUG BEGIN_STMT
- xTickCount = xConstTickCount;
- # DEBUG BEGIN_STMT
- if (xConstTickCount == 0)
- goto <bb 4>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.81_3 = pxDelayedTaskList;
- _4 = pxDelayedTaskList.81_3->uxNumberOfItems;
- if (_4 != 0)
- goto <bb 5>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 6> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 6>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTemp = pxDelayedTaskList;
- # DEBUG BEGIN_STMT
- pxOverflowDelayedTaskList.82_5 = pxOverflowDelayedTaskList;
- pxDelayedTaskList = pxOverflowDelayedTaskList.82_5;
- # DEBUG BEGIN_STMT
- pxOverflowDelayedTaskList = pxTemp;
- # DEBUG BEGIN_STMT
- xNumOfOverflows.83_6 = xNumOfOverflows;
- _7 = xNumOfOverflows.83_6 + 1;
- xNumOfOverflows = _7;
- # DEBUG BEGIN_STMT
- prvResetNextTaskUnblockTime ();
- # DEBUG BEGIN_STMT
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime.84_8 = xNextTaskUnblockTime;
- if (xConstTickCount >= xNextTaskUnblockTime.84_8)
- goto <bb 9>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.85_9 = pxDelayedTaskList;
- _10 = pxDelayedTaskList.85_9->uxNumberOfItems;
- if (_10 == 0)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime = 4294967295;
- # DEBUG BEGIN_STMT
- goto <bb 23>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.86_11 = pxDelayedTaskList;
- _12 = pxDelayedTaskList.86_11->xListEnd.pxNext;
- pxTCB = _12->pvOwner;
- # DEBUG BEGIN_STMT
- xItemValue = pxTCB->xStateListItem.xItemValue;
- # DEBUG BEGIN_STMT
- if (xConstTickCount < xItemValue)
- goto <bb 12>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime = xItemValue;
- # DEBUG BEGIN_STMT
- goto <bb 23>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxList = pxTCB->xStateListItem.pvContainer;
- # DEBUG BEGIN_STMT
- _13 = pxTCB->xStateListItem.pxNext;
- _14 = pxTCB->xStateListItem.pxPrevious;
- _13->pxPrevious = _14;
- # DEBUG BEGIN_STMT
- _15 = pxTCB->xStateListItem.pxPrevious;
- _16 = pxTCB->xStateListItem.pxNext;
- _15->pxNext = _16;
- # DEBUG BEGIN_STMT
- _17 = pxList->pxIndex;
- _18 = &pxTCB->xStateListItem;
- if (_17 == _18)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- _19 = pxTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _19;
- <bb 15> :
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _20 = pxList->uxNumberOfItems;
- _21 = _20 + 4294967295;
- pxList->uxNumberOfItems = _21;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _22 = pxTCB->xEventListItem.pvContainer;
- if (_22 != 0B)
- goto <bb 16>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- pxList = pxTCB->xEventListItem.pvContainer;
- # DEBUG BEGIN_STMT
- _23 = pxTCB->xEventListItem.pxNext;
- _24 = pxTCB->xEventListItem.pxPrevious;
- _23->pxPrevious = _24;
- # DEBUG BEGIN_STMT
- _25 = pxTCB->xEventListItem.pxPrevious;
- _26 = pxTCB->xEventListItem.pxNext;
- _25->pxNext = _26;
- # DEBUG BEGIN_STMT
- _27 = pxList->pxIndex;
- _28 = &pxTCB->xEventListItem;
- if (_27 == _28)
- goto <bb 17>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- _29 = pxTCB->xEventListItem.pxPrevious;
- pxList->pxIndex = _29;
- <bb 18> :
- # DEBUG BEGIN_STMT
- pxTCB->xEventListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _30 = pxList->uxNumberOfItems;
- _31 = _30 + 4294967295;
- pxList->uxNumberOfItems = _31;
- # DEBUG BEGIN_STMT
- <bb 19> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _32 = pxTCB->uxPriority;
- uxTopReadyPriority.87_33 = uxTopReadyPriority;
- if (_32 > uxTopReadyPriority.87_33)
- goto <bb 20>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 20> :
- # DEBUG BEGIN_STMT
- _34 = pxTCB->uxPriority;
- uxTopReadyPriority = _34;
- <bb 21> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _35 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_35].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _36 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _36;
- # DEBUG BEGIN_STMT
- _37 = pxIndex->pxPrevious;
- _38 = &pxTCB->xStateListItem;
- _37->pxNext = _38;
- # DEBUG BEGIN_STMT
- _39 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _39;
- # DEBUG BEGIN_STMT
- _40 = pxTCB->uxPriority;
- _41 = &pxReadyTasksLists[_40];
- pxTCB->xStateListItem.pvContainer = _41;
- # DEBUG BEGIN_STMT
- _42 = pxTCB->uxPriority;
- _43 = pxReadyTasksLists[_42].uxNumberOfItems;
- _44 = _43 + 1;
- pxReadyTasksLists[_42].uxNumberOfItems = _44;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _45 = pxTCB->uxPriority;
- pxCurrentTCB.88_46 = pxCurrentTCB;
- _47 = pxCurrentTCB.88_46->uxPriority;
- if (_45 >= _47)
- goto <bb 22>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 22> :
- # DEBUG BEGIN_STMT
- xSwitchRequired = 1;
- goto <bb 9>; [INV]
- <bb 23> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.89_48 = pxCurrentTCB;
- _49 = pxCurrentTCB.89_48->uxPriority;
- _50 = pxReadyTasksLists[_49].uxNumberOfItems;
- if (_50 > 1)
- goto <bb 24>; [INV]
- else
- goto <bb 25>; [INV]
- <bb 24> :
- # DEBUG BEGIN_STMT
- xSwitchRequired = 1;
- <bb 25> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xYieldPending.90_51 = xYieldPending;
- if (xYieldPending.90_51 != 0)
- goto <bb 26>; [INV]
- else
- goto <bb 28>; [INV]
- <bb 26> :
- # DEBUG BEGIN_STMT
- xSwitchRequired = 1;
- goto <bb 28>; [INV]
- <bb 27> :
- # DEBUG BEGIN_STMT
- xPendedTicks.91_52 = xPendedTicks;
- _53 = xPendedTicks.91_52 + 1;
- xPendedTicks = _53;
- <bb 28> :
- # DEBUG BEGIN_STMT
- D.7919 = xSwitchRequired;
- return D.7919;
- }
- xTaskAbortDelay (struct tskTaskControlBlock * xTask)
- {
- struct ListItem_t * const pxIndex;
- BaseType_t xReturn;
- struct TCB_t * pxTCB;
- BaseType_t D.7885;
- <bb 2> :
- # DEBUG BEGIN_STMT
- pxTCB = xTask;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (pxTCB == 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
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- _1 = eTaskGetState (xTask);
- if (_1 == 2)
- goto <bb 6>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- # DEBUG BEGIN_STMT
- _2 = &pxTCB->xStateListItem;
- uxListRemove (_2);
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _3 = pxTCB->xEventListItem.pvContainer;
- if (_3 != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- _4 = &pxTCB->xEventListItem;
- uxListRemove (_4);
- # DEBUG BEGIN_STMT
- pxTCB->ucDelayAborted = 1;
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _5 = pxTCB->uxPriority;
- uxTopReadyPriority.77_6 = uxTopReadyPriority;
- if (_5 > uxTopReadyPriority.77_6)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- _7 = pxTCB->uxPriority;
- uxTopReadyPriority = _7;
- <bb 10> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _8 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_8].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _9 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _9;
- # DEBUG BEGIN_STMT
- _10 = pxIndex->pxPrevious;
- _11 = &pxTCB->xStateListItem;
- _10->pxNext = _11;
- # DEBUG BEGIN_STMT
- _12 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _12;
- # DEBUG BEGIN_STMT
- _13 = pxTCB->uxPriority;
- _14 = &pxReadyTasksLists[_13];
- pxTCB->xStateListItem.pvContainer = _14;
- # DEBUG BEGIN_STMT
- _15 = pxTCB->uxPriority;
- _16 = pxReadyTasksLists[_15].uxNumberOfItems;
- _17 = _16 + 1;
- pxReadyTasksLists[_15].uxNumberOfItems = _17;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _18 = pxTCB->uxPriority;
- pxCurrentTCB.78_19 = pxCurrentTCB;
- _20 = pxCurrentTCB.78_19->uxPriority;
- if (_18 > _20)
- goto <bb 11>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- xYieldPending = 1;
- goto <bb 13>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- <bb 13> :
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- D.7885 = xReturn;
- return D.7885;
- }
- xTaskCatchUpTicks (TickType_t xTicksToCatchUp)
- {
- BaseType_t xYieldOccurred;
- BaseType_t D.7870;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.75_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.75_1 != 0)
- 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
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- xPendedTicks.76_2 = xPendedTicks;
- _3 = xTicksToCatchUp + xPendedTicks.76_2;
- xPendedTicks = _3;
- # DEBUG BEGIN_STMT
- xYieldOccurred = xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- D.7870 = xYieldOccurred;
- return D.7870;
- }
- uxTaskGetSystemState (struct TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t * const pulTotalRunTime)
- {
- UBaseType_t uxQueue;
- UBaseType_t uxTask;
- UBaseType_t D.7857;
- long unsigned int D.7853;
- long unsigned int D.7852;
- long unsigned int D.7851;
- long unsigned int D.7850;
- long unsigned int D.7849;
- <bb 2> :
- # DEBUG BEGIN_STMT
- uxTask = 0;
- uxQueue = 5;
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.72_1 = uxCurrentNumberOfTasks;
- if (uxArraySize >= uxCurrentNumberOfTasks.72_1)
- goto <bb 3>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxQueue = uxQueue + 4294967295;
- # DEBUG BEGIN_STMT
- _2 = uxTask * 36;
- _3 = pxTaskStatusArray + _2;
- _4 = &pxReadyTasksLists[uxQueue];
- D.7849 = prvListTasksWithinSingleList (_3, _4, 1);
- uxTask = D.7849 + uxTask;
- # DEBUG BEGIN_STMT
- if (uxQueue != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- _5 = uxTask * 36;
- _6 = pxTaskStatusArray + _5;
- pxDelayedTaskList.73_7 = pxDelayedTaskList;
- D.7850 = prvListTasksWithinSingleList (_6, pxDelayedTaskList.73_7, 2);
- uxTask = D.7850 + uxTask;
- # DEBUG BEGIN_STMT
- _8 = uxTask * 36;
- _9 = pxTaskStatusArray + _8;
- pxOverflowDelayedTaskList.74_10 = pxOverflowDelayedTaskList;
- D.7851 = prvListTasksWithinSingleList (_9, pxOverflowDelayedTaskList.74_10, 2);
- uxTask = D.7851 + uxTask;
- # DEBUG BEGIN_STMT
- _11 = uxTask * 36;
- _12 = pxTaskStatusArray + _11;
- D.7852 = prvListTasksWithinSingleList (_12, &xTasksWaitingTermination, 4);
- uxTask = D.7852 + uxTask;
- # DEBUG BEGIN_STMT
- _13 = uxTask * 36;
- _14 = pxTaskStatusArray + _13;
- D.7853 = prvListTasksWithinSingleList (_14, &xSuspendedTaskList, 3);
- uxTask = D.7853 + uxTask;
- # DEBUG BEGIN_STMT
- if (pulTotalRunTime != 0B)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- *pulTotalRunTime = 0;
- <bb 6> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- D.7857 = uxTask;
- return D.7857;
- }
- xTaskGetHandle (const char * pcNameToQuery)
- {
- struct TCB_t * pxTCB;
- UBaseType_t uxQueue;
- struct tskTaskControlBlock * D.7828;
- <bb 2> :
- # DEBUG BEGIN_STMT
- uxQueue = 5;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = strlen (pcNameToQuery);
- if (_1 > 9)
- 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
- vTaskSuspendAll ();
- <bb 6> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxQueue = uxQueue + 4294967295;
- # DEBUG BEGIN_STMT
- _2 = &pxReadyTasksLists[uxQueue];
- pxTCB = prvSearchForNameWithinSingleList (_2, pcNameToQuery);
- # DEBUG BEGIN_STMT
- if (pxTCB != 0B)
- goto <bb 8>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- if (uxQueue != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- if (pxTCB == 0B)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- pxDelayedTaskList.70_3 = pxDelayedTaskList;
- pxTCB = prvSearchForNameWithinSingleList (pxDelayedTaskList.70_3, pcNameToQuery);
- <bb 10> :
- # DEBUG BEGIN_STMT
- if (pxTCB == 0B)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- pxOverflowDelayedTaskList.71_4 = pxOverflowDelayedTaskList;
- pxTCB = prvSearchForNameWithinSingleList (pxOverflowDelayedTaskList.71_4, pcNameToQuery);
- <bb 12> :
- # DEBUG BEGIN_STMT
- if (pxTCB == 0B)
- goto <bb 13>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- pxTCB = prvSearchForNameWithinSingleList (&xSuspendedTaskList, pcNameToQuery);
- <bb 14> :
- # DEBUG BEGIN_STMT
- if (pxTCB == 0B)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- pxTCB = prvSearchForNameWithinSingleList (&xTasksWaitingTermination, pcNameToQuery);
- <bb 16> :
- # DEBUG BEGIN_STMT
- xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- D.7828 = pxTCB;
- return D.7828;
- }
- prvSearchForNameWithinSingleList (struct List_t * pxList, const char * pcNameToQuery)
- {
- struct List_t * const pxConstList;
- struct List_t * const pxConstList;
- BaseType_t xBreakLoop;
- char cNextChar;
- UBaseType_t x;
- struct TCB_t * pxReturn;
- struct TCB_t * pxFirstTCB;
- struct TCB_t * pxNextTCB;
- struct TCB_t * D.7845;
- <bb 2> :
- # DEBUG BEGIN_STMT
- pxReturn = 0B;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxList->uxNumberOfItems;
- if (_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- pxConstList = pxList;
- # DEBUG BEGIN_STMT
- _2 = pxConstList->pxIndex;
- _3 = _2->pxNext;
- pxConstList->pxIndex = _3;
- # DEBUG BEGIN_STMT
- _4 = pxConstList->pxIndex;
- _5 = &pxConstList->xListEnd;
- if (_4 == _5)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- _6 = pxConstList->pxIndex;
- _7 = _6->pxNext;
- pxConstList->pxIndex = _7;
- <bb 5> :
- # DEBUG BEGIN_STMT
- _8 = pxConstList->pxIndex;
- pxFirstTCB = _8->pvOwner;
- <bb 6> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxConstList = pxList;
- # DEBUG BEGIN_STMT
- _9 = pxConstList->pxIndex;
- _10 = _9->pxNext;
- pxConstList->pxIndex = _10;
- # DEBUG BEGIN_STMT
- _11 = pxConstList->pxIndex;
- _12 = &pxConstList->xListEnd;
- if (_11 == _12)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- _13 = pxConstList->pxIndex;
- _14 = _13->pxNext;
- pxConstList->pxIndex = _14;
- <bb 8> :
- # DEBUG BEGIN_STMT
- _15 = pxConstList->pxIndex;
- pxNextTCB = _15->pvOwner;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xBreakLoop = 0;
- # DEBUG BEGIN_STMT
- x = 0;
- goto <bb 15>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- cNextChar = pxNextTCB->pcTaskName[x];
- # DEBUG BEGIN_STMT
- _16 = pcNameToQuery + x;
- _17 = *_16;
- if (cNextChar != _17)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- xBreakLoop = 1;
- goto <bb 13>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- if (cNextChar == 0)
- goto <bb 12>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- pxReturn = pxNextTCB;
- # DEBUG BEGIN_STMT
- xBreakLoop = 1;
- <bb 13> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xBreakLoop != 0)
- goto <bb 16>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- x = x + 1;
- <bb 15> :
- # DEBUG BEGIN_STMT
- if (x <= 9)
- goto <bb 9>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- if (pxReturn != 0B)
- goto <bb 18>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- if (pxNextTCB != pxFirstTCB)
- goto <bb 6>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 18> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.7845 = pxReturn;
- return D.7845;
- }
- pcTaskGetName (struct tskTaskControlBlock * xTaskToQuery)
- {
- struct TCB_t * pxTCB;
- char * D.7815;
- struct TCB_t * iftmp.69;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTaskToQuery == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.69 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.69 = xTaskToQuery;
- <bb 5> :
- pxTCB = iftmp.69;
- # DEBUG BEGIN_STMT
- if (pxTCB == 0B)
- 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
- D.7815 = &pxTCB->pcTaskName[0];
- return D.7815;
- }
- uxTaskGetNumberOfTasks ()
- {
- UBaseType_t D.7807;
- <bb 2> :
- # DEBUG BEGIN_STMT
- D.7807 = uxCurrentNumberOfTasks;
- return D.7807;
- }
- xTaskGetTickCountFromISR ()
- {
- UBaseType_t uxSavedInterruptStatus;
- TickType_t xReturn;
- TickType_t D.7805;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- uxSavedInterruptStatus = 0;
- # DEBUG BEGIN_STMT
- xReturn = xTickCount;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.7805 = xReturn;
- return D.7805;
- }
- xTaskGetTickCount ()
- {
- TickType_t xTicks;
- TickType_t D.7803;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xTicks = xTickCount;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.7803 = xTicks;
- return D.7803;
- }
- xTaskResumeAll ()
- {
- TickType_t xPendedCounts;
- struct ListItem_t * const pxIndex;
- struct List_t * const pxList;
- struct List_t * const pxList;
- BaseType_t xAlreadyYielded;
- struct TCB_t * pxTCB;
- BaseType_t D.7801;
- <bb 2> :
- # DEBUG BEGIN_STMT
- pxTCB = 0B;
- # DEBUG BEGIN_STMT
- xAlreadyYielded = 0;
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.62_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.62_1 == 0)
- 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
- uxSchedulerSuspended.63_2 = uxSchedulerSuspended;
- _3 = uxSchedulerSuspended.63_2 + 4294967295;
- uxSchedulerSuspended = _3;
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.64_4 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.64_4 == 0)
- goto <bb 6>; [INV]
- else
- goto <bb 25>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.65_5 = uxCurrentNumberOfTasks;
- if (uxCurrentNumberOfTasks.65_5 != 0)
- goto <bb 15>; [INV]
- else
- goto <bb 25>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- _6 = xPendingReadyList.xListEnd.pxNext;
- pxTCB = _6->pvOwner;
- # DEBUG BEGIN_STMT
- pxList = pxTCB->xEventListItem.pvContainer;
- # DEBUG BEGIN_STMT
- _7 = pxTCB->xEventListItem.pxNext;
- _8 = pxTCB->xEventListItem.pxPrevious;
- _7->pxPrevious = _8;
- # DEBUG BEGIN_STMT
- _9 = pxTCB->xEventListItem.pxPrevious;
- _10 = pxTCB->xEventListItem.pxNext;
- _9->pxNext = _10;
- # DEBUG BEGIN_STMT
- _11 = pxList->pxIndex;
- _12 = &pxTCB->xEventListItem;
- if (_11 == _12)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- _13 = pxTCB->xEventListItem.pxPrevious;
- pxList->pxIndex = _13;
- <bb 9> :
- # DEBUG BEGIN_STMT
- pxTCB->xEventListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _14 = pxList->uxNumberOfItems;
- _15 = _14 + 4294967295;
- pxList->uxNumberOfItems = _15;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("" : : : "memory");
- # DEBUG BEGIN_STMT
- pxList = pxTCB->xStateListItem.pvContainer;
- # DEBUG BEGIN_STMT
- _16 = pxTCB->xStateListItem.pxNext;
- _17 = pxTCB->xStateListItem.pxPrevious;
- _16->pxPrevious = _17;
- # DEBUG BEGIN_STMT
- _18 = pxTCB->xStateListItem.pxPrevious;
- _19 = pxTCB->xStateListItem.pxNext;
- _18->pxNext = _19;
- # DEBUG BEGIN_STMT
- _20 = pxList->pxIndex;
- _21 = &pxTCB->xStateListItem;
- if (_20 == _21)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- _22 = pxTCB->xStateListItem.pxPrevious;
- pxList->pxIndex = _22;
- <bb 11> :
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pvContainer = 0B;
- # DEBUG BEGIN_STMT
- _23 = pxList->uxNumberOfItems;
- _24 = _23 + 4294967295;
- pxList->uxNumberOfItems = _24;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _25 = pxTCB->uxPriority;
- uxTopReadyPriority.66_26 = uxTopReadyPriority;
- if (_25 > uxTopReadyPriority.66_26)
- goto <bb 12>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- _27 = pxTCB->uxPriority;
- uxTopReadyPriority = _27;
- <bb 13> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _28 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_28].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _29 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _29;
- # DEBUG BEGIN_STMT
- _30 = pxIndex->pxPrevious;
- _31 = &pxTCB->xStateListItem;
- _30->pxNext = _31;
- # DEBUG BEGIN_STMT
- _32 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _32;
- # DEBUG BEGIN_STMT
- _33 = pxTCB->uxPriority;
- _34 = &pxReadyTasksLists[_33];
- pxTCB->xStateListItem.pvContainer = _34;
- # DEBUG BEGIN_STMT
- _35 = pxTCB->uxPriority;
- _36 = pxReadyTasksLists[_35].uxNumberOfItems;
- _37 = _36 + 1;
- pxReadyTasksLists[_35].uxNumberOfItems = _37;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _38 = pxTCB->uxPriority;
- pxCurrentTCB.67_39 = pxCurrentTCB;
- _40 = pxCurrentTCB.67_39->uxPriority;
- if (_38 >= _40)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- xYieldPending = 1;
- <bb 15> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _41 = xPendingReadyList.uxNumberOfItems;
- if (_41 != 0)
- goto <bb 7>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- if (pxTCB != 0B)
- goto <bb 17>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- prvResetNextTaskUnblockTime ();
- <bb 18> :
- # DEBUG BEGIN_STMT
- xPendedCounts = xPendedTicks;
- # DEBUG BEGIN_STMT
- if (xPendedCounts != 0)
- goto <bb 19>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 19> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _42 = xTaskIncrementTick ();
- if (_42 != 0)
- goto <bb 20>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 20> :
- # DEBUG BEGIN_STMT
- xYieldPending = 1;
- <bb 21> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xPendedCounts = xPendedCounts + 4294967295;
- # DEBUG BEGIN_STMT
- if (xPendedCounts != 0)
- goto <bb 19>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 22> :
- # DEBUG BEGIN_STMT
- xPendedTicks = 0;
- <bb 23> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xYieldPending.68_43 = xYieldPending;
- if (xYieldPending.68_43 != 0)
- goto <bb 24>; [INV]
- else
- goto <bb 25>; [INV]
- <bb 24> :
- # DEBUG BEGIN_STMT
- xAlreadyYielded = 1;
- # DEBUG BEGIN_STMT
- _44 = 3758157060B;
- *_44 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 25> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.7801 = xAlreadyYielded;
- return D.7801;
- }
- vTaskSuspendAll ()
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.61_1 = uxSchedulerSuspended;
- _2 = uxSchedulerSuspended.61_1 + 1;
- uxSchedulerSuspended = _2;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("" : : : "memory");
- return;
- }
- vTaskEndScheduler ()
- {
- <bb 2> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- # DEBUG BEGIN_STMT
- xSchedulerRunning = 0;
- # DEBUG BEGIN_STMT
- vPortEndScheduler ();
- return;
- }
- vTaskStartScheduler ()
- {
- BaseType_t xReturn;
- long unsigned int vol.57;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xReturn = xTaskCreate (prvIdleTask, "IDLE", 90, 0B, 0, &xIdleTaskHandle);
- # DEBUG BEGIN_STMT
- if (xReturn == 1)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- xReturn = xTimerCreateTimerTask ();
- <bb 4> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xReturn == 1)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- # DEBUG BEGIN_STMT
- xNextTaskUnblockTime = 4294967295;
- # DEBUG BEGIN_STMT
- xSchedulerRunning = 1;
- # DEBUG BEGIN_STMT
- xTickCount = 0;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = xPortStartScheduler ();
- goto <bb 9>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- if (xReturn == -1)
- 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
- vol.57 = uxTopUsedPriority;
- return;
- }
- xTaskResumeFromISR (struct tskTaskControlBlock * xTaskToResume)
- {
- struct ListItem_t * const pxIndex;
- UBaseType_t uxSavedInterruptStatus;
- struct TCB_t * const pxTCB;
- BaseType_t xYieldRequired;
- BaseType_t D.7757;
- <bb 2> :
- # DEBUG BEGIN_STMT
- xYieldRequired = 0;
- # DEBUG BEGIN_STMT
- pxTCB = xTaskToResume;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xTaskToResume == 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
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- uxSavedInterruptStatus = ulPortRaiseBASEPRI ();
- # DEBUG BEGIN_STMT
- _1 = prvTaskIsTaskSuspended (pxTCB);
- if (_1 != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.54_2 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.54_2 == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- _3 = pxTCB->uxPriority;
- pxCurrentTCB.55_4 = pxCurrentTCB;
- _5 = pxCurrentTCB.55_4->uxPriority;
- if (_3 >= _5)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- xYieldRequired = 1;
- # DEBUG BEGIN_STMT
- xYieldPending = 1;
- <bb 9> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _6 = &pxTCB->xStateListItem;
- uxListRemove (_6);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _7 = pxTCB->uxPriority;
- uxTopReadyPriority.56_8 = uxTopReadyPriority;
- if (_7 > uxTopReadyPriority.56_8)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- _9 = pxTCB->uxPriority;
- uxTopReadyPriority = _9;
- <bb 11> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _10 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_10].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _11 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _11;
- # DEBUG BEGIN_STMT
- _12 = pxIndex->pxPrevious;
- _13 = &pxTCB->xStateListItem;
- _12->pxNext = _13;
- # DEBUG BEGIN_STMT
- _14 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _14;
- # DEBUG BEGIN_STMT
- _15 = pxTCB->uxPriority;
- _16 = &pxReadyTasksLists[_15];
- pxTCB->xStateListItem.pvContainer = _16;
- # DEBUG BEGIN_STMT
- _17 = pxTCB->uxPriority;
- _18 = pxReadyTasksLists[_17].uxNumberOfItems;
- _19 = _18 + 1;
- pxReadyTasksLists[_17].uxNumberOfItems = _19;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 13>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- _20 = &pxTCB->xEventListItem;
- vListInsertEnd (&xPendingReadyList, _20);
- <bb 13> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortSetBASEPRI (uxSavedInterruptStatus);
- # DEBUG BEGIN_STMT
- D.7757 = xYieldRequired;
- return D.7757;
- }
- vTaskResume (struct tskTaskControlBlock * xTaskToResume)
- {
- struct ListItem_t * const pxIndex;
- struct TCB_t * const pxTCB;
- <bb 2> :
- # DEBUG BEGIN_STMT
- pxTCB = xTaskToResume;
- # DEBUG BEGIN_STMT
- if (xTaskToResume == 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
- pxCurrentTCB.51_1 = pxCurrentTCB;
- if (pxTCB != pxCurrentTCB.51_1)
- goto <bb 6>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 6> :
- if (pxTCB != 0B)
- goto <bb 7>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- _2 = prvTaskIsTaskSuspended (pxTCB);
- if (_2 != 0)
- goto <bb 8>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _3 = &pxTCB->xStateListItem;
- uxListRemove (_3);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _4 = pxTCB->uxPriority;
- uxTopReadyPriority.52_5 = uxTopReadyPriority;
- if (_4 > uxTopReadyPriority.52_5)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- _6 = pxTCB->uxPriority;
- uxTopReadyPriority = _6;
- <bb 10> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _7 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_7].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _8 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _8;
- # DEBUG BEGIN_STMT
- _9 = pxIndex->pxPrevious;
- _10 = &pxTCB->xStateListItem;
- _9->pxNext = _10;
- # DEBUG BEGIN_STMT
- _11 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _11;
- # DEBUG BEGIN_STMT
- _12 = pxTCB->uxPriority;
- _13 = &pxReadyTasksLists[_12];
- pxTCB->xStateListItem.pvContainer = _13;
- # DEBUG BEGIN_STMT
- _14 = pxTCB->uxPriority;
- _15 = pxReadyTasksLists[_14].uxNumberOfItems;
- _16 = _15 + 1;
- pxReadyTasksLists[_14].uxNumberOfItems = _16;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _17 = pxTCB->uxPriority;
- pxCurrentTCB.53_18 = pxCurrentTCB;
- _19 = pxCurrentTCB.53_18->uxPriority;
- if (_17 >= _19)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- _20 = 3758157060B;
- *_20 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 12> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- <bb 13> :
- # DEBUG BEGIN_STMT
- return;
- }
- prvTaskIsTaskSuspended (struct tskTaskControlBlock * const xTask)
- {
- const struct TCB_t * const pxTCB;
- BaseType_t xReturn;
- BaseType_t D.7742;
- <bb 2> :
- # DEBUG BEGIN_STMT
- xReturn = 0;
- # DEBUG BEGIN_STMT
- pxTCB = xTask;
- # DEBUG BEGIN_STMT
- if (xTask == 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 = pxTCB->xStateListItem.pvContainer;
- if (_1 == &xSuspendedTaskList)
- goto <bb 6>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- _2 = pxTCB->xEventListItem.pvContainer;
- if (_2 != &xPendingReadyList)
- goto <bb 7>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- _3 = pxTCB->xEventListItem.pvContainer;
- if (_3 == 0B)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- xReturn = 1;
- <bb 9> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.7742 = xReturn;
- return D.7742;
- }
- vTaskSuspend (struct tskTaskControlBlock * xTaskToSuspend)
- {
- BaseType_t x;
- struct TCB_t * pxTCB;
- struct TCB_t * iftmp.45;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- if (xTaskToSuspend == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.45 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.45 = xTaskToSuspend;
- <bb 5> :
- pxTCB = iftmp.45;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = &pxTCB->xStateListItem;
- _2 = uxListRemove (_1);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _3 = pxTCB->xEventListItem.pvContainer;
- if (_3 != 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- _4 = &pxTCB->xEventListItem;
- uxListRemove (_4);
- <bb 7> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _5 = &pxTCB->xStateListItem;
- vListInsertEnd (&xSuspendedTaskList, _5);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- x = 0;
- goto <bb 11>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- _6 = pxTCB->ucNotifyState[x];
- if (_6 == 1)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- pxTCB->ucNotifyState[x] = 0;
- <bb 10> :
- # DEBUG BEGIN_STMT
- x = x + 1;
- <bb 11> :
- # DEBUG BEGIN_STMT
- if (x <= 0)
- goto <bb 8>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- xSchedulerRunning.46_7 = xSchedulerRunning;
- if (xSchedulerRunning.46_7 != 0)
- goto <bb 13>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- prvResetNextTaskUnblockTime ();
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- <bb 14> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxCurrentTCB.47_8 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.47_8)
- goto <bb 15>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- xSchedulerRunning.48_9 = xSchedulerRunning;
- if (xSchedulerRunning.48_9 != 0)
- goto <bb 16>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.49_10 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.49_10 != 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
- _11 = 3758157060B;
- *_11 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- goto <bb 23>; [INV]
- <bb 20> :
- # DEBUG BEGIN_STMT
- _12 = xSuspendedTaskList.uxNumberOfItems;
- uxCurrentNumberOfTasks.50_13 = uxCurrentNumberOfTasks;
- if (_12 == uxCurrentNumberOfTasks.50_13)
- goto <bb 21>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 21> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB = 0B;
- goto <bb 23>; [INV]
- <bb 22> :
- # DEBUG BEGIN_STMT
- vTaskSwitchContext ();
- <bb 23> :
- # DEBUG BEGIN_STMT
- return;
- }
- vTaskPrioritySet (struct tskTaskControlBlock * xTask, UBaseType_t uxNewPriority)
- {
- struct ListItem_t * const pxIndex;
- BaseType_t xYieldRequired;
- UBaseType_t uxPriorityUsedOnEntry;
- UBaseType_t uxCurrentBasePriority;
- struct TCB_t * pxTCB;
- struct TCB_t * iftmp.40;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xYieldRequired = 0;
- # DEBUG BEGIN_STMT
- if (uxNewPriority > 4)
- 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 (uxNewPriority > 4)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- uxNewPriority = 4;
- <bb 7> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- if (xTask == 0B)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- iftmp.40 = pxCurrentTCB;
- goto <bb 10>; [INV]
- <bb 9> :
- iftmp.40 = xTask;
- <bb 10> :
- pxTCB = iftmp.40;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxCurrentBasePriority = pxTCB->uxBasePriority;
- # DEBUG BEGIN_STMT
- if (uxCurrentBasePriority != uxNewPriority)
- goto <bb 11>; [INV]
- else
- goto <bb 27>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- if (uxNewPriority > uxCurrentBasePriority)
- goto <bb 12>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.41_1 = pxCurrentTCB;
- if (pxTCB != pxCurrentTCB.41_1)
- goto <bb 13>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.42_2 = pxCurrentTCB;
- _3 = pxCurrentTCB.42_2->uxPriority;
- if (uxNewPriority >= _3)
- goto <bb 14>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- xYieldRequired = 1;
- goto <bb 17>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.43_4 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.43_4)
- goto <bb 16>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- xYieldRequired = 1;
- <bb 17> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxPriorityUsedOnEntry = pxTCB->uxPriority;
- # DEBUG BEGIN_STMT
- _5 = pxTCB->uxBasePriority;
- _6 = pxTCB->uxPriority;
- if (_5 == _6)
- goto <bb 18>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 18> :
- # DEBUG BEGIN_STMT
- pxTCB->uxPriority = uxNewPriority;
- <bb 19> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->uxBasePriority = uxNewPriority;
- # DEBUG BEGIN_STMT
- _7 = pxTCB->xEventListItem.xItemValue;
- _8 = (signed int) _7;
- if (_8 >= 0)
- goto <bb 20>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 20> :
- # DEBUG BEGIN_STMT
- _9 = 5 - uxNewPriority;
- pxTCB->xEventListItem.xItemValue = _9;
- <bb 21> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _10 = pxTCB->xStateListItem.pvContainer;
- _11 = &pxReadyTasksLists[uxPriorityUsedOnEntry];
- if (_10 == _11)
- goto <bb 22>; [INV]
- else
- goto <bb 25>; [INV]
- <bb 22> :
- # DEBUG BEGIN_STMT
- _12 = &pxTCB->xStateListItem;
- _13 = uxListRemove (_12);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _14 = pxTCB->uxPriority;
- uxTopReadyPriority.44_15 = uxTopReadyPriority;
- if (_14 > uxTopReadyPriority.44_15)
- goto <bb 23>; [INV]
- else
- goto <bb 24>; [INV]
- <bb 23> :
- # DEBUG BEGIN_STMT
- _16 = pxTCB->uxPriority;
- uxTopReadyPriority = _16;
- <bb 24> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _17 = pxTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_17].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _18 = pxIndex->pxPrevious;
- pxTCB->xStateListItem.pxPrevious = _18;
- # DEBUG BEGIN_STMT
- _19 = pxIndex->pxPrevious;
- _20 = &pxTCB->xStateListItem;
- _19->pxNext = _20;
- # DEBUG BEGIN_STMT
- _21 = &pxTCB->xStateListItem;
- pxIndex->pxPrevious = _21;
- # DEBUG BEGIN_STMT
- _22 = pxTCB->uxPriority;
- _23 = &pxReadyTasksLists[_22];
- pxTCB->xStateListItem.pvContainer = _23;
- # DEBUG BEGIN_STMT
- _24 = pxTCB->uxPriority;
- _25 = pxReadyTasksLists[_24].uxNumberOfItems;
- _26 = _25 + 1;
- pxReadyTasksLists[_24].uxNumberOfItems = _26;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- <bb 25> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xYieldRequired != 0)
- goto <bb 26>; [INV]
- else
- goto <bb 27>; [INV]
- <bb 26> :
- # DEBUG BEGIN_STMT
- _27 = 3758157060B;
- *_27 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 27> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- return;
- }
- uxTaskPriorityGetFromISR (struct tskTaskControlBlock * const xTask)
- {
- UBaseType_t uxSavedInterruptState;
- UBaseType_t uxReturn;
- const struct TCB_t * pxTCB;
- UBaseType_t D.7646;
- const struct TCB_t * iftmp.39;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortValidateInterruptPriority ();
- # DEBUG BEGIN_STMT
- uxSavedInterruptState = ulPortRaiseBASEPRI ();
- # DEBUG BEGIN_STMT
- if (xTask == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.39 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.39 = xTask;
- <bb 5> :
- pxTCB = iftmp.39;
- # DEBUG BEGIN_STMT
- uxReturn = pxTCB->uxPriority;
- # DEBUG BEGIN_STMT
- vPortSetBASEPRI (uxSavedInterruptState);
- # DEBUG BEGIN_STMT
- D.7646 = uxReturn;
- return D.7646;
- }
- uxTaskPriorityGet (struct tskTaskControlBlock * const xTask)
- {
- UBaseType_t uxReturn;
- const struct TCB_t * pxTCB;
- UBaseType_t D.7640;
- const struct TCB_t * iftmp.38;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- if (xTask == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.38 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.38 = xTask;
- <bb 5> :
- pxTCB = iftmp.38;
- # DEBUG BEGIN_STMT
- uxReturn = pxTCB->uxPriority;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- D.7640 = uxReturn;
- return D.7640;
- }
- eTaskGetState (struct tskTaskControlBlock * xTask)
- {
- BaseType_t x;
- const struct TCB_t * const pxTCB;
- const struct List_t * pxOverflowedDelayedList;
- const struct List_t * pxDelayedList;
- const struct List_t * pxStateList;
- eTaskState eReturn;
- eTaskState D.7634;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxTCB = xTask;
- # DEBUG BEGIN_STMT
- if (pxTCB == 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
- pxCurrentTCB.37_1 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.37_1)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- eReturn = 0;
- goto <bb 22>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- pxStateList = pxTCB->xStateListItem.pvContainer;
- # DEBUG BEGIN_STMT
- pxDelayedList = pxDelayedTaskList;
- # DEBUG BEGIN_STMT
- pxOverflowedDelayedList = pxOverflowDelayedTaskList;
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- if (pxStateList == pxDelayedList)
- goto <bb 9>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 8> :
- if (pxStateList == pxOverflowedDelayedList)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- eReturn = 2;
- goto <bb 22>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- if (pxStateList == &xSuspendedTaskList)
- goto <bb 11>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- _2 = pxTCB->xEventListItem.pvContainer;
- if (_2 == 0B)
- goto <bb 12>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- eReturn = 3;
- # DEBUG BEGIN_STMT
- x = 0;
- goto <bb 16>; [INV]
- <bb 13> :
- # DEBUG BEGIN_STMT
- _3 = pxTCB->ucNotifyState[x];
- if (_3 == 1)
- goto <bb 14>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- eReturn = 2;
- # DEBUG BEGIN_STMT
- goto <bb 22>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- x = x + 1;
- <bb 16> :
- # DEBUG BEGIN_STMT
- if (x <= 0)
- goto <bb 13>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- eReturn = 2;
- goto <bb 22>; [INV]
- <bb 18> :
- # DEBUG BEGIN_STMT
- if (pxStateList == &xTasksWaitingTermination)
- goto <bb 20>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 19> :
- if (pxStateList == 0B)
- goto <bb 20>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 20> :
- # DEBUG BEGIN_STMT
- eReturn = 4;
- goto <bb 22>; [INV]
- <bb 21> :
- # DEBUG BEGIN_STMT
- eReturn = 1;
- <bb 22> :
- # DEBUG BEGIN_STMT
- D.7634 = eReturn;
- return D.7634;
- }
- vTaskDelay (const TickType_t xTicksToDelay)
- {
- BaseType_t xAlreadyYielded;
- <bb 2> :
- # DEBUG BEGIN_STMT
- xAlreadyYielded = 0;
- # DEBUG BEGIN_STMT
- if (xTicksToDelay != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.36_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.36_1 != 0)
- goto <bb 4>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 5> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 5>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvAddCurrentTaskToDelayedList (xTicksToDelay, 0);
- # DEBUG BEGIN_STMT
- xAlreadyYielded = xTaskResumeAll ();
- <bb 7> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- if (xAlreadyYielded == 0)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- _2 = 3758157060B;
- *_2 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 9> :
- # DEBUG BEGIN_STMT
- return;
- }
- xTaskDelayUntil (TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement)
- {
- const TickType_t xConstTickCount;
- BaseType_t xShouldDelay;
- BaseType_t xAlreadyYielded;
- TickType_t xTimeToWake;
- BaseType_t D.7590;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xShouldDelay = 0;
- # DEBUG BEGIN_STMT
- if (pxPreviousWakeTime == 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 (xTimeIncrement == 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
- uxSchedulerSuspended.22_1 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.22_1 != 0)
- goto <bb 9>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- vPortRaiseBASEPRI ();
- <bb 10> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 10>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vTaskSuspendAll ();
- # DEBUG BEGIN_STMT
- xConstTickCount = xTickCount;
- # DEBUG BEGIN_STMT
- _2 = *pxPreviousWakeTime;
- xTimeToWake = xTimeIncrement + _2;
- # DEBUG BEGIN_STMT
- _3 = *pxPreviousWakeTime;
- if (xConstTickCount < _3)
- goto <bb 12>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- _4 = *pxPreviousWakeTime;
- if (xTimeToWake < _4)
- goto <bb 13>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 13> :
- if (xTimeToWake > xConstTickCount)
- goto <bb 14>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 14> :
- # DEBUG BEGIN_STMT
- xShouldDelay = 1;
- goto <bb 18>; [INV]
- <bb 15> :
- # DEBUG BEGIN_STMT
- _5 = *pxPreviousWakeTime;
- if (xTimeToWake < _5)
- goto <bb 17>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 16> :
- if (xTimeToWake > xConstTickCount)
- goto <bb 17>; [INV]
- else
- goto <bb 18>; [INV]
- <bb 17> :
- # DEBUG BEGIN_STMT
- xShouldDelay = 1;
- <bb 18> :
- # DEBUG BEGIN_STMT
- *pxPreviousWakeTime = xTimeToWake;
- # DEBUG BEGIN_STMT
- if (xShouldDelay != 0)
- goto <bb 19>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 19> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _6 = xTimeToWake - xConstTickCount;
- prvAddCurrentTaskToDelayedList (_6, 0);
- <bb 20> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- xAlreadyYielded = xTaskResumeAll ();
- # DEBUG BEGIN_STMT
- if (xAlreadyYielded == 0)
- goto <bb 21>; [INV]
- else
- goto <bb 22>; [INV]
- <bb 21> :
- # DEBUG BEGIN_STMT
- _7 = 3758157060B;
- *_7 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 22> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- D.7590 = xShouldDelay;
- return D.7590;
- }
- vTaskDelete (struct tskTaskControlBlock * xTaskToDelete)
- {
- struct TCB_t * pxTCB;
- struct TCB_t * iftmp.12;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- if (xTaskToDelete == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.12 = pxCurrentTCB;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.12 = xTaskToDelete;
- <bb 5> :
- pxTCB = iftmp.12;
- # DEBUG BEGIN_STMT
- _1 = &pxTCB->xStateListItem;
- _2 = uxListRemove (_1);
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _3 = pxTCB->xEventListItem.pvContainer;
- if (_3 != 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- _4 = &pxTCB->xEventListItem;
- uxListRemove (_4);
- <bb 7> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxTaskNumber.13_5 = uxTaskNumber;
- _6 = uxTaskNumber.13_5 + 1;
- uxTaskNumber = _6;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.14_7 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.14_7)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- _8 = &pxTCB->xStateListItem;
- vListInsertEnd (&xTasksWaitingTermination, _8);
- # DEBUG BEGIN_STMT
- uxDeletedTasksWaitingCleanUp.15_9 = uxDeletedTasksWaitingCleanUp;
- _10 = uxDeletedTasksWaitingCleanUp.15_9 + 1;
- uxDeletedTasksWaitingCleanUp = _10;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.16_11 = uxCurrentNumberOfTasks;
- _12 = uxCurrentNumberOfTasks.16_11 + 4294967295;
- uxCurrentNumberOfTasks = _12;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- prvDeleteTCB (pxTCB);
- # DEBUG BEGIN_STMT
- prvResetNextTaskUnblockTime ();
- <bb 10> :
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- xSchedulerRunning.17_13 = xSchedulerRunning;
- if (xSchedulerRunning.17_13 != 0)
- goto <bb 11>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.18_14 = pxCurrentTCB;
- if (pxTCB == pxCurrentTCB.18_14)
- goto <bb 12>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- uxSchedulerSuspended.19_15 = uxSchedulerSuspended;
- if (uxSchedulerSuspended.19_15 != 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
- _16 = 3758157060B;
- *_16 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 16> :
- # DEBUG BEGIN_STMT
- return;
- }
- prvAddNewTaskToReadyList (struct TCB_t * pxNewTCB)
- {
- struct ListItem_t * const pxIndex;
- <bb 2> :
- # DEBUG BEGIN_STMT
- vPortEnterCritical ();
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.2_1 = uxCurrentNumberOfTasks;
- _2 = uxCurrentNumberOfTasks.2_1 + 1;
- uxCurrentNumberOfTasks = _2;
- # DEBUG BEGIN_STMT
- pxCurrentTCB.3_3 = pxCurrentTCB;
- if (pxCurrentTCB.3_3 == 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB = pxNewTCB;
- # DEBUG BEGIN_STMT
- uxCurrentNumberOfTasks.4_4 = uxCurrentNumberOfTasks;
- if (uxCurrentNumberOfTasks.4_4 == 1)
- goto <bb 4>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- prvInitialiseTaskLists ();
- goto <bb 8>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- xSchedulerRunning.5_5 = xSchedulerRunning;
- if (xSchedulerRunning.5_5 == 0)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.6_6 = pxCurrentTCB;
- _7 = pxCurrentTCB.6_6->uxPriority;
- _8 = pxNewTCB->uxPriority;
- if (_7 <= _8)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB = pxNewTCB;
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- uxTaskNumber.7_9 = uxTaskNumber;
- _10 = uxTaskNumber.7_9 + 1;
- uxTaskNumber = _10;
- # DEBUG BEGIN_STMT
- uxTaskNumber.8_11 = uxTaskNumber;
- pxNewTCB->uxTCBNumber = uxTaskNumber.8_11;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _12 = pxNewTCB->uxPriority;
- uxTopReadyPriority.9_13 = uxTopReadyPriority;
- if (_12 > uxTopReadyPriority.9_13)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- _14 = pxNewTCB->uxPriority;
- uxTopReadyPriority = _14;
- <bb 10> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _15 = pxNewTCB->uxPriority;
- pxIndex = pxReadyTasksLists[_15].pxIndex;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxNewTCB->xStateListItem.pxNext = pxIndex;
- # DEBUG BEGIN_STMT
- _16 = pxIndex->pxPrevious;
- pxNewTCB->xStateListItem.pxPrevious = _16;
- # DEBUG BEGIN_STMT
- _17 = pxIndex->pxPrevious;
- _18 = &pxNewTCB->xStateListItem;
- _17->pxNext = _18;
- # DEBUG BEGIN_STMT
- _19 = &pxNewTCB->xStateListItem;
- pxIndex->pxPrevious = _19;
- # DEBUG BEGIN_STMT
- _20 = pxNewTCB->uxPriority;
- _21 = &pxReadyTasksLists[_20];
- pxNewTCB->xStateListItem.pvContainer = _21;
- # DEBUG BEGIN_STMT
- _22 = pxNewTCB->uxPriority;
- _23 = pxReadyTasksLists[_22].uxNumberOfItems;
- _24 = _23 + 1;
- pxReadyTasksLists[_22].uxNumberOfItems = _24;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- vPortExitCritical ();
- # DEBUG BEGIN_STMT
- xSchedulerRunning.10_25 = xSchedulerRunning;
- if (xSchedulerRunning.10_25 != 0)
- goto <bb 11>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- pxCurrentTCB.11_26 = pxCurrentTCB;
- _27 = pxCurrentTCB.11_26->uxPriority;
- _28 = pxNewTCB->uxPriority;
- if (_27 < _28)
- goto <bb 12>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 12> :
- # DEBUG BEGIN_STMT
- _29 = 3758157060B;
- *_29 = 268435456;
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("dsb" : : : "memory");
- # DEBUG BEGIN_STMT
- __asm__ __volatile__("isb");
- # DEBUG BEGIN_STMT
- <bb 13> :
- # DEBUG BEGIN_STMT
- return;
- }
- prvInitialiseNewTask (void (*TaskFunction_t) (void *) pxTaskCode, const char * const pcName, const uint32_t ulStackDepth, void * const pvParameters, UBaseType_t uxPriority, struct tskTaskControlBlock * * const pxCreatedTask, struct TCB_t * pxNewTCB, const struct MemoryRegion_t * const xRegions)
- {
- UBaseType_t x;
- StackType_t * pxTopOfStack;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = pxNewTCB->pxStack;
- _2 = ulStackDepth * 4;
- memset (_1, 165, _2);
- # DEBUG BEGIN_STMT
- _3 = pxNewTCB->pxStack;
- _4 = ulStackDepth + 1073741823;
- _5 = _4 * 4;
- pxTopOfStack = _3 + _5;
- # DEBUG BEGIN_STMT
- pxTopOfStack.0_6 = (long unsigned int) pxTopOfStack;
- _7 = pxTopOfStack.0_6 & 4294967288;
- pxTopOfStack = (StackType_t *) _7;
- # DEBUG BEGIN_STMT
- pxTopOfStack.1_8 = (long unsigned int) pxTopOfStack;
- _9 = pxTopOfStack.1_8 & 7;
- if (_9 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 3> :
- # 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 (pcName != 0B)
- goto <bb 6>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- x = 0;
- goto <bb 9>; [INV]
- <bb 7> :
- # DEBUG BEGIN_STMT
- _10 = pcName + x;
- _11 = *_10;
- pxNewTCB->pcTaskName[x] = _11;
- # DEBUG BEGIN_STMT
- _12 = pcName + x;
- _13 = *_12;
- if (_13 == 0)
- goto <bb 10>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- x = x + 1;
- <bb 9> :
- # DEBUG BEGIN_STMT
- if (x <= 9)
- goto <bb 7>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 10> :
- # DEBUG BEGIN_STMT
- pxNewTCB->pcTaskName[9] = 0;
- goto <bb 12>; [INV]
- <bb 11> :
- # DEBUG BEGIN_STMT
- pxNewTCB->pcTaskName[0] = 0;
- <bb 12> :
- # DEBUG BEGIN_STMT
- if (uxPriority > 4)
- 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
- if (uxPriority > 4)
- goto <bb 16>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 16> :
- # DEBUG BEGIN_STMT
- uxPriority = 4;
- <bb 17> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- pxNewTCB->uxPriority = uxPriority;
- # DEBUG BEGIN_STMT
- pxNewTCB->uxBasePriority = uxPriority;
- # DEBUG BEGIN_STMT
- pxNewTCB->uxMutexesHeld = 0;
- # DEBUG BEGIN_STMT
- _14 = &pxNewTCB->xStateListItem;
- vListInitialiseItem (_14);
- # DEBUG BEGIN_STMT
- _15 = &pxNewTCB->xEventListItem;
- vListInitialiseItem (_15);
- # DEBUG BEGIN_STMT
- pxNewTCB->xStateListItem.pvOwner = pxNewTCB;
- # DEBUG BEGIN_STMT
- _16 = 5 - uxPriority;
- pxNewTCB->xEventListItem.xItemValue = _16;
- # DEBUG BEGIN_STMT
- pxNewTCB->xEventListItem.pvOwner = pxNewTCB;
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _17 = &pxNewTCB->ulNotifiedValue[0];
- memset (_17, 0, 4);
- # DEBUG BEGIN_STMT
- _18 = &pxNewTCB->ucNotifyState[0];
- memset (_18, 0, 1);
- # DEBUG BEGIN_STMT
- pxNewTCB->ucDelayAborted = 0;
- # DEBUG BEGIN_STMT
- _19 = pxPortInitialiseStack (pxTopOfStack, pxTaskCode, pvParameters);
- pxNewTCB->pxTopOfStack = _19;
- # DEBUG BEGIN_STMT
- if (pxCreatedTask != 0B)
- goto <bb 18>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 18> :
- # DEBUG BEGIN_STMT
- *pxCreatedTask = pxNewTCB;
- <bb 19> :
- # DEBUG BEGIN_STMT
- return;
- }
- xTaskCreate (void (*TaskFunction_t) (void *) pxTaskCode, const char * const pcName, const uint16_t usStackDepth, void * const pvParameters, UBaseType_t uxPriority, struct tskTaskControlBlock * * const pxCreatedTask)
- {
- StackType_t * pxStack;
- BaseType_t xReturn;
- struct TCB_t * pxNewTCB;
- BaseType_t D.7508;
- <bb 2> :
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- # DEBUG BEGIN_STMT
- _1 = (unsigned int) usStackDepth;
- _2 = _1 * 4;
- pxStack = pvPortMalloc (_2);
- # DEBUG BEGIN_STMT
- if (pxStack != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 3> :
- # DEBUG BEGIN_STMT
- pxNewTCB = pvPortMalloc (88);
- # DEBUG BEGIN_STMT
- if (pxNewTCB != 0B)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- # DEBUG BEGIN_STMT
- pxNewTCB->pxStack = pxStack;
- goto <bb 7>; [INV]
- <bb 5> :
- # DEBUG BEGIN_STMT
- vPortFree (pxStack);
- goto <bb 7>; [INV]
- <bb 6> :
- # DEBUG BEGIN_STMT
- pxNewTCB = 0B;
- <bb 7> :
- # DEBUG BEGIN_STMT
- if (pxNewTCB != 0B)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- # DEBUG BEGIN_STMT
- _3 = (long unsigned int) usStackDepth;
- prvInitialiseNewTask (pxTaskCode, pcName, _3, pvParameters, uxPriority, pxCreatedTask, pxNewTCB, 0B);
- # DEBUG BEGIN_STMT
- prvAddNewTaskToReadyList (pxNewTCB);
- # DEBUG BEGIN_STMT
- xReturn = 1;
- goto <bb 10>; [INV]
- <bb 9> :
- # DEBUG BEGIN_STMT
- xReturn = -1;
- <bb 10> :
- # DEBUG BEGIN_STMT
- D.7508 = xReturn;
- return D.7508;
- }
- __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.7648;
- <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.7648 = ulOriginalBASEPRI;
- return D.7648;
- }
- __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;
- }
|