12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764 |
- Marking local functions: FlexCAN_SetPNPayloadLowFilter2 FlexCAN_SetPNPayloadHighFilter2 FlexCAN_SetPNPayloadLowFilter1 FlexCAN_SetPNPayloadHighFilter1 FlexCAN_SetPNDlcFilter FlexCAN_SetPNIdFilter2 FlexCAN_SetPNIdFilter2Check FlexCAN_SetPNIdFilter1 FlexCAN_SetPNTimeoutValue FlexCAN_SetPNFilteringSelection FlexCAN_CanBitSampling FlexCAN_SetEdgeFilter FlexCAN_SetBusOffAutorecovery FlexCAN_SetRemoteReqStore FlexCAN_SetProtocolException FlexCAN_SetEntireFrameArbitrationFieldComparison FlexCAN_SetIsoCan FlexCAN_IsFDEnabled FlexCAN_SetSelfReception DevAssert
- Marking externally visible functions: FlexCAN_ConfigPN FlexCAN_ConfigCtrlOptions FlexCAN_IsMbOutOfRange FlexCAN_ReadRxFifo FlexCAN_SetRxFifoFilter FlexCAN_SetOperationMode FlexCAN_SetMaxMsgBuffNum FlexCAN_SetTxMsgBuff FlexCAN_GetMsgBuff FlexCAN_GetMsgBuffTimestamp FlexCAN_SetRxMsgBuff FlexCAN_EnableInterrupts FlexCAN_DisableInterrupts FLEXCAN_ClearMsgBuffIntCmd FlexCAN_SetMsgBuffIntCmd FlexCAN_LockRxMsgBuff FlexCAN_GetMbPayloadSize FlexCAN_SetPayloadSize FlexCAN_IsFDAvailable FlexCAN_EnableRxFifo FlexCAN_Init FlexCAN_SetErrIntCmd FlexCAN_Disable FlexCAN_ExitFreezeMode FlexCAN_Enable FlexCAN_EnterFreezeMode FlexCAN_GetMaxMbNum FlexCAN_GetMsgBuffRegion
- Marking externally visible variables:
- Reclaiming functions:
- Reclaiming variables:
- Clearing address taken flags:
- Symbol table:
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/110 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13) @0713c9a0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_SetRxFifoFilter/83 FlexCAN_SetRxFifoFilter/83 FlexCAN_SetRxFifoFilter/83 FlexCAN_SetRxFifoFilter/83
- Calls:
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/109 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13) @0713c8c0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_SetRxFifoFilter/83 FlexCAN_SetRxFifoFilter/83 FlexCAN_SetRxFifoFilter/83 FlexCAN_SetRxFifoFilter/83
- Calls:
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11/108 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11) @0712cb60
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FLEXCAN_ClearMsgBuffIntCmd/74
- Calls:
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11/107 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11) @0712ca80
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FLEXCAN_ClearMsgBuffIntCmd/74
- Calls:
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/106 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18) @0712c7e0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_SetMsgBuffIntCmd/73 FlexCAN_SetMsgBuffIntCmd/73
- Calls:
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/105 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18) @0712c700
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_SetMsgBuffIntCmd/73 FlexCAN_SetMsgBuffIntCmd/73
- Calls:
- flexcanBase.7183/104 (flexcanBase) @07128990
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: FlexCAN_IsFDAvailable/68 (read)
- Availability: available
- Varpool flags: initialized read-only const-value-known
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06/103 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06) @0634ad20
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_SetErrIntCmd/65
- Calls:
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06/102 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06) @0634ac40
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_SetErrIntCmd/65
- Calls:
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05/101 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05) @0634aa80
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_Disable/64
- Calls:
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05/100 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05) @0634a9a0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_Disable/64
- Calls:
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04/99 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04) @0634a7e0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_ExitFreezeMode/63
- Calls:
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04/98 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04) @0634a700
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_ExitFreezeMode/63
- Calls:
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03/97 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03) @0634a540
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_Enable/62
- Calls:
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03/96 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03) @0634a460
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_Enable/62
- Calls:
- OsIf_GetElapsed/95 (OsIf_GetElapsed) @0634a2a0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_Init/66 FlexCAN_Disable/64 FlexCAN_ExitFreezeMode/63 FlexCAN_Enable/62 FlexCAN_EnterFreezeMode/61
- Calls:
- OsIf_GetCounter/94 (OsIf_GetCounter) @0634a1c0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_Init/66 FlexCAN_Disable/64 FlexCAN_ExitFreezeMode/63 FlexCAN_Enable/62 FlexCAN_EnterFreezeMode/61
- Calls:
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02/93 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02) @0634a0e0
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_EnterFreezeMode/61
- Calls:
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02/92 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02) @0634a000
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_EnterFreezeMode/61
- Calls:
- OsIf_MicrosToTicks/91 (OsIf_MicrosToTicks) @06f37700
- Type: function
- Visibility: external public
- References:
- Referring:
- Availability: not_available
- Function flags:
- Called by: FlexCAN_Init/66 FlexCAN_Disable/64 FlexCAN_ExitFreezeMode/63 FlexCAN_Enable/62 FlexCAN_EnterFreezeMode/61
- Calls:
- maxMbNum.7109/90 (maxMbNum) @063465e8
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: FlexCAN_GetMaxMbNum/60 (read)
- Availability: available
- Varpool flags: initialized read-only const-value-known
- flexcanBase.7108/89 (flexcanBase) @063465a0
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: FlexCAN_GetMaxMbNum/60 (read)
- Availability: available
- Varpool flags: initialized read-only const-value-known
- payload_code.7058/88 (payload_code) @06f3b6c0
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: FlexCAN_ComputeDLCValue/56 (read)
- Availability: available
- Varpool flags: initialized read-only const-value-known
- FlexCAN_ConfigPN/87 (FlexCAN_ConfigPN) @06f378c0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: FlexCAN_SetPNPayloadLowFilter2/46 FlexCAN_SetPNPayloadHighFilter2/45 FlexCAN_SetPNPayloadLowFilter1/44 FlexCAN_SetPNPayloadHighFilter1/43 FlexCAN_SetPNDlcFilter/42 FlexCAN_SetPNIdFilter2Check/40 FlexCAN_SetPNIdFilter2/41 FlexCAN_SetPNIdFilter1/39 FlexCAN_SetPNTimeoutValue/38 FlexCAN_SetPNFilteringSelection/37
- FlexCAN_ConfigCtrlOptions/86 (FlexCAN_ConfigCtrlOptions) @06f37620
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: FlexCAN_SetEdgeFilter/27 FlexCAN_SetEdgeFilter/27 FlexCAN_SetRemoteReqStore/25 FlexCAN_SetRemoteReqStore/25 FlexCAN_SetBusOffAutorecovery/26 FlexCAN_SetBusOffAutorecovery/26 FlexCAN_CanBitSampling/28 FlexCAN_CanBitSampling/28 FlexCAN_SetProtocolException/24 FlexCAN_SetProtocolException/24 FlexCAN_SetEntireFrameArbitrationFieldComparison/23 FlexCAN_SetEntireFrameArbitrationFieldComparison/23 FlexCAN_SetIsoCan/22 FlexCAN_SetIsoCan/22
- FlexCAN_IsMbOutOfRange/85 (FlexCAN_IsMbOutOfRange) @06f37380
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls:
- FlexCAN_ReadRxFifo/84 (FlexCAN_ReadRxFifo) @06f370e0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: DevAssert/0 FlexCAN_ComputePayloadSize/58
- FlexCAN_SetRxFifoFilter/83 (FlexCAN_SetRxFifoFilter) @06f22620
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/110 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/109 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/110 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/109 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/110 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/109 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13/110 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13/109 DevAssert/0
- FlexCAN_SetOperationMode/82 (FlexCAN_SetOperationMode) @06f22ee0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: FlexCAN_SetSelfReception/18
- FlexCAN_SetMaxMsgBuffNum/81 (FlexCAN_SetMaxMsgBuffNum) @06f227e0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: FlexCAN_GetMbPayloadSize/71 FlexCAN_GetMsgBuffRegion/59 FlexCAN_GetMaxMbNum/60 FlexCAN_GetMsgBuffRegion/59 DevAssert/0 FlexCAN_GetMbPayloadSize/71
- FlexCAN_SetTxMsgBuff/80 (FlexCAN_SetTxMsgBuff) @06f22540
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: FlexCAN_ComputePayloadSize/58 FlexCAN_ComputeDLCValue/56 DevAssert/0
- FlexCAN_GetMsgBuff/79 (FlexCAN_GetMsgBuff) @06f22000
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: FlexCAN_GetMbPayloadSize/71 FlexCAN_GetMbPayloadSize/71 DevAssert/0 FlexCAN_ComputePayloadSize/58 FlexCAN_GetMsgBuffRegion/59
- FlexCAN_GetMsgBuffTimestamp/78 (FlexCAN_GetMsgBuffTimestamp) @06f14620
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: FlexCAN_GetMsgBuffRegion/59
- FlexCAN_SetRxMsgBuff/77 (FlexCAN_SetRxMsgBuff) @06f140e0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: DevAssert/0 FlexCAN_GetMsgBuffRegion/59
- FlexCAN_EnableInterrupts/76 (FlexCAN_EnableInterrupts) @06f14d20
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: FlexCAN_Ip_au32ImaskBuff/55 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls:
- FlexCAN_DisableInterrupts/75 (FlexCAN_DisableInterrupts) @06f14a80
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls:
- FLEXCAN_ClearMsgBuffIntCmd/74 (FLEXCAN_ClearMsgBuffIntCmd) @06f147e0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: FlexCAN_Ip_au32ImaskBuff/55 (write)FlexCAN_Ip_au32ImaskBuff/55 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11/108 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11/107
- FlexCAN_SetMsgBuffIntCmd/73 (FlexCAN_SetMsgBuffIntCmd) @06f14540
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: FlexCAN_Ip_au32ImaskBuff/55 (read)FlexCAN_Ip_au32ImaskBuff/55 (write)FlexCAN_Ip_au32ImaskBuff/55 (read)FlexCAN_Ip_au32ImaskBuff/55 (read)FlexCAN_Ip_au32ImaskBuff/55 (write)FlexCAN_Ip_au32ImaskBuff/55 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/106 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/105 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18/106 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18/105
- FlexCAN_LockRxMsgBuff/72 (FlexCAN_LockRxMsgBuff) @06f142a0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: FlexCAN_GetMsgBuffRegion/59
- FlexCAN_GetMbPayloadSize/71 (FlexCAN_GetMbPayloadSize) @06f14000
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by: FlexCAN_SetMaxMsgBuffNum/81 FlexCAN_SetMaxMsgBuffNum/81 FlexCAN_GetMsgBuff/79 FlexCAN_GetMsgBuff/79
- Calls: FlexCAN_GetPayloadSize/70
- FlexCAN_GetPayloadSize/70 (FlexCAN_GetPayloadSize) @07089b60
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by: FlexCAN_GetMbPayloadSize/71 FlexCAN_GetMsgBuffRegion/59
- Calls: FlexCAN_IsFDAvailable/68
- FlexCAN_SetPayloadSize/69 (FlexCAN_SetPayloadSize) @07089380
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: FlexCAN_IsFDEnabled/19 DevAssert/0 FlexCAN_IsFDEnabled/19
- FlexCAN_IsFDAvailable/68 (FlexCAN_IsFDAvailable) @07089d20
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: flexcanBase.7183/104 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by: FlexCAN_GetPayloadSize/70 FlexCAN_Init/66
- Calls:
- FlexCAN_EnableRxFifo/67 (FlexCAN_EnableRxFifo) @07089a80
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: FlexCAN_GetMaxMbNum/60
- FlexCAN_Init/66 (FlexCAN_Init) @07089700
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: FlexCAN_IsFDAvailable/68 FlexCAN_ClearRAM/57 OsIf_GetElapsed/95 OsIf_GetCounter/94 OsIf_MicrosToTicks/91
- FlexCAN_SetErrIntCmd/65 (FlexCAN_SetErrIntCmd) @070892a0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06/103 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06/102
- FlexCAN_Disable/64 (FlexCAN_Disable) @0707e7e0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: OsIf_GetElapsed/95 OsIf_GetCounter/94 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05/101 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05/100 OsIf_MicrosToTicks/91
- FlexCAN_ExitFreezeMode/63 (FlexCAN_ExitFreezeMode) @0707ee00
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: OsIf_GetElapsed/95 OsIf_GetCounter/94 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04/99 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04/98 OsIf_MicrosToTicks/91
- FlexCAN_Enable/62 (FlexCAN_Enable) @0707e9a0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: OsIf_GetElapsed/95 OsIf_GetCounter/94 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03/97 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03/96 OsIf_MicrosToTicks/91
- FlexCAN_EnterFreezeMode/61 (FlexCAN_EnterFreezeMode) @0707e700
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by:
- Calls: OsIf_GetElapsed/95 OsIf_GetCounter/94 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02/93 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02/92 OsIf_MicrosToTicks/91
- FlexCAN_GetMaxMbNum/60 (FlexCAN_GetMaxMbNum) @0707e2a0
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References: flexcanBase.7108/89 (read)maxMbNum.7109/90 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by: FlexCAN_SetMaxMsgBuffNum/81 FlexCAN_EnableRxFifo/67 FlexCAN_ClearRAM/57 FlexCAN_ClearRAM/57
- Calls:
- FlexCAN_GetMsgBuffRegion/59 (FlexCAN_GetMsgBuffRegion) @0707e000
- Type: function definition analyzed
- Visibility: force_output externally_visible no_reorder public
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by: FlexCAN_SetMaxMsgBuffNum/81 FlexCAN_SetMaxMsgBuffNum/81 FlexCAN_GetMsgBuff/79 FlexCAN_GetMsgBuffTimestamp/78 FlexCAN_SetRxMsgBuff/77 FlexCAN_LockRxMsgBuff/72
- Calls: FlexCAN_GetPayloadSize/70
- FlexCAN_ComputePayloadSize/58 (FlexCAN_ComputePayloadSize) @06a2ab60
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by: FlexCAN_ReadRxFifo/84 FlexCAN_SetTxMsgBuff/80 FlexCAN_GetMsgBuff/79
- Calls:
- FlexCAN_ClearRAM/57 (FlexCAN_ClearRAM) @06a2aee0
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: available
- Function flags: body
- Called by: FlexCAN_Init/66
- Calls: FlexCAN_GetMaxMbNum/60 FlexCAN_GetMaxMbNum/60
- FlexCAN_ComputeDLCValue/56 (FlexCAN_ComputeDLCValue) @06a2ac40
- Type: function definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References: payload_code.7058/88 (read)
- Referring:
- Availability: available
- Function flags: body
- Called by: FlexCAN_SetTxMsgBuff/80
- Calls:
- FlexCAN_Ip_au32ImaskBuff/55 (FlexCAN_Ip_au32ImaskBuff) @06a295e8
- Type: variable definition analyzed
- Visibility: force_output no_reorder prevailing_def_ironly
- References:
- Referring: FlexCAN_SetMsgBuffIntCmd/73 (read)FlexCAN_SetMsgBuffIntCmd/73 (write)FlexCAN_SetMsgBuffIntCmd/73 (read)FlexCAN_SetMsgBuffIntCmd/73 (read)FlexCAN_SetMsgBuffIntCmd/73 (write)FlexCAN_SetMsgBuffIntCmd/73 (read)FLEXCAN_ClearMsgBuffIntCmd/74 (write)FLEXCAN_ClearMsgBuffIntCmd/74 (read)FlexCAN_EnableInterrupts/76 (read)
- Availability: available
- Varpool flags:
- FlexCAN_SetPNPayloadLowFilter2/46 (FlexCAN_SetPNPayloadLowFilter2) @06f6ca80
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigPN/87
- Calls:
- FlexCAN_SetPNPayloadHighFilter2/45 (FlexCAN_SetPNPayloadHighFilter2) @06f6c460
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigPN/87
- Calls:
- FlexCAN_SetPNPayloadLowFilter1/44 (FlexCAN_SetPNPayloadLowFilter1) @06f6ae00
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigPN/87
- Calls:
- FlexCAN_SetPNPayloadHighFilter1/43 (FlexCAN_SetPNPayloadHighFilter1) @06f6a7e0
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigPN/87
- Calls:
- FlexCAN_SetPNDlcFilter/42 (FlexCAN_SetPNDlcFilter) @06f6a1c0
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigPN/87
- Calls:
- FlexCAN_SetPNIdFilter2/41 (FlexCAN_SetPNIdFilter2) @06f65d20
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigPN/87
- Calls:
- FlexCAN_SetPNIdFilter2Check/40 (FlexCAN_SetPNIdFilter2Check) @06f659a0
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigPN/87
- Calls:
- FlexCAN_SetPNIdFilter1/39 (FlexCAN_SetPNIdFilter1) @06f65700
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigPN/87
- Calls:
- FlexCAN_SetPNTimeoutValue/38 (FlexCAN_SetPNTimeoutValue) @06f65380
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigPN/87
- Calls:
- FlexCAN_SetPNFilteringSelection/37 (FlexCAN_SetPNFilteringSelection) @06f65000
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigPN/87
- Calls:
- FlexCAN_CanBitSampling/28 (FlexCAN_CanBitSampling) @06f59000
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigCtrlOptions/86 FlexCAN_ConfigCtrlOptions/86
- Calls:
- FlexCAN_SetEdgeFilter/27 (FlexCAN_SetEdgeFilter) @06f56c40
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigCtrlOptions/86 FlexCAN_ConfigCtrlOptions/86
- Calls:
- FlexCAN_SetBusOffAutorecovery/26 (FlexCAN_SetBusOffAutorecovery) @06f568c0
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigCtrlOptions/86 FlexCAN_ConfigCtrlOptions/86
- Calls:
- FlexCAN_SetRemoteReqStore/25 (FlexCAN_SetRemoteReqStore) @06f56540
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigCtrlOptions/86 FlexCAN_ConfigCtrlOptions/86
- Calls:
- FlexCAN_SetProtocolException/24 (FlexCAN_SetProtocolException) @06f561c0
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigCtrlOptions/86 FlexCAN_ConfigCtrlOptions/86
- Calls:
- FlexCAN_SetEntireFrameArbitrationFieldComparison/23 (FlexCAN_SetEntireFrameArbitrationFieldComparison) @06f52e00
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigCtrlOptions/86 FlexCAN_ConfigCtrlOptions/86
- Calls:
- FlexCAN_SetIsoCan/22 (FlexCAN_SetIsoCan) @06f52a80
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ConfigCtrlOptions/86 FlexCAN_ConfigCtrlOptions/86
- Calls:
- FlexCAN_IsFDEnabled/19 (FlexCAN_IsFDEnabled) @06f520e0
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_SetPayloadSize/69 FlexCAN_SetPayloadSize/69
- Calls:
- FlexCAN_SetSelfReception/18 (FlexCAN_SetSelfReception) @07004e00
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_SetOperationMode/82
- Calls:
- DevAssert/0 (DevAssert) @06ee59a0
- Type: function definition analyzed
- Visibility: no_reorder prevailing_def_ironly
- References:
- Referring:
- Availability: local
- Function flags: body local
- Called by: FlexCAN_ReadRxFifo/84 FlexCAN_SetRxFifoFilter/83 FlexCAN_SetMaxMsgBuffNum/81 FlexCAN_SetTxMsgBuff/80 FlexCAN_GetMsgBuff/79 FlexCAN_SetRxMsgBuff/77 FlexCAN_SetPayloadSize/69
- Calls:
- FlexCAN_ConfigPN (struct FLEXCAN_Type * pBase, const struct Flexcan_Ip_PnConfigType * pPnConfig)
- {
- <bb 2> :
- FlexCAN_SetPNFilteringSelection (pBase, pPnConfig);
- _1 = pPnConfig->u16MatchTimeout;
- FlexCAN_SetPNTimeoutValue (pBase, _1);
- FlexCAN_SetPNIdFilter1 (pBase, pPnConfig->idFilter1);
- _2 = pPnConfig->eIdFilterType;
- if (_2 == 0)
- goto <bb 4>; [INV]
- else
- goto <bb 3>; [INV]
- <bb 3> :
- _3 = pPnConfig->eIdFilterType;
- if (_3 == 3)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- FlexCAN_SetPNIdFilter2 (pBase, pPnConfig);
- goto <bb 6>; [INV]
- <bb 5> :
- FlexCAN_SetPNIdFilter2Check (pBase);
- <bb 6> :
- _4 = pPnConfig->eFilterComb;
- if (_4 == 1)
- goto <bb 8>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 7> :
- _5 = pPnConfig->eFilterComb;
- if (_5 == 3)
- goto <bb 8>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 8> :
- _6 = pPnConfig->payloadFilter.u8DlcLow;
- _7 = pPnConfig->payloadFilter.u8DlcHigh;
- FlexCAN_SetPNDlcFilter (pBase, _6, _7);
- _8 = &pPnConfig->payloadFilter.aPayload1;
- FlexCAN_SetPNPayloadHighFilter1 (pBase, _8);
- _9 = &pPnConfig->payloadFilter.aPayload1;
- FlexCAN_SetPNPayloadLowFilter1 (pBase, _9);
- _10 = pPnConfig->ePayloadFilterType;
- if (_10 == 0)
- goto <bb 10>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 9> :
- _11 = pPnConfig->ePayloadFilterType;
- if (_11 == 3)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- _12 = &pPnConfig->payloadFilter.aPayload2;
- FlexCAN_SetPNPayloadHighFilter2 (pBase, _12);
- _13 = &pPnConfig->payloadFilter.aPayload2;
- FlexCAN_SetPNPayloadLowFilter2 (pBase, _13);
- <bb 11> :
- return;
- }
- FlexCAN_ConfigCtrlOptions (struct FLEXCAN_Type * pBase, uint32 u32Options)
- {
- <bb 2> :
- _1 = u32Options & 32;
- if (_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- FlexCAN_SetIsoCan (pBase, 1);
- goto <bb 5>; [INV]
- <bb 4> :
- FlexCAN_SetIsoCan (pBase, 0);
- <bb 5> :
- _2 = u32Options & 64;
- if (_2 != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- FlexCAN_SetEntireFrameArbitrationFieldComparison (pBase, 1);
- goto <bb 8>; [INV]
- <bb 7> :
- FlexCAN_SetEntireFrameArbitrationFieldComparison (pBase, 0);
- <bb 8> :
- _3 = u32Options & 8;
- if (_3 != 0)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- FlexCAN_SetProtocolException (pBase, 1);
- goto <bb 11>; [INV]
- <bb 10> :
- FlexCAN_SetProtocolException (pBase, 0);
- <bb 11> :
- _4 = u32Options & 2;
- if (_4 != 0)
- goto <bb 12>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 12> :
- _5 = pBase->MCR;
- _6 = _5 & 2048;
- if (_6 == 0)
- goto <bb 13>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 13> :
- FlexCAN_CanBitSampling (pBase, 1);
- goto <bb 15>; [INV]
- <bb 14> :
- FlexCAN_CanBitSampling (pBase, 0);
- <bb 15> :
- _7 = u32Options & 4;
- if (_7 != 0)
- goto <bb 16>; [INV]
- else
- goto <bb 17>; [INV]
- <bb 16> :
- FlexCAN_SetBusOffAutorecovery (pBase, 1);
- goto <bb 18>; [INV]
- <bb 17> :
- FlexCAN_SetBusOffAutorecovery (pBase, 0);
- <bb 18> :
- _8 = u32Options & 1;
- if (_8 != 0)
- goto <bb 19>; [INV]
- else
- goto <bb 20>; [INV]
- <bb 19> :
- FlexCAN_SetRemoteReqStore (pBase, 1);
- goto <bb 21>; [INV]
- <bb 20> :
- FlexCAN_SetRemoteReqStore (pBase, 0);
- <bb 21> :
- _9 = u32Options & 16;
- if (_9 != 0)
- goto <bb 22>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 22> :
- FlexCAN_SetEdgeFilter (pBase, 1);
- goto <bb 24>; [INV]
- <bb 23> :
- FlexCAN_SetEdgeFilter (pBase, 0);
- <bb 24> :
- return;
- }
- FlexCAN_IsMbOutOfRange (const struct FLEXCAN_Type * pBase, uint8 u8MbIndex, boolean bIsLegacyFifoEn, uint32 u32MaxMbNum)
- {
- uint32 u32NumOfMbOccupiedByFiFo;
- uint32 u32NumOfFiFoElement;
- boolean ReturnValue;
- boolean D.7600;
- <bb 2> :
- ReturnValue = 0;
- u32NumOfFiFoElement = 0;
- u32NumOfMbOccupiedByFiFo = 0;
- _1 = (unsigned char) u32MaxMbNum;
- if (u8MbIndex >= _1)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- ReturnValue = 1;
- goto <bb 8>; [INV]
- <bb 4> :
- if (bIsLegacyFifoEn != 0)
- goto <bb 5>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 5> :
- _2 = pBase->CTRL2;
- _3 = _2 >> 24;
- u32NumOfFiFoElement = _3 & 15;
- _4 = u32NumOfFiFoElement + 1;
- _5 = _4 * 8;
- _6 = _5 / 4;
- u32NumOfMbOccupiedByFiFo = _6 + 5;
- _7 = (long unsigned int) u8MbIndex;
- if (u32NumOfMbOccupiedByFiFo >= _7)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 6> :
- ReturnValue = 1;
- goto <bb 8>; [INV]
- <bb 7> :
- ReturnValue = 0;
- <bb 8> :
- D.7600 = ReturnValue;
- <bb 9> :
- <L8>:
- return D.7600;
- }
- FlexCAN_ReadRxFifo (const struct FLEXCAN_Type * base, struct Flexcan_Ip_MsgBuffType * rxFifo)
- {
- uint8 can_real_payload;
- uint8 flexcan_mb_dlc_value;
- uint32 * msgData_32;
- const uint32 * flexcan_mb_data_32;
- const uint32 * flexcan_mb_id;
- const uint32 * flexcan_mb;
- uint32 MbWord;
- uint32 DataByte;
- <bb 2> :
- base.14_1 = (long unsigned int) base;
- _2 = base.14_1 + 128;
- flexcan_mb = (const uint32 *) _2;
- flexcan_mb_id = flexcan_mb + 4;
- flexcan_mb_data_32 = flexcan_mb + 8;
- msgData_32 = &rxFifo->data;
- _3 = *flexcan_mb;
- _4 = _3 >> 16;
- _5 = (unsigned char) _4;
- flexcan_mb_dlc_value = _5 & 15;
- can_real_payload = FlexCAN_ComputePayloadSize (flexcan_mb_dlc_value);
- _6 = rxFifo != 0B;
- DevAssert (_6);
- if (can_real_payload > 8)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- can_real_payload = 8;
- <bb 4> :
- rxFifo->dataLen = can_real_payload;
- _7 = *flexcan_mb;
- rxFifo->cs = _7;
- _8 = rxFifo->cs;
- _9 = _8 & 2097152;
- if (_9 != 0)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- _10 = *flexcan_mb_id;
- rxFifo->msgId = _10;
- goto <bb 7>; [INV]
- <bb 6> :
- _11 = *flexcan_mb_id;
- _12 = _11 >> 18;
- rxFifo->msgId = _12;
- <bb 7> :
- _13 = base->RXFIR;
- _14 = (unsigned char) _13;
- rxFifo->id_hit = _14;
- _15 = rxFifo->cs;
- _16 = _15 & 65535;
- rxFifo->time_stamp = _16;
- DataByte = 0;
- goto <bb 9>; [INV]
- <bb 8> :
- _17 = DataByte >> 2;
- _18 = _17 * 4;
- _19 = flexcan_mb_data_32 + _18;
- MbWord = *_19;
- _20 = MbWord >> 24;
- _21 = MbWord >> 8;
- _22 = _21 & 65280;
- _23 = _20 | _22;
- _24 = MbWord << 8;
- _25 = _24 & 16711680;
- _26 = _23 | _25;
- _27 = MbWord << 24;
- _28 = DataByte >> 2;
- _29 = _28 * 4;
- _30 = msgData_32 + _29;
- _31 = _26 | _27;
- *_30 = _31;
- DataByte = DataByte + 4;
- <bb 9> :
- _32 = (long unsigned int) can_real_payload;
- if (DataByte < _32)
- goto <bb 8>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 10> :
- return;
- }
- FlexCAN_SetRxFifoFilter (struct FLEXCAN_Type * base, Flexcan_Ip_RxFifoIdElementFormatType idFormat, const struct Flexcan_Ip_IdTableType * idFilterTable)
- {
- volatile uint32 * FilterTable;
- uint32 Val;
- uint32 Val2;
- uint32 Val1;
- uint32 NumOfFilters;
- uint32 j;
- uint32 i;
- int iftmp.13;
- <bb 2> :
- Val1 = 0;
- Val2 = 0;
- Val = 0;
- base.12_1 = (long unsigned int) base;
- _2 = base.12_1 + 224;
- FilterTable = (volatile uint32 *) _2;
- if (idFilterTable != 0B)
- goto <bb 4>; [INV]
- else
- goto <bb 3>; [INV]
- <bb 3> :
- if (idFormat == 3)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.13 = 1;
- goto <bb 6>; [INV]
- <bb 5> :
- iftmp.13 = 0;
- <bb 6> :
- _3 = (_Bool) iftmp.13;
- DevAssert (_3);
- _4 = base->CTRL2;
- _5 = _4 >> 24;
- NumOfFilters = _5 & 15;
- switch (idFormat) <default: <L44> [INV], case 0: <L4> [INV], case 1: <L13> [INV], case 2: <L27> [INV], case 3: <L43> [INV]>
- <bb 7> :
- <L4>:
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13 ();
- _6 = base->MCR;
- _7 = _6 & 4294966527;
- base->MCR = _7;
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13 ();
- i = 0;
- goto <bb 14>; [INV]
- <bb 8> :
- Val = 0;
- _8 = i * 8;
- _9 = idFilterTable + _8;
- _10 = _9->isRemoteFrame;
- if (_10 != 0)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- Val = 2147483648;
- <bb 10> :
- _11 = i * 8;
- _12 = idFilterTable + _11;
- _13 = _12->isExtendedFrame;
- if (_13 != 0)
- goto <bb 11>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 11> :
- Val = Val | 1073741824;
- _14 = i * 8;
- _15 = idFilterTable + _14;
- _16 = _15->id;
- _17 = _16 << 1;
- _18 = _17 & 1073741823;
- _19 = i * 4;
- _20 = FilterTable + _19;
- _21 = Val + _18;
- *_20 = _21;
- goto <bb 13>; [INV]
- <bb 12> :
- _22 = i * 8;
- _23 = idFilterTable + _22;
- _24 = _23->id;
- _25 = _24 << 19;
- _26 = _25 & 1073217536;
- _27 = i * 4;
- _28 = FilterTable + _27;
- _29 = Val + _26;
- *_28 = _29;
- <bb 13> :
- i = i + 1;
- <bb 14> :
- _30 = NumOfFilters + 1;
- _31 = _30 * 8;
- if (i < _31)
- goto <bb 8>; [INV]
- else
- goto <bb 15>; [INV]
- <bb 15> :
- goto <bb 48>; [INV]
- <bb 16> :
- <L13>:
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13 ();
- _32 = base->MCR;
- _33 = _32 & 4294966527;
- _34 = _33 | 256;
- base->MCR = _34;
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13 ();
- j = 0;
- i = 0;
- goto <bb 28>; [INV]
- <bb 17> :
- Val1 = 0;
- Val2 = 0;
- _35 = j * 8;
- _36 = idFilterTable + _35;
- _37 = _36->isRemoteFrame;
- if (_37 != 0)
- goto <bb 18>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 18> :
- Val1 = 2147483648;
- <bb 19> :
- _38 = j + 1;
- _39 = _38 * 8;
- _40 = idFilterTable + _39;
- _41 = _40->isRemoteFrame;
- if (_41 != 0)
- goto <bb 20>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 20> :
- Val2 = 32768;
- <bb 21> :
- _42 = j * 8;
- _43 = idFilterTable + _42;
- _44 = _43->isExtendedFrame;
- if (_44 != 0)
- goto <bb 22>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 22> :
- Val1 = Val1 | 1073741824;
- _45 = j * 8;
- _46 = idFilterTable + _45;
- _47 = _46->id;
- _48 = _47 >> 15;
- _49 = _48 << 16;
- _50 = _49 & 1073676288;
- _51 = i * 4;
- _52 = FilterTable + _51;
- _53 = Val1 + _50;
- *_52 = _53;
- goto <bb 24>; [INV]
- <bb 23> :
- _54 = j * 8;
- _55 = idFilterTable + _54;
- _56 = _55->id;
- _57 = _56 << 19;
- _58 = _57 & 1073217536;
- _59 = i * 4;
- _60 = FilterTable + _59;
- _61 = Val1 + _58;
- *_60 = _61;
- <bb 24> :
- _62 = j + 1;
- _63 = _62 * 8;
- _64 = idFilterTable + _63;
- _65 = _64->isExtendedFrame;
- if (_65 != 0)
- goto <bb 25>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 25> :
- Val2 = Val2 | 16384;
- _66 = i * 4;
- _67 = FilterTable + _66;
- _68 = *_67;
- _69 = j + 1;
- _70 = _69 * 8;
- _71 = idFilterTable + _70;
- _72 = _71->id;
- _73 = _72 >> 15;
- _74 = _73 & 16383;
- _75 = Val2 + _74;
- _76 = i * 4;
- _77 = FilterTable + _76;
- _78 = _68 | _75;
- *_77 = _78;
- goto <bb 27>; [INV]
- <bb 26> :
- _79 = i * 4;
- _80 = FilterTable + _79;
- _81 = *_80;
- _82 = j + 1;
- _83 = _82 * 8;
- _84 = idFilterTable + _83;
- _85 = _84->id;
- _86 = _85 << 3;
- _87 = _86 & 16376;
- _88 = Val2 + _87;
- _89 = i * 4;
- _90 = FilterTable + _89;
- _91 = _81 | _88;
- *_90 = _91;
- <bb 27> :
- j = j + 2;
- i = i + 1;
- <bb 28> :
- _92 = NumOfFilters + 1;
- _93 = _92 * 8;
- if (i < _93)
- goto <bb 17>; [INV]
- else
- goto <bb 29>; [INV]
- <bb 29> :
- goto <bb 48>; [INV]
- <bb 30> :
- <L27>:
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13 ();
- _94 = base->MCR;
- _95 = _94 & 4294966527;
- _96 = _95 | 512;
- base->MCR = _96;
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13 ();
- j = 0;
- i = 0;
- goto <bb 44>; [INV]
- <bb 31> :
- _97 = j * 8;
- _98 = idFilterTable + _97;
- _99 = _98->isExtendedFrame;
- if (_99 != 0)
- goto <bb 32>; [INV]
- else
- goto <bb 33>; [INV]
- <bb 32> :
- _100 = j * 8;
- _101 = idFilterTable + _100;
- _102 = _101->id;
- _103 = _102 >> 21;
- _104 = _103 << 24;
- _105 = i * 4;
- _106 = FilterTable + _105;
- _107 = Val1 + _104;
- *_106 = _107;
- goto <bb 34>; [INV]
- <bb 33> :
- _108 = j * 8;
- _109 = idFilterTable + _108;
- _110 = _109->id;
- _111 = _110 >> 3;
- _112 = _111 << 24;
- _113 = i * 4;
- _114 = FilterTable + _113;
- _115 = Val1 + _112;
- *_114 = _115;
- <bb 34> :
- _116 = j + 1;
- _117 = _116 * 8;
- _118 = idFilterTable + _117;
- _119 = _118->isExtendedFrame;
- if (_119 != 0)
- goto <bb 35>; [INV]
- else
- goto <bb 36>; [INV]
- <bb 35> :
- _120 = i * 4;
- _121 = FilterTable + _120;
- _122 = *_121;
- _123 = j + 1;
- _124 = _123 * 8;
- _125 = idFilterTable + _124;
- _126 = _125->id;
- _127 = _126 >> 21;
- _128 = _127 << 16;
- _129 = _128 & 16711680;
- _130 = Val1 + _129;
- _131 = i * 4;
- _132 = FilterTable + _131;
- _133 = _122 | _130;
- *_132 = _133;
- goto <bb 37>; [INV]
- <bb 36> :
- _134 = i * 4;
- _135 = FilterTable + _134;
- _136 = *_135;
- _137 = j + 1;
- _138 = _137 * 8;
- _139 = idFilterTable + _138;
- _140 = _139->id;
- _141 = _140 >> 3;
- _142 = _141 << 16;
- _143 = _142 & 16711680;
- _144 = Val1 + _143;
- _145 = i * 4;
- _146 = FilterTable + _145;
- _147 = _136 | _144;
- *_146 = _147;
- <bb 37> :
- _148 = j + 2;
- _149 = _148 * 8;
- _150 = idFilterTable + _149;
- _151 = _150->isExtendedFrame;
- if (_151 != 0)
- goto <bb 38>; [INV]
- else
- goto <bb 39>; [INV]
- <bb 38> :
- _152 = i * 4;
- _153 = FilterTable + _152;
- _154 = *_153;
- _155 = j + 2;
- _156 = _155 * 8;
- _157 = idFilterTable + _156;
- _158 = _157->id;
- _159 = _158 >> 21;
- _160 = _159 << 8;
- _161 = _160 & 65535;
- _162 = Val1 + _161;
- _163 = i * 4;
- _164 = FilterTable + _163;
- _165 = _154 | _162;
- *_164 = _165;
- goto <bb 40>; [INV]
- <bb 39> :
- _166 = i * 4;
- _167 = FilterTable + _166;
- _168 = *_167;
- _169 = j + 2;
- _170 = _169 * 8;
- _171 = idFilterTable + _170;
- _172 = _171->id;
- _173 = _172 >> 3;
- _174 = _173 << 8;
- _175 = _174 & 65535;
- _176 = Val1 + _175;
- _177 = i * 4;
- _178 = FilterTable + _177;
- _179 = _168 | _176;
- *_178 = _179;
- <bb 40> :
- _180 = j + 3;
- _181 = _180 * 8;
- _182 = idFilterTable + _181;
- _183 = _182->isExtendedFrame;
- if (_183 != 0)
- goto <bb 41>; [INV]
- else
- goto <bb 42>; [INV]
- <bb 41> :
- _184 = i * 4;
- _185 = FilterTable + _184;
- _186 = *_185;
- _187 = j + 3;
- _188 = _187 * 8;
- _189 = idFilterTable + _188;
- _190 = _189->id;
- _191 = _190 >> 21;
- _192 = _191 & 255;
- _193 = Val1 + _192;
- _194 = i * 4;
- _195 = FilterTable + _194;
- _196 = _186 | _193;
- *_195 = _196;
- goto <bb 43>; [INV]
- <bb 42> :
- _197 = i * 4;
- _198 = FilterTable + _197;
- _199 = *_198;
- _200 = j + 3;
- _201 = _200 * 8;
- _202 = idFilterTable + _201;
- _203 = _202->id;
- _204 = _203 >> 3;
- _205 = _204 & 255;
- _206 = Val1 + _205;
- _207 = i * 4;
- _208 = FilterTable + _207;
- _209 = _199 | _206;
- *_208 = _209;
- <bb 43> :
- j = j + 4;
- i = i + 1;
- <bb 44> :
- _210 = NumOfFilters + 1;
- _211 = _210 * 8;
- if (i < _211)
- goto <bb 31>; [INV]
- else
- goto <bb 45>; [INV]
- <bb 45> :
- goto <bb 48>; [INV]
- <bb 46> :
- <L43>:
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_13 ();
- _212 = base->MCR;
- _213 = _212 | 768;
- base->MCR = _213;
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_13 ();
- goto <bb 48>; [INV]
- <bb 47> :
- <L44>:
- <bb 48> :
- return;
- }
- FlexCAN_SetOperationMode (struct FLEXCAN_Type * base, Flexcan_Ip_ModesType mode)
- {
- <bb 2> :
- switch (mode) <default: <L3> [INV], case 0: <L0> [INV], case 1: <L1> [INV], case 2: <L2> [INV]>
- <bb 3> :
- <L0>:
- _1 = base->CTRL1;
- _2 = _1 & 4294967287;
- base->CTRL1 = _2;
- _3 = base->CTRL1;
- _4 = _3 & 4294963199;
- base->CTRL1 = _4;
- goto <bb 7>; [INV]
- <bb 4> :
- <L1>:
- _5 = base->CTRL1;
- _6 = _5 | 8;
- base->CTRL1 = _6;
- goto <bb 7>; [INV]
- <bb 5> :
- <L2>:
- _7 = base->CTRL1;
- _8 = _7 | 4096;
- base->CTRL1 = _8;
- _9 = base->CTRL1;
- _10 = _9 & 4294967287;
- base->CTRL1 = _10;
- FlexCAN_SetSelfReception (base, 1);
- goto <bb 7>; [INV]
- <bb 6> :
- <L3>:
- <bb 7> :
- return;
- }
- FlexCAN_SetMaxMsgBuffNum (struct FLEXCAN_Type * base, uint32 maxMsgBuffNum)
- {
- Flexcan_Ip_StatusType Status;
- uint32 ValEndRam;
- uint32 ValEndMb;
- uint8 Can_Real_Payload;
- uint8 Arbitration_Field_Size;
- volatile uint8 * Flexcan_Mb_Data;
- volatile uint32 * Flexcan_Mb_Id;
- volatile uint32 * Flexcan_Mb;
- const uint32 * ValEndMbPointer;
- const uint32 * RAM;
- uint32 DataByte;
- uint8 MsgBuffIdx;
- Flexcan_Ip_StatusType D.7549;
- <bb 2> :
- base.8_1 = (long unsigned int) base;
- _2 = base.8_1 + 128;
- RAM = (const uint32 *) _2;
- ValEndMbPointer = 0B;
- Flexcan_Mb = 0B;
- Flexcan_Mb_Id = 0B;
- Flexcan_Mb_Data = 0B;
- Arbitration_Field_Size = 8;
- _3 = maxMsgBuffNum + 4294967295;
- Can_Real_Payload = FlexCAN_GetMbPayloadSize (base, _3);
- ValEndMb = 0;
- ValEndRam = 0;
- Status = 0;
- _4 = maxMsgBuffNum != 0;
- DevAssert (_4);
- _5 = maxMsgBuffNum + 4294967295;
- ValEndMbPointer = FlexCAN_GetMsgBuffRegion (base, _5);
- _6 = (long unsigned int) Can_Real_Payload;
- ValEndMbPointer.9_7 = (long unsigned int) ValEndMbPointer;
- _8 = _6 + ValEndMbPointer.9_7;
- _9 = (long unsigned int) Arbitration_Field_Size;
- ValEndMb = _8 + _9;
- _10 = RAM + 512;
- ValEndRam = (uint32) _10;
- if (ValEndMb > ValEndRam)
- goto <bb 4>; [INV]
- else
- goto <bb 3>; [INV]
- <bb 3> :
- _11 = FlexCAN_GetMaxMbNum (base);
- if (maxMsgBuffNum > _11)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- Status = 4;
- <bb 5> :
- if (Status == 0)
- goto <bb 6>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 6> :
- _12 = base->MCR;
- _13 = _12 & 4294967168;
- _14 = maxMsgBuffNum + 4294967295;
- _15 = _14 & 127;
- _16 = _13 | _15;
- base->MCR = _16;
- _17 = base->MCR;
- _18 = _17 & 536870912;
- if (_18 == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 7> :
- MsgBuffIdx = 0;
- goto <bb 12>; [INV]
- <bb 8> :
- _19 = (long unsigned int) MsgBuffIdx;
- Flexcan_Mb = FlexCAN_GetMsgBuffRegion (base, _19);
- Flexcan_Mb_Id = Flexcan_Mb + 4;
- Flexcan_Mb_Data = Flexcan_Mb + 8;
- *Flexcan_Mb = 0;
- *Flexcan_Mb_Id = 0;
- _20 = (long unsigned int) MsgBuffIdx;
- Can_Real_Payload = FlexCAN_GetMbPayloadSize (base, _20);
- DataByte = 0;
- goto <bb 10>; [INV]
- <bb 9> :
- _21 = Flexcan_Mb_Data + DataByte;
- *_21 = 0;
- DataByte = DataByte + 1;
- <bb 10> :
- _22 = (long unsigned int) Can_Real_Payload;
- if (DataByte < _22)
- goto <bb 9>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 11> :
- MsgBuffIdx.10_23 = MsgBuffIdx;
- MsgBuffIdx = MsgBuffIdx.10_23 + 1;
- <bb 12> :
- _24 = (long unsigned int) MsgBuffIdx;
- if (maxMsgBuffNum > _24)
- goto <bb 8>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 13> :
- D.7549 = Status;
- <bb 14> :
- <L13>:
- return D.7549;
- }
- FlexCAN_SetTxMsgBuff (volatile uint32 * const pMbAddr, const struct Flexcan_Ip_MsbuffCodeStatusType * cs, uint32 msgId, const uint8 * msgData, const boolean isRemote)
- {
- const uint32 * MsgData_32;
- volatile uint32 * Flexcan_Mb_Data_32;
- volatile uint8 * Flexcan_Mb_Data;
- volatile uint32 * Flexcan_Mb_Id;
- volatile uint32 * Flexcan_Mb;
- uint8 Payload_Size;
- uint8 Dlc_Value;
- uint32 DataByte;
- uint32 Flexcan_Mb_Config;
- <bb 2> :
- Flexcan_Mb_Config = 0;
- Flexcan_Mb = pMbAddr;
- Flexcan_Mb_Id = Flexcan_Mb + 4;
- Flexcan_Mb_Data = Flexcan_Mb + 8;
- Flexcan_Mb_Data_32 = Flexcan_Mb + 8;
- MsgData_32 = msgData;
- _1 = cs != 0B;
- DevAssert (_1);
- *Flexcan_Mb = 134217728;
- *Flexcan_Mb_Id = 0;
- _2 = cs->dataLen;
- _3 = (unsigned char) _2;
- Dlc_Value = FlexCAN_ComputeDLCValue (_3);
- if (msgData != 0B)
- goto <bb 3>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 3> :
- DataByte = 0;
- goto <bb 5>; [INV]
- <bb 4> :
- _4 = DataByte >> 2;
- _5 = _4 * 4;
- _6 = MsgData_32 + _5;
- _7 = *_6;
- _8 = _7 >> 24;
- _9 = DataByte >> 2;
- _10 = _9 * 4;
- _11 = MsgData_32 + _10;
- _12 = *_11;
- _13 = _12 >> 8;
- _14 = _13 & 65280;
- _15 = _8 | _14;
- _16 = DataByte >> 2;
- _17 = _16 * 4;
- _18 = MsgData_32 + _17;
- _19 = *_18;
- _20 = _19 << 8;
- _21 = _20 & 16711680;
- _22 = _15 | _21;
- _23 = DataByte >> 2;
- _24 = _23 * 4;
- _25 = MsgData_32 + _24;
- _26 = *_25;
- _27 = _26 << 24;
- _28 = DataByte >> 2;
- _29 = _28 * 4;
- _30 = Flexcan_Mb_Data_32 + _29;
- _31 = _22 | _27;
- *_30 = _31;
- DataByte = DataByte + 4;
- <bb 5> :
- _32 = cs->dataLen;
- _33 = _32 & 4294967292;
- if (DataByte < _33)
- goto <bb 4>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 6> :
- goto <bb 8>; [INV]
- <bb 7> :
- _34 = msgData + DataByte;
- _35 = DataByte ^ 3;
- _36 = Flexcan_Mb_Data + _35;
- _37 = *_34;
- *_36 = _37;
- DataByte = DataByte + 1;
- <bb 8> :
- _38 = cs->dataLen;
- if (DataByte < _38)
- goto <bb 7>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 9> :
- Payload_Size = FlexCAN_ComputePayloadSize (Dlc_Value);
- DataByte = cs->dataLen;
- goto <bb 11>; [INV]
- <bb 10> :
- _39 = DataByte ^ 3;
- _40 = Flexcan_Mb_Data + _39;
- _41 = cs->fd_padding;
- *_40 = _41;
- DataByte = DataByte + 1;
- <bb 11> :
- _42 = (long unsigned int) Payload_Size;
- if (DataByte < _42)
- goto <bb 10>; [INV]
- else
- goto <bb 12>; [INV]
- <bb 12> :
- _43 = cs->msgIdType;
- if (_43 == 1)
- goto <bb 13>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 13> :
- _44 = *Flexcan_Mb_Id;
- _45 = _44 & 3758096384;
- *Flexcan_Mb_Id = _45;
- _46 = *Flexcan_Mb_Id;
- _47 = msgId & 536870911;
- _48 = _46 | _47;
- *Flexcan_Mb_Id = _48;
- Flexcan_Mb_Config = Flexcan_Mb_Config | 6291456;
- <bb 14> :
- _49 = cs->msgIdType;
- if (_49 == 0)
- goto <bb 15>; [INV]
- else
- goto <bb 16>; [INV]
- <bb 15> :
- _50 = *Flexcan_Mb_Id;
- _51 = _50 & 3758358527;
- *Flexcan_Mb_Id = _51;
- _52 = *Flexcan_Mb_Id;
- _53 = msgId << 18;
- _54 = _53 & 536608768;
- _55 = _52 | _54;
- *Flexcan_Mb_Id = _55;
- Flexcan_Mb_Config = Flexcan_Mb_Config & 4288675839;
- <bb 16> :
- Flexcan_Mb_Config = Flexcan_Mb_Config & 4293984255;
- _56 = (long unsigned int) Dlc_Value;
- _57 = _56 << 16;
- _58 = _57 & 983040;
- Flexcan_Mb_Config = Flexcan_Mb_Config | _58;
- _59 = cs->code;
- if (_59 != 15)
- goto <bb 17>; [INV]
- else
- goto <bb 27>; [INV]
- <bb 17> :
- _60 = cs->code;
- if (_60 == 28)
- goto <bb 18>; [INV]
- else
- goto <bb 19>; [INV]
- <bb 18> :
- Flexcan_Mb_Config = Flexcan_Mb_Config | 1048576;
- goto <bb 21>; [INV]
- <bb 19> :
- if (isRemote != 0)
- goto <bb 20>; [INV]
- else
- goto <bb 21>; [INV]
- <bb 20> :
- Flexcan_Mb_Config = Flexcan_Mb_Config | 1048576;
- <bb 21> :
- Flexcan_Mb_Config = Flexcan_Mb_Config & 4043309055;
- _61 = cs->fd_enable;
- if (_61 != 0)
- goto <bb 22>; [INV]
- else
- goto <bb 23>; [INV]
- <bb 22> :
- _62 = cs->code;
- _63 = _62 << 24;
- _64 = _63 & 251658240;
- _65 = Flexcan_Mb_Config | _64;
- Flexcan_Mb_Config = _65 | 2147483648;
- Flexcan_Mb_Config = Flexcan_Mb_Config & 4293918719;
- goto <bb 24>; [INV]
- <bb 23> :
- _66 = cs->code;
- _67 = _66 << 24;
- _68 = _67 & 251658240;
- Flexcan_Mb_Config = Flexcan_Mb_Config | _68;
- <bb 24> :
- _69 = cs->enable_brs;
- if (_69 != 0)
- goto <bb 25>; [INV]
- else
- goto <bb 26>; [INV]
- <bb 25> :
- Flexcan_Mb_Config = Flexcan_Mb_Config | 1073741824;
- <bb 26> :
- _70 = *Flexcan_Mb;
- _71 = Flexcan_Mb_Config | _70;
- *Flexcan_Mb = _71;
- <bb 27> :
- return;
- }
- FlexCAN_GetMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx, struct Flexcan_Ip_MsgBuffType * msgBuff)
- {
- uint8 Payload_Size;
- uint8 Flexcan_Mb_Dlc_Value;
- uint32 MbWord;
- uint32 * MsgBuff_Data_32;
- const uint32 * Flexcan_Mb_Data_32;
- const uint8 * Flexcan_Mb_Data;
- const uint32 * Flexcan_Mb_Id;
- const uint32 * Flexcan_Mb;
- uint8 i;
- <bb 2> :
- Flexcan_Mb = FlexCAN_GetMsgBuffRegion (base, msgBuffIdx);
- Flexcan_Mb_Id = Flexcan_Mb + 4;
- Flexcan_Mb_Data = Flexcan_Mb + 8;
- Flexcan_Mb_Data_32 = Flexcan_Mb + 8;
- MsgBuff_Data_32 = &msgBuff->data;
- _1 = *Flexcan_Mb;
- _2 = _1 >> 16;
- _3 = (unsigned char) _2;
- Flexcan_Mb_Dlc_Value = _3 & 15;
- Payload_Size = FlexCAN_ComputePayloadSize (Flexcan_Mb_Dlc_Value);
- _4 = msgBuff != 0B;
- DevAssert (_4);
- _5 = FlexCAN_GetMbPayloadSize (base, msgBuffIdx);
- if (Payload_Size > _5)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- Payload_Size = FlexCAN_GetMbPayloadSize (base, msgBuffIdx);
- <bb 4> :
- msgBuff->dataLen = Payload_Size;
- _6 = *Flexcan_Mb;
- msgBuff->cs = _6;
- _7 = msgBuff->cs;
- _8 = _7 & 2097152;
- if (_8 != 0)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- _9 = *Flexcan_Mb_Id;
- msgBuff->msgId = _9;
- goto <bb 7>; [INV]
- <bb 6> :
- _10 = *Flexcan_Mb_Id;
- _11 = _10 >> 18;
- msgBuff->msgId = _11;
- <bb 7> :
- _12 = msgBuff->cs;
- _13 = _12 & 65535;
- msgBuff->time_stamp = _13;
- i = 0;
- goto <bb 9>; [INV]
- <bb 8> :
- _14 = i >> 2;
- _15 = (unsigned int) _14;
- _16 = _15 * 4;
- _17 = Flexcan_Mb_Data_32 + _16;
- MbWord = *_17;
- _18 = MbWord >> 24;
- _19 = MbWord >> 8;
- _20 = _19 & 65280;
- _21 = _18 | _20;
- _22 = MbWord << 8;
- _23 = _22 & 16711680;
- _24 = _21 | _23;
- _25 = MbWord << 24;
- _26 = i >> 2;
- _27 = (unsigned int) _26;
- _28 = _27 * 4;
- _29 = MsgBuff_Data_32 + _28;
- _30 = _24 | _25;
- *_29 = _30;
- i = i + 4;
- <bb 9> :
- _31 = (unsigned int) i;
- _32 = (unsigned int) Payload_Size;
- _33 = _32 & 4294967292;
- if (_31 < _33)
- goto <bb 8>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 10> :
- goto <bb 12>; [INV]
- <bb 11> :
- _34 = i ^ 3;
- _35 = (sizetype) _34;
- _36 = Flexcan_Mb_Data + _35;
- _37 = (int) i;
- _38 = *_36;
- msgBuff->data[_37] = _38;
- i.7_39 = i;
- i = i.7_39 + 1;
- <bb 12> :
- if (i < Payload_Size)
- goto <bb 11>; [INV]
- else
- goto <bb 13>; [INV]
- <bb 13> :
- return;
- }
- FlexCAN_GetMsgBuffTimestamp (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
- {
- const uint32 * Flexcan_Mb;
- uint32 TimeStamp;
- uint32 D.7517;
- <bb 2> :
- TimeStamp = 0;
- Flexcan_Mb = FlexCAN_GetMsgBuffRegion (base, msgBuffIdx);
- _1 = *Flexcan_Mb;
- TimeStamp = _1 & 65535;
- D.7517 = TimeStamp;
- <bb 3> :
- <L0>:
- return D.7517;
- }
- FlexCAN_SetRxMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx, const struct Flexcan_Ip_MsbuffCodeStatusType * cs, uint32 msgId)
- {
- volatile uint32 * flexcan_mb_id;
- volatile uint32 * flexcan_mb;
- <bb 2> :
- flexcan_mb = FlexCAN_GetMsgBuffRegion (base, msgBuffIdx);
- flexcan_mb_id = flexcan_mb + 4;
- _1 = cs != 0B;
- DevAssert (_1);
- *flexcan_mb = 0;
- *flexcan_mb_id = 0;
- _2 = cs->msgIdType;
- if (_2 == 1)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- _3 = *flexcan_mb;
- _4 = _3 | 2097152;
- *flexcan_mb = _4;
- _5 = *flexcan_mb;
- _6 = _5 & 4290772991;
- *flexcan_mb = _6;
- _7 = *flexcan_mb_id;
- _8 = _7 & 3758096384;
- *flexcan_mb_id = _8;
- _9 = *flexcan_mb_id;
- _10 = msgId & 536870911;
- _11 = _9 | _10;
- *flexcan_mb_id = _11;
- <bb 4> :
- _12 = cs->msgIdType;
- if (_12 == 0)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- _13 = *flexcan_mb;
- _14 = _13 & 4288675839;
- *flexcan_mb = _14;
- _15 = *flexcan_mb_id;
- _16 = _15 & 3758358527;
- *flexcan_mb_id = _16;
- _17 = *flexcan_mb_id;
- _18 = msgId << 18;
- _19 = _18 & 536608768;
- _20 = _17 | _19;
- *flexcan_mb_id = _20;
- <bb 6> :
- _21 = cs->code;
- if (_21 != 15)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- _22 = *flexcan_mb;
- _23 = _22 & 4043309055;
- *flexcan_mb = _23;
- _24 = *flexcan_mb;
- _25 = cs->code;
- _26 = _25 << 24;
- _27 = _26 & 251658240;
- _28 = _24 | _27;
- *flexcan_mb = _28;
- <bb 8> :
- return;
- }
- FlexCAN_EnableInterrupts (struct FLEXCAN_Type * pBase, uint8 u8Instance)
- {
- <bb 2> :
- _1 = (int) u8Instance;
- _2 = FlexCAN_Ip_au32ImaskBuff[_1][0];
- pBase->IMASK1 = _2;
- return;
- }
- FlexCAN_DisableInterrupts (struct FLEXCAN_Type * pBase)
- {
- <bb 2> :
- pBase->IMASK1 = 0;
- return;
- }
- FLEXCAN_ClearMsgBuffIntCmd (struct FLEXCAN_Type * pBase, uint8 u8Instance, uint32 mb_idx, boolean bIsIntActive)
- {
- uint32 temp;
- <bb 2> :
- _1 = mb_idx & 31;
- temp = 1 << _1;
- if (mb_idx <= 31)
- goto <bb 3>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 3> :
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_11 ();
- _2 = pBase->IMASK1;
- _3 = ~temp;
- _4 = (int) u8Instance;
- _5 = _2 & _3;
- FlexCAN_Ip_au32ImaskBuff[_4][0] = _5;
- if (bIsIntActive != 0)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- _6 = (int) u8Instance;
- _7 = FlexCAN_Ip_au32ImaskBuff[_6][0];
- pBase->IMASK1 = _7;
- <bb 5> :
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_11 ();
- <bb 6> :
- return;
- }
- FlexCAN_SetMsgBuffIntCmd (struct FLEXCAN_Type * base, uint8 u8Instance, uint32 msgBuffIdx, boolean enable, boolean bIsIntActive)
- {
- Flexcan_Ip_StatusType stat;
- uint32 temp;
- Flexcan_Ip_StatusType D.7505;
- <bb 2> :
- stat = 0;
- _1 = msgBuffIdx & 31;
- temp = 1 << _1;
- if (msgBuffIdx <= 31)
- goto <bb 3>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 3> :
- if (enable != 0)
- goto <bb 4>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 4> :
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
- _2 = (int) u8Instance;
- _3 = FlexCAN_Ip_au32ImaskBuff[_2][0];
- _4 = (int) u8Instance;
- _5 = temp | _3;
- FlexCAN_Ip_au32ImaskBuff[_4][0] = _5;
- if (bIsIntActive != 0)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- _6 = (int) u8Instance;
- _7 = FlexCAN_Ip_au32ImaskBuff[_6][0];
- base->IMASK1 = _7;
- <bb 6> :
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
- goto <bb 8>; [INV]
- <bb 7> :
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_18 ();
- _8 = (int) u8Instance;
- _9 = FlexCAN_Ip_au32ImaskBuff[_8][0];
- _10 = ~temp;
- _11 = (int) u8Instance;
- _12 = _9 & _10;
- FlexCAN_Ip_au32ImaskBuff[_11][0] = _12;
- _13 = (int) u8Instance;
- _14 = FlexCAN_Ip_au32ImaskBuff[_13][0];
- base->IMASK1 = _14;
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_18 ();
- <bb 8> :
- D.7505 = stat;
- <bb 9> :
- <L7>:
- return D.7505;
- }
- FlexCAN_LockRxMsgBuff (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
- {
- const uint32 * flexcan_mb;
- long unsigned int vol.6;
- <bb 2> :
- flexcan_mb = FlexCAN_GetMsgBuffRegion (base, msgBuffIdx);
- vol.6 = *flexcan_mb;
- return;
- }
- FlexCAN_GetMbPayloadSize (const struct FLEXCAN_Type * base, uint32 maxMsgBuffNum)
- {
- uint8 mb_size;
- uint8 i;
- uint8 maxMbBlockNum;
- uint8 can_real_payload;
- uint32 ramBlockSize;
- uint8 arbitration_field_size;
- uint8 D.7495;
- <bb 2> :
- arbitration_field_size = 8;
- ramBlockSize = 512;
- can_real_payload = 8;
- maxMbBlockNum = 0;
- i = 0;
- mb_size = 0;
- i = 0;
- goto <bb 6>; [INV]
- <bb 3> :
- can_real_payload = FlexCAN_GetPayloadSize (base, i);
- mb_size = can_real_payload + arbitration_field_size;
- _1 = (long unsigned int) mb_size;
- _2 = ramBlockSize / _1;
- _3 = (unsigned char) _2;
- maxMbBlockNum = maxMbBlockNum + _3;
- _4 = (long unsigned int) maxMbBlockNum;
- if (maxMsgBuffNum < _4)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- goto <bb 7>; [INV]
- <bb 5> :
- i.5_5 = i;
- i = i.5_5 + 1;
- <bb 6> :
- if (i == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 7> :
- D.7495 = can_real_payload;
- <bb 8> :
- <L5>:
- return D.7495;
- }
- FlexCAN_GetPayloadSize (const struct FLEXCAN_Type * base, uint8 mbdsrIdx)
- {
- uint32 payloadSize;
- uint8 D.7491;
- <bb 2> :
- payloadSize = 8;
- _1 = FlexCAN_IsFDAvailable (base);
- if (_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 3> :
- _2 = (int) mbdsrIdx;
- if (_2 == 0)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- <L1>:
- _3 = base->FDCTRL;
- _4 = _3 >> 16;
- _5 = _4 & 3;
- payloadSize = 8 << _5;
- goto <bb 6>; [INV]
- <bb 5> :
- <L2>:
- _6 = base->FDCTRL;
- _7 = _6 >> 16;
- _8 = _7 & 3;
- payloadSize = 8 << _8;
- <bb 6> :
- D.7491 = (uint8) payloadSize;
- <bb 7> :
- <L5>:
- return D.7491;
- }
- FlexCAN_SetPayloadSize (struct FLEXCAN_Type * base, const struct Flexcan_Ip_PayloadSizeType * payloadSize)
- {
- uint32 tmp;
- int iftmp.3;
- <bb 2> :
- _1 = FlexCAN_IsFDEnabled (base);
- if (_1 != 0)
- goto <bb 4>; [INV]
- else
- goto <bb 3>; [INV]
- <bb 3> :
- _2 = payloadSize->payloadBlock0;
- if (_2 == 0)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.3 = 1;
- goto <bb 6>; [INV]
- <bb 5> :
- iftmp.3 = 0;
- <bb 6> :
- _3 = (_Bool) iftmp.3;
- DevAssert (_3);
- _4 = FlexCAN_IsFDEnabled (base);
- if (_4 != 0)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- tmp = base->FDCTRL;
- tmp = tmp & 4294770687;
- _5 = payloadSize->payloadBlock0;
- _6 = _5 << 16;
- tmp = tmp | _6;
- base->FDCTRL = tmp;
- <bb 8> :
- return;
- }
- FlexCAN_IsFDAvailable (const struct FLEXCAN_Type * base)
- {
- boolean returnValue;
- static struct FLEXCAN_Type * const flexcanBase[1] = {1073889280B};
- uint32 i;
- boolean D.7475;
- <bb 2> :
- i = 0;
- returnValue = 0;
- i = 0;
- goto <bb 6>; [INV]
- <bb 3> :
- _1 = flexcanBase[i];
- if (base == _1)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- returnValue = 1;
- goto <bb 7>; [INV]
- <bb 5> :
- i = i + 1;
- <bb 6> :
- if (i == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 7> :
- D.7475 = returnValue;
- <bb 8> :
- <L5>:
- return D.7475;
- }
- FlexCAN_EnableRxFifo (struct FLEXCAN_Type * base, uint32 numOfFilters)
- {
- Flexcan_Ip_StatusType stat;
- uint16 noOfMbx;
- uint32 i;
- Flexcan_Ip_StatusType D.7471;
- <bb 2> :
- _1 = FlexCAN_GetMaxMbNum (base);
- noOfMbx = (uint16) _1;
- stat = 0;
- _2 = base->MCR;
- _3 = _2 & 2048;
- if (_3 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- stat = 1;
- <bb 4> :
- if (stat == 0)
- goto <bb 5>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 5> :
- _4 = base->MCR;
- _5 = _4 | 536870912;
- base->MCR = _5;
- _6 = base->CTRL2;
- _7 = _6 & 4043309055;
- _8 = numOfFilters << 24;
- _9 = _8 & 251658240;
- _10 = _7 | _9;
- base->CTRL2 = _10;
- base->RXFGMASK = 4294967295;
- i = 0;
- goto <bb 7>; [INV]
- <bb 6> :
- base->RXIMR[i] = 536870911;
- i = i + 1;
- <bb 7> :
- _11 = (long unsigned int) noOfMbx;
- if (i < _11)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 8> :
- D.7471 = stat;
- <bb 9> :
- <L7>:
- return D.7471;
- }
- FlexCAN_Init (struct FLEXCAN_Type * base)
- {
- Flexcan_Ip_StatusType returnResult;
- uint32 uS2Ticks;
- uint32 timeElapsed;
- uint32 timeStart;
- Flexcan_Ip_StatusType D.7464;
- long unsigned int D.7457;
- <bb 2> :
- timeStart = 0;
- timeElapsed = 0;
- uS2Ticks = OsIf_MicrosToTicks (1000000, 0);
- returnResult = 0;
- _1 = base->MCR;
- _2 = _1 | 33554432;
- base->MCR = _2;
- _3 = OsIf_GetCounter (0);
- timeStart = _3;
- goto <bb 5>; [INV]
- <bb 3> :
- D.7457 = OsIf_GetElapsed (&timeStart, 0);
- timeElapsed = D.7457 + timeElapsed;
- if (timeElapsed >= uS2Ticks)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- returnResult = 3;
- goto <bb 6>; [INV]
- <bb 5> :
- _4 = base->MCR;
- _5 = _4 & 33554432;
- if (_5 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 6> :
- if (returnResult == 0)
- goto <bb 7>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 7> :
- _6 = base->MCR;
- _7 = _6 | 4096;
- base->MCR = _7;
- FlexCAN_ClearRAM (base);
- base->RXMGMASK = 4294967295;
- base->RX14MASK = 4294967295;
- base->RX15MASK = 4294967295;
- base->IMASK1 = 0;
- base->IFLAG1 = 4294967295;
- base->ESR1 = 3866630;
- base->CTRL1 = 0;
- base->CTRL2 = 1048576;
- base->CBT = 0;
- _8 = FlexCAN_IsFDAvailable (base);
- if (_8 != 0)
- goto <bb 8>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 8> :
- base->FDCBT = 0;
- base->FDCTRL = 2147500288;
- <bb 9> :
- D.7464 = returnResult;
- timeStart = {CLOBBER};
- <bb 10> :
- <L10>:
- return D.7464;
- }
- FlexCAN_SetErrIntCmd (struct FLEXCAN_Type * base, flexcan_int_type_t errType, boolean enable)
- {
- uint32 temp;
- <bb 2> :
- temp = errType;
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_06 ();
- if (enable != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 9>; [INV]
- <bb 3> :
- if (errType == 16385)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- _1 = base->CTRL2;
- _2 = _1 | 2147483648;
- base->CTRL2 = _2;
- goto <bb 14>; [INV]
- <bb 5> :
- if (errType == 1024)
- goto <bb 7>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 6> :
- if (errType == 2048)
- goto <bb 7>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 7> :
- _3 = base->MCR;
- _4 = _3 | 2097152;
- base->MCR = _4;
- <bb 8> :
- _5 = base->CTRL1;
- _6 = temp | _5;
- base->CTRL1 = _6;
- goto <bb 14>; [INV]
- <bb 9> :
- if (errType == 16385)
- goto <bb 10>; [INV]
- else
- goto <bb 11>; [INV]
- <bb 10> :
- _7 = base->CTRL2;
- _8 = _7 & 2147483647;
- base->CTRL2 = _8;
- goto <bb 14>; [INV]
- <bb 11> :
- _9 = base->CTRL1;
- _10 = ~temp;
- _11 = _9 & _10;
- base->CTRL1 = _11;
- temp = base->CTRL1;
- _12 = temp & 1024;
- if (_12 == 0)
- goto <bb 12>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 12> :
- _13 = temp & 2048;
- if (_13 == 0)
- goto <bb 13>; [INV]
- else
- goto <bb 14>; [INV]
- <bb 13> :
- _14 = base->MCR;
- _15 = _14 & 4292870143;
- base->MCR = _15;
- <bb 14> :
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_06 ();
- return;
- }
- FlexCAN_Disable (struct FLEXCAN_Type * base)
- {
- Flexcan_Ip_StatusType returnResult;
- uint32 uS2Ticks;
- uint32 timeElapsed;
- uint32 timeStart;
- Flexcan_Ip_StatusType D.7438;
- long unsigned int D.7435;
- <bb 2> :
- timeStart = 0;
- timeElapsed = 0;
- uS2Ticks = OsIf_MicrosToTicks (1000000, 0);
- returnResult = 0;
- _1 = base->MCR;
- _2 = (signed int) _1;
- if (_2 >= 0)
- goto <bb 3>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 3> :
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_05 ();
- _3 = base->MCR;
- _4 = _3 | 2147483648;
- base->MCR = _4;
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_05 ();
- _5 = OsIf_GetCounter (0);
- timeStart = _5;
- goto <bb 6>; [INV]
- <bb 4> :
- D.7435 = OsIf_GetElapsed (&timeStart, 0);
- timeElapsed = D.7435 + timeElapsed;
- if (timeElapsed >= uS2Ticks)
- goto <bb 5>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 5> :
- returnResult = 3;
- goto <bb 7>; [INV]
- <bb 6> :
- _6 = base->MCR;
- _7 = _6 & 1048576;
- if (_7 == 0)
- goto <bb 4>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 7> :
- D.7438 = returnResult;
- timeStart = {CLOBBER};
- <bb 8> :
- <L8>:
- return D.7438;
- }
- FlexCAN_ExitFreezeMode (struct FLEXCAN_Type * base)
- {
- Flexcan_Ip_StatusType returnValue;
- uint32 uS2Ticks;
- uint32 timeElapsed;
- uint32 timeStart;
- Flexcan_Ip_StatusType D.7430;
- long unsigned int D.7427;
- <bb 2> :
- timeStart = 0;
- timeElapsed = 0;
- uS2Ticks = OsIf_MicrosToTicks (1000000, 0);
- returnValue = 0;
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_04 ();
- _1 = base->MCR;
- _2 = _1 & 4026531839;
- base->MCR = _2;
- _3 = base->MCR;
- _4 = _3 & 3221225471;
- base->MCR = _4;
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_04 ();
- _5 = OsIf_GetCounter (0);
- timeStart = _5;
- goto <bb 5>; [INV]
- <bb 3> :
- D.7427 = OsIf_GetElapsed (&timeStart, 0);
- timeElapsed = D.7427 + timeElapsed;
- if (timeElapsed >= uS2Ticks)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- returnValue = 3;
- goto <bb 6>; [INV]
- <bb 5> :
- _6 = base->MCR;
- _7 = _6 & 16777216;
- if (_7 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 6> :
- D.7430 = returnValue;
- timeStart = {CLOBBER};
- <bb 7> :
- <L6>:
- return D.7430;
- }
- FlexCAN_Enable (struct FLEXCAN_Type * base)
- {
- Flexcan_Ip_StatusType returnValue;
- uint32 uS2Ticks;
- uint32 timeElapsed;
- uint32 timeStart;
- Flexcan_Ip_StatusType D.7424;
- long unsigned int D.7421;
- <bb 2> :
- timeStart = 0;
- timeElapsed = 0;
- uS2Ticks = OsIf_MicrosToTicks (1000000, 0);
- returnValue = 0;
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_03 ();
- _1 = base->MCR;
- _2 = _1 & 2147483647;
- base->MCR = _2;
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_03 ();
- _3 = OsIf_GetCounter (0);
- timeStart = _3;
- goto <bb 5>; [INV]
- <bb 3> :
- D.7421 = OsIf_GetElapsed (&timeStart, 0);
- timeElapsed = D.7421 + timeElapsed;
- if (timeElapsed >= uS2Ticks)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- returnValue = 3;
- goto <bb 6>; [INV]
- <bb 5> :
- _4 = base->MCR;
- _5 = _4 & 16777216;
- if (_5 == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 6>; [INV]
- <bb 6> :
- D.7424 = returnValue;
- timeStart = {CLOBBER};
- <bb 7> :
- <L6>:
- return D.7424;
- }
- FlexCAN_EnterFreezeMode (struct FLEXCAN_Type * base)
- {
- Flexcan_Ip_StatusType returnResult;
- uint32 uS2Ticks;
- uint32 timeElapsed;
- uint32 timeStart;
- Flexcan_Ip_StatusType D.7418;
- long unsigned int D.7415;
- <bb 2> :
- timeStart = 0;
- timeElapsed = 0;
- uS2Ticks = OsIf_MicrosToTicks (1000000, 0);
- returnResult = 0;
- SchM_Enter_Can_CAN_EXCLUSIVE_AREA_02 ();
- _1 = base->MCR;
- _2 = _1 | 1073741824;
- base->MCR = _2;
- _3 = base->MCR;
- _4 = _3 | 268435456;
- base->MCR = _4;
- _5 = base->MCR;
- _6 = (signed int) _5;
- if (_6 < 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- _7 = base->MCR;
- _8 = _7 & 2147483647;
- base->MCR = _8;
- <bb 4> :
- SchM_Exit_Can_CAN_EXCLUSIVE_AREA_02 ();
- _9 = OsIf_GetCounter (0);
- timeStart = _9;
- goto <bb 7>; [INV]
- <bb 5> :
- D.7415 = OsIf_GetElapsed (&timeStart, 0);
- timeElapsed = D.7415 + timeElapsed;
- if (timeElapsed >= uS2Ticks)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- returnResult = 3;
- goto <bb 8>; [INV]
- <bb 7> :
- _10 = base->MCR;
- _11 = _10 & 16777216;
- if (_11 == 0)
- goto <bb 5>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 8> :
- D.7418 = returnResult;
- timeStart = {CLOBBER};
- <bb 9> :
- <L8>:
- return D.7418;
- }
- FlexCAN_GetMaxMbNum (const struct FLEXCAN_Type * base)
- {
- static const uint32 maxMbNum[3] = {32, 16, 16};
- static struct FLEXCAN_Type * const flexcanBase[3] = {1073889280B, 1073893376B, 1073917952B};
- uint32 ret;
- uint32 i;
- uint32 D.7411;
- <bb 2> :
- ret = 0;
- i = 0;
- goto <bb 6>; [INV]
- <bb 3> :
- _1 = flexcanBase[i];
- if (base == _1)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- ret = maxMbNum[i];
- <bb 5> :
- i = i + 1;
- <bb 6> :
- if (i <= 2)
- goto <bb 3>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 7> :
- D.7411 = ret;
- <bb 8> :
- <L5>:
- return D.7411;
- }
- FlexCAN_GetMsgBuffRegion (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
- {
- volatile uint32 * pAddressRet;
- volatile uint32 * RAM;
- uint8 payload_size;
- uint32 mb_index;
- uint8 maxMbNum;
- uint8 i;
- uint32 msgBuffIdxBackup;
- uint32 ramBlockOffset;
- uint32 ramBlockSize;
- uint8 mb_size;
- uint8 arbitration_field_size;
- volatile uint32 * D.7407;
- <bb 2> :
- arbitration_field_size = 8;
- mb_size = 0;
- ramBlockSize = 512;
- ramBlockOffset = 0;
- msgBuffIdxBackup = msgBuffIdx;
- i = 0;
- maxMbNum = 0;
- mb_index = 0;
- payload_size = 0;
- base.1_1 = (long unsigned int) base;
- _2 = base.1_1 + 128;
- RAM = (volatile uint32 *) _2;
- pAddressRet = 0B;
- i = 0;
- goto <bb 6>; [INV]
- <bb 3> :
- payload_size = FlexCAN_GetPayloadSize (base, i);
- mb_size = payload_size + arbitration_field_size;
- _3 = (long unsigned int) mb_size;
- _4 = ramBlockSize / _3;
- maxMbNum = (uint8) _4;
- _5 = (long unsigned int) maxMbNum;
- if (msgBuffIdxBackup < _5)
- goto <bb 4>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 4> :
- goto <bb 7>; [INV]
- <bb 5> :
- ramBlockOffset = ramBlockOffset + 128;
- _6 = (long unsigned int) maxMbNum;
- msgBuffIdxBackup = msgBuffIdxBackup - _6;
- i.2_7 = i;
- i = i.2_7 + 1;
- <bb 6> :
- if (i == 0)
- goto <bb 3>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 7> :
- _8 = (long unsigned int) maxMbNum;
- _9 = msgBuffIdxBackup % _8;
- _10 = mb_size >> 2;
- _11 = (long unsigned int) _10;
- _12 = _9 * _11;
- mb_index = ramBlockOffset + _12;
- _13 = mb_index * 4;
- pAddressRet = RAM + _13;
- D.7407 = pAddressRet;
- <bb 8> :
- <L5>:
- return D.7407;
- }
- FlexCAN_ComputePayloadSize (uint8 dlcValue)
- {
- uint8 ret;
- uint8 D.7403;
- <bb 2> :
- ret = 8;
- if (dlcValue <= 8)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- ret = dlcValue;
- goto <bb 13>; [INV]
- <bb 4> :
- _1 = (int) dlcValue;
- switch (_1) <default: <L9> [INV], case 9: <L2> [INV], case 10: <L3> [INV], case 11: <L4> [INV], case 12: <L5> [INV], case 13: <L6> [INV], case 14: <L7> [INV], case 15: <L8> [INV]>
- <bb 5> :
- <L2>:
- ret = 12;
- goto <bb 13>; [INV]
- <bb 6> :
- <L3>:
- ret = 16;
- goto <bb 13>; [INV]
- <bb 7> :
- <L4>:
- ret = 20;
- goto <bb 13>; [INV]
- <bb 8> :
- <L5>:
- ret = 24;
- goto <bb 13>; [INV]
- <bb 9> :
- <L6>:
- ret = 32;
- goto <bb 13>; [INV]
- <bb 10> :
- <L7>:
- ret = 48;
- goto <bb 13>; [INV]
- <bb 11> :
- <L8>:
- ret = 64;
- goto <bb 13>; [INV]
- <bb 12> :
- <L9>:
- <bb 13> :
- D.7403 = ret;
- <bb 14> :
- <L12>:
- return D.7403;
- }
- FlexCAN_ClearRAM (struct FLEXCAN_Type * base)
- {
- volatile uint32 * RAM;
- uint32 RXIMR_size;
- uint32 RAM_size;
- uint32 databyte;
- <bb 2> :
- _1 = FlexCAN_GetMaxMbNum (base);
- RAM_size = _1 * 4;
- RXIMR_size = FlexCAN_GetMaxMbNum (base);
- base.0_2 = (long unsigned int) base;
- _3 = base.0_2 + 128;
- RAM = (volatile uint32 *) _3;
- databyte = 0;
- goto <bb 4>; [INV]
- <bb 3> :
- _4 = databyte * 4;
- _5 = RAM + _4;
- *_5 = 0;
- databyte = databyte + 1;
- <bb 4> :
- if (databyte < RAM_size)
- goto <bb 3>; [INV]
- else
- goto <bb 5>; [INV]
- <bb 5> :
- RAM = &base->RXIMR;
- databyte = 0;
- goto <bb 7>; [INV]
- <bb 6> :
- _6 = databyte * 4;
- _7 = RAM + _6;
- *_7 = 0;
- databyte = databyte + 1;
- <bb 7> :
- if (databyte < RXIMR_size)
- goto <bb 6>; [INV]
- else
- goto <bb 8>; [INV]
- <bb 8> :
- return;
- }
- FlexCAN_ComputeDLCValue (uint8 payloadSize)
- {
- static const uint8 payload_code[65] = "\x00\x01\x02\x03\x04\x05\x06\x07\b\t\t\t\t\n\n\n\n\v\v\v\v\f\f\f\f\r\r\r\r\r\r\r\r\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0e\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f\x0f";
- uint32 ret;
- uint8 D.7398;
- <bb 2> :
- ret = 255;
- if (payloadSize <= 64)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- _1 = (int) payloadSize;
- _2 = payload_code[_1];
- ret = (uint32) _2;
- <bb 4> :
- D.7398 = (uint8) ret;
- <bb 5> :
- <L3>:
- return D.7398;
- }
- FlexCAN_SetPNPayloadLowFilter2 (struct FLEXCAN_Type * pBase, const uint8 * pPayload)
- {
- <bb 2> :
- _1 = *pPayload;
- _2 = (long unsigned int) _1;
- _3 = _2 << 24;
- _4 = pPayload + 1;
- _5 = *_4;
- _6 = (long unsigned int) _5;
- _7 = _6 << 16;
- _8 = _7 & 16711680;
- _9 = _3 | _8;
- _10 = pPayload + 2;
- _11 = *_10;
- _12 = (long unsigned int) _11;
- _13 = _12 << 8;
- _14 = _13 & 65535;
- _15 = _9 | _14;
- _16 = pPayload + 3;
- _17 = *_16;
- _18 = (long unsigned int) _17;
- _19 = _15 | _18;
- pBase->PL2_PLMASK_LO = _19;
- return;
- }
- FlexCAN_SetPNPayloadHighFilter2 (struct FLEXCAN_Type * pBase, const uint8 * pPayload)
- {
- <bb 2> :
- _1 = pPayload + 4;
- _2 = *_1;
- _3 = (long unsigned int) _2;
- _4 = _3 << 24;
- _5 = pPayload + 5;
- _6 = *_5;
- _7 = (long unsigned int) _6;
- _8 = _7 << 16;
- _9 = _8 & 16711680;
- _10 = _4 | _9;
- _11 = pPayload + 6;
- _12 = *_11;
- _13 = (long unsigned int) _12;
- _14 = _13 << 8;
- _15 = _14 & 65535;
- _16 = _10 | _15;
- _17 = pPayload + 7;
- _18 = *_17;
- _19 = (long unsigned int) _18;
- _20 = _16 | _19;
- pBase->PL2_PLMASK_HI = _20;
- return;
- }
- FlexCAN_SetPNPayloadLowFilter1 (struct FLEXCAN_Type * pBase, const uint8 * pPayload)
- {
- <bb 2> :
- _1 = *pPayload;
- _2 = (long unsigned int) _1;
- _3 = _2 << 24;
- _4 = pPayload + 1;
- _5 = *_4;
- _6 = (long unsigned int) _5;
- _7 = _6 << 16;
- _8 = _7 & 16711680;
- _9 = _3 | _8;
- _10 = pPayload + 2;
- _11 = *_10;
- _12 = (long unsigned int) _11;
- _13 = _12 << 8;
- _14 = _13 & 65535;
- _15 = _9 | _14;
- _16 = pPayload + 3;
- _17 = *_16;
- _18 = (long unsigned int) _17;
- _19 = _15 | _18;
- pBase->PL1_LO = _19;
- return;
- }
- FlexCAN_SetPNPayloadHighFilter1 (struct FLEXCAN_Type * pBase, const uint8 * pPayload)
- {
- <bb 2> :
- _1 = pPayload + 4;
- _2 = *_1;
- _3 = (long unsigned int) _2;
- _4 = _3 << 24;
- _5 = pPayload + 5;
- _6 = *_5;
- _7 = (long unsigned int) _6;
- _8 = _7 << 16;
- _9 = _8 & 16711680;
- _10 = _4 | _9;
- _11 = pPayload + 6;
- _12 = *_11;
- _13 = (long unsigned int) _12;
- _14 = _13 << 8;
- _15 = _14 & 65535;
- _16 = _10 | _15;
- _17 = pPayload + 7;
- _18 = *_17;
- _19 = (long unsigned int) _18;
- _20 = _16 | _19;
- pBase->PL1_HI = _20;
- return;
- }
- FlexCAN_SetPNDlcFilter (struct FLEXCAN_Type * pBase, uint8 u8DlcLow, uint8 u8DlcHigh)
- {
- uint32 tmp;
- <bb 2> :
- tmp = pBase->FLT_DLC;
- tmp = tmp & 4293984240;
- _1 = (long unsigned int) u8DlcHigh;
- _2 = _1 & 15;
- tmp = tmp | _2;
- _3 = (long unsigned int) u8DlcLow;
- _4 = _3 << 16;
- _5 = _4 & 983040;
- tmp = tmp | _5;
- pBase->FLT_DLC = tmp;
- return;
- }
- FlexCAN_SetPNIdFilter2 (struct FLEXCAN_Type * pBase, const struct Flexcan_Ip_PnConfigType * pPnConfig)
- {
- uint32 u32Tmp;
- long unsigned int iftmp.27;
- long unsigned int iftmp.26;
- <bb 2> :
- u32Tmp = pBase->FLT_ID2_IDMASK;
- u32Tmp = u32Tmp & 2147483648;
- _1 = pPnConfig->idFilter2.bExtendedId;
- if (_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.26 = 1073741824;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.26 = 0;
- <bb 5> :
- u32Tmp = iftmp.26 | u32Tmp;
- _2 = pPnConfig->idFilter2.bRemoteFrame;
- if (_2 != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- iftmp.27 = 536870912;
- goto <bb 8>; [INV]
- <bb 7> :
- iftmp.27 = 0;
- <bb 8> :
- u32Tmp = iftmp.27 | u32Tmp;
- _3 = pPnConfig->idFilter1.bExtendedId;
- if (_3 != 0)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- _4 = pPnConfig->idFilter2.u32Id;
- _5 = _4 & 536870911;
- u32Tmp = u32Tmp | _5;
- goto <bb 11>; [INV]
- <bb 10> :
- _6 = pPnConfig->idFilter2.u32Id;
- _7 = _6 << 18;
- _8 = _7 & 536870911;
- u32Tmp = u32Tmp | _8;
- <bb 11> :
- pBase->FLT_ID2_IDMASK = u32Tmp;
- return;
- }
- FlexCAN_SetPNIdFilter2Check (struct FLEXCAN_Type * pBase)
- {
- <bb 2> :
- _1 = pBase->FLT_ID2_IDMASK;
- _2 = _1 | 1610612736;
- pBase->FLT_ID2_IDMASK = _2;
- return;
- }
- FlexCAN_SetPNIdFilter1 (struct FLEXCAN_Type * pBase, struct Flexcan_Ip_PnIdFilterType idFilter)
- {
- uint32 u32Tmp;
- long unsigned int iftmp.25;
- long unsigned int iftmp.24;
- <bb 2> :
- u32Tmp = pBase->FLT_ID1;
- u32Tmp = u32Tmp & 2147483648;
- _1 = idFilter.bExtendedId;
- if (_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.24 = 1073741824;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.24 = 0;
- <bb 5> :
- u32Tmp = iftmp.24 | u32Tmp;
- _2 = idFilter.bRemoteFrame;
- if (_2 != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- iftmp.25 = 536870912;
- goto <bb 8>; [INV]
- <bb 7> :
- iftmp.25 = 0;
- <bb 8> :
- u32Tmp = iftmp.25 | u32Tmp;
- _3 = idFilter.bExtendedId;
- if (_3 != 0)
- goto <bb 9>; [INV]
- else
- goto <bb 10>; [INV]
- <bb 9> :
- _4 = idFilter.u32Id;
- _5 = _4 & 536870911;
- u32Tmp = u32Tmp | _5;
- goto <bb 11>; [INV]
- <bb 10> :
- _6 = idFilter.u32Id;
- _7 = _6 << 18;
- _8 = _7 & 536870911;
- u32Tmp = u32Tmp | _8;
- <bb 11> :
- pBase->FLT_ID1 = u32Tmp;
- return;
- }
- FlexCAN_SetPNTimeoutValue (struct FLEXCAN_Type * pBase, uint16 u16TimeoutValue)
- {
- <bb 2> :
- _1 = pBase->CTRL2_PN;
- _2 = _1 & 4294901760;
- _3 = (long unsigned int) u16TimeoutValue;
- _4 = _2 | _3;
- pBase->CTRL2_PN = _4;
- return;
- }
- FlexCAN_SetPNFilteringSelection (struct FLEXCAN_Type * pBase, const struct Flexcan_Ip_PnConfigType * pPnConfig)
- {
- uint32 u32Tmp;
- long unsigned int iftmp.23;
- long unsigned int iftmp.22;
- <bb 2> :
- u32Tmp = pBase->CTRL1_PN;
- u32Tmp = u32Tmp & 4294705344;
- _1 = pPnConfig->bWakeUpTimeout;
- if (_1 != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.22 = 131072;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.22 = 0;
- <bb 5> :
- u32Tmp = iftmp.22 | u32Tmp;
- _2 = pPnConfig->bWakeUpMatch;
- if (_2 != 0)
- goto <bb 6>; [INV]
- else
- goto <bb 7>; [INV]
- <bb 6> :
- iftmp.23 = 65536;
- goto <bb 8>; [INV]
- <bb 7> :
- iftmp.23 = 0;
- <bb 8> :
- u32Tmp = iftmp.23 | u32Tmp;
- _3 = pPnConfig->u16NumMatches;
- _4 = (long unsigned int) _3;
- _5 = _4 << 8;
- _6 = _5 & 65535;
- u32Tmp = u32Tmp | _6;
- _7 = pPnConfig->eFilterComb;
- _8 = _7 & 3;
- u32Tmp = u32Tmp | _8;
- _9 = pPnConfig->eIdFilterType;
- _10 = _9 << 2;
- _11 = _10 & 12;
- u32Tmp = u32Tmp | _11;
- _12 = pPnConfig->ePayloadFilterType;
- _13 = _12 << 4;
- _14 = _13 & 48;
- u32Tmp = u32Tmp | _14;
- pBase->CTRL1_PN = u32Tmp;
- return;
- }
- FlexCAN_CanBitSampling (struct FLEXCAN_Type * base, boolean enable)
- {
- long unsigned int iftmp.18;
- <bb 2> :
- _1 = base->CTRL1;
- _2 = _1 & 4294967167;
- if (enable != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.18 = 128;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.18 = 0;
- <bb 5> :
- _3 = iftmp.18 | _2;
- base->CTRL1 = _3;
- return;
- }
- FlexCAN_SetEdgeFilter (struct FLEXCAN_Type * base, boolean enable)
- {
- long unsigned int iftmp.21;
- <bb 2> :
- _1 = base->CTRL2;
- _2 = _1 & 4294965247;
- if (enable != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.21 = 0;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.21 = 2048;
- <bb 5> :
- _3 = iftmp.21 | _2;
- base->CTRL2 = _3;
- return;
- }
- FlexCAN_SetBusOffAutorecovery (struct FLEXCAN_Type * base, boolean enable)
- {
- long unsigned int iftmp.19;
- <bb 2> :
- _1 = base->CTRL1;
- _2 = _1 & 4294967231;
- if (enable != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.19 = 0;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.19 = 64;
- <bb 5> :
- _3 = iftmp.19 | _2;
- base->CTRL1 = _3;
- return;
- }
- FlexCAN_SetRemoteReqStore (struct FLEXCAN_Type * base, boolean enable)
- {
- long unsigned int iftmp.20;
- <bb 2> :
- _1 = base->CTRL2;
- _2 = _1 & 4294836223;
- if (enable != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.20 = 131072;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.20 = 0;
- <bb 5> :
- _3 = iftmp.20 | _2;
- base->CTRL2 = _3;
- return;
- }
- FlexCAN_SetProtocolException (struct FLEXCAN_Type * base, boolean enable)
- {
- long unsigned int iftmp.17;
- <bb 2> :
- _1 = base->CTRL2;
- _2 = _1 & 4294950911;
- if (enable != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.17 = 16384;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.17 = 0;
- <bb 5> :
- _3 = iftmp.17 | _2;
- base->CTRL2 = _3;
- return;
- }
- FlexCAN_SetEntireFrameArbitrationFieldComparison (struct FLEXCAN_Type * base, boolean enable)
- {
- long unsigned int iftmp.16;
- <bb 2> :
- _1 = base->CTRL2;
- _2 = _1 & 4294901759;
- if (enable != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.16 = 65536;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.16 = 0;
- <bb 5> :
- _3 = iftmp.16 | _2;
- base->CTRL2 = _3;
- return;
- }
- FlexCAN_SetIsoCan (struct FLEXCAN_Type * base, boolean enable)
- {
- long unsigned int iftmp.15;
- <bb 2> :
- _1 = base->CTRL2;
- _2 = _1 & 4294963199;
- if (enable != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.15 = 4096;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.15 = 0;
- <bb 5> :
- _3 = iftmp.15 | _2;
- base->CTRL2 = _3;
- return;
- }
- FlexCAN_IsFDEnabled (const struct FLEXCAN_Type * base)
- {
- boolean D.7487;
- <bb 2> :
- _1 = base->MCR;
- _2 = _1 & 2048;
- D.7487 = _2 != 0;
- <bb 3> :
- <L0>:
- return D.7487;
- }
- FlexCAN_SetSelfReception (struct FLEXCAN_Type * base, boolean enable)
- {
- long unsigned int iftmp.11;
- <bb 2> :
- _1 = base->MCR;
- _2 = _1 & 4294836223;
- if (enable != 0)
- goto <bb 3>; [INV]
- else
- goto <bb 4>; [INV]
- <bb 3> :
- iftmp.11 = 0;
- goto <bb 5>; [INV]
- <bb 4> :
- iftmp.11 = 131072;
- <bb 5> :
- _3 = iftmp.11 | _2;
- base->MCR = _3;
- return;
- }
- DevAssert (volatile boolean x)
- {
- <bb 2> :
- x.4_1 = x;
- if (x.4_1 != 0)
- goto <bb 4>; [INV]
- else
- goto <bb 3>; [INV]
- <bb 3> :
- goto <bb 3>; [INV]
- <bb 4> :
- return;
- }
|