stm32f3xx_hal_can.lst 513 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 1
  2. 1 .cpu cortex-m4
  3. 2 .arch armv7e-m
  4. 3 .fpu fpv4-sp-d16
  5. 4 .eabi_attribute 27, 1
  6. 5 .eabi_attribute 28, 1
  7. 6 .eabi_attribute 20, 1
  8. 7 .eabi_attribute 21, 1
  9. 8 .eabi_attribute 23, 3
  10. 9 .eabi_attribute 24, 1
  11. 10 .eabi_attribute 25, 1
  12. 11 .eabi_attribute 26, 1
  13. 12 .eabi_attribute 30, 2
  14. 13 .eabi_attribute 34, 1
  15. 14 .eabi_attribute 18, 4
  16. 15 .file "stm32f3xx_hal_can.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .text.HAL_CAN_MspInit,"ax",%progbits
  21. 20 .align 1
  22. 21 .p2align 2,,3
  23. 22 .weak HAL_CAN_MspInit
  24. 23 .syntax unified
  25. 24 .thumb
  26. 25 .thumb_func
  27. 27 HAL_CAN_MspInit:
  28. 28 .LVL0:
  29. 29 .LFB132:
  30. 30 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c"
  31. 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  32. 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
  33. 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @file stm32f3xx_hal_can.c
  34. 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @author MCD Application Team
  35. 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN HAL module driver.
  36. 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This file provides firmware functions to manage the following
  37. 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * functionalities of the Controller Area Network (CAN) peripheral:
  38. 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Initialization and de-initialization functions
  39. 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Configuration functions
  40. 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Control functions
  41. 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Interrupts management
  42. 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Callbacks functions
  43. 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Peripheral State and Error functions
  44. 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  45. 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
  46. 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @attention
  47. 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  48. 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * Copyright (c) 2016 STMicroelectronics.
  49. 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * All rights reserved.
  50. 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  51. 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This software is licensed under terms that can be found in the LICENSE file
  52. 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * in the root directory of this software component.
  53. 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  54. 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  55. 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
  56. 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  57. 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  58. 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### How to use this driver #####
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 2
  60. 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  61. 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
  62. 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Initialize the CAN low level resources by implementing the
  63. 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_MspInit():
  64. 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Enable the CAN interface clock using __HAL_RCC_CANx_CLK_ENABLE()
  65. 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Configure CAN pins
  66. 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Enable the clock for the CAN GPIOs
  67. 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Configure CAN pins as alternate function
  68. 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) In case of using interrupts (e.g. HAL_CAN_ActivateNotification())
  69. 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Configure the CAN interrupt priority using
  70. 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_NVIC_SetPriority()
  71. 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Enable the CAN IRQ handler using HAL_NVIC_EnableIRQ()
  72. 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) In CAN IRQ handler, call HAL_CAN_IRQHandler()
  73. 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  74. 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Initialize the CAN peripheral using HAL_CAN_Init() function. This
  75. 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** function resorts to HAL_CAN_MspInit() for low-level initialization.
  76. 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  77. 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Configure the reception filters using the following configuration
  78. 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** functions:
  79. 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_ConfigFilter()
  80. 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  81. 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Start the CAN module using HAL_CAN_Start() function. At this level
  82. 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the node is active on the bus: it receive messages, and can send
  83. 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** messages.
  84. 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  85. 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) To manage messages transmission, the following Tx control functions
  86. 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can be used:
  87. 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_AddTxMessage() to request transmission of a new
  88. 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** message.
  89. 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_AbortTxRequest() to abort transmission of a pending
  90. 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** message.
  91. 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_GetTxMailboxesFreeLevel() to get the number of free Tx
  92. 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** mailboxes.
  93. 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_IsTxMessagePending() to check if a message is pending
  94. 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** in a Tx mailbox.
  95. 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_GetTxTimestamp() to get the timestamp of Tx message
  96. 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** sent, if time triggered communication mode is enabled.
  97. 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  98. 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) When a message is received into the CAN Rx FIFOs, it can be retrieved
  99. 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** using the HAL_CAN_GetRxMessage() function. The function
  100. 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_GetRxFifoFillLevel() allows to know how many Rx message are
  101. 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** stored in the Rx Fifo.
  102. 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  103. 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Calling the HAL_CAN_Stop() function stops the CAN module.
  104. 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  105. 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) The deinitialization is achieved with HAL_CAN_DeInit() function.
  106. 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  107. 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  108. 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Polling mode operation ***
  109. 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================
  110. 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
  111. 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Reception:
  112. 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Monitor reception of message using HAL_CAN_GetRxFifoFillLevel()
  113. 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** until at least one message is received.
  114. 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Then get the message using HAL_CAN_GetRxMessage().
  115. 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  116. 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Transmission:
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 3
  118. 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Monitor the Tx mailboxes availability until at least one Tx
  119. 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** mailbox is free, using HAL_CAN_GetTxMailboxesFreeLevel().
  120. 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Then request transmission of a message using
  121. 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_AddTxMessage().
  122. 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  123. 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  124. 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Interrupt mode operation ***
  125. 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ================================
  126. 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
  127. 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Notifications are activated using HAL_CAN_ActivateNotification()
  128. 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** function. Then, the process can be controlled through the
  129. 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** available user callbacks: HAL_CAN_xxxCallback(), using same APIs
  130. 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_GetRxMessage() and HAL_CAN_AddTxMessage().
  131. 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  132. 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Notifications can be deactivated using
  133. 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_DeactivateNotification() function.
  134. 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  135. 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Special care should be taken for CAN_IT_RX_FIFO0_MSG_PENDING and
  136. 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CAN_IT_RX_FIFO1_MSG_PENDING notifications. These notifications trig
  137. 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the callbacks HAL_CAN_RxFIFO0MsgPendingCallback() and
  138. 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFIFO1MsgPendingCallback(). User has two possible options
  139. 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** here.
  140. 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Directly get the Rx message in the callback, using
  141. 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_GetRxMessage().
  142. 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Or deactivate the notification in the callback without
  143. 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** getting the Rx message. The Rx message can then be got later
  144. 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** using HAL_CAN_GetRxMessage(). Once the Rx message have been
  145. 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** read, the notification can be activated again.
  146. 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  147. 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  148. 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Sleep mode ***
  149. 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==================
  150. 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
  151. 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) The CAN peripheral can be put in sleep mode (low power), using
  152. 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RequestSleep(). The sleep mode will be entered as soon as the
  153. 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** current CAN activity (transmission or reception of a CAN frame) will
  154. 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** be completed.
  155. 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  156. 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) A notification can be activated to be informed when the sleep mode
  157. 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** will be entered.
  158. 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  159. 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) It can be checked if the sleep mode is entered using
  160. 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_IsSleepActive().
  161. 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Note that the CAN state (accessible from the API HAL_CAN_GetState())
  162. 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** is HAL_CAN_STATE_SLEEP_PENDING as soon as the sleep mode request is
  163. 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** submitted (the sleep mode is not yet entered), and become
  164. 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_STATE_SLEEP_ACTIVE when the sleep mode is effective.
  165. 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  166. 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) The wake-up from sleep mode can be triggered by two ways:
  167. 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Using HAL_CAN_WakeUp(). When returning from this function,
  168. 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the sleep mode is exited (if return status is HAL_OK).
  169. 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) When a start of Rx CAN frame is detected by the CAN peripheral,
  170. 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if automatic wake up mode is enabled.
  171. 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  172. 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Callback registration ***
  173. 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** =============================================
  174. 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 4
  176. 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** The compilation define USE_HAL_CAN_REGISTER_CALLBACKS when set to 1
  177. 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** allows the user to configure dynamically the driver callbacks.
  178. 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Use Function HAL_CAN_RegisterCallback() to register an interrupt callback.
  179. 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  180. 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Function HAL_CAN_RegisterCallback() allows to register following callbacks:
  181. 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
  182. 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
  183. 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
  184. 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
  185. 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
  186. 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
  187. 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
  188. 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
  189. 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
  190. 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
  191. 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) SleepCallback : Sleep Callback.
  192. 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
  193. 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) ErrorCallback : Error Callback.
  194. 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspInitCallback : CAN MspInit.
  195. 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspDeInitCallback : CAN MspDeInit.
  196. 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
  197. 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** and a pointer to the user callback function.
  198. 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  199. 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Use function HAL_CAN_UnRegisterCallback() to reset a callback to the default
  200. 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** weak function.
  201. 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_UnRegisterCallback takes as parameters the HAL peripheral handle,
  202. 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** and the Callback ID.
  203. 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This function allows to reset following callbacks:
  204. 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
  205. 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
  206. 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
  207. 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
  208. 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
  209. 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
  210. 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
  211. 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
  212. 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
  213. 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
  214. 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) SleepCallback : Sleep Callback.
  215. 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
  216. 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) ErrorCallback : Error Callback.
  217. 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspInitCallback : CAN MspInit.
  218. 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspDeInitCallback : CAN MspDeInit.
  219. 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  220. 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** By default, after the HAL_CAN_Init() and when the state is HAL_CAN_STATE_RESET,
  221. 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** all callbacks are set to the corresponding weak functions:
  222. 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** example HAL_CAN_ErrorCallback().
  223. 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Exception done for MspInit and MspDeInit functions that are
  224. 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** reset to the legacy weak function in the HAL_CAN_Init()/ HAL_CAN_DeInit() only when
  225. 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** these callbacks are null (not registered beforehand).
  226. 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if not, MspInit or MspDeInit are not null, the HAL_CAN_Init()/ HAL_CAN_DeInit()
  227. 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand)
  228. 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  229. 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Callbacks can be registered/unregistered in HAL_CAN_STATE_READY state only.
  230. 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
  231. 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** in HAL_CAN_STATE_READY or HAL_CAN_STATE_RESET state,
  232. 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 5
  234. 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** In that case first register the MspInit/MspDeInit user callbacks
  235. 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** using HAL_CAN_RegisterCallback() before calling HAL_CAN_DeInit()
  236. 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** or HAL_CAN_Init() function.
  237. 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  238. 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** When The compilation define USE_HAL_CAN_REGISTER_CALLBACKS is set to 0 or
  239. 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** not defined, the callback registration feature is not available and all callbacks
  240. 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** are set to the corresponding weak functions.
  241. 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  242. 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  243. 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
  244. 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  245. 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  246. 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Includes ------------------------------------------------------------------*/
  247. 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #include "stm32f3xx_hal.h"
  248. 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  249. 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @addtogroup STM32F3xx_HAL_Driver
  250. 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  251. 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  252. 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  253. 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if defined(CAN)
  254. 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  255. 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN CAN
  256. 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN driver modules
  257. 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  258. 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  259. 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  260. 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #ifdef HAL_CAN_MODULE_ENABLED
  261. 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  262. 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #ifdef HAL_CAN_LEGACY_MODULE_ENABLED
  263. 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #error "The CAN driver cannot be used with its legacy, Please enable only one CAN module at once"
  264. 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* HAL_CAN_LEGACY_MODULE_ENABLED */
  265. 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  266. 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private typedef -----------------------------------------------------------*/
  267. 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private define ------------------------------------------------------------*/
  268. 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Private_Constants CAN Private Constants
  269. 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  270. 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  271. 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #define CAN_TIMEOUT_VALUE 10U
  272. 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #define CAN_WAKEUP_TIMEOUT_COUNTER 1000000U
  273. 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  274. 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
  275. 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  276. 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private macro -------------------------------------------------------------*/
  277. 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private variables ---------------------------------------------------------*/
  278. 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private function prototypes -----------------------------------------------*/
  279. 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exported functions --------------------------------------------------------*/
  280. 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  281. 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions CAN Exported Functions
  282. 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  283. 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  284. 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  285. 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group1 Initialization and de-initialization functions
  286. 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Initialization and Configuration functions
  287. 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  288. 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  289. 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  290. 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Initialization and de-initialization functions #####
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 6
  292. 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  293. 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
  294. 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_Init : Initialize and configure the CAN.
  295. 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_DeInit : De-initialize the CAN.
  296. 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_MspInit : Initialize the CAN MSP.
  297. 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_MspDeInit : DeInitialize the CAN MSP.
  298. 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  299. 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  300. 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  301. 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  302. 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  303. 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  304. 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Initializes the CAN peripheral according to the specified
  305. 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * parameters in the CAN_InitStruct.
  306. 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  307. 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  308. 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  309. 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  310. 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef *hcan)
  311. 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  312. 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
  313. 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  314. 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check CAN handle */
  315. 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan == NULL)
  316. 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  317. 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  318. 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  319. 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  320. 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
  321. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
  322. 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
  323. 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff));
  324. 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
  325. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
  326. 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
  327. 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
  328. 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_MODE(hcan->Init.Mode));
  329. 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
  330. 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1));
  331. 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
  332. 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
  333. 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  334. 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  335. 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_RESET)
  336. 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  337. 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset callbacks to legacy functions */
  338. 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback; /* Legacy weak RxFifo0M
  339. 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback; /* Legacy weak RxFifo0F
  340. 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback; /* Legacy weak RxFifo1M
  341. 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback; /* Legacy weak RxFifo1F
  342. 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback; /* Legacy weak TxMailbo
  343. 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback; /* Legacy weak TxMailbo
  344. 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback; /* Legacy weak TxMailbo
  345. 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback; /* Legacy weak TxMailbo
  346. 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback; /* Legacy weak TxMailbo
  347. 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback; /* Legacy weak TxMailbo
  348. 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback = HAL_CAN_SleepCallback; /* Legacy weak SleepCal
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 7
  350. 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback; /* Legacy weak WakeUpFr
  351. 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback = HAL_CAN_ErrorCallback; /* Legacy weak ErrorCal
  352. 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  353. 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->MspInitCallback == NULL)
  354. 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  355. 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit; /* Legacy weak MspInit */
  356. 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  357. 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  358. 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Init the low level hardware: CLOCK, NVIC */
  359. 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback(hcan);
  360. 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  361. 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  362. 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  363. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_RESET)
  364. 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  365. 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Init the low level hardware: CLOCK, NVIC */
  366. 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_MspInit(hcan);
  367. 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  368. 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  369. 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  370. 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request initialisation */
  371. 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
  372. 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  373. 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
  374. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
  375. 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  376. 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait initialisation acknowledge */
  377. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
  378. 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  379. 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
  380. 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  381. 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  382. 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  383. 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  384. 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
  385. 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
  386. 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  387. 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  388. 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  389. 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  390. 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  391. 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exit from sleep mode */
  392. 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
  393. 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  394. 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
  395. 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
  396. 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  397. 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Sleep mode leave acknowledge */
  398. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
  399. 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  400. 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
  401. 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  402. 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  403. 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  404. 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  405. 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
  406. 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 8
  408. 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  409. 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  410. 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  411. 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  412. 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  413. 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the time triggered communication mode */
  414. 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.TimeTriggeredMode == ENABLE)
  415. 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  416. 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
  417. 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  418. 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  419. 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  420. 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
  421. 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  422. 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  423. 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the automatic bus-off management */
  424. 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.AutoBusOff == ENABLE)
  425. 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  426. 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
  427. 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  428. 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  429. 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  430. 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
  431. 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  432. 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  433. 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the automatic wake-up mode */
  434. 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.AutoWakeUp == ENABLE)
  435. 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  436. 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
  437. 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  438. 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  439. 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  440. 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
  441. 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  442. 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  443. 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the automatic retransmission */
  444. 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.AutoRetransmission == ENABLE)
  445. 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  446. 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_NART);
  447. 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  448. 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  449. 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  450. 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_NART);
  451. 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  452. 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  453. 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the receive FIFO locked mode */
  454. 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.ReceiveFifoLocked == ENABLE)
  455. 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  456. 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
  457. 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  458. 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  459. 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  460. 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
  461. 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  462. 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  463. 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the transmit FIFO priority */
  464. 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.TransmitFifoPriority == ENABLE)
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 9
  466. 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  467. 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
  468. 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  469. 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  470. 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  471. 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
  472. 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  473. 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  474. 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the bit timing register */
  475. 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** WRITE_REG(hcan->Instance->BTR, (uint32_t)(hcan->Init.Mode |
  476. 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.SyncJumpWidth |
  477. 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.TimeSeg1 |
  478. 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.TimeSeg2 |
  479. 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (hcan->Init.Prescaler - 1U)));
  480. 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  481. 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Initialize the error code */
  482. 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
  483. 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  484. 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Initialize the CAN state */
  485. 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_READY;
  486. 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  487. 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  488. 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  489. 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  490. 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  491. 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  492. 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Deinitializes the CAN peripheral registers to their default
  493. 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * reset values.
  494. 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  495. 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  496. 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  497. 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  498. 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeInit(CAN_HandleTypeDef *hcan)
  499. 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  500. 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check CAN handle */
  501. 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan == NULL)
  502. 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  503. 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  504. 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  505. 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  506. 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
  507. 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
  508. 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  509. 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Stop the CAN module */
  510. 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (void)HAL_CAN_Stop(hcan);
  511. 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  512. 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  513. 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->MspDeInitCallback == NULL)
  514. 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  515. 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit; /* Legacy weak MspDeInit */
  516. 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  517. 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  518. 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* DeInit the low level hardware: CLOCK, NVIC */
  519. 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback(hcan);
  520. 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  521. 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  522. 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* DeInit the low level hardware: CLOCK, NVIC */
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 10
  524. 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_MspDeInit(hcan);
  525. 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  526. 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  527. 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset the CAN peripheral */
  528. 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_RESET);
  529. 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  530. 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset the CAN ErrorCode */
  531. 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
  532. 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  533. 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
  534. 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_RESET;
  535. 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  536. 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  537. 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  538. 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  539. 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  540. 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  541. 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Initializes the CAN MSP.
  542. 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  543. 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  544. 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  545. 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  546. 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_MspInit(CAN_HandleTypeDef *hcan)
  547. 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  548. 31 .loc 1 508 1 view -0
  549. 32 .cfi_startproc
  550. 33 @ args = 0, pretend = 0, frame = 0
  551. 34 @ frame_needed = 0, uses_anonymous_args = 0
  552. 35 @ link register save eliminated.
  553. 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  554. 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  555. 36 .loc 1 510 3 view .LVU1
  556. 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  557. 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  558. 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_MspInit could be implemented in the user file
  559. 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  560. 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  561. 37 .loc 1 515 1 is_stmt 0 view .LVU2
  562. 38 0000 7047 bx lr
  563. 39 .cfi_endproc
  564. 40 .LFE132:
  565. 42 0002 00BF .section .rodata.HAL_CAN_Init.str1.4,"aMS",%progbits,1
  566. 43 .align 2
  567. 44 .LC0:
  568. 45 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can."
  569. 45 6572732F
  570. 45 53544D33
  571. 45 32463378
  572. 45 785F4841
  573. 46 0033 6300 .ascii "c\000"
  574. 47 .section .text.HAL_CAN_Init,"ax",%progbits
  575. 48 .align 1
  576. 49 .p2align 2,,3
  577. 50 .global HAL_CAN_Init
  578. 51 .syntax unified
  579. 52 .thumb
  580. 53 .thumb_func
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 11
  582. 55 HAL_CAN_Init:
  583. 56 .LVL1:
  584. 57 .LFB130:
  585. 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
  586. 58 .loc 1 276 1 is_stmt 1 view -0
  587. 59 .cfi_startproc
  588. 60 @ args = 0, pretend = 0, frame = 0
  589. 61 @ frame_needed = 0, uses_anonymous_args = 0
  590. 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  591. 62 .loc 1 277 3 view .LVU4
  592. 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  593. 63 .loc 1 280 3 view .LVU5
  594. 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  595. 64 .loc 1 280 6 is_stmt 0 view .LVU6
  596. 65 0000 0028 cmp r0, #0
  597. 66 0002 00F01B81 beq .L34
  598. 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
  599. 67 .loc 1 276 1 view .LVU7
  600. 68 0006 38B5 push {r3, r4, r5, lr}
  601. 69 .LCFI0:
  602. 70 .cfi_def_cfa_offset 16
  603. 71 .cfi_offset 3, -16
  604. 72 .cfi_offset 4, -12
  605. 73 .cfi_offset 5, -8
  606. 74 .cfi_offset 14, -4
  607. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
  608. 75 .loc 1 286 3 view .LVU8
  609. 76 0008 0268 ldr r2, [r0]
  610. 77 000a 8D4B ldr r3, .L76
  611. 78 000c 9A42 cmp r2, r3
  612. 79 000e 0446 mov r4, r0
  613. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
  614. 80 .loc 1 286 3 is_stmt 1 view .LVU9
  615. 81 0010 04D0 beq .L5
  616. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
  617. 82 .loc 1 286 3 is_stmt 0 discriminator 1 view .LVU10
  618. 83 0012 8C48 ldr r0, .L76+4
  619. 84 .LVL2:
  620. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
  621. 85 .loc 1 286 3 discriminator 1 view .LVU11
  622. 86 0014 4FF48F71 mov r1, #286
  623. 87 0018 FFF7FEFF bl assert_failed
  624. 88 .LVL3:
  625. 89 .L5:
  626. 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff));
  627. 90 .loc 1 287 3 is_stmt 1 view .LVU12
  628. 91 001c 237E ldrb r3, [r4, #24] @ zero_extendqisi2
  629. 92 001e 012B cmp r3, #1
  630. 93 0020 00F2EE80 bhi .L66
  631. 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
  632. 94 .loc 1 288 3 view .LVU13
  633. 95 0024 637E ldrb r3, [r4, #25] @ zero_extendqisi2
  634. 96 0026 012B cmp r3, #1
  635. 97 0028 00F2E080 bhi .L67
  636. 98 .L7:
  637. 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
  638. 99 .loc 1 289 3 view .LVU14
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 12
  640. 100 002c A37E ldrb r3, [r4, #26] @ zero_extendqisi2
  641. 101 002e 012B cmp r3, #1
  642. 102 0030 00F2D280 bhi .L68
  643. 103 .L8:
  644. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
  645. 104 .loc 1 290 3 view .LVU15
  646. 105 0034 E37E ldrb r3, [r4, #27] @ zero_extendqisi2
  647. 106 0036 012B cmp r3, #1
  648. 107 0038 00F2C480 bhi .L69
  649. 108 .L9:
  650. 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
  651. 109 .loc 1 291 3 view .LVU16
  652. 110 003c 237F ldrb r3, [r4, #28] @ zero_extendqisi2
  653. 111 003e 012B cmp r3, #1
  654. 112 0040 00F2B680 bhi .L70
  655. 113 .L10:
  656. 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_MODE(hcan->Init.Mode));
  657. 114 .loc 1 292 3 view .LVU17
  658. 115 0044 637F ldrb r3, [r4, #29] @ zero_extendqisi2
  659. 116 0046 012B cmp r3, #1
  660. 117 0048 00F2A780 bhi .L71
  661. 118 .L11:
  662. 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
  663. 119 .loc 1 293 3 view .LVU18
  664. 120 004c A368 ldr r3, [r4, #8]
  665. 121 004e 33F04043 bics r3, r3, #-1073741824
  666. 122 0052 04D0 beq .L12
  667. 123 .L75:
  668. 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
  669. 124 .loc 1 293 3 is_stmt 0 discriminator 4 view .LVU19
  670. 125 0054 7B48 ldr r0, .L76+4
  671. 126 0056 40F22511 movw r1, #293
  672. 127 005a FFF7FEFF bl assert_failed
  673. 128 .LVL4:
  674. 129 .L12:
  675. 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1));
  676. 130 .loc 1 294 3 is_stmt 1 view .LVU20
  677. 131 005e E368 ldr r3, [r4, #12]
  678. 132 0060 33F04073 bics r3, r3, #50331648
  679. 133 0064 04D0 beq .L13
  680. 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1));
  681. 134 .loc 1 294 3 is_stmt 0 discriminator 4 view .LVU21
  682. 135 0066 7748 ldr r0, .L76+4
  683. 136 0068 4FF49371 mov r1, #294
  684. 137 006c FFF7FEFF bl assert_failed
  685. 138 .LVL5:
  686. 139 .L13:
  687. 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
  688. 140 .loc 1 295 3 is_stmt 1 view .LVU22
  689. 141 0070 2369 ldr r3, [r4, #16]
  690. 142 0072 33F44033 bics r3, r3, #196608
  691. 143 0076 0DD0 beq .L14
  692. 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
  693. 144 .loc 1 295 3 is_stmt 0 discriminator 4 view .LVU23
  694. 145 0078 B3F5802F cmp r3, #262144
  695. 146 007c 0AD0 beq .L14
  696. 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 13
  698. 147 .loc 1 295 3 discriminator 8 view .LVU24
  699. 148 007e B3F5002F cmp r3, #524288
  700. 149 0082 07D0 beq .L14
  701. 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
  702. 150 .loc 1 295 3 discriminator 12 view .LVU25
  703. 151 0084 B3F5402F cmp r3, #786432
  704. 152 0088 04D0 beq .L14
  705. 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
  706. 153 .loc 1 295 3 discriminator 16 view .LVU26
  707. 154 008a 6E48 ldr r0, .L76+4
  708. 155 008c 40F22711 movw r1, #295
  709. 156 0090 FFF7FEFF bl assert_failed
  710. 157 .LVL6:
  711. 158 .L14:
  712. 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
  713. 159 .loc 1 296 3 is_stmt 1 view .LVU27
  714. 160 0094 6369 ldr r3, [r4, #20]
  715. 161 0096 33F44013 bics r3, r3, #3145728
  716. 162 009a 40F0C580 bne .L72
  717. 163 .L15:
  718. 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  719. 164 .loc 1 297 3 view .LVU28
  720. 165 009e 6368 ldr r3, [r4, #4]
  721. 166 00a0 013B subs r3, r3, #1
  722. 167 00a2 B3F5806F cmp r3, #1024
  723. 168 00a6 80F0B980 bcs .L73
  724. 169 .L16:
  725. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  726. 170 .loc 1 327 3 view .LVU29
  727. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  728. 171 .loc 1 327 11 is_stmt 0 view .LVU30
  729. 172 00aa 94F82030 ldrb r3, [r4, #32] @ zero_extendqisi2
  730. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  731. 173 .loc 1 327 6 view .LVU31
  732. 174 00ae 002B cmp r3, #0
  733. 175 00b0 00F0B080 beq .L74
  734. 176 .L17:
  735. 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  736. 177 .loc 1 335 3 is_stmt 1 view .LVU32
  737. 178 00b4 2268 ldr r2, [r4]
  738. 179 00b6 1368 ldr r3, [r2]
  739. 180 00b8 43F00103 orr r3, r3, #1
  740. 181 00bc 1360 str r3, [r2]
  741. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  742. 182 .loc 1 338 3 view .LVU33
  743. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  744. 183 .loc 1 338 15 is_stmt 0 view .LVU34
  745. 184 00be FFF7FEFF bl HAL_GetTick
  746. 185 .LVL7:
  747. 186 00c2 0546 mov r5, r0
  748. 187 .LVL8:
  749. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  750. 188 .loc 1 341 3 is_stmt 1 view .LVU35
  751. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  752. 189 .loc 1 341 9 is_stmt 0 view .LVU36
  753. 190 00c4 04E0 b .L18
  754. 191 .LVL9:
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 14
  756. 192 .L19:
  757. 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  758. 193 .loc 1 343 10 view .LVU37
  759. 194 00c6 FFF7FEFF bl HAL_GetTick
  760. 195 .LVL10:
  761. 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  762. 196 .loc 1 343 24 view .LVU38
  763. 197 00ca 401B subs r0, r0, r5
  764. 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  765. 198 .loc 1 343 8 view .LVU39
  766. 199 00cc 0A28 cmp r0, #10
  767. 200 00ce 5BD8 bhi .L65
  768. 201 .L18:
  769. 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  770. 202 .loc 1 343 5 is_stmt 1 view .LVU40
  771. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  772. 203 .loc 1 341 9 view .LVU41
  773. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  774. 204 .loc 1 341 15 is_stmt 0 view .LVU42
  775. 205 00d0 2368 ldr r3, [r4]
  776. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  777. 206 .loc 1 341 25 view .LVU43
  778. 207 00d2 5A68 ldr r2, [r3, #4]
  779. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  780. 208 .loc 1 341 9 view .LVU44
  781. 209 00d4 D107 lsls r1, r2, #31
  782. 210 00d6 F6D5 bpl .L19
  783. 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  784. 211 .loc 1 356 3 is_stmt 1 view .LVU45
  785. 212 00d8 1A68 ldr r2, [r3]
  786. 213 00da 22F00202 bic r2, r2, #2
  787. 214 00de 1A60 str r2, [r3]
  788. 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  789. 215 .loc 1 359 3 view .LVU46
  790. 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  791. 216 .loc 1 359 15 is_stmt 0 view .LVU47
  792. 217 00e0 FFF7FEFF bl HAL_GetTick
  793. 218 .LVL11:
  794. 219 00e4 0546 mov r5, r0
  795. 220 .LVL12:
  796. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  797. 221 .loc 1 362 3 is_stmt 1 view .LVU48
  798. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  799. 222 .loc 1 362 9 is_stmt 0 view .LVU49
  800. 223 00e6 04E0 b .L20
  801. 224 .LVL13:
  802. 225 .L21:
  803. 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  804. 226 .loc 1 364 10 view .LVU50
  805. 227 00e8 FFF7FEFF bl HAL_GetTick
  806. 228 .LVL14:
  807. 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  808. 229 .loc 1 364 24 view .LVU51
  809. 230 00ec 401B subs r0, r0, r5
  810. 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  811. 231 .loc 1 364 8 view .LVU52
  812. 232 00ee 0A28 cmp r0, #10
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 15
  814. 233 00f0 4AD8 bhi .L65
  815. 234 .L20:
  816. 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  817. 235 .loc 1 364 5 is_stmt 1 view .LVU53
  818. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  819. 236 .loc 1 362 9 view .LVU54
  820. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  821. 237 .loc 1 362 15 is_stmt 0 view .LVU55
  822. 238 00f2 2368 ldr r3, [r4]
  823. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  824. 239 .loc 1 362 25 view .LVU56
  825. 240 00f4 5A68 ldr r2, [r3, #4]
  826. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  827. 241 .loc 1 362 9 view .LVU57
  828. 242 00f6 9207 lsls r2, r2, #30
  829. 243 00f8 F6D4 bmi .L21
  830. 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  831. 244 .loc 1 377 3 is_stmt 1 view .LVU58
  832. 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  833. 245 .loc 1 377 6 is_stmt 0 view .LVU59
  834. 246 00fa 227E ldrb r2, [r4, #24] @ zero_extendqisi2
  835. 247 00fc 012A cmp r2, #1
  836. 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  837. 248 .loc 1 379 5 view .LVU60
  838. 249 00fe 1A68 ldr r2, [r3]
  839. 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  840. 250 .loc 1 379 5 is_stmt 1 view .LVU61
  841. 251 0100 0CBF ite eq
  842. 252 0102 42F08002 orreq r2, r2, #128
  843. 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  844. 253 .loc 1 383 5 view .LVU62
  845. 254 0106 22F08002 bicne r2, r2, #128
  846. 255 010a 1A60 str r2, [r3]
  847. 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  848. 256 .loc 1 387 3 view .LVU63
  849. 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  850. 257 .loc 1 387 6 is_stmt 0 view .LVU64
  851. 258 010c 627E ldrb r2, [r4, #25] @ zero_extendqisi2
  852. 259 010e 012A cmp r2, #1
  853. 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  854. 260 .loc 1 389 5 view .LVU65
  855. 261 0110 1A68 ldr r2, [r3]
  856. 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  857. 262 .loc 1 389 5 is_stmt 1 view .LVU66
  858. 263 0112 0CBF ite eq
  859. 264 0114 42F04002 orreq r2, r2, #64
  860. 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  861. 265 .loc 1 393 5 view .LVU67
  862. 266 0118 22F04002 bicne r2, r2, #64
  863. 267 011c 1A60 str r2, [r3]
  864. 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  865. 268 .loc 1 397 3 view .LVU68
  866. 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  867. 269 .loc 1 397 6 is_stmt 0 view .LVU69
  868. 270 011e A27E ldrb r2, [r4, #26] @ zero_extendqisi2
  869. 271 0120 012A cmp r2, #1
  870. 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 16
  872. 272 .loc 1 399 5 view .LVU70
  873. 273 0122 1A68 ldr r2, [r3]
  874. 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  875. 274 .loc 1 399 5 is_stmt 1 view .LVU71
  876. 275 0124 0CBF ite eq
  877. 276 0126 42F02002 orreq r2, r2, #32
  878. 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  879. 277 .loc 1 403 5 view .LVU72
  880. 278 012a 22F02002 bicne r2, r2, #32
  881. 279 012e 1A60 str r2, [r3]
  882. 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  883. 280 .loc 1 407 3 view .LVU73
  884. 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  885. 281 .loc 1 407 6 is_stmt 0 view .LVU74
  886. 282 0130 E27E ldrb r2, [r4, #27] @ zero_extendqisi2
  887. 283 0132 012A cmp r2, #1
  888. 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  889. 284 .loc 1 409 5 view .LVU75
  890. 285 0134 1A68 ldr r2, [r3]
  891. 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  892. 286 .loc 1 409 5 is_stmt 1 view .LVU76
  893. 287 0136 0CBF ite eq
  894. 288 0138 22F01002 biceq r2, r2, #16
  895. 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  896. 289 .loc 1 413 5 view .LVU77
  897. 290 013c 42F01002 orrne r2, r2, #16
  898. 291 0140 1A60 str r2, [r3]
  899. 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  900. 292 .loc 1 417 3 view .LVU78
  901. 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  902. 293 .loc 1 417 6 is_stmt 0 view .LVU79
  903. 294 0142 227F ldrb r2, [r4, #28] @ zero_extendqisi2
  904. 295 0144 012A cmp r2, #1
  905. 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  906. 296 .loc 1 419 5 view .LVU80
  907. 297 0146 1A68 ldr r2, [r3]
  908. 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  909. 298 .loc 1 419 5 is_stmt 1 view .LVU81
  910. 299 0148 0CBF ite eq
  911. 300 014a 42F00802 orreq r2, r2, #8
  912. 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  913. 301 .loc 1 423 5 view .LVU82
  914. 302 014e 22F00802 bicne r2, r2, #8
  915. 303 0152 1A60 str r2, [r3]
  916. 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  917. 304 .loc 1 427 3 view .LVU83
  918. 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  919. 305 .loc 1 427 6 is_stmt 0 view .LVU84
  920. 306 0154 627F ldrb r2, [r4, #29] @ zero_extendqisi2
  921. 307 0156 012A cmp r2, #1
  922. 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  923. 308 .loc 1 429 5 view .LVU85
  924. 309 0158 1A68 ldr r2, [r3]
  925. 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  926. 310 .loc 1 429 5 is_stmt 1 view .LVU86
  927. 311 015a 0CBF ite eq
  928. 312 015c 42F00402 orreq r2, r2, #4
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 17
  930. 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  931. 313 .loc 1 433 5 view .LVU87
  932. 314 0160 22F00402 bicne r2, r2, #4
  933. 315 0164 1A60 str r2, [r3]
  934. 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.SyncJumpWidth |
  935. 316 .loc 1 437 3 view .LVU88
  936. 317 0166 D4E90220 ldrd r2, r0, [r4, #8]
  937. 318 016a 2169 ldr r1, [r4, #16]
  938. 319 016c 0243 orrs r2, r2, r0
  939. 320 016e 0A43 orrs r2, r2, r1
  940. 321 0170 6069 ldr r0, [r4, #20]
  941. 322 0172 6168 ldr r1, [r4, #4]
  942. 323 0174 0243 orrs r2, r2, r0
  943. 324 0176 0139 subs r1, r1, #1
  944. 325 0178 0A43 orrs r2, r2, r1
  945. 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  946. 326 .loc 1 444 19 is_stmt 0 view .LVU89
  947. 327 017a 0020 movs r0, #0
  948. 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  949. 328 .loc 1 447 15 view .LVU90
  950. 329 017c 0121 movs r1, #1
  951. 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.SyncJumpWidth |
  952. 330 .loc 1 437 3 view .LVU91
  953. 331 017e DA61 str r2, [r3, #28]
  954. 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  955. 332 .loc 1 444 3 is_stmt 1 view .LVU92
  956. 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  957. 333 .loc 1 444 19 is_stmt 0 view .LVU93
  958. 334 0180 6062 str r0, [r4, #36]
  959. 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  960. 335 .loc 1 447 3 is_stmt 1 view .LVU94
  961. 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  962. 336 .loc 1 447 15 is_stmt 0 view .LVU95
  963. 337 0182 84F82010 strb r1, [r4, #32]
  964. 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  965. 338 .loc 1 450 3 is_stmt 1 view .LVU96
  966. 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  967. 339 .loc 1 451 1 is_stmt 0 view .LVU97
  968. 340 0186 38BD pop {r3, r4, r5, pc}
  969. 341 .LVL15:
  970. 342 .L65:
  971. 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  972. 343 .loc 1 367 7 is_stmt 1 view .LVU98
  973. 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  974. 344 .loc 1 367 23 is_stmt 0 view .LVU99
  975. 345 0188 636A ldr r3, [r4, #36]
  976. 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  977. 346 .loc 1 370 19 view .LVU100
  978. 347 018a 0522 movs r2, #5
  979. 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  980. 348 .loc 1 367 23 view .LVU101
  981. 349 018c 43F40033 orr r3, r3, #131072
  982. 350 0190 6362 str r3, [r4, #36]
  983. 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  984. 351 .loc 1 370 7 is_stmt 1 view .LVU102
  985. 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  986. 352 .loc 1 370 19 is_stmt 0 view .LVU103
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 18
  988. 353 0192 84F82020 strb r2, [r4, #32]
  989. 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  990. 354 .loc 1 372 7 is_stmt 1 view .LVU104
  991. 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  992. 355 .loc 1 372 14 is_stmt 0 view .LVU105
  993. 356 0196 0120 movs r0, #1
  994. 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  995. 357 .loc 1 451 1 view .LVU106
  996. 358 0198 38BD pop {r3, r4, r5, pc}
  997. 359 .LVL16:
  998. 360 .L71:
  999. 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_MODE(hcan->Init.Mode));
  1000. 361 .loc 1 292 3 discriminator 1 view .LVU107
  1001. 362 019a 2A48 ldr r0, .L76+4
  1002. 363 019c 4FF49271 mov r1, #292
  1003. 364 01a0 FFF7FEFF bl assert_failed
  1004. 365 .LVL17:
  1005. 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
  1006. 366 .loc 1 293 3 is_stmt 1 discriminator 1 view .LVU108
  1007. 367 01a4 A368 ldr r3, [r4, #8]
  1008. 368 01a6 33F04043 bics r3, r3, #-1073741824
  1009. 369 01aa 3FF458AF beq .L12
  1010. 370 01ae 51E7 b .L75
  1011. 371 .L70:
  1012. 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
  1013. 372 .loc 1 291 3 is_stmt 0 discriminator 1 view .LVU109
  1014. 373 01b0 2448 ldr r0, .L76+4
  1015. 374 01b2 40F22311 movw r1, #291
  1016. 375 01b6 FFF7FEFF bl assert_failed
  1017. 376 .LVL18:
  1018. 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_MODE(hcan->Init.Mode));
  1019. 377 .loc 1 292 3 is_stmt 1 discriminator 1 view .LVU110
  1020. 378 01ba 637F ldrb r3, [r4, #29] @ zero_extendqisi2
  1021. 379 01bc 012B cmp r3, #1
  1022. 380 01be 7FF645AF bls .L11
  1023. 381 01c2 EAE7 b .L71
  1024. 382 .L69:
  1025. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
  1026. 383 .loc 1 290 3 is_stmt 0 discriminator 1 view .LVU111
  1027. 384 01c4 1F48 ldr r0, .L76+4
  1028. 385 01c6 4FF49171 mov r1, #290
  1029. 386 01ca FFF7FEFF bl assert_failed
  1030. 387 .LVL19:
  1031. 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
  1032. 388 .loc 1 291 3 is_stmt 1 discriminator 1 view .LVU112
  1033. 389 01ce 237F ldrb r3, [r4, #28] @ zero_extendqisi2
  1034. 390 01d0 012B cmp r3, #1
  1035. 391 01d2 7FF637AF bls .L10
  1036. 392 01d6 EBE7 b .L70
  1037. 393 .L68:
  1038. 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
  1039. 394 .loc 1 289 3 is_stmt 0 discriminator 1 view .LVU113
  1040. 395 01d8 1A48 ldr r0, .L76+4
  1041. 396 01da 40F22111 movw r1, #289
  1042. 397 01de FFF7FEFF bl assert_failed
  1043. 398 .LVL20:
  1044. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 19
  1046. 399 .loc 1 290 3 is_stmt 1 discriminator 1 view .LVU114
  1047. 400 01e2 E37E ldrb r3, [r4, #27] @ zero_extendqisi2
  1048. 401 01e4 012B cmp r3, #1
  1049. 402 01e6 7FF629AF bls .L9
  1050. 403 01ea EBE7 b .L69
  1051. 404 .L67:
  1052. 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
  1053. 405 .loc 1 288 3 is_stmt 0 discriminator 1 view .LVU115
  1054. 406 01ec 1548 ldr r0, .L76+4
  1055. 407 01ee 4FF49071 mov r1, #288
  1056. 408 01f2 FFF7FEFF bl assert_failed
  1057. 409 .LVL21:
  1058. 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
  1059. 410 .loc 1 289 3 is_stmt 1 discriminator 1 view .LVU116
  1060. 411 01f6 A37E ldrb r3, [r4, #26] @ zero_extendqisi2
  1061. 412 01f8 012B cmp r3, #1
  1062. 413 01fa 7FF61BAF bls .L8
  1063. 414 01fe EBE7 b .L68
  1064. 415 .L66:
  1065. 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff));
  1066. 416 .loc 1 287 3 is_stmt 0 discriminator 1 view .LVU117
  1067. 417 0200 1048 ldr r0, .L76+4
  1068. 418 0202 40F21F11 movw r1, #287
  1069. 419 0206 FFF7FEFF bl assert_failed
  1070. 420 .LVL22:
  1071. 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
  1072. 421 .loc 1 288 3 is_stmt 1 discriminator 1 view .LVU118
  1073. 422 020a 637E ldrb r3, [r4, #25] @ zero_extendqisi2
  1074. 423 020c 012B cmp r3, #1
  1075. 424 020e 7FF60DAF bls .L7
  1076. 425 0212 EBE7 b .L67
  1077. 426 .L74:
  1078. 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1079. 427 .loc 1 330 5 view .LVU119
  1080. 428 0214 2046 mov r0, r4
  1081. 429 0216 FFF7FEFF bl HAL_CAN_MspInit
  1082. 430 .LVL23:
  1083. 431 021a 4BE7 b .L17
  1084. 432 .L73:
  1085. 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1086. 433 .loc 1 297 3 is_stmt 0 discriminator 1 view .LVU120
  1087. 434 021c 0948 ldr r0, .L76+4
  1088. 435 021e 40F22911 movw r1, #297
  1089. 436 0222 FFF7FEFF bl assert_failed
  1090. 437 .LVL24:
  1091. 438 0226 40E7 b .L16
  1092. 439 .L72:
  1093. 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
  1094. 440 .loc 1 296 3 discriminator 4 view .LVU121
  1095. 441 0228 B3F5800F cmp r3, #4194304
  1096. 442 022c 3FF437AF beq .L15
  1097. 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
  1098. 443 .loc 1 296 3 discriminator 8 view .LVU122
  1099. 444 0230 0448 ldr r0, .L76+4
  1100. 445 0232 4FF49471 mov r1, #296
  1101. 446 0236 FFF7FEFF bl assert_failed
  1102. 447 .LVL25:
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 20
  1104. 448 023a 30E7 b .L15
  1105. 449 .LVL26:
  1106. 450 .L34:
  1107. 451 .LCFI1:
  1108. 452 .cfi_def_cfa_offset 0
  1109. 453 .cfi_restore 3
  1110. 454 .cfi_restore 4
  1111. 455 .cfi_restore 5
  1112. 456 .cfi_restore 14
  1113. 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1114. 457 .loc 1 282 12 view .LVU123
  1115. 458 023c 0120 movs r0, #1
  1116. 459 .LVL27:
  1117. 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1118. 460 .loc 1 451 1 view .LVU124
  1119. 461 023e 7047 bx lr
  1120. 462 .L77:
  1121. 463 .align 2
  1122. 464 .L76:
  1123. 465 0240 00640040 .word 1073767424
  1124. 466 0244 00000000 .word .LC0
  1125. 467 .cfi_endproc
  1126. 468 .LFE130:
  1127. 470 .section .text.HAL_CAN_MspDeInit,"ax",%progbits
  1128. 471 .align 1
  1129. 472 .p2align 2,,3
  1130. 473 .weak HAL_CAN_MspDeInit
  1131. 474 .syntax unified
  1132. 475 .thumb
  1133. 476 .thumb_func
  1134. 478 HAL_CAN_MspDeInit:
  1135. 479 .LFB168:
  1136. 480 .cfi_startproc
  1137. 481 @ args = 0, pretend = 0, frame = 0
  1138. 482 @ frame_needed = 0, uses_anonymous_args = 0
  1139. 483 @ link register save eliminated.
  1140. 484 0000 7047 bx lr
  1141. 485 .cfi_endproc
  1142. 486 .LFE168:
  1143. 488 0002 00BF .section .text.HAL_CAN_ConfigFilter,"ax",%progbits
  1144. 489 .align 1
  1145. 490 .p2align 2,,3
  1146. 491 .global HAL_CAN_ConfigFilter
  1147. 492 .syntax unified
  1148. 493 .thumb
  1149. 494 .thumb_func
  1150. 496 HAL_CAN_ConfigFilter:
  1151. 497 .LVL28:
  1152. 498 .LFB134:
  1153. 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1154. 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1155. 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief DeInitializes the CAN MSP.
  1156. 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1157. 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  1158. 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  1159. 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1160. 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_MspDeInit(CAN_HandleTypeDef *hcan)
  1161. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 21
  1162. 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1163. 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  1164. 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  1165. 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1166. 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  1167. 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_MspDeInit could be implemented in the user file
  1168. 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1169. 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1170. 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1171. 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  1172. 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1173. 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Register a CAN CallBack.
  1174. 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * To be used instead of the weak predefined callback
  1175. 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1176. 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for CAN module
  1177. 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param CallbackID ID of the callback to be registered
  1178. 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be one of the following values:
  1179. 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID Tx Mailbox 0 Complete callback ID
  1180. 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID Tx Mailbox 1 Complete callback ID
  1181. 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID Tx Mailbox 2 Complete callback ID
  1182. 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_ABORT_CB_ID Tx Mailbox 0 Abort callback ID
  1183. 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_ABORT_CB_ID Tx Mailbox 1 Abort callback ID
  1184. 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_ABORT_CB_ID Tx Mailbox 2 Abort callback ID
  1185. 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID Rx Fifo 0 message pending callback ID
  1186. 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_FULL_CB_ID Rx Fifo 0 full callback ID
  1187. 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID Rx Fifo 1 message pending callback ID
  1188. 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_FULL_CB_ID Rx Fifo 1 full callback ID
  1189. 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
  1190. 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID Wake Up from Rx message callback ID
  1191. 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
  1192. 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
  1193. 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
  1194. 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pCallback pointer to the Callback function
  1195. 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  1196. 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1197. 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Callb
  1198. 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** void (* pCallback)(CAN_HandleTypeDef *_hcan))
  1199. 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1200. 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
  1201. 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1202. 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pCallback == NULL)
  1203. 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1204. 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1205. 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1206. 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1207. 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  1208. 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1209. 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1210. 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
  1211. 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1212. 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
  1213. 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1214. 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
  1215. 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = pCallback;
  1216. 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1217. 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1218. 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
  1219. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 22
  1220. 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = pCallback;
  1221. 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1222. 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1223. 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
  1224. 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = pCallback;
  1225. 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1226. 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1227. 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
  1228. 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback = pCallback;
  1229. 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1230. 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1231. 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
  1232. 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback = pCallback;
  1233. 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1234. 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1235. 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
  1236. 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback = pCallback;
  1237. 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1238. 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1239. 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
  1240. 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = pCallback;
  1241. 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1242. 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1243. 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_FULL_CB_ID :
  1244. 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback = pCallback;
  1245. 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1246. 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1247. 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
  1248. 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = pCallback;
  1249. 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1250. 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1251. 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_FULL_CB_ID :
  1252. 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback = pCallback;
  1253. 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1254. 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1255. 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_SLEEP_CB_ID :
  1256. 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback = pCallback;
  1257. 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1258. 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1259. 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
  1260. 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = pCallback;
  1261. 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1262. 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1263. 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_ERROR_CB_ID :
  1264. 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback = pCallback;
  1265. 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1266. 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1267. 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
  1268. 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = pCallback;
  1269. 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1270. 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1271. 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
  1272. 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = pCallback;
  1273. 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1274. 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1275. 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
  1276. 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1277. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 23
  1278. 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1279. 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1280. 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
  1281. 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  1282. 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1283. 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1284. 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1285. 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if (hcan->State == HAL_CAN_STATE_RESET)
  1286. 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1287. 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
  1288. 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1289. 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
  1290. 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = pCallback;
  1291. 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1292. 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1293. 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
  1294. 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = pCallback;
  1295. 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1296. 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1297. 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
  1298. 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1299. 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1300. 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1301. 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
  1302. 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  1303. 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1304. 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1305. 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1306. 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  1307. 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1308. 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1309. 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1310. 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1311. 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
  1312. 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  1313. 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1314. 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1315. 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
  1316. 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1317. 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1318. 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1319. 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Unregister a CAN CallBack.
  1320. 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * CAN callback is redirected to the weak predefined callback
  1321. 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1322. 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for CAN module
  1323. 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param CallbackID ID of the callback to be unregistered
  1324. 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be one of the following values:
  1325. 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID Tx Mailbox 0 Complete callback ID
  1326. 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID Tx Mailbox 1 Complete callback ID
  1327. 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID Tx Mailbox 2 Complete callback ID
  1328. 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_ABORT_CB_ID Tx Mailbox 0 Abort callback ID
  1329. 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_ABORT_CB_ID Tx Mailbox 1 Abort callback ID
  1330. 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_ABORT_CB_ID Tx Mailbox 2 Abort callback ID
  1331. 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID Rx Fifo 0 message pending callback ID
  1332. 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_FULL_CB_ID Rx Fifo 0 full callback ID
  1333. 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID Rx Fifo 1 message pending callback ID
  1334. 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_FULL_CB_ID Rx Fifo 1 full callback ID
  1335. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 24
  1336. 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
  1337. 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID Wake Up from Rx message callback ID
  1338. 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
  1339. 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
  1340. 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
  1341. 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  1342. 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1343. 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_UnRegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Cal
  1344. 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1345. 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
  1346. 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1347. 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
  1348. 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1349. 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
  1350. 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1351. 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
  1352. 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback;
  1353. 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1354. 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1355. 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
  1356. 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback;
  1357. 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1358. 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1359. 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
  1360. 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback;
  1361. 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1362. 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1363. 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
  1364. 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback;
  1365. 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1366. 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1367. 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
  1368. 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback;
  1369. 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1370. 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1371. 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
  1372. 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback;
  1373. 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1374. 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1375. 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
  1376. 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback;
  1377. 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1378. 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1379. 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_FULL_CB_ID :
  1380. 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback;
  1381. 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1382. 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1383. 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
  1384. 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback;
  1385. 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1386. 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1387. 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_FULL_CB_ID :
  1388. 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback;
  1389. 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1390. 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1391. 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_SLEEP_CB_ID :
  1392. 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback = HAL_CAN_SleepCallback;
  1393. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 25
  1394. 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1395. 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1396. 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
  1397. 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback;
  1398. 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1399. 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1400. 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_ERROR_CB_ID :
  1401. 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback = HAL_CAN_ErrorCallback;
  1402. 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1403. 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1404. 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
  1405. 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit;
  1406. 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1407. 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1408. 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
  1409. 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
  1410. 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1411. 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1412. 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
  1413. 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1414. 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1415. 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1416. 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
  1417. 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  1418. 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1419. 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1420. 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1421. 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if (hcan->State == HAL_CAN_STATE_RESET)
  1422. 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1423. 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
  1424. 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1425. 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
  1426. 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit;
  1427. 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1428. 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1429. 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
  1430. 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
  1431. 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1432. 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1433. 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
  1434. 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1435. 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1436. 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1437. 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
  1438. 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  1439. 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1440. 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1441. 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1442. 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  1443. 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1444. 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1445. 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1446. 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1447. 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
  1448. 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  1449. 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1450. 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1451. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 26
  1452. 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
  1453. 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1454. 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  1455. 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1456. 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1457. 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
  1458. 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1459. 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1460. 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group2 Configuration functions
  1461. 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Configuration functions.
  1462. 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  1463. 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  1464. 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  1465. 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Configuration functions #####
  1466. 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  1467. 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
  1468. 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ConfigFilter : Configure the CAN reception filters
  1469. 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1470. 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  1471. 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  1472. 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1473. 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1474. 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1475. 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Configures the CAN reception filter according to the specified
  1476. 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * parameters in the CAN_FilterInitStruct.
  1477. 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1478. 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  1479. 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param sFilterConfig pointer to a CAN_FilterTypeDef structure that
  1480. 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * contains the filter configuration information.
  1481. 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  1482. 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1483. 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ConfigFilter(CAN_HandleTypeDef *hcan, const CAN_FilterTypeDef *sFilterCon
  1484. 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1485. 499 .loc 1 841 1 is_stmt 1 view -0
  1486. 500 .cfi_startproc
  1487. 501 @ args = 0, pretend = 0, frame = 0
  1488. 502 @ frame_needed = 0, uses_anonymous_args = 0
  1489. 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filternbrbitpos;
  1490. 503 .loc 1 842 3 view .LVU126
  1491. 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CAN_TypeDef *can_ip = hcan->Instance;
  1492. 504 .loc 1 843 3 view .LVU127
  1493. 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  1494. 505 .loc 1 844 24 is_stmt 0 view .LVU128
  1495. 506 0000 90F82020 ldrb r2, [r0, #32] @ zero_extendqisi2
  1496. 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1497. 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  1498. 507 .loc 1 846 6 view .LVU129
  1499. 508 0004 013A subs r2, r2, #1
  1500. 509 0006 012A cmp r2, #1
  1501. 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filternbrbitpos;
  1502. 510 .loc 1 841 1 view .LVU130
  1503. 511 0008 0346 mov r3, r0
  1504. 512 .LVL29:
  1505. 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  1506. 513 .loc 1 844 3 is_stmt 1 view .LVU131
  1507. 514 .loc 1 846 3 view .LVU132
  1508. 515 .loc 1 846 6 is_stmt 0 view .LVU133
  1509. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 27
  1510. 516 000a 05D9 bls .L102
  1511. 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  1512. 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1513. 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
  1514. 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdHigh));
  1515. 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
  1516. 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdHigh));
  1517. 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdLow));
  1518. 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_MODE(sFilterConfig->FilterMode));
  1519. 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_SCALE(sFilterConfig->FilterScale));
  1520. 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_FIFO(sFilterConfig->FilterFIFOAssignment));
  1521. 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ACTIVATION(sFilterConfig->FilterActivation));
  1522. 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1523. 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* CAN is single instance with 14 dedicated filters banks */
  1524. 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1525. 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
  1526. 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_BANK_SINGLE(sFilterConfig->FilterBank));
  1527. 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1528. 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Initialisation mode for the filter */
  1529. 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FMR, CAN_FMR_FINIT);
  1530. 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1531. 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Convert filter number into bit position */
  1532. 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** filternbrbitpos = (uint32_t)1 << (sFilterConfig->FilterBank & 0x1FU);
  1533. 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1534. 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter Deactivation */
  1535. 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FA1R, filternbrbitpos);
  1536. 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1537. 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter Scale */
  1538. 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterScale == CAN_FILTERSCALE_16BIT)
  1539. 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1540. 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 16-bit scale for the filter */
  1541. 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FS1R, filternbrbitpos);
  1542. 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1543. 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* First 16-bit identifier and First 16-bit mask */
  1544. 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Or First 16-bit identifier and Second 16-bit identifier */
  1545. 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
  1546. 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
  1547. 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  1548. 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1549. 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Second 16-bit identifier and Second 16-bit mask */
  1550. 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Or Third 16-bit identifier and Fourth 16-bit identifier */
  1551. 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
  1552. 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1553. 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
  1554. 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1555. 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1556. 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterScale == CAN_FILTERSCALE_32BIT)
  1557. 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1558. 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 32-bit scale for the filter */
  1559. 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FS1R, filternbrbitpos);
  1560. 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1561. 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 32-bit identifier or First 32-bit identifier */
  1562. 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
  1563. 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
  1564. 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  1565. 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1566. 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 32-bit mask or Second 32-bit identifier */
  1567. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 28
  1568. 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
  1569. 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1570. 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
  1571. 906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1572. 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1573. 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter Mode */
  1574. 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterMode == CAN_FILTERMODE_IDMASK)
  1575. 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1576. 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Id/Mask mode for the filter*/
  1577. 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FM1R, filternbrbitpos);
  1578. 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1579. 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* CAN_FilterInitStruct->CAN_FilterMode == CAN_FilterMode_IdList */
  1580. 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1581. 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Identifier list mode for the filter*/
  1582. 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FM1R, filternbrbitpos);
  1583. 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1584. 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1585. 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter FIFO assignment */
  1586. 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterFIFOAssignment == CAN_FILTER_FIFO0)
  1587. 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1588. 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* FIFO 0 assignation for the filter */
  1589. 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FFA1R, filternbrbitpos);
  1590. 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1591. 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  1592. 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1593. 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* FIFO 1 assignation for the filter */
  1594. 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FFA1R, filternbrbitpos);
  1595. 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1596. 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1597. 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter activation */
  1598. 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterActivation == CAN_FILTER_ENABLE)
  1599. 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1600. 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FA1R, filternbrbitpos);
  1601. 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1602. 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1603. 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Leave the initialisation mode for the filter */
  1604. 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FMR, CAN_FMR_FINIT);
  1605. 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1606. 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  1607. 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  1608. 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1609. 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  1610. 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1611. 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  1612. 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  1613. 517 .loc 1 947 5 is_stmt 1 view .LVU134
  1614. 518 .loc 1 947 21 is_stmt 0 view .LVU135
  1615. 519 000c 426A ldr r2, [r0, #36]
  1616. 520 000e 42F48022 orr r2, r2, #262144
  1617. 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1618. 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  1619. 521 .loc 1 949 12 view .LVU136
  1620. 522 0012 0120 movs r0, #1
  1621. 523 .LVL30:
  1622. 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1623. 524 .loc 1 947 21 view .LVU137
  1624. 525 0014 5A62 str r2, [r3, #36]
  1625. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 29
  1626. 526 .loc 1 949 5 is_stmt 1 view .LVU138
  1627. 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1628. 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1629. 527 .loc 1 951 1 is_stmt 0 view .LVU139
  1630. 528 0016 7047 bx lr
  1631. 529 .LVL31:
  1632. 530 .L102:
  1633. 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
  1634. 531 .loc 1 850 5 view .LVU140
  1635. 532 0018 0A68 ldr r2, [r1]
  1636. 533 001a B2F5803F cmp r2, #65536
  1637. 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filternbrbitpos;
  1638. 534 .loc 1 841 1 view .LVU141
  1639. 535 001e 70B5 push {r4, r5, r6, lr}
  1640. 536 .LCFI2:
  1641. 537 .cfi_def_cfa_offset 16
  1642. 538 .cfi_offset 4, -16
  1643. 539 .cfi_offset 5, -12
  1644. 540 .cfi_offset 6, -8
  1645. 541 .cfi_offset 14, -4
  1646. 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  1647. 542 .loc 1 843 16 view .LVU142
  1648. 543 0020 0568 ldr r5, [r0]
  1649. 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
  1650. 544 .loc 1 850 5 is_stmt 1 view .LVU143
  1651. 545 0022 0C46 mov r4, r1
  1652. 546 0024 80F0B380 bcs .L103
  1653. 547 .LVL32:
  1654. 548 .L81:
  1655. 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdHigh));
  1656. 549 .loc 1 851 5 view .LVU144
  1657. 550 0028 6368 ldr r3, [r4, #4]
  1658. 551 002a B3F5803F cmp r3, #65536
  1659. 552 002e 80F0A880 bcs .L104
  1660. 553 .L82:
  1661. 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdLow));
  1662. 554 .loc 1 852 5 view .LVU145
  1663. 555 0032 A368 ldr r3, [r4, #8]
  1664. 556 0034 B3F5803F cmp r3, #65536
  1665. 557 0038 80F09D80 bcs .L105
  1666. 558 .L83:
  1667. 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_MODE(sFilterConfig->FilterMode));
  1668. 559 .loc 1 853 5 view .LVU146
  1669. 560 003c E368 ldr r3, [r4, #12]
  1670. 561 003e B3F5803F cmp r3, #65536
  1671. 562 0042 80F09280 bcs .L106
  1672. 563 .L84:
  1673. 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_SCALE(sFilterConfig->FilterScale));
  1674. 564 .loc 1 854 5 view .LVU147
  1675. 565 0046 A369 ldr r3, [r4, #24]
  1676. 566 0048 012B cmp r3, #1
  1677. 567 004a 04D9 bls .L85
  1678. 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_SCALE(sFilterConfig->FilterScale));
  1679. 568 .loc 1 854 5 is_stmt 0 discriminator 1 view .LVU148
  1680. 569 004c 5348 ldr r0, .L108
  1681. 570 004e 40F25631 movw r1, #854
  1682. 571 0052 FFF7FEFF bl assert_failed
  1683. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 30
  1684. 572 .LVL33:
  1685. 573 .L85:
  1686. 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_FIFO(sFilterConfig->FilterFIFOAssignment));
  1687. 574 .loc 1 855 5 is_stmt 1 view .LVU149
  1688. 575 0056 E369 ldr r3, [r4, #28]
  1689. 576 0058 012B cmp r3, #1
  1690. 577 005a 04D9 bls .L86
  1691. 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_FIFO(sFilterConfig->FilterFIFOAssignment));
  1692. 578 .loc 1 855 5 is_stmt 0 discriminator 1 view .LVU150
  1693. 579 005c 4F48 ldr r0, .L108
  1694. 580 005e 40F25731 movw r1, #855
  1695. 581 0062 FFF7FEFF bl assert_failed
  1696. 582 .LVL34:
  1697. 583 .L86:
  1698. 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ACTIVATION(sFilterConfig->FilterActivation));
  1699. 584 .loc 1 856 5 is_stmt 1 view .LVU151
  1700. 585 0066 2369 ldr r3, [r4, #16]
  1701. 586 0068 012B cmp r3, #1
  1702. 587 006a 04D9 bls .L87
  1703. 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ACTIVATION(sFilterConfig->FilterActivation));
  1704. 588 .loc 1 856 5 is_stmt 0 discriminator 1 view .LVU152
  1705. 589 006c 4B48 ldr r0, .L108
  1706. 590 006e 4FF45671 mov r1, #856
  1707. 591 0072 FFF7FEFF bl assert_failed
  1708. 592 .LVL35:
  1709. 593 .L87:
  1710. 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1711. 594 .loc 1 857 5 is_stmt 1 view .LVU153
  1712. 595 0076 236A ldr r3, [r4, #32]
  1713. 596 0078 012B cmp r3, #1
  1714. 597 007a 04D9 bls .L88
  1715. 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1716. 598 .loc 1 857 5 is_stmt 0 discriminator 1 view .LVU154
  1717. 599 007c 4748 ldr r0, .L108
  1718. 600 007e 40F25931 movw r1, #857
  1719. 601 0082 FFF7FEFF bl assert_failed
  1720. 602 .LVL36:
  1721. 603 .L88:
  1722. 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1723. 604 .loc 1 862 5 is_stmt 1 view .LVU155
  1724. 605 0086 6369 ldr r3, [r4, #20]
  1725. 606 0088 0D2B cmp r3, #13
  1726. 607 008a 67D8 bhi .L107
  1727. 608 .L89:
  1728. 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1729. 609 .loc 1 865 5 view .LVU156
  1730. 610 008c D5F80012 ldr r1, [r5, #512]
  1731. 611 0090 41F00101 orr r1, r1, #1
  1732. 612 0094 C5F80012 str r1, [r5, #512]
  1733. 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1734. 613 .loc 1 868 5 view .LVU157
  1735. 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1736. 614 .loc 1 871 5 is_stmt 0 view .LVU158
  1737. 615 0098 D5F81C12 ldr r1, [r5, #540]
  1738. 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1739. 616 .loc 1 868 21 view .LVU159
  1740. 617 009c 0120 movs r0, #1
  1741. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 31
  1742. 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1743. 618 .loc 1 868 65 view .LVU160
  1744. 619 009e 03F01F02 and r2, r3, #31
  1745. 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1746. 620 .loc 1 868 21 view .LVU161
  1747. 621 00a2 00FA02F2 lsl r2, r0, r2
  1748. 622 .LVL37:
  1749. 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1750. 623 .loc 1 871 5 is_stmt 1 view .LVU162
  1751. 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1752. 624 .loc 1 874 22 is_stmt 0 view .LVU163
  1753. 625 00a6 E069 ldr r0, [r4, #28]
  1754. 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1755. 626 .loc 1 871 5 view .LVU164
  1756. 627 00a8 21EA0201 bic r1, r1, r2
  1757. 628 00ac C5F81C12 str r1, [r5, #540]
  1758. 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1759. 629 .loc 1 874 5 is_stmt 1 view .LVU165
  1760. 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1761. 630 .loc 1 871 5 is_stmt 0 view .LVU166
  1762. 631 00b0 D143 mvns r1, r2
  1763. 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1764. 632 .loc 1 874 8 view .LVU167
  1765. 633 00b2 0028 cmp r0, #0
  1766. 634 00b4 3CD1 bne .L90
  1767. 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1768. 635 .loc 1 877 7 is_stmt 1 view .LVU168
  1769. 636 00b6 D5F80C02 ldr r0, [r5, #524]
  1770. 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  1771. 637 .loc 1 882 75 is_stmt 0 view .LVU169
  1772. 638 00ba E668 ldr r6, [r4, #12]
  1773. 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1774. 639 .loc 1 877 7 view .LVU170
  1775. 640 00bc 0840 ands r0, r0, r1
  1776. 641 00be C5F80C02 str r0, [r5, #524]
  1777. 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
  1778. 642 .loc 1 881 7 is_stmt 1 view .LVU171
  1779. 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1780. 643 .loc 1 883 22 is_stmt 0 view .LVU172
  1781. 644 00c2 A088 ldrh r0, [r4, #4]
  1782. 645 00c4 05EBC303 add r3, r5, r3, lsl #3
  1783. 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  1784. 646 .loc 1 882 75 view .LVU173
  1785. 647 00c8 40EA0640 orr r0, r0, r6, lsl #16
  1786. 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
  1787. 648 .loc 1 881 62 view .LVU174
  1788. 649 00cc C3F84002 str r0, [r3, #576]
  1789. 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1790. 650 .loc 1 887 7 is_stmt 1 view .LVU175
  1791. 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
  1792. 651 .loc 1 888 76 is_stmt 0 view .LVU176
  1793. 652 00d0 A668 ldr r6, [r4, #8]
  1794. 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1795. 653 .loc 1 889 22 view .LVU177
  1796. 654 00d2 2088 ldrh r0, [r4]
  1797. 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
  1798. 655 .loc 1 888 76 view .LVU178
  1799. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 32
  1800. 656 00d4 40EA0640 orr r0, r0, r6, lsl #16
  1801. 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1802. 657 .loc 1 887 62 view .LVU179
  1803. 658 00d8 C3F84402 str r0, [r3, #580]
  1804. 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1805. 659 .loc 1 892 5 is_stmt 1 view .LVU180
  1806. 660 .L91:
  1807. 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1808. 661 .loc 1 909 5 view .LVU181
  1809. 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1810. 662 .loc 1 909 8 is_stmt 0 view .LVU182
  1811. 663 00dc A369 ldr r3, [r4, #24]
  1812. 664 00de 0BBB cbnz r3, .L92
  1813. 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1814. 665 .loc 1 912 7 is_stmt 1 view .LVU183
  1815. 666 00e0 D5F80432 ldr r3, [r5, #516]
  1816. 667 00e4 0B40 ands r3, r3, r1
  1817. 668 00e6 C5F80432 str r3, [r5, #516]
  1818. 669 .L93:
  1819. 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1820. 670 .loc 1 921 5 view .LVU184
  1821. 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1822. 671 .loc 1 921 8 is_stmt 0 view .LVU185
  1823. 672 00ea 2369 ldr r3, [r4, #16]
  1824. 673 00ec A3B9 cbnz r3, .L94
  1825. 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1826. 674 .loc 1 924 7 is_stmt 1 view .LVU186
  1827. 675 00ee D5F81432 ldr r3, [r5, #532]
  1828. 676 00f2 1940 ands r1, r1, r3
  1829. 677 00f4 C5F81412 str r1, [r5, #532]
  1830. 678 .L95:
  1831. 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1832. 679 .loc 1 933 5 view .LVU187
  1833. 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1834. 680 .loc 1 933 8 is_stmt 0 view .LVU188
  1835. 681 00f8 236A ldr r3, [r4, #32]
  1836. 682 00fa 012B cmp r3, #1
  1837. 683 00fc 04D1 bne .L96
  1838. 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1839. 684 .loc 1 935 7 is_stmt 1 view .LVU189
  1840. 685 00fe D5F81C32 ldr r3, [r5, #540]
  1841. 686 0102 1A43 orrs r2, r2, r3
  1842. 687 .LVL38:
  1843. 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1844. 688 .loc 1 935 7 is_stmt 0 view .LVU190
  1845. 689 0104 C5F81C22 str r2, [r5, #540]
  1846. 690 .L96:
  1847. 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1848. 691 .loc 1 939 5 is_stmt 1 view .LVU191
  1849. 692 0108 D5F80032 ldr r3, [r5, #512]
  1850. 693 010c 23F00103 bic r3, r3, #1
  1851. 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1852. 694 .loc 1 942 12 is_stmt 0 view .LVU192
  1853. 695 0110 0020 movs r0, #0
  1854. 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1855. 696 .loc 1 939 5 view .LVU193
  1856. 697 0112 C5F80032 str r3, [r5, #512]
  1857. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 33
  1858. 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1859. 698 .loc 1 942 5 is_stmt 1 view .LVU194
  1860. 699 .loc 1 951 1 is_stmt 0 view .LVU195
  1861. 700 0116 70BD pop {r4, r5, r6, pc}
  1862. 701 .LVL39:
  1863. 702 .L94:
  1864. 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1865. 703 .loc 1 929 7 is_stmt 1 view .LVU196
  1866. 704 0118 D5F81432 ldr r3, [r5, #532]
  1867. 705 011c 1343 orrs r3, r3, r2
  1868. 706 011e C5F81432 str r3, [r5, #532]
  1869. 707 0122 E9E7 b .L95
  1870. 708 .L92:
  1871. 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1872. 709 .loc 1 917 7 view .LVU197
  1873. 710 0124 D5F80432 ldr r3, [r5, #516]
  1874. 711 0128 1343 orrs r3, r3, r2
  1875. 712 012a C5F80432 str r3, [r5, #516]
  1876. 713 012e DCE7 b .L93
  1877. 714 .L90:
  1878. 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1879. 715 .loc 1 892 5 view .LVU198
  1880. 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1881. 716 .loc 1 892 8 is_stmt 0 view .LVU199
  1882. 717 0130 0128 cmp r0, #1
  1883. 718 0132 D3D1 bne .L91
  1884. 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1885. 719 .loc 1 895 7 is_stmt 1 view .LVU200
  1886. 720 0134 D5F80C02 ldr r0, [r5, #524]
  1887. 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  1888. 721 .loc 1 899 72 is_stmt 0 view .LVU201
  1889. 722 0138 2668 ldr r6, [r4]
  1890. 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1891. 723 .loc 1 895 7 view .LVU202
  1892. 724 013a 1043 orrs r0, r0, r2
  1893. 725 013c C5F80C02 str r0, [r5, #524]
  1894. 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
  1895. 726 .loc 1 898 7 is_stmt 1 view .LVU203
  1896. 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1897. 727 .loc 1 900 22 is_stmt 0 view .LVU204
  1898. 728 0140 A088 ldrh r0, [r4, #4]
  1899. 729 0142 05EBC303 add r3, r5, r3, lsl #3
  1900. 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  1901. 730 .loc 1 899 72 view .LVU205
  1902. 731 0146 40EA0640 orr r0, r0, r6, lsl #16
  1903. 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
  1904. 732 .loc 1 898 62 view .LVU206
  1905. 733 014a C3F84002 str r0, [r3, #576]
  1906. 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1907. 734 .loc 1 903 7 is_stmt 1 view .LVU207
  1908. 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
  1909. 735 .loc 1 904 76 is_stmt 0 view .LVU208
  1910. 736 014e A668 ldr r6, [r4, #8]
  1911. 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1912. 737 .loc 1 905 22 view .LVU209
  1913. 738 0150 A089 ldrh r0, [r4, #12]
  1914. 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
  1915. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 34
  1916. 739 .loc 1 904 76 view .LVU210
  1917. 740 0152 40EA0640 orr r0, r0, r6, lsl #16
  1918. 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1919. 741 .loc 1 903 62 view .LVU211
  1920. 742 0156 C3F84402 str r0, [r3, #580]
  1921. 743 015a BFE7 b .L91
  1922. 744 .LVL40:
  1923. 745 .L107:
  1924. 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1925. 746 .loc 1 862 5 discriminator 1 view .LVU212
  1926. 747 015c 0F48 ldr r0, .L108
  1927. 748 015e 40F25E31 movw r1, #862
  1928. 749 0162 FFF7FEFF bl assert_failed
  1929. 750 .LVL41:
  1930. 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1931. 751 .loc 1 868 52 discriminator 1 view .LVU213
  1932. 752 0166 6369 ldr r3, [r4, #20]
  1933. 753 0168 90E7 b .L89
  1934. 754 .L106:
  1935. 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_MODE(sFilterConfig->FilterMode));
  1936. 755 .loc 1 853 5 discriminator 1 view .LVU214
  1937. 756 016a 0C48 ldr r0, .L108
  1938. 757 016c 40F25531 movw r1, #853
  1939. 758 0170 FFF7FEFF bl assert_failed
  1940. 759 .LVL42:
  1941. 760 0174 67E7 b .L84
  1942. 761 .L105:
  1943. 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdLow));
  1944. 762 .loc 1 852 5 discriminator 1 view .LVU215
  1945. 763 0176 0948 ldr r0, .L108
  1946. 764 0178 4FF45571 mov r1, #852
  1947. 765 017c FFF7FEFF bl assert_failed
  1948. 766 .LVL43:
  1949. 767 0180 5CE7 b .L83
  1950. 768 .L104:
  1951. 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdHigh));
  1952. 769 .loc 1 851 5 discriminator 1 view .LVU216
  1953. 770 0182 0648 ldr r0, .L108
  1954. 771 0184 40F25331 movw r1, #851
  1955. 772 0188 FFF7FEFF bl assert_failed
  1956. 773 .LVL44:
  1957. 774 018c 51E7 b .L82
  1958. 775 .LVL45:
  1959. 776 .L103:
  1960. 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
  1961. 777 .loc 1 850 5 discriminator 1 view .LVU217
  1962. 778 018e 0348 ldr r0, .L108
  1963. 779 .LVL46:
  1964. 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
  1965. 780 .loc 1 850 5 discriminator 1 view .LVU218
  1966. 781 0190 40F25231 movw r1, #850
  1967. 782 .LVL47:
  1968. 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
  1969. 783 .loc 1 850 5 discriminator 1 view .LVU219
  1970. 784 0194 FFF7FEFF bl assert_failed
  1971. 785 .LVL48:
  1972. 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
  1973. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 35
  1974. 786 .loc 1 850 5 discriminator 1 view .LVU220
  1975. 787 0198 46E7 b .L81
  1976. 788 .L109:
  1977. 789 019a 00BF .align 2
  1978. 790 .L108:
  1979. 791 019c 00000000 .word .LC0
  1980. 792 .cfi_endproc
  1981. 793 .LFE134:
  1982. 795 .section .text.HAL_CAN_Start,"ax",%progbits
  1983. 796 .align 1
  1984. 797 .p2align 2,,3
  1985. 798 .global HAL_CAN_Start
  1986. 799 .syntax unified
  1987. 800 .thumb
  1988. 801 .thumb_func
  1989. 803 HAL_CAN_Start:
  1990. 804 .LVL49:
  1991. 805 .LFB135:
  1992. 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1993. 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1994. 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
  1995. 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1996. 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1997. 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group3 Control functions
  1998. 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Control functions
  1999. 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  2000. 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  2001. 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  2002. 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Control functions #####
  2003. 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  2004. 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
  2005. 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_Start : Start the CAN module
  2006. 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_Stop : Stop the CAN module
  2007. 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RequestSleep : Request sleep mode entry.
  2008. 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_WakeUp : Wake up from sleep mode.
  2009. 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_IsSleepActive : Check is sleep mode is active.
  2010. 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_AddTxMessage : Add a message to the Tx mailboxes
  2011. 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** and activate the corresponding
  2012. 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** transmission request
  2013. 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_AbortTxRequest : Abort transmission request
  2014. 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetTxMailboxesFreeLevel : Return Tx mailboxes free level
  2015. 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_IsTxMessagePending : Check if a transmission request is
  2016. 976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pending on the selected Tx mailbox
  2017. 977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetRxMessage : Get a CAN frame from the Rx FIFO
  2018. 978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetRxFifoFillLevel : Return Rx FIFO fill level
  2019. 979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2020. 980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  2021. 981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  2022. 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2023. 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2024. 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2025. 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Start the CAN module.
  2026. 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  2027. 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  2028. 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  2029. 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2030. 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Start(CAN_HandleTypeDef *hcan)
  2031. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 36
  2032. 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2033. 806 .loc 1 991 1 is_stmt 1 view -0
  2034. 807 .cfi_startproc
  2035. 808 @ args = 0, pretend = 0, frame = 0
  2036. 809 @ frame_needed = 0, uses_anonymous_args = 0
  2037. 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
  2038. 810 .loc 1 992 3 view .LVU222
  2039. 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2040. 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
  2041. 811 .loc 1 994 3 view .LVU223
  2042. 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
  2043. 812 .loc 1 991 1 is_stmt 0 view .LVU224
  2044. 813 0000 70B5 push {r4, r5, r6, lr}
  2045. 814 .LCFI3:
  2046. 815 .cfi_def_cfa_offset 16
  2047. 816 .cfi_offset 4, -16
  2048. 817 .cfi_offset 5, -12
  2049. 818 .cfi_offset 6, -8
  2050. 819 .cfi_offset 14, -4
  2051. 820 .loc 1 994 11 view .LVU225
  2052. 821 0002 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
  2053. 822 .loc 1 994 6 view .LVU226
  2054. 823 0006 012B cmp r3, #1
  2055. 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
  2056. 824 .loc 1 991 1 view .LVU227
  2057. 825 0008 0446 mov r4, r0
  2058. 826 .loc 1 994 6 view .LVU228
  2059. 827 000a 06D0 beq .L117
  2060. 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2061. 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN peripheral state */
  2062. 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_LISTENING;
  2063. 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2064. 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request leave initialisation */
  2065. 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
  2066. 1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2067. 1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
  2068. 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
  2069. 1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2070. 1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait the acknowledge */
  2071. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) != 0U)
  2072. 1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2073. 1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check for the Timeout */
  2074. 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
  2075. 1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2076. 1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2077. 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  2078. 1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2079. 1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
  2080. 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
  2081. 1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2082. 1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2083. 1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2084. 1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2085. 1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2086. 1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset the CAN ErrorCode */
  2087. 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
  2088. 1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2089. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 37
  2090. 1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2091. 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  2092. 1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2093. 1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  2094. 1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2095. 1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2096. 1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_READY;
  2097. 828 .loc 1 1030 5 is_stmt 1 view .LVU229
  2098. 829 .loc 1 1030 21 is_stmt 0 view .LVU230
  2099. 830 000c 436A ldr r3, [r0, #36]
  2100. 1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2101. 1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2102. 831 .loc 1 1032 12 view .LVU231
  2103. 832 000e 0126 movs r6, #1
  2104. 1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2105. 833 .loc 1 1030 21 view .LVU232
  2106. 834 0010 43F40023 orr r3, r3, #524288
  2107. 835 0014 4362 str r3, [r0, #36]
  2108. 836 .loc 1 1032 5 is_stmt 1 view .LVU233
  2109. 1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2110. 1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2111. 837 .loc 1 1034 1 is_stmt 0 view .LVU234
  2112. 838 0016 3046 mov r0, r6
  2113. 839 .LVL50:
  2114. 840 .loc 1 1034 1 view .LVU235
  2115. 841 0018 70BD pop {r4, r5, r6, pc}
  2116. 842 .LVL51:
  2117. 843 .L117:
  2118. 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2119. 844 .loc 1 1000 5 view .LVU236
  2120. 845 001a 0268 ldr r2, [r0]
  2121. 846 001c DEB2 uxtb r6, r3
  2122. 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2123. 847 .loc 1 997 5 is_stmt 1 view .LVU237
  2124. 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2125. 848 .loc 1 997 17 is_stmt 0 view .LVU238
  2126. 849 001e 0223 movs r3, #2
  2127. 850 0020 80F82030 strb r3, [r0, #32]
  2128. 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2129. 851 .loc 1 1000 5 is_stmt 1 view .LVU239
  2130. 852 0024 1368 ldr r3, [r2]
  2131. 853 0026 23F00103 bic r3, r3, #1
  2132. 854 002a 1360 str r3, [r2]
  2133. 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2134. 855 .loc 1 1003 5 view .LVU240
  2135. 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2136. 856 .loc 1 1003 17 is_stmt 0 view .LVU241
  2137. 857 002c FFF7FEFF bl HAL_GetTick
  2138. 858 .LVL52:
  2139. 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2140. 859 .loc 1 1003 17 view .LVU242
  2141. 860 0030 0546 mov r5, r0
  2142. 861 .LVL53:
  2143. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2144. 862 .loc 1 1006 5 is_stmt 1 view .LVU243
  2145. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2146. 863 .loc 1 1006 11 is_stmt 0 view .LVU244
  2147. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 38
  2148. 864 0032 04E0 b .L112
  2149. 865 .LVL54:
  2150. 866 .L114:
  2151. 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2152. 867 .loc 1 1009 12 view .LVU245
  2153. 868 0034 FFF7FEFF bl HAL_GetTick
  2154. 869 .LVL55:
  2155. 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2156. 870 .loc 1 1009 26 view .LVU246
  2157. 871 0038 431B subs r3, r0, r5
  2158. 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2159. 872 .loc 1 1009 10 view .LVU247
  2160. 873 003a 0A2B cmp r3, #10
  2161. 874 003c 08D8 bhi .L118
  2162. 875 .L112:
  2163. 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2164. 876 .loc 1 1009 7 is_stmt 1 view .LVU248
  2165. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2166. 877 .loc 1 1006 11 view .LVU249
  2167. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2168. 878 .loc 1 1006 17 is_stmt 0 view .LVU250
  2169. 879 003e 2368 ldr r3, [r4]
  2170. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2171. 880 .loc 1 1006 27 view .LVU251
  2172. 881 0040 5B68 ldr r3, [r3, #4]
  2173. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2174. 882 .loc 1 1006 11 view .LVU252
  2175. 883 0042 13F00103 ands r3, r3, #1
  2176. 884 0046 F5D1 bne .L114
  2177. 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2178. 885 .loc 1 1022 5 is_stmt 1 view .LVU253
  2179. 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2180. 886 .loc 1 1025 12 is_stmt 0 view .LVU254
  2181. 887 0048 1E46 mov r6, r3
  2182. 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2183. 888 .loc 1 1022 21 view .LVU255
  2184. 889 004a 6362 str r3, [r4, #36]
  2185. 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2186. 890 .loc 1 1025 5 is_stmt 1 view .LVU256
  2187. 891 .loc 1 1034 1 is_stmt 0 view .LVU257
  2188. 892 004c 3046 mov r0, r6
  2189. 893 004e 70BD pop {r4, r5, r6, pc}
  2190. 894 .LVL56:
  2191. 895 .L118:
  2192. 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2193. 896 .loc 1 1012 9 is_stmt 1 view .LVU258
  2194. 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2195. 897 .loc 1 1012 25 is_stmt 0 view .LVU259
  2196. 898 0050 636A ldr r3, [r4, #36]
  2197. 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2198. 899 .loc 1 1015 21 view .LVU260
  2199. 900 0052 0522 movs r2, #5
  2200. 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2201. 901 .loc 1 1012 25 view .LVU261
  2202. 902 0054 43F40033 orr r3, r3, #131072
  2203. 903 0058 6362 str r3, [r4, #36]
  2204. 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2205. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 39
  2206. 904 .loc 1 1015 9 is_stmt 1 view .LVU262
  2207. 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2208. 905 .loc 1 1015 21 is_stmt 0 view .LVU263
  2209. 906 005a 84F82020 strb r2, [r4, #32]
  2210. 1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2211. 907 .loc 1 1017 9 is_stmt 1 view .LVU264
  2212. 908 .loc 1 1034 1 is_stmt 0 view .LVU265
  2213. 909 005e 3046 mov r0, r6
  2214. 910 0060 70BD pop {r4, r5, r6, pc}
  2215. 911 .loc 1 1034 1 view .LVU266
  2216. 912 .cfi_endproc
  2217. 913 .LFE135:
  2218. 915 0062 00BF .section .text.HAL_CAN_Stop,"ax",%progbits
  2219. 916 .align 1
  2220. 917 .p2align 2,,3
  2221. 918 .global HAL_CAN_Stop
  2222. 919 .syntax unified
  2223. 920 .thumb
  2224. 921 .thumb_func
  2225. 923 HAL_CAN_Stop:
  2226. 924 .LVL57:
  2227. 925 .LFB136:
  2228. 1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2229. 1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2230. 1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Stop the CAN module and enable access to configuration registers.
  2231. 1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  2232. 1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  2233. 1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  2234. 1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2235. 1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Stop(CAN_HandleTypeDef *hcan)
  2236. 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2237. 926 .loc 1 1043 1 is_stmt 1 view -0
  2238. 927 .cfi_startproc
  2239. 928 @ args = 0, pretend = 0, frame = 0
  2240. 929 @ frame_needed = 0, uses_anonymous_args = 0
  2241. 1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
  2242. 930 .loc 1 1044 3 view .LVU268
  2243. 1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2244. 1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_LISTENING)
  2245. 931 .loc 1 1046 3 view .LVU269
  2246. 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
  2247. 932 .loc 1 1043 1 is_stmt 0 view .LVU270
  2248. 933 0000 38B5 push {r3, r4, r5, lr}
  2249. 934 .LCFI4:
  2250. 935 .cfi_def_cfa_offset 16
  2251. 936 .cfi_offset 3, -16
  2252. 937 .cfi_offset 4, -12
  2253. 938 .cfi_offset 5, -8
  2254. 939 .cfi_offset 14, -4
  2255. 940 .loc 1 1046 11 view .LVU271
  2256. 941 0002 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
  2257. 942 .loc 1 1046 6 view .LVU272
  2258. 943 0006 022B cmp r3, #2
  2259. 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
  2260. 944 .loc 1 1043 1 view .LVU273
  2261. 945 0008 0446 mov r4, r0
  2262. 946 .loc 1 1046 6 view .LVU274
  2263. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 40
  2264. 947 000a 05D0 beq .L126
  2265. 1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2266. 1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request initialisation */
  2267. 1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
  2268. 1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2269. 1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
  2270. 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
  2271. 1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2272. 1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait the acknowledge */
  2273. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
  2274. 1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2275. 1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check for the Timeout */
  2276. 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
  2277. 1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2278. 1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2279. 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  2280. 1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2281. 1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
  2282. 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
  2283. 1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2284. 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2285. 1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2286. 1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2287. 1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2288. 1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exit from sleep mode */
  2289. 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
  2290. 1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2291. 1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN peripheral state */
  2292. 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_READY;
  2293. 1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2294. 1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2295. 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  2296. 1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2297. 1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  2298. 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2299. 1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2300. 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_STARTED;
  2301. 948 .loc 1 1082 5 is_stmt 1 view .LVU275
  2302. 949 .loc 1 1082 21 is_stmt 0 view .LVU276
  2303. 950 000c 436A ldr r3, [r0, #36]
  2304. 951 000e 43F48013 orr r3, r3, #1048576
  2305. 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2306. 1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2307. 952 .loc 1 1084 12 view .LVU277
  2308. 953 0012 0120 movs r0, #1
  2309. 954 .LVL58:
  2310. 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2311. 955 .loc 1 1082 21 view .LVU278
  2312. 956 0014 6362 str r3, [r4, #36]
  2313. 957 .loc 1 1084 5 is_stmt 1 view .LVU279
  2314. 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2315. 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2316. 958 .loc 1 1086 1 is_stmt 0 view .LVU280
  2317. 959 0016 38BD pop {r3, r4, r5, pc}
  2318. 960 .LVL59:
  2319. 961 .L126:
  2320. 962 .LBB6:
  2321. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 41
  2322. 963 .LBI6:
  2323. 1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2324. 964 .loc 1 1042 19 is_stmt 1 view .LVU281
  2325. 965 .LBB7:
  2326. 1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2327. 966 .loc 1 1049 5 view .LVU282
  2328. 967 0018 0268 ldr r2, [r0]
  2329. 968 001a 1368 ldr r3, [r2]
  2330. 969 001c 43F00103 orr r3, r3, #1
  2331. 970 0020 1360 str r3, [r2]
  2332. 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2333. 971 .loc 1 1052 5 view .LVU283
  2334. 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2335. 972 .loc 1 1052 17 is_stmt 0 view .LVU284
  2336. 973 0022 FFF7FEFF bl HAL_GetTick
  2337. 974 .LVL60:
  2338. 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2339. 975 .loc 1 1052 17 view .LVU285
  2340. 976 0026 0546 mov r5, r0
  2341. 977 .LVL61:
  2342. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2343. 978 .loc 1 1055 5 is_stmt 1 view .LVU286
  2344. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2345. 979 .loc 1 1055 11 is_stmt 0 view .LVU287
  2346. 980 0028 04E0 b .L121
  2347. 981 .LVL62:
  2348. 982 .L123:
  2349. 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2350. 983 .loc 1 1058 12 view .LVU288
  2351. 984 002a FFF7FEFF bl HAL_GetTick
  2352. 985 .LVL63:
  2353. 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2354. 986 .loc 1 1058 26 view .LVU289
  2355. 987 002e 431B subs r3, r0, r5
  2356. 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2357. 988 .loc 1 1058 10 view .LVU290
  2358. 989 0030 0A2B cmp r3, #10
  2359. 990 0032 0CD8 bhi .L127
  2360. 991 .L121:
  2361. 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2362. 992 .loc 1 1058 7 is_stmt 1 view .LVU291
  2363. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2364. 993 .loc 1 1055 11 view .LVU292
  2365. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2366. 994 .loc 1 1055 17 is_stmt 0 view .LVU293
  2367. 995 0034 2368 ldr r3, [r4]
  2368. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2369. 996 .loc 1 1055 27 view .LVU294
  2370. 997 0036 5A68 ldr r2, [r3, #4]
  2371. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2372. 998 .loc 1 1055 11 view .LVU295
  2373. 999 0038 D207 lsls r2, r2, #31
  2374. 1000 003a F6D5 bpl .L123
  2375. 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2376. 1001 .loc 1 1071 5 is_stmt 1 view .LVU296
  2377. 1002 003c 1A68 ldr r2, [r3]
  2378. 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2379. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 42
  2380. 1003 .loc 1 1074 17 is_stmt 0 view .LVU297
  2381. 1004 003e 0121 movs r1, #1
  2382. 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2383. 1005 .loc 1 1071 5 view .LVU298
  2384. 1006 0040 22F00202 bic r2, r2, #2
  2385. 1007 0044 1A60 str r2, [r3]
  2386. 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2387. 1008 .loc 1 1074 5 is_stmt 1 view .LVU299
  2388. 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2389. 1009 .loc 1 1074 17 is_stmt 0 view .LVU300
  2390. 1010 0046 84F82010 strb r1, [r4, #32]
  2391. 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2392. 1011 .loc 1 1077 5 is_stmt 1 view .LVU301
  2393. 1012 .LVL64:
  2394. 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2395. 1013 .loc 1 1077 12 is_stmt 0 view .LVU302
  2396. 1014 004a 0020 movs r0, #0
  2397. 1015 .LBE7:
  2398. 1016 .LBE6:
  2399. 1017 .loc 1 1086 1 view .LVU303
  2400. 1018 004c 38BD pop {r3, r4, r5, pc}
  2401. 1019 .LVL65:
  2402. 1020 .L127:
  2403. 1021 .LBB9:
  2404. 1022 .LBB8:
  2405. 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2406. 1023 .loc 1 1061 9 is_stmt 1 view .LVU304
  2407. 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2408. 1024 .loc 1 1061 25 is_stmt 0 view .LVU305
  2409. 1025 004e 636A ldr r3, [r4, #36]
  2410. 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2411. 1026 .loc 1 1064 21 view .LVU306
  2412. 1027 0050 0522 movs r2, #5
  2413. 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2414. 1028 .loc 1 1061 25 view .LVU307
  2415. 1029 0052 43F40033 orr r3, r3, #131072
  2416. 1030 0056 6362 str r3, [r4, #36]
  2417. 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2418. 1031 .loc 1 1064 9 is_stmt 1 view .LVU308
  2419. 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2420. 1032 .loc 1 1064 21 is_stmt 0 view .LVU309
  2421. 1033 0058 84F82020 strb r2, [r4, #32]
  2422. 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2423. 1034 .loc 1 1066 9 is_stmt 1 view .LVU310
  2424. 1035 .LVL66:
  2425. 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2426. 1036 .loc 1 1066 16 is_stmt 0 view .LVU311
  2427. 1037 005c 0120 movs r0, #1
  2428. 1038 .LBE8:
  2429. 1039 .LBE9:
  2430. 1040 .loc 1 1086 1 view .LVU312
  2431. 1041 005e 38BD pop {r3, r4, r5, pc}
  2432. 1042 .loc 1 1086 1 view .LVU313
  2433. 1043 .cfi_endproc
  2434. 1044 .LFE136:
  2435. 1046 .section .text.HAL_CAN_DeInit,"ax",%progbits
  2436. 1047 .align 1
  2437. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 43
  2438. 1048 .p2align 2,,3
  2439. 1049 .global HAL_CAN_DeInit
  2440. 1050 .syntax unified
  2441. 1051 .thumb
  2442. 1052 .thumb_func
  2443. 1054 HAL_CAN_DeInit:
  2444. 1055 .LVL67:
  2445. 1056 .LFB131:
  2446. 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check CAN handle */
  2447. 1057 .loc 1 461 1 is_stmt 1 view -0
  2448. 1058 .cfi_startproc
  2449. 1059 @ args = 0, pretend = 0, frame = 0
  2450. 1060 @ frame_needed = 0, uses_anonymous_args = 0
  2451. 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2452. 1061 .loc 1 463 3 view .LVU315
  2453. 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2454. 1062 .loc 1 463 6 is_stmt 0 view .LVU316
  2455. 1063 0000 D8B1 cbz r0, .L131
  2456. 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2457. 1064 .loc 1 469 3 view .LVU317
  2458. 1065 0002 0F4B ldr r3, .L136
  2459. 1066 0004 0268 ldr r2, [r0]
  2460. 1067 0006 9A42 cmp r2, r3
  2461. 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check CAN handle */
  2462. 1068 .loc 1 461 1 view .LVU318
  2463. 1069 0008 10B5 push {r4, lr}
  2464. 1070 .LCFI5:
  2465. 1071 .cfi_def_cfa_offset 8
  2466. 1072 .cfi_offset 4, -8
  2467. 1073 .cfi_offset 14, -4
  2468. 1074 000a 0446 mov r4, r0
  2469. 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2470. 1075 .loc 1 469 3 is_stmt 1 view .LVU319
  2471. 1076 000c 04D0 beq .L130
  2472. 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2473. 1077 .loc 1 469 3 is_stmt 0 discriminator 1 view .LVU320
  2474. 1078 000e 0D48 ldr r0, .L136+4
  2475. 1079 .LVL68:
  2476. 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2477. 1080 .loc 1 469 3 discriminator 1 view .LVU321
  2478. 1081 0010 40F2D511 movw r1, #469
  2479. 1082 0014 FFF7FEFF bl assert_failed
  2480. 1083 .LVL69:
  2481. 1084 .L130:
  2482. 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2483. 1085 .loc 1 472 3 is_stmt 1 view .LVU322
  2484. 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2485. 1086 .loc 1 472 9 is_stmt 0 view .LVU323
  2486. 1087 0018 2046 mov r0, r4
  2487. 1088 001a FFF7FEFF bl HAL_CAN_Stop
  2488. 1089 .LVL70:
  2489. 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  2490. 1090 .loc 1 485 3 is_stmt 1 view .LVU324
  2491. 1091 001e 2046 mov r0, r4
  2492. 1092 0020 FFF7FEFF bl HAL_CAN_MspDeInit
  2493. 1093 .LVL71:
  2494. 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2495. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 44
  2496. 1094 .loc 1 489 3 view .LVU325
  2497. 1095 0024 2168 ldr r1, [r4]
  2498. 1096 0026 0A68 ldr r2, [r1]
  2499. 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2500. 1097 .loc 1 492 19 is_stmt 0 view .LVU326
  2501. 1098 0028 0023 movs r3, #0
  2502. 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2503. 1099 .loc 1 489 3 view .LVU327
  2504. 1100 002a 42F40042 orr r2, r2, #32768
  2505. 1101 002e 0A60 str r2, [r1]
  2506. 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2507. 1102 .loc 1 492 3 is_stmt 1 view .LVU328
  2508. 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2509. 1103 .loc 1 492 19 is_stmt 0 view .LVU329
  2510. 1104 0030 6362 str r3, [r4, #36]
  2511. 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2512. 1105 .loc 1 495 3 is_stmt 1 view .LVU330
  2513. 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2514. 1106 .loc 1 495 15 is_stmt 0 view .LVU331
  2515. 1107 0032 84F82030 strb r3, [r4, #32]
  2516. 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2517. 1108 .loc 1 498 3 is_stmt 1 view .LVU332
  2518. 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2519. 1109 .loc 1 498 10 is_stmt 0 view .LVU333
  2520. 1110 0036 1846 mov r0, r3
  2521. 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2522. 1111 .loc 1 499 1 view .LVU334
  2523. 1112 0038 10BD pop {r4, pc}
  2524. 1113 .LVL72:
  2525. 1114 .L131:
  2526. 1115 .LCFI6:
  2527. 1116 .cfi_def_cfa_offset 0
  2528. 1117 .cfi_restore 4
  2529. 1118 .cfi_restore 14
  2530. 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2531. 1119 .loc 1 465 12 view .LVU335
  2532. 1120 003a 0120 movs r0, #1
  2533. 1121 .LVL73:
  2534. 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2535. 1122 .loc 1 499 1 view .LVU336
  2536. 1123 003c 7047 bx lr
  2537. 1124 .L137:
  2538. 1125 003e 00BF .align 2
  2539. 1126 .L136:
  2540. 1127 0040 00640040 .word 1073767424
  2541. 1128 0044 00000000 .word .LC0
  2542. 1129 .cfi_endproc
  2543. 1130 .LFE131:
  2544. 1132 .section .text.HAL_CAN_RequestSleep,"ax",%progbits
  2545. 1133 .align 1
  2546. 1134 .p2align 2,,3
  2547. 1135 .global HAL_CAN_RequestSleep
  2548. 1136 .syntax unified
  2549. 1137 .thumb
  2550. 1138 .thumb_func
  2551. 1140 HAL_CAN_RequestSleep:
  2552. 1141 .LVL74:
  2553. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 45
  2554. 1142 .LFB137:
  2555. 1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2556. 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2557. 1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Request the sleep mode (low power) entry.
  2558. 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * When returning from this function, Sleep mode will be entered
  2559. 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * as soon as the current CAN activity (transmission or reception
  2560. 1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * of a CAN frame) has been completed.
  2561. 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  2562. 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  2563. 1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status.
  2564. 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2565. 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RequestSleep(CAN_HandleTypeDef *hcan)
  2566. 1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2567. 1143 .loc 1 1098 1 is_stmt 1 view -0
  2568. 1144 .cfi_startproc
  2569. 1145 @ args = 0, pretend = 0, frame = 0
  2570. 1146 @ frame_needed = 0, uses_anonymous_args = 0
  2571. 1147 @ link register save eliminated.
  2572. 1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2573. 1148 .loc 1 1099 3 view .LVU338
  2574. 1149 .loc 1 1099 24 is_stmt 0 view .LVU339
  2575. 1150 0000 90F82020 ldrb r2, [r0, #32] @ zero_extendqisi2
  2576. 1151 .LVL75:
  2577. 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2578. 1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  2579. 1152 .loc 1 1101 3 is_stmt 1 view .LVU340
  2580. 1153 .loc 1 1101 6 is_stmt 0 view .LVU341
  2581. 1154 0004 013A subs r2, r2, #1
  2582. 1155 .LVL76:
  2583. 1156 .loc 1 1101 6 view .LVU342
  2584. 1157 0006 012A cmp r2, #1
  2585. 1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2586. 1158 .loc 1 1098 1 view .LVU343
  2587. 1159 0008 0346 mov r3, r0
  2588. 1160 .loc 1 1101 6 view .LVU344
  2589. 1161 000a 05D9 bls .L141
  2590. 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  2591. 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2592. 1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request Sleep mode */
  2593. 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
  2594. 1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2595. 1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2596. 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  2597. 1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2598. 1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  2599. 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2600. 1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2601. 1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  2602. 1162 .loc 1 1113 5 is_stmt 1 view .LVU345
  2603. 1163 .loc 1 1113 21 is_stmt 0 view .LVU346
  2604. 1164 000c 426A ldr r2, [r0, #36]
  2605. 1165 000e 42F48022 orr r2, r2, #262144
  2606. 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2607. 1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2608. 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2609. 1166 .loc 1 1116 12 view .LVU347
  2610. 1167 0012 0120 movs r0, #1
  2611. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 46
  2612. 1168 .LVL77:
  2613. 1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2614. 1169 .loc 1 1113 21 view .LVU348
  2615. 1170 0014 5A62 str r2, [r3, #36]
  2616. 1171 .loc 1 1116 5 is_stmt 1 view .LVU349
  2617. 1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2618. 1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2619. 1172 .loc 1 1118 1 is_stmt 0 view .LVU350
  2620. 1173 0016 7047 bx lr
  2621. 1174 .LVL78:
  2622. 1175 .L141:
  2623. 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2624. 1176 .loc 1 1105 5 is_stmt 1 view .LVU351
  2625. 1177 0018 0268 ldr r2, [r0]
  2626. 1178 001a 1368 ldr r3, [r2]
  2627. 1179 001c 43F00203 orr r3, r3, #2
  2628. 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2629. 1180 .loc 1 1108 12 is_stmt 0 view .LVU352
  2630. 1181 0020 0020 movs r0, #0
  2631. 1182 .LVL79:
  2632. 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2633. 1183 .loc 1 1105 5 view .LVU353
  2634. 1184 0022 1360 str r3, [r2]
  2635. 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2636. 1185 .loc 1 1108 5 is_stmt 1 view .LVU354
  2637. 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2638. 1186 .loc 1 1108 12 is_stmt 0 view .LVU355
  2639. 1187 0024 7047 bx lr
  2640. 1188 .cfi_endproc
  2641. 1189 .LFE137:
  2642. 1191 0026 00BF .section .text.HAL_CAN_WakeUp,"ax",%progbits
  2643. 1192 .align 1
  2644. 1193 .p2align 2,,3
  2645. 1194 .global HAL_CAN_WakeUp
  2646. 1195 .syntax unified
  2647. 1196 .thumb
  2648. 1197 .thumb_func
  2649. 1199 HAL_CAN_WakeUp:
  2650. 1200 .LVL80:
  2651. 1201 .LFB138:
  2652. 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2653. 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2654. 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Wake up from sleep mode.
  2655. 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * When returning with HAL_OK status from this function, Sleep mode
  2656. 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * is exited.
  2657. 1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  2658. 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  2659. 1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status.
  2660. 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2661. 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_WakeUp(CAN_HandleTypeDef *hcan)
  2662. 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2663. 1202 .loc 1 1129 1 is_stmt 1 view -0
  2664. 1203 .cfi_startproc
  2665. 1204 @ args = 0, pretend = 0, frame = 8
  2666. 1205 @ frame_needed = 0, uses_anonymous_args = 0
  2667. 1206 @ link register save eliminated.
  2668. 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __IO uint32_t count = 0;
  2669. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 47
  2670. 1207 .loc 1 1130 3 view .LVU357
  2671. 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __IO uint32_t count = 0;
  2672. 1208 .loc 1 1129 1 is_stmt 0 view .LVU358
  2673. 1209 0000 82B0 sub sp, sp, #8
  2674. 1210 .LCFI7:
  2675. 1211 .cfi_def_cfa_offset 8
  2676. 1212 .loc 1 1130 17 view .LVU359
  2677. 1213 0002 0023 movs r3, #0
  2678. 1214 0004 0193 str r3, [sp, #4]
  2679. 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2680. 1215 .loc 1 1131 3 is_stmt 1 view .LVU360
  2681. 1216 .loc 1 1131 24 is_stmt 0 view .LVU361
  2682. 1217 0006 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
  2683. 1218 .LVL81:
  2684. 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2685. 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  2686. 1219 .loc 1 1133 3 is_stmt 1 view .LVU362
  2687. 1220 .loc 1 1133 6 is_stmt 0 view .LVU363
  2688. 1221 000a 013B subs r3, r3, #1
  2689. 1222 .LVL82:
  2690. 1223 .loc 1 1133 6 view .LVU364
  2691. 1224 000c 012B cmp r3, #1
  2692. 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __IO uint32_t count = 0;
  2693. 1225 .loc 1 1129 1 view .LVU365
  2694. 1226 000e 0146 mov r1, r0
  2695. 1227 .loc 1 1133 6 view .LVU366
  2696. 1228 0010 17D8 bhi .L143
  2697. 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  2698. 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2699. 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wake up request */
  2700. 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
  2701. 1229 .loc 1 1137 5 is_stmt 1 view .LVU367
  2702. 1230 0012 0268 ldr r2, [r0]
  2703. 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2704. 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait sleep mode is exited */
  2705. 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** do
  2706. 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2707. 1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Increment counter */
  2708. 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** count++;
  2709. 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2710. 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check if timeout is reached */
  2711. 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (count > CAN_WAKEUP_TIMEOUT_COUNTER)
  2712. 1231 .loc 1 1146 10 is_stmt 0 view .LVU368
  2713. 1232 0014 1048 ldr r0, .L150
  2714. 1233 .LVL83:
  2715. 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2716. 1234 .loc 1 1137 5 view .LVU369
  2717. 1235 0016 1368 ldr r3, [r2]
  2718. 1236 0018 23F00203 bic r3, r3, #2
  2719. 1237 001c 1360 str r3, [r2]
  2720. 1238 001e 03E0 b .L146
  2721. 1239 .L144:
  2722. 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2723. 1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2724. 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  2725. 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2726. 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2727. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 48
  2728. 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2729. 1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** } while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U);
  2730. 1240 .loc 1 1153 29 view .LVU370
  2731. 1241 0020 5368 ldr r3, [r2, #4]
  2732. 1242 .loc 1 1153 5 view .LVU371
  2733. 1243 0022 13F00203 ands r3, r3, #2
  2734. 1244 0026 13D0 beq .L149
  2735. 1245 .L146:
  2736. 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2737. 1246 .loc 1 1140 5 is_stmt 1 view .LVU372
  2738. 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2739. 1247 .loc 1 1143 7 view .LVU373
  2740. 1248 .loc 1 1153 13 view .LVU374
  2741. 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2742. 1249 .loc 1 1143 12 is_stmt 0 view .LVU375
  2743. 1250 0028 019B ldr r3, [sp, #4]
  2744. 1251 002a 0133 adds r3, r3, #1
  2745. 1252 002c 0193 str r3, [sp, #4]
  2746. 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2747. 1253 .loc 1 1146 7 is_stmt 1 view .LVU376
  2748. 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2749. 1254 .loc 1 1146 17 is_stmt 0 view .LVU377
  2750. 1255 002e 019B ldr r3, [sp, #4]
  2751. 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2752. 1256 .loc 1 1146 10 view .LVU378
  2753. 1257 0030 8342 cmp r3, r0
  2754. 1258 0032 F5D9 bls .L144
  2755. 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2756. 1259 .loc 1 1149 9 is_stmt 1 view .LVU379
  2757. 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2758. 1260 .loc 1 1149 25 is_stmt 0 view .LVU380
  2759. 1261 0034 4B6A ldr r3, [r1, #36]
  2760. 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2761. 1262 .loc 1 1151 16 view .LVU381
  2762. 1263 0036 0120 movs r0, #1
  2763. 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2764. 1264 .loc 1 1149 25 view .LVU382
  2765. 1265 0038 43F40033 orr r3, r3, #131072
  2766. 1266 003c 4B62 str r3, [r1, #36]
  2767. 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2768. 1267 .loc 1 1151 9 is_stmt 1 view .LVU383
  2769. 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2770. 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2771. 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  2772. 1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2773. 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  2774. 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2775. 1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2776. 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  2777. 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2778. 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2779. 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2780. 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2781. 1268 .loc 1 1165 1 is_stmt 0 view .LVU384
  2782. 1269 003e 02B0 add sp, sp, #8
  2783. 1270 .LCFI8:
  2784. 1271 .cfi_remember_state
  2785. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 49
  2786. 1272 .cfi_def_cfa_offset 0
  2787. 1273 @ sp needed
  2788. 1274 0040 7047 bx lr
  2789. 1275 .LVL84:
  2790. 1276 .L143:
  2791. 1277 .LCFI9:
  2792. 1278 .cfi_restore_state
  2793. 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2794. 1279 .loc 1 1161 5 is_stmt 1 view .LVU385
  2795. 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2796. 1280 .loc 1 1161 21 is_stmt 0 view .LVU386
  2797. 1281 0042 436A ldr r3, [r0, #36]
  2798. 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2799. 1282 .loc 1 1163 12 view .LVU387
  2800. 1283 0044 0120 movs r0, #1
  2801. 1284 .LVL85:
  2802. 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2803. 1285 .loc 1 1161 21 view .LVU388
  2804. 1286 0046 43F48023 orr r3, r3, #262144
  2805. 1287 004a 4B62 str r3, [r1, #36]
  2806. 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2807. 1288 .loc 1 1163 5 is_stmt 1 view .LVU389
  2808. 1289 .loc 1 1165 1 is_stmt 0 view .LVU390
  2809. 1290 004c 02B0 add sp, sp, #8
  2810. 1291 .LCFI10:
  2811. 1292 .cfi_remember_state
  2812. 1293 .cfi_def_cfa_offset 0
  2813. 1294 @ sp needed
  2814. 1295 004e 7047 bx lr
  2815. 1296 .L149:
  2816. 1297 .LCFI11:
  2817. 1298 .cfi_restore_state
  2818. 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2819. 1299 .loc 1 1156 12 view .LVU391
  2820. 1300 0050 1846 mov r0, r3
  2821. 1301 .loc 1 1165 1 view .LVU392
  2822. 1302 0052 02B0 add sp, sp, #8
  2823. 1303 .LCFI12:
  2824. 1304 .cfi_def_cfa_offset 0
  2825. 1305 @ sp needed
  2826. 1306 0054 7047 bx lr
  2827. 1307 .L151:
  2828. 1308 0056 00BF .align 2
  2829. 1309 .L150:
  2830. 1310 0058 40420F00 .word 1000000
  2831. 1311 .cfi_endproc
  2832. 1312 .LFE138:
  2833. 1314 .section .text.HAL_CAN_IsSleepActive,"ax",%progbits
  2834. 1315 .align 1
  2835. 1316 .p2align 2,,3
  2836. 1317 .global HAL_CAN_IsSleepActive
  2837. 1318 .syntax unified
  2838. 1319 .thumb
  2839. 1320 .thumb_func
  2840. 1322 HAL_CAN_IsSleepActive:
  2841. 1323 .LVL86:
  2842. 1324 .LFB139:
  2843. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 50
  2844. 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2845. 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2846. 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Check is sleep mode is active.
  2847. 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  2848. 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  2849. 1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Status
  2850. 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 0 : Sleep mode is not active.
  2851. 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 1 : Sleep mode is active.
  2852. 1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2853. 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_IsSleepActive(const CAN_HandleTypeDef *hcan)
  2854. 1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2855. 1325 .loc 1 1176 1 is_stmt 1 view -0
  2856. 1326 .cfi_startproc
  2857. 1327 @ args = 0, pretend = 0, frame = 0
  2858. 1328 @ frame_needed = 0, uses_anonymous_args = 0
  2859. 1329 @ link register save eliminated.
  2860. 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t status = 0U;
  2861. 1330 .loc 1 1177 3 view .LVU394
  2862. 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2863. 1331 .loc 1 1178 3 view .LVU395
  2864. 1332 .loc 1 1178 24 is_stmt 0 view .LVU396
  2865. 1333 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
  2866. 1334 .LVL87:
  2867. 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2868. 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  2869. 1335 .loc 1 1180 3 is_stmt 1 view .LVU397
  2870. 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  2871. 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2872. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Sleep mode */
  2873. 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
  2874. 1336 .loc 1 1184 5 view .LVU398
  2875. 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  2876. 1337 .loc 1 1180 6 is_stmt 0 view .LVU399
  2877. 1338 0004 013B subs r3, r3, #1
  2878. 1339 .LVL88:
  2879. 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  2880. 1340 .loc 1 1180 6 view .LVU400
  2881. 1341 0006 012B cmp r3, #1
  2882. 1342 .loc 1 1184 14 view .LVU401
  2883. 1343 0008 9DBF ittte ls
  2884. 1344 000a 0368 ldrls r3, [r0]
  2885. 1345 .loc 1 1184 24 view .LVU402
  2886. 1346 000c 5868 ldrls r0, [r3, #4]
  2887. 1347 .LVL89:
  2888. 1348 .loc 1 1184 8 view .LVU403
  2889. 1349 000e C0F34000 ubfxls r0, r0, #1, #1
  2890. 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2891. 1350 .loc 1 1177 12 view .LVU404
  2892. 1351 0012 0020 movhi r0, #0
  2893. 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2894. 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = 1U;
  2895. 1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2896. 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2897. 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2898. 1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2899. 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
  2900. 1352 .loc 1 1191 3 is_stmt 1 view .LVU405
  2901. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 51
  2902. 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2903. 1353 .loc 1 1192 1 is_stmt 0 view .LVU406
  2904. 1354 0014 7047 bx lr
  2905. 1355 .cfi_endproc
  2906. 1356 .LFE139:
  2907. 1358 0016 00BF .section .text.HAL_CAN_AddTxMessage,"ax",%progbits
  2908. 1359 .align 1
  2909. 1360 .p2align 2,,3
  2910. 1361 .global HAL_CAN_AddTxMessage
  2911. 1362 .syntax unified
  2912. 1363 .thumb
  2913. 1364 .thumb_func
  2914. 1366 HAL_CAN_AddTxMessage:
  2915. 1367 .LVL90:
  2916. 1368 .LFB140:
  2917. 1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2918. 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2919. 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Add a message to the first free Tx mailbox and activate the
  2920. 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * corresponding transmission request.
  2921. 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  2922. 1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  2923. 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pHeader pointer to a CAN_TxHeaderTypeDef structure.
  2924. 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param aData array containing the payload of the Tx frame.
  2925. 1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pTxMailbox pointer to a variable where the function will return
  2926. 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the TxMailbox used to store the Tx message.
  2927. 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be a value of @arg CAN_Tx_Mailboxes.
  2928. 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  2929. 1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2930. 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AddTxMessage(CAN_HandleTypeDef *hcan, const CAN_TxHeaderTypeDef *pHeader,
  2931. 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** const uint8_t aData[], uint32_t *pTxMailbox)
  2932. 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2933. 1369 .loc 1 1208 1 is_stmt 1 view -0
  2934. 1370 .cfi_startproc
  2935. 1371 @ args = 0, pretend = 0, frame = 0
  2936. 1372 @ frame_needed = 0, uses_anonymous_args = 0
  2937. 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
  2938. 1373 .loc 1 1209 3 view .LVU408
  2939. 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2940. 1374 .loc 1 1210 3 view .LVU409
  2941. 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
  2942. 1375 .loc 1 1208 1 is_stmt 0 view .LVU410
  2943. 1376 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
  2944. 1377 .LCFI13:
  2945. 1378 .cfi_def_cfa_offset 32
  2946. 1379 .cfi_offset 3, -32
  2947. 1380 .cfi_offset 4, -28
  2948. 1381 .cfi_offset 5, -24
  2949. 1382 .cfi_offset 6, -20
  2950. 1383 .cfi_offset 7, -16
  2951. 1384 .cfi_offset 8, -12
  2952. 1385 .cfi_offset 9, -8
  2953. 1386 .cfi_offset 14, -4
  2954. 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
  2955. 1387 .loc 1 1208 1 view .LVU411
  2956. 1388 0004 9946 mov r9, r3
  2957. 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tsr = READ_REG(hcan->Instance->TSR);
  2958. 1389 .loc 1 1211 18 view .LVU412
  2959. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 52
  2960. 1390 0006 0368 ldr r3, [r0]
  2961. 1391 .LVL91:
  2962. 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2963. 1392 .loc 1 1210 24 view .LVU413
  2964. 1393 0008 90F82060 ldrb r6, [r0, #32] @ zero_extendqisi2
  2965. 1394 .loc 1 1211 12 view .LVU414
  2966. 1395 000c 9F68 ldr r7, [r3, #8]
  2967. 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2968. 1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
  2969. 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_IDTYPE(pHeader->IDE));
  2970. 1396 .loc 1 1214 3 view .LVU415
  2971. 1397 000e 8B68 ldr r3, [r1, #8]
  2972. 1398 0010 33F00403 bics r3, r3, #4
  2973. 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
  2974. 1399 .loc 1 1208 1 view .LVU416
  2975. 1400 0014 0546 mov r5, r0
  2976. 1401 0016 0C46 mov r4, r1
  2977. 1402 0018 9046 mov r8, r2
  2978. 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tsr = READ_REG(hcan->Instance->TSR);
  2979. 1403 .loc 1 1210 24 view .LVU417
  2980. 1404 001a F6B2 uxtb r6, r6
  2981. 1405 .LVL92:
  2982. 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2983. 1406 .loc 1 1211 3 is_stmt 1 view .LVU418
  2984. 1407 .loc 1 1214 3 view .LVU419
  2985. 1408 001c 04D0 beq .L156
  2986. 1409 .loc 1 1214 3 is_stmt 0 discriminator 2 view .LVU420
  2987. 1410 001e 4448 ldr r0, .L179
  2988. 1411 .LVL93:
  2989. 1412 .loc 1 1214 3 discriminator 2 view .LVU421
  2990. 1413 0020 40F2BE41 movw r1, #1214
  2991. 1414 .LVL94:
  2992. 1415 .loc 1 1214 3 discriminator 2 view .LVU422
  2993. 1416 0024 FFF7FEFF bl assert_failed
  2994. 1417 .LVL95:
  2995. 1418 .L156:
  2996. 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_RTR(pHeader->RTR));
  2997. 1419 .loc 1 1215 3 is_stmt 1 view .LVU423
  2998. 1420 0028 E368 ldr r3, [r4, #12]
  2999. 1421 002a 33F00203 bics r3, r3, #2
  3000. 1422 002e 04D0 beq .L157
  3001. 1423 .loc 1 1215 3 is_stmt 0 discriminator 2 view .LVU424
  3002. 1424 0030 3F48 ldr r0, .L179
  3003. 1425 0032 40F2BF41 movw r1, #1215
  3004. 1426 0036 FFF7FEFF bl assert_failed
  3005. 1427 .LVL96:
  3006. 1428 .L157:
  3007. 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_DLC(pHeader->DLC));
  3008. 1429 .loc 1 1216 3 is_stmt 1 view .LVU425
  3009. 1430 003a 2369 ldr r3, [r4, #16]
  3010. 1431 003c 082B cmp r3, #8
  3011. 1432 003e 61D8 bhi .L175
  3012. 1433 .L158:
  3013. 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  3014. 1434 .loc 1 1217 3 view .LVU426
  3015. 1435 .loc 1 1217 6 is_stmt 0 view .LVU427
  3016. 1436 0040 A368 ldr r3, [r4, #8]
  3017. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 53
  3018. 1437 0042 002B cmp r3, #0
  3019. 1438 0044 4DD1 bne .L159
  3020. 1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3021. 1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_STDID(pHeader->StdId));
  3022. 1439 .loc 1 1219 5 is_stmt 1 view .LVU428
  3023. 1440 0046 2368 ldr r3, [r4]
  3024. 1441 0048 B3F5006F cmp r3, #2048
  3025. 1442 004c 60D2 bcs .L176
  3026. 1443 .L160:
  3027. 1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3028. 1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  3029. 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3030. 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_EXTID(pHeader->ExtId));
  3031. 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3032. 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(pHeader->TransmitGlobalTime));
  3033. 1444 .loc 1 1225 3 view .LVU429
  3034. 1445 004e 237D ldrb r3, [r4, #20] @ zero_extendqisi2
  3035. 1446 0050 012B cmp r3, #1
  3036. 1447 0052 04D9 bls .L161
  3037. 1448 .loc 1 1225 3 is_stmt 0 discriminator 1 view .LVU430
  3038. 1449 0054 3648 ldr r0, .L179
  3039. 1450 0056 40F2C941 movw r1, #1225
  3040. 1451 005a FFF7FEFF bl assert_failed
  3041. 1452 .LVL97:
  3042. 1453 .L161:
  3043. 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3044. 1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3045. 1454 .loc 1 1227 3 is_stmt 1 view .LVU431
  3046. 1455 .loc 1 1227 6 is_stmt 0 view .LVU432
  3047. 1456 005e 013E subs r6, r6, #1
  3048. 1457 .LVL98:
  3049. 1458 .loc 1 1227 6 view .LVU433
  3050. 1459 0060 012E cmp r6, #1
  3051. 1460 0062 48D8 bhi .L162
  3052. 1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3053. 1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3054. 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check that all the Tx mailboxes are not full */
  3055. 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((tsr & CAN_TSR_TME0) != 0U) ||
  3056. 1461 .loc 1 1231 5 is_stmt 1 view .LVU434
  3057. 1462 .loc 1 1231 8 is_stmt 0 view .LVU435
  3058. 1463 0064 17F0E05F tst r7, #469762048
  3059. 1464 0068 06D1 bne .L177
  3060. 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
  3061. 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((tsr & CAN_TSR_TME2) != 0U))
  3062. 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3063. 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Select an empty transmit mailbox */
  3064. 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** transmitmailbox = (tsr & CAN_TSR_CODE) >> CAN_TSR_CODE_Pos;
  3065. 1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3066. 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Store the Tx mailbox */
  3067. 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *pTxMailbox = (uint32_t)1 << transmitmailbox;
  3068. 1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3069. 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the Id */
  3070. 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  3071. 1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3072. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->StdId << CAN_TI0R_STID_Pos) |
  3073. 1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3074. 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3075. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 54
  3076. 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  3077. 1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3078. 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->ExtId << CAN_TI0R_EXID_Pos) |
  3079. 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
  3080. 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3081. 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3082. 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3083. 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the DLC */
  3084. 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TDTR = (pHeader->DLC);
  3085. 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3086. 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the Transmit Global Time mode */
  3087. 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->TransmitGlobalTime == ENABLE)
  3088. 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3089. 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TDTR, CAN_TDT0R_TGT);
  3090. 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3091. 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3092. 1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the data field */
  3093. 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDHR,
  3094. 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[7] << CAN_TDH0R_DATA7_Pos) |
  3095. 1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[6] << CAN_TDH0R_DATA6_Pos) |
  3096. 1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[5] << CAN_TDH0R_DATA5_Pos) |
  3097. 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[4] << CAN_TDH0R_DATA4_Pos));
  3098. 1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDLR,
  3099. 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[3] << CAN_TDL0R_DATA3_Pos) |
  3100. 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[2] << CAN_TDL0R_DATA2_Pos) |
  3101. 1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[1] << CAN_TDL0R_DATA1_Pos) |
  3102. 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[0] << CAN_TDL0R_DATA0_Pos));
  3103. 1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3104. 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request transmission */
  3105. 1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TIR, CAN_TI0R_TXRQ);
  3106. 1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3107. 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  3108. 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  3109. 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3110. 1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  3111. 1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3112. 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  3113. 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
  3114. 1465 .loc 1 1284 7 is_stmt 1 view .LVU436
  3115. 1466 .loc 1 1284 23 is_stmt 0 view .LVU437
  3116. 1467 006a 6B6A ldr r3, [r5, #36]
  3117. 1468 006c 43F40013 orr r3, r3, #2097152
  3118. 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3119. 1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  3120. 1469 .loc 1 1286 14 view .LVU438
  3121. 1470 0070 0120 movs r0, #1
  3122. 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3123. 1471 .loc 1 1284 23 view .LVU439
  3124. 1472 0072 6B62 str r3, [r5, #36]
  3125. 1473 .loc 1 1286 7 is_stmt 1 view .LVU440
  3126. 1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3127. 1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3128. 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  3129. 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3130. 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  3131. 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  3132. 1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3133. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 55
  3134. 1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  3135. 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3136. 1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3137. 1474 .loc 1 1296 1 is_stmt 0 view .LVU441
  3138. 1475 0074 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  3139. 1476 .LVL99:
  3140. 1477 .L177:
  3141. 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3142. 1478 .loc 1 1236 7 is_stmt 1 view .LVU442
  3143. 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3144. 1479 .loc 1 1236 23 is_stmt 0 view .LVU443
  3145. 1480 0078 C7F30167 ubfx r7, r7, #24, #2
  3146. 1481 .LVL100:
  3147. 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3148. 1482 .loc 1 1239 7 is_stmt 1 view .LVU444
  3149. 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3150. 1483 .loc 1 1239 33 is_stmt 0 view .LVU445
  3151. 1484 007c 0123 movs r3, #1
  3152. 1485 007e BB40 lsls r3, r3, r7
  3153. 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3154. 1486 .loc 1 1239 19 view .LVU446
  3155. 1487 0080 C9F80030 str r3, [r9]
  3156. 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3157. 1488 .loc 1 1242 7 is_stmt 1 view .LVU447
  3158. 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3159. 1489 .loc 1 1242 18 is_stmt 0 view .LVU448
  3160. 1490 0084 A268 ldr r2, [r4, #8]
  3161. 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3162. 1491 .loc 1 1242 10 view .LVU449
  3163. 1492 0086 002A cmp r2, #0
  3164. 1493 0088 48D0 beq .L178
  3165. 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
  3166. 1494 .loc 1 1249 9 is_stmt 1 view .LVU450
  3167. 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3168. 1495 .loc 1 1250 73 is_stmt 0 view .LVU451
  3169. 1496 008a E168 ldr r1, [r4, #12]
  3170. 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
  3171. 1497 .loc 1 1249 13 view .LVU452
  3172. 1498 008c 2B68 ldr r3, [r5]
  3173. 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3174. 1499 .loc 1 1250 73 view .LVU453
  3175. 1500 008e 0A43 orrs r2, r2, r1
  3176. 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
  3177. 1501 .loc 1 1249 76 view .LVU454
  3178. 1502 0090 6168 ldr r1, [r4, #4]
  3179. 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3180. 1503 .loc 1 1250 73 view .LVU455
  3181. 1504 0092 42EAC102 orr r2, r2, r1, lsl #3
  3182. 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
  3183. 1505 .loc 1 1249 57 view .LVU456
  3184. 1506 0096 07F11801 add r1, r7, #24
  3185. 1507 009a 0901 lsls r1, r1, #4
  3186. 1508 009c 5A50 str r2, [r3, r1]
  3187. 1509 .L165:
  3188. 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3189. 1510 .loc 1 1255 7 is_stmt 1 view .LVU457
  3190. 1511 009e 03EB0712 add r2, r3, r7, lsl #4
  3191. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 56
  3192. 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3193. 1512 .loc 1 1255 66 is_stmt 0 view .LVU458
  3194. 1513 00a2 2169 ldr r1, [r4, #16]
  3195. 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3196. 1514 .loc 1 1255 56 view .LVU459
  3197. 1515 00a4 C2F88411 str r1, [r2, #388]
  3198. 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3199. 1516 .loc 1 1258 7 is_stmt 1 view .LVU460
  3200. 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3201. 1517 .loc 1 1258 10 is_stmt 0 view .LVU461
  3202. 1518 00a8 217D ldrb r1, [r4, #20] @ zero_extendqisi2
  3203. 1519 00aa 0129 cmp r1, #1
  3204. 1520 00ac 4FEA0717 lsl r7, r7, #4
  3205. 1521 .LVL101:
  3206. 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3207. 1522 .loc 1 1258 10 view .LVU462
  3208. 1523 00b0 05D1 bne .L166
  3209. 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3210. 1524 .loc 1 1260 9 is_stmt 1 view .LVU463
  3211. 1525 00b2 D2F88411 ldr r1, [r2, #388]
  3212. 1526 00b6 41F48071 orr r1, r1, #256
  3213. 1527 00ba C2F88411 str r1, [r2, #388]
  3214. 1528 .L166:
  3215. 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[7] << CAN_TDH0R_DATA7_Pos) |
  3216. 1529 .loc 1 1264 7 view .LVU464
  3217. 1530 00be 1F44 add r7, r7, r3
  3218. 1531 00c0 D8F80430 ldr r3, [r8, #4] @ unaligned
  3219. 1532 00c4 C7F88C31 str r3, [r7, #396]
  3220. 1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[3] << CAN_TDL0R_DATA3_Pos) |
  3221. 1533 .loc 1 1269 7 view .LVU465
  3222. 1534 00c8 D8F80030 ldr r3, [r8] @ unaligned
  3223. 1535 00cc C7F88831 str r3, [r7, #392]
  3224. 1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3225. 1536 .loc 1 1276 7 view .LVU466
  3226. 1537 00d0 D2F88031 ldr r3, [r2, #384]
  3227. 1538 00d4 43F00103 orr r3, r3, #1
  3228. 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3229. 1539 .loc 1 1279 14 is_stmt 0 view .LVU467
  3230. 1540 00d8 0020 movs r0, #0
  3231. 1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3232. 1541 .loc 1 1276 7 view .LVU468
  3233. 1542 00da C2F88031 str r3, [r2, #384]
  3234. 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3235. 1543 .loc 1 1279 7 is_stmt 1 view .LVU469
  3236. 1544 .loc 1 1296 1 is_stmt 0 view .LVU470
  3237. 1545 00de BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  3238. 1546 .LVL102:
  3239. 1547 .L159:
  3240. 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3241. 1548 .loc 1 1223 5 is_stmt 1 view .LVU471
  3242. 1549 00e2 6368 ldr r3, [r4, #4]
  3243. 1550 00e4 B3F1005F cmp r3, #536870912
  3244. 1551 00e8 B1D3 bcc .L160
  3245. 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3246. 1552 .loc 1 1223 5 is_stmt 0 discriminator 1 view .LVU472
  3247. 1553 00ea 1148 ldr r0, .L179
  3248. 1554 00ec 40F2C741 movw r1, #1223
  3249. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 57
  3250. 1555 00f0 FFF7FEFF bl assert_failed
  3251. 1556 .LVL103:
  3252. 1557 00f4 ABE7 b .L160
  3253. 1558 .LVL104:
  3254. 1559 .L162:
  3255. 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3256. 1560 .loc 1 1292 5 is_stmt 1 view .LVU473
  3257. 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3258. 1561 .loc 1 1292 21 is_stmt 0 view .LVU474
  3259. 1562 00f6 6B6A ldr r3, [r5, #36]
  3260. 1563 00f8 43F48023 orr r3, r3, #262144
  3261. 1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3262. 1564 .loc 1 1294 12 view .LVU475
  3263. 1565 00fc 0120 movs r0, #1
  3264. 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3265. 1566 .loc 1 1292 21 view .LVU476
  3266. 1567 00fe 6B62 str r3, [r5, #36]
  3267. 1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3268. 1568 .loc 1 1294 5 is_stmt 1 view .LVU477
  3269. 1569 .loc 1 1296 1 is_stmt 0 view .LVU478
  3270. 1570 0100 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
  3271. 1571 .LVL105:
  3272. 1572 .L175:
  3273. 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  3274. 1573 .loc 1 1216 3 discriminator 1 view .LVU479
  3275. 1574 0104 0A48 ldr r0, .L179
  3276. 1575 0106 4FF49861 mov r1, #1216
  3277. 1576 010a FFF7FEFF bl assert_failed
  3278. 1577 .LVL106:
  3279. 1578 010e 97E7 b .L158
  3280. 1579 .L176:
  3281. 1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3282. 1580 .loc 1 1219 5 discriminator 1 view .LVU480
  3283. 1581 0110 0748 ldr r0, .L179
  3284. 1582 0112 40F2C341 movw r1, #1219
  3285. 1583 0116 FFF7FEFF bl assert_failed
  3286. 1584 .LVL107:
  3287. 1585 011a 98E7 b .L160
  3288. 1586 .LVL108:
  3289. 1587 .L178:
  3290. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3291. 1588 .loc 1 1244 9 is_stmt 1 view .LVU481
  3292. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3293. 1589 .loc 1 1244 98 is_stmt 0 view .LVU482
  3294. 1590 011c E268 ldr r2, [r4, #12]
  3295. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3296. 1591 .loc 1 1244 76 view .LVU483
  3297. 1592 011e 2168 ldr r1, [r4]
  3298. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3299. 1593 .loc 1 1244 13 view .LVU484
  3300. 1594 0120 2B68 ldr r3, [r5]
  3301. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3302. 1595 .loc 1 1244 98 view .LVU485
  3303. 1596 0122 42EA4151 orr r1, r2, r1, lsl #21
  3304. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3305. 1597 .loc 1 1244 57 view .LVU486
  3306. 1598 0126 07F11802 add r2, r7, #24
  3307. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 58
  3308. 1599 012a 1201 lsls r2, r2, #4
  3309. 1600 012c 9950 str r1, [r3, r2]
  3310. 1601 012e B6E7 b .L165
  3311. 1602 .L180:
  3312. 1603 .align 2
  3313. 1604 .L179:
  3314. 1605 0130 00000000 .word .LC0
  3315. 1606 .cfi_endproc
  3316. 1607 .LFE140:
  3317. 1609 .section .text.HAL_CAN_AbortTxRequest,"ax",%progbits
  3318. 1610 .align 1
  3319. 1611 .p2align 2,,3
  3320. 1612 .global HAL_CAN_AbortTxRequest
  3321. 1613 .syntax unified
  3322. 1614 .thumb
  3323. 1615 .thumb_func
  3324. 1617 HAL_CAN_AbortTxRequest:
  3325. 1618 .LVL109:
  3326. 1619 .LFB141:
  3327. 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3328. 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  3329. 1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Abort transmission requests
  3330. 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  3331. 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  3332. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param TxMailboxes List of the Tx Mailboxes to abort.
  3333. 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Tx_Mailboxes.
  3334. 1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  3335. 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  3336. 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AbortTxRequest(CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
  3337. 1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3338. 1620 .loc 1 1307 1 is_stmt 1 view -0
  3339. 1621 .cfi_startproc
  3340. 1622 @ args = 0, pretend = 0, frame = 0
  3341. 1623 @ frame_needed = 0, uses_anonymous_args = 0
  3342. 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3343. 1624 .loc 1 1308 3 view .LVU488
  3344. 1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3345. 1625 .loc 1 1307 1 is_stmt 0 view .LVU489
  3346. 1626 0000 70B5 push {r4, r5, r6, lr}
  3347. 1627 .LCFI14:
  3348. 1628 .cfi_def_cfa_offset 16
  3349. 1629 .cfi_offset 4, -16
  3350. 1630 .cfi_offset 5, -12
  3351. 1631 .cfi_offset 6, -8
  3352. 1632 .cfi_offset 14, -4
  3353. 1633 .loc 1 1308 24 view .LVU490
  3354. 1634 0002 90F82050 ldrb r5, [r0, #32] @ zero_extendqisi2
  3355. 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3356. 1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
  3357. 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
  3358. 1635 .loc 1 1311 3 view .LVU491
  3359. 1636 0006 0729 cmp r1, #7
  3360. 1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3361. 1637 .loc 1 1307 1 view .LVU492
  3362. 1638 0008 0646 mov r6, r0
  3363. 1639 000a 0C46 mov r4, r1
  3364. 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3365. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 59
  3366. 1640 .loc 1 1308 24 view .LVU493
  3367. 1641 000c EDB2 uxtb r5, r5
  3368. 1642 .LVL110:
  3369. 1643 .loc 1 1311 3 is_stmt 1 view .LVU494
  3370. 1644 000e 20D8 bhi .L195
  3371. 1645 .LVL111:
  3372. 1646 .L182:
  3373. 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3374. 1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3375. 1647 .loc 1 1313 3 view .LVU495
  3376. 1648 .loc 1 1313 6 is_stmt 0 view .LVU496
  3377. 1649 0010 013D subs r5, r5, #1
  3378. 1650 .LVL112:
  3379. 1651 .loc 1 1313 6 view .LVU497
  3380. 1652 0012 012D cmp r5, #1
  3381. 1653 0014 05D9 bls .L196
  3382. 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3383. 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3384. 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 0 */
  3385. 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX0) != 0U)
  3386. 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3387. 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 0 */
  3388. 1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ0);
  3389. 1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3390. 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3391. 1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 1 */
  3392. 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX1) != 0U)
  3393. 1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3394. 1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 1 */
  3395. 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ1);
  3396. 1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3397. 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3398. 1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 2 */
  3399. 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX2) != 0U)
  3400. 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3401. 1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 2 */
  3402. 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ2);
  3403. 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3404. 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3405. 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  3406. 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  3407. 1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3408. 1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  3409. 1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3410. 1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  3411. 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  3412. 1654 .loc 1 1343 5 is_stmt 1 view .LVU498
  3413. 1655 .loc 1 1343 21 is_stmt 0 view .LVU499
  3414. 1656 0016 736A ldr r3, [r6, #36]
  3415. 1657 0018 43F48023 orr r3, r3, #262144
  3416. 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3417. 1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  3418. 1658 .loc 1 1345 12 view .LVU500
  3419. 1659 001c 0120 movs r0, #1
  3420. 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3421. 1660 .loc 1 1343 21 view .LVU501
  3422. 1661 001e 7362 str r3, [r6, #36]
  3423. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 60
  3424. 1662 .loc 1 1345 5 is_stmt 1 view .LVU502
  3425. 1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3426. 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3427. 1663 .loc 1 1347 1 is_stmt 0 view .LVU503
  3428. 1664 0020 70BD pop {r4, r5, r6, pc}
  3429. 1665 .LVL113:
  3430. 1666 .L196:
  3431. 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3432. 1667 .loc 1 1317 5 is_stmt 1 view .LVU504
  3433. 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3434. 1668 .loc 1 1317 8 is_stmt 0 view .LVU505
  3435. 1669 0022 E207 lsls r2, r4, #31
  3436. 1670 0024 04D5 bpl .L184
  3437. 1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3438. 1671 .loc 1 1320 7 is_stmt 1 view .LVU506
  3439. 1672 0026 3268 ldr r2, [r6]
  3440. 1673 0028 9368 ldr r3, [r2, #8]
  3441. 1674 002a 43F08003 orr r3, r3, #128
  3442. 1675 002e 9360 str r3, [r2, #8]
  3443. 1676 .L184:
  3444. 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3445. 1677 .loc 1 1324 5 view .LVU507
  3446. 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3447. 1678 .loc 1 1324 8 is_stmt 0 view .LVU508
  3448. 1679 0030 A307 lsls r3, r4, #30
  3449. 1680 0032 04D5 bpl .L185
  3450. 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3451. 1681 .loc 1 1327 7 is_stmt 1 view .LVU509
  3452. 1682 0034 3268 ldr r2, [r6]
  3453. 1683 0036 9368 ldr r3, [r2, #8]
  3454. 1684 0038 43F40043 orr r3, r3, #32768
  3455. 1685 003c 9360 str r3, [r2, #8]
  3456. 1686 .L185:
  3457. 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3458. 1687 .loc 1 1331 5 view .LVU510
  3459. 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3460. 1688 .loc 1 1331 8 is_stmt 0 view .LVU511
  3461. 1689 003e 14F00404 ands r4, r4, #4
  3462. 1690 .LVL114:
  3463. 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3464. 1691 .loc 1 1331 8 view .LVU512
  3465. 1692 0042 0CD0 beq .L187
  3466. 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3467. 1693 .loc 1 1334 7 is_stmt 1 view .LVU513
  3468. 1694 0044 3268 ldr r2, [r6]
  3469. 1695 0046 9368 ldr r3, [r2, #8]
  3470. 1696 0048 43F40003 orr r3, r3, #8388608
  3471. 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3472. 1697 .loc 1 1338 12 is_stmt 0 view .LVU514
  3473. 1698 004c 0020 movs r0, #0
  3474. 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3475. 1699 .loc 1 1334 7 view .LVU515
  3476. 1700 004e 9360 str r3, [r2, #8]
  3477. 1701 .loc 1 1347 1 view .LVU516
  3478. 1702 0050 70BD pop {r4, r5, r6, pc}
  3479. 1703 .LVL115:
  3480. 1704 .L195:
  3481. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 61
  3482. 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3483. 1705 .loc 1 1311 3 discriminator 1 view .LVU517
  3484. 1706 0052 0448 ldr r0, .L197
  3485. 1707 .LVL116:
  3486. 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3487. 1708 .loc 1 1311 3 discriminator 1 view .LVU518
  3488. 1709 0054 40F21F51 movw r1, #1311
  3489. 1710 .LVL117:
  3490. 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3491. 1711 .loc 1 1311 3 discriminator 1 view .LVU519
  3492. 1712 0058 FFF7FEFF bl assert_failed
  3493. 1713 .LVL118:
  3494. 1714 005c D8E7 b .L182
  3495. 1715 .LVL119:
  3496. 1716 .L187:
  3497. 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3498. 1717 .loc 1 1338 12 view .LVU520
  3499. 1718 005e 2046 mov r0, r4
  3500. 1719 .loc 1 1347 1 view .LVU521
  3501. 1720 0060 70BD pop {r4, r5, r6, pc}
  3502. 1721 .LVL120:
  3503. 1722 .L198:
  3504. 1723 .loc 1 1347 1 view .LVU522
  3505. 1724 0062 00BF .align 2
  3506. 1725 .L197:
  3507. 1726 0064 00000000 .word .LC0
  3508. 1727 .cfi_endproc
  3509. 1728 .LFE141:
  3510. 1730 .section .text.HAL_CAN_GetTxMailboxesFreeLevel,"ax",%progbits
  3511. 1731 .align 1
  3512. 1732 .p2align 2,,3
  3513. 1733 .global HAL_CAN_GetTxMailboxesFreeLevel
  3514. 1734 .syntax unified
  3515. 1735 .thumb
  3516. 1736 .thumb_func
  3517. 1738 HAL_CAN_GetTxMailboxesFreeLevel:
  3518. 1739 .LVL121:
  3519. 1740 .LFB142:
  3520. 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3521. 1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  3522. 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return Tx Mailboxes free level: number of free Tx Mailboxes.
  3523. 1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  3524. 1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  3525. 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Number of free Tx Mailboxes.
  3526. 1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  3527. 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetTxMailboxesFreeLevel(const CAN_HandleTypeDef *hcan)
  3528. 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3529. 1741 .loc 1 1356 1 is_stmt 1 view -0
  3530. 1742 .cfi_startproc
  3531. 1743 @ args = 0, pretend = 0, frame = 0
  3532. 1744 @ frame_needed = 0, uses_anonymous_args = 0
  3533. 1745 @ link register save eliminated.
  3534. 1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t freelevel = 0U;
  3535. 1746 .loc 1 1357 3 view .LVU524
  3536. 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3537. 1747 .loc 1 1358 3 view .LVU525
  3538. 1748 .loc 1 1358 24 is_stmt 0 view .LVU526
  3539. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 62
  3540. 1749 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
  3541. 1750 .LVL122:
  3542. 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3543. 1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3544. 1751 .loc 1 1360 3 is_stmt 1 view .LVU527
  3545. 1752 .loc 1 1360 6 is_stmt 0 view .LVU528
  3546. 1753 0004 013B subs r3, r3, #1
  3547. 1754 .LVL123:
  3548. 1755 .loc 1 1360 6 view .LVU529
  3549. 1756 0006 012B cmp r3, #1
  3550. 1757 0008 01D9 bls .L209
  3551. 1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3552. 1758 .loc 1 1357 12 view .LVU530
  3553. 1759 000a 0020 movs r0, #0
  3554. 1760 .LVL124:
  3555. 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3556. 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3557. 1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 0 status */
  3558. 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME0) != 0U)
  3559. 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3560. 1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** freelevel++;
  3561. 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3562. 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3563. 1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 1 status */
  3564. 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME1) != 0U)
  3565. 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3566. 1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** freelevel++;
  3567. 1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3568. 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3569. 1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 2 status */
  3570. 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME2) != 0U)
  3571. 1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3572. 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** freelevel++;
  3573. 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3574. 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3575. 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3576. 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return Tx Mailboxes free level */
  3577. 1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return freelevel;
  3578. 1761 .loc 1 1383 3 is_stmt 1 view .LVU531
  3579. 1762 .L199:
  3580. 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3581. 1763 .loc 1 1384 1 is_stmt 0 view .LVU532
  3582. 1764 000c 7047 bx lr
  3583. 1765 .LVL125:
  3584. 1766 .L209:
  3585. 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3586. 1767 .loc 1 1364 5 is_stmt 1 view .LVU533
  3587. 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3588. 1768 .loc 1 1364 14 is_stmt 0 view .LVU534
  3589. 1769 000e 0368 ldr r3, [r0]
  3590. 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3591. 1770 .loc 1 1364 24 view .LVU535
  3592. 1771 0010 9868 ldr r0, [r3, #8]
  3593. 1772 .LVL126:
  3594. 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3595. 1773 .loc 1 1370 24 view .LVU536
  3596. 1774 0012 9A68 ldr r2, [r3, #8]
  3597. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 63
  3598. 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3599. 1775 .loc 1 1376 24 view .LVU537
  3600. 1776 0014 9B68 ldr r3, [r3, #8]
  3601. 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3602. 1777 .loc 1 1370 8 view .LVU538
  3603. 1778 0016 1201 lsls r2, r2, #4
  3604. 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3605. 1779 .loc 1 1364 8 view .LVU539
  3606. 1780 0018 C0F38060 ubfx r0, r0, #26, #1
  3607. 1781 .LVL127:
  3608. 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3609. 1782 .loc 1 1370 5 is_stmt 1 view .LVU540
  3610. 1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3611. 1783 .loc 1 1372 7 view .LVU541
  3612. 1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3613. 1784 .loc 1 1372 16 is_stmt 0 view .LVU542
  3614. 1785 001c 48BF it mi
  3615. 1786 001e 0130 addmi r0, r0, #1
  3616. 1787 .LVL128:
  3617. 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3618. 1788 .loc 1 1376 5 is_stmt 1 view .LVU543
  3619. 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3620. 1789 .loc 1 1376 8 is_stmt 0 view .LVU544
  3621. 1790 0020 DB00 lsls r3, r3, #3
  3622. 1791 0022 F3D5 bpl .L199
  3623. 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3624. 1792 .loc 1 1378 7 is_stmt 1 view .LVU545
  3625. 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3626. 1793 .loc 1 1378 16 is_stmt 0 view .LVU546
  3627. 1794 0024 0130 adds r0, r0, #1
  3628. 1795 .LVL129:
  3629. 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3630. 1796 .loc 1 1378 16 view .LVU547
  3631. 1797 0026 7047 bx lr
  3632. 1798 .cfi_endproc
  3633. 1799 .LFE142:
  3634. 1801 .section .text.HAL_CAN_IsTxMessagePending,"ax",%progbits
  3635. 1802 .align 1
  3636. 1803 .p2align 2,,3
  3637. 1804 .global HAL_CAN_IsTxMessagePending
  3638. 1805 .syntax unified
  3639. 1806 .thumb
  3640. 1807 .thumb_func
  3641. 1809 HAL_CAN_IsTxMessagePending:
  3642. 1810 .LVL130:
  3643. 1811 .LFB143:
  3644. 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3645. 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  3646. 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Check if a transmission request is pending on the selected Tx
  3647. 1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * Mailboxes.
  3648. 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  3649. 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  3650. 1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param TxMailboxes List of Tx Mailboxes to check.
  3651. 1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Tx_Mailboxes.
  3652. 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Status
  3653. 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 0 : No pending transmission request on any selected Tx Mailboxes.
  3654. 1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 1 : Pending transmission request on at least one of the selected
  3655. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 64
  3656. 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * Tx Mailbox.
  3657. 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  3658. 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_IsTxMessagePending(const CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
  3659. 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3660. 1812 .loc 1 1399 1 is_stmt 1 view -0
  3661. 1813 .cfi_startproc
  3662. 1814 @ args = 0, pretend = 0, frame = 0
  3663. 1815 @ frame_needed = 0, uses_anonymous_args = 0
  3664. 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t status = 0U;
  3665. 1816 .loc 1 1400 3 view .LVU549
  3666. 1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3667. 1817 .loc 1 1401 3 view .LVU550
  3668. 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t status = 0U;
  3669. 1818 .loc 1 1399 1 is_stmt 0 view .LVU551
  3670. 1819 0000 70B5 push {r4, r5, r6, lr}
  3671. 1820 .LCFI15:
  3672. 1821 .cfi_def_cfa_offset 16
  3673. 1822 .cfi_offset 4, -16
  3674. 1823 .cfi_offset 5, -12
  3675. 1824 .cfi_offset 6, -8
  3676. 1825 .cfi_offset 14, -4
  3677. 1826 .loc 1 1401 24 view .LVU552
  3678. 1827 0002 90F82040 ldrb r4, [r0, #32] @ zero_extendqisi2
  3679. 1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3680. 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
  3681. 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
  3682. 1828 .loc 1 1404 3 view .LVU553
  3683. 1829 0006 0729 cmp r1, #7
  3684. 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t status = 0U;
  3685. 1830 .loc 1 1399 1 view .LVU554
  3686. 1831 0008 0646 mov r6, r0
  3687. 1832 000a 0D46 mov r5, r1
  3688. 1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3689. 1833 .loc 1 1401 24 view .LVU555
  3690. 1834 000c E4B2 uxtb r4, r4
  3691. 1835 .LVL131:
  3692. 1836 .loc 1 1404 3 is_stmt 1 view .LVU556
  3693. 1837 000e 0ED8 bhi .L215
  3694. 1838 .LVL132:
  3695. 1839 .L211:
  3696. 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3697. 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3698. 1840 .loc 1 1406 3 view .LVU557
  3699. 1841 .loc 1 1406 6 is_stmt 0 view .LVU558
  3700. 1842 0010 013C subs r4, r4, #1
  3701. 1843 .LVL133:
  3702. 1844 .loc 1 1406 6 view .LVU559
  3703. 1845 0012 012C cmp r4, #1
  3704. 1846 0014 01D9 bls .L216
  3705. 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3706. 1847 .loc 1 1400 12 view .LVU560
  3707. 1848 0016 0020 movs r0, #0
  3708. 1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3709. 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3710. 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check pending transmission request on the selected Tx Mailboxes */
  3711. 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & (TxMailboxes << CAN_TSR_TME0_Pos)) != (TxMailboxes << CAN_TSR_TME0_P
  3712. 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3713. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 65
  3714. 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = 1U;
  3715. 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3716. 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3717. 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3718. 1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return status */
  3719. 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
  3720. 1849 .loc 1 1417 3 is_stmt 1 view .LVU561
  3721. 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3722. 1850 .loc 1 1418 1 is_stmt 0 view .LVU562
  3723. 1851 0018 70BD pop {r4, r5, r6, pc}
  3724. 1852 .LVL134:
  3725. 1853 .L216:
  3726. 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3727. 1854 .loc 1 1410 5 is_stmt 1 view .LVU563
  3728. 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3729. 1855 .loc 1 1410 14 is_stmt 0 view .LVU564
  3730. 1856 001a 3368 ldr r3, [r6]
  3731. 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3732. 1857 .loc 1 1410 24 view .LVU565
  3733. 1858 001c 9B68 ldr r3, [r3, #8]
  3734. 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3735. 1859 .loc 1 1410 30 view .LVU566
  3736. 1860 001e 03EA8563 and r3, r3, r5, lsl #26
  3737. 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3738. 1861 .loc 1 1410 8 view .LVU567
  3739. 1862 0022 B3EB856F cmp r3, r5, lsl #26
  3740. 1863 0026 14BF ite ne
  3741. 1864 0028 0120 movne r0, #1
  3742. 1865 002a 0020 moveq r0, #0
  3743. 1866 .loc 1 1418 1 view .LVU568
  3744. 1867 002c 70BD pop {r4, r5, r6, pc}
  3745. 1868 .LVL135:
  3746. 1869 .L215:
  3747. 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3748. 1870 .loc 1 1404 3 discriminator 1 view .LVU569
  3749. 1871 002e 0348 ldr r0, .L217
  3750. 1872 .LVL136:
  3751. 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3752. 1873 .loc 1 1404 3 discriminator 1 view .LVU570
  3753. 1874 0030 40F27C51 movw r1, #1404
  3754. 1875 .LVL137:
  3755. 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3756. 1876 .loc 1 1404 3 discriminator 1 view .LVU571
  3757. 1877 0034 FFF7FEFF bl assert_failed
  3758. 1878 .LVL138:
  3759. 1879 0038 EAE7 b .L211
  3760. 1880 .L218:
  3761. 1881 003a 00BF .align 2
  3762. 1882 .L217:
  3763. 1883 003c 00000000 .word .LC0
  3764. 1884 .cfi_endproc
  3765. 1885 .LFE143:
  3766. 1887 .section .text.HAL_CAN_GetTxTimestamp,"ax",%progbits
  3767. 1888 .align 1
  3768. 1889 .p2align 2,,3
  3769. 1890 .global HAL_CAN_GetTxTimestamp
  3770. 1891 .syntax unified
  3771. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 66
  3772. 1892 .thumb
  3773. 1893 .thumb_func
  3774. 1895 HAL_CAN_GetTxTimestamp:
  3775. 1896 .LVL139:
  3776. 1897 .LFB144:
  3777. 1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3778. 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  3779. 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return timestamp of Tx message sent, if time triggered communication
  3780. 1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** mode is enabled.
  3781. 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  3782. 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  3783. 1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param TxMailbox Tx Mailbox where the timestamp of message sent will be
  3784. 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * read.
  3785. 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be one value of @arg CAN_Tx_Mailboxes.
  3786. 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Timestamp of message sent from Tx Mailbox.
  3787. 1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  3788. 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetTxTimestamp(const CAN_HandleTypeDef *hcan, uint32_t TxMailbox)
  3789. 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3790. 1898 .loc 1 1431 1 is_stmt 1 view -0
  3791. 1899 .cfi_startproc
  3792. 1900 @ args = 0, pretend = 0, frame = 0
  3793. 1901 @ frame_needed = 0, uses_anonymous_args = 0
  3794. 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t timestamp = 0U;
  3795. 1902 .loc 1 1432 3 view .LVU573
  3796. 1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
  3797. 1903 .loc 1 1433 3 view .LVU574
  3798. 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3799. 1904 .loc 1 1434 3 view .LVU575
  3800. 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t timestamp = 0U;
  3801. 1905 .loc 1 1431 1 is_stmt 0 view .LVU576
  3802. 1906 0000 70B5 push {r4, r5, r6, lr}
  3803. 1907 .LCFI16:
  3804. 1908 .cfi_def_cfa_offset 16
  3805. 1909 .cfi_offset 4, -16
  3806. 1910 .cfi_offset 5, -12
  3807. 1911 .cfi_offset 6, -8
  3808. 1912 .cfi_offset 14, -4
  3809. 1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3810. 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
  3811. 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX(TxMailbox));
  3812. 1913 .loc 1 1437 3 view .LVU577
  3813. 1914 0002 4B1E subs r3, r1, #1
  3814. 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3815. 1915 .loc 1 1434 24 view .LVU578
  3816. 1916 0004 90F82050 ldrb r5, [r0, #32] @ zero_extendqisi2
  3817. 1917 .loc 1 1437 3 view .LVU579
  3818. 1918 0008 012B cmp r3, #1
  3819. 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t timestamp = 0U;
  3820. 1919 .loc 1 1431 1 view .LVU580
  3821. 1920 000a 0646 mov r6, r0
  3822. 1921 000c 0C46 mov r4, r1
  3823. 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3824. 1922 .loc 1 1434 24 view .LVU581
  3825. 1923 000e EDB2 uxtb r5, r5
  3826. 1924 .LVL140:
  3827. 1925 .loc 1 1437 3 is_stmt 1 view .LVU582
  3828. 1926 0010 01D9 bls .L220
  3829. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 67
  3830. 1927 .loc 1 1437 3 is_stmt 0 discriminator 1 view .LVU583
  3831. 1928 0012 0429 cmp r1, #4
  3832. 1929 0014 04D1 bne .L227
  3833. 1930 .L220:
  3834. 1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3835. 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3836. 1931 .loc 1 1439 3 is_stmt 1 view .LVU584
  3837. 1932 .loc 1 1439 6 is_stmt 0 view .LVU585
  3838. 1933 0016 013D subs r5, r5, #1
  3839. 1934 .LVL141:
  3840. 1935 .loc 1 1439 6 view .LVU586
  3841. 1936 0018 012D cmp r5, #1
  3842. 1937 001a 09D9 bls .L228
  3843. 1938 .LVL142:
  3844. 1939 .L222:
  3845. 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
  3846. 1940 .loc 1 1432 12 view .LVU587
  3847. 1941 001c 0020 movs r0, #0
  3848. 1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3849. 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3850. 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Select the Tx mailbox */
  3851. 1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** transmitmailbox = POSITION_VAL(TxMailbox);
  3852. 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3853. 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get timestamp */
  3854. 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** timestamp = (hcan->Instance->sTxMailBox[transmitmailbox].TDTR & CAN_TDT0R_TIME) >> CAN_TDT0R_TI
  3855. 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3856. 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3857. 1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return the timestamp */
  3858. 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return timestamp;
  3859. 1942 .loc 1 1450 3 is_stmt 1 view .LVU588
  3860. 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3861. 1943 .loc 1 1451 1 is_stmt 0 view .LVU589
  3862. 1944 001e 70BD pop {r4, r5, r6, pc}
  3863. 1945 .LVL143:
  3864. 1946 .L227:
  3865. 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3866. 1947 .loc 1 1437 3 discriminator 2 view .LVU590
  3867. 1948 0020 0948 ldr r0, .L229
  3868. 1949 .LVL144:
  3869. 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3870. 1950 .loc 1 1437 3 discriminator 2 view .LVU591
  3871. 1951 0022 40F29D51 movw r1, #1437
  3872. 1952 .LVL145:
  3873. 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3874. 1953 .loc 1 1439 6 discriminator 2 view .LVU592
  3875. 1954 0026 013D subs r5, r5, #1
  3876. 1955 .LVL146:
  3877. 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3878. 1956 .loc 1 1437 3 discriminator 2 view .LVU593
  3879. 1957 0028 FFF7FEFF bl assert_failed
  3880. 1958 .LVL147:
  3881. 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3882. 1959 .loc 1 1439 3 is_stmt 1 discriminator 2 view .LVU594
  3883. 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3884. 1960 .loc 1 1439 6 is_stmt 0 discriminator 2 view .LVU595
  3885. 1961 002c 012D cmp r5, #1
  3886. 1962 002e F5D8 bhi .L222
  3887. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 68
  3888. 1963 .LVL148:
  3889. 1964 .L228:
  3890. 1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3891. 1965 .loc 1 1443 5 is_stmt 1 view .LVU596
  3892. 1966 .LBB10:
  3893. 1967 .LBI10:
  3894. 1968 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
  3895. 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
  3896. 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
  3897. 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
  3898. 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
  3899. 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
  3900. 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
  3901. 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
  3902. 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
  3903. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3904. 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
  3905. 11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3906. 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
  3907. 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
  3908. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
  3909. 15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3910. 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
  3911. 17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3912. 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
  3913. 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  3914. 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3915. 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
  3916. 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
  3917. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3918. 24:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3919. 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  3920. 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
  3921. 27:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3922. 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
  3923. 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3924. 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  3925. 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  3926. 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  3927. 33:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3928. 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
  3929. 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
  3930. 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
  3931. 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3932. 38:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3933. 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
  3934. 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
  3935. 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
  3936. 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3937. 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
  3938. 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
  3939. 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3940. 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
  3941. 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
  3942. 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3943. 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
  3944. 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
  3945. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 69
  3946. 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3947. 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
  3948. 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
  3949. 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3950. 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
  3951. 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
  3952. 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3953. 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
  3954. 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
  3955. 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3956. 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
  3957. 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
  3958. 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3959. 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
  3960. 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
  3961. 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3962. 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
  3963. 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
  3964. 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3965. 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
  3966. 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3967. 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3968. 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3969. 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
  3970. 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3971. 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
  3972. 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3973. 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
  3974. 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3975. 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3976. 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3977. 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
  3978. 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3979. 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
  3980. 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3981. 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
  3982. 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3983. 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3984. 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3985. 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
  3986. 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3987. 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
  3988. 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3989. 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
  3990. 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3991. 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3992. 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3993. 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
  3994. 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3995. 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
  3996. 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3997. 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
  3998. 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3999. 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  4000. 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  4001. 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
  4002. 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  4003. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 70
  4004. 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
  4005. 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4006. 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
  4007. 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
  4008. 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4009. 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
  4010. 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
  4011. 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4012. 116:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4013. 117:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4014. 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
  4015. 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
  4016. 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
  4017. 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  4018. 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4019. 123:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4020. 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4021. 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
  4022. 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
  4023. 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  4024. 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4025. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
  4026. 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4027. 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
  4028. 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4029. 133:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4030. 134:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4031. 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4032. 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
  4033. 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
  4034. 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  4035. 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4036. 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
  4037. 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4038. 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
  4039. 143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4040. 144:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4041. 145:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4042. 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4043. 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
  4044. 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
  4045. 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
  4046. 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4047. 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
  4048. 152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4049. 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4050. 154:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4051. 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
  4052. 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4053. 157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4054. 158:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4055. 159:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4056. 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4057. 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4058. 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
  4059. 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
  4060. 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
  4061. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 71
  4062. 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4063. 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
  4064. 167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4065. 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4066. 169:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4067. 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
  4068. 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4069. 172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4070. 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4071. 174:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4072. 175:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4073. 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4074. 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
  4075. 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
  4076. 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
  4077. 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4078. 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
  4079. 182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4080. 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
  4081. 184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4082. 185:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4083. 186:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4084. 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4085. 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4086. 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
  4087. 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
  4088. 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
  4089. 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4090. 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
  4091. 194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4092. 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
  4093. 196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4094. 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4095. 198:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4096. 199:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4097. 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4098. 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
  4099. 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
  4100. 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
  4101. 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4102. 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
  4103. 206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4104. 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4105. 208:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4106. 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
  4107. 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4108. 211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4109. 212:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4110. 213:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4111. 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4112. 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
  4113. 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
  4114. 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
  4115. 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4116. 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
  4117. 220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4118. 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4119. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 72
  4120. 222:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4121. 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
  4122. 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4123. 225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4124. 226:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4125. 227:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4126. 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4127. 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
  4128. 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
  4129. 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
  4130. 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4131. 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
  4132. 234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4133. 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4134. 236:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4135. 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
  4136. 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4137. 239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4138. 240:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4139. 241:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4140. 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4141. 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
  4142. 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
  4143. 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
  4144. 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4145. 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
  4146. 248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4147. 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4148. 250:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4149. 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
  4150. 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4151. 253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4152. 254:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4153. 255:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4154. 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4155. 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4156. 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
  4157. 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
  4158. 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
  4159. 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4160. 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
  4161. 263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4162. 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4163. 265:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4164. 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
  4165. 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4166. 268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4167. 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4168. 270:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4169. 271:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4170. 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4171. 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
  4172. 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
  4173. 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
  4174. 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4175. 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
  4176. 278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4177. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 73
  4178. 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
  4179. 280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4180. 281:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4181. 282:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4182. 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4183. 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4184. 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
  4185. 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
  4186. 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
  4187. 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4188. 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
  4189. 290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4190. 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
  4191. 292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4192. 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4193. 294:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4194. 295:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4195. 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4196. 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
  4197. 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
  4198. 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
  4199. 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4200. 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
  4201. 302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4202. 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4203. 304:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4204. 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
  4205. 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4206. 307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4207. 308:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4208. 309:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4209. 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4210. 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4211. 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
  4212. 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
  4213. 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
  4214. 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4215. 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
  4216. 317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4217. 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4218. 319:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4219. 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
  4220. 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4221. 322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4222. 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4223. 324:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4224. 325:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4225. 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4226. 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
  4227. 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
  4228. 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
  4229. 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4230. 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
  4231. 332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4232. 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
  4233. 334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4234. 335:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4235. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 74
  4236. 336:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4237. 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4238. 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4239. 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure)
  4240. 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
  4241. 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
  4242. 342:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4243. 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
  4244. 344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4245. 345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
  4246. 346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4247. 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4248. 348:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4249. 349:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4250. 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4251. 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4252. 352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure)
  4253. 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
  4254. 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value
  4255. 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4256. 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
  4257. 357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4258. 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4259. 359:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4260. 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
  4261. 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4262. 362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4263. 363:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4264. 364:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4265. 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4266. 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure)
  4267. 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
  4268. 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set
  4269. 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4270. 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
  4271. 371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4272. 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
  4273. 373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4274. 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4275. 375:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4276. 376:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4277. 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4278. 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask
  4279. 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register.
  4280. 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
  4281. 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4282. 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
  4283. 383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4284. 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4285. 385:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4286. 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
  4287. 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4288. 388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4289. 389:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4290. 390:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4291. 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4292. 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4293. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 75
  4294. 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure)
  4295. 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
  4296. 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
  4297. 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4298. 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
  4299. 398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4300. 399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4301. 400:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4302. 401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
  4303. 402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4304. 403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4305. 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4306. 405:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4307. 406:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4308. 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4309. 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask
  4310. 409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register.
  4311. 410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
  4312. 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4313. 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
  4314. 413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4315. 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
  4316. 415:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4317. 416:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4318. 417:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4319. 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4320. 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4321. 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure)
  4322. 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
  4323. 422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
  4324. 423:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4325. 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
  4326. 425:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4327. 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
  4328. 427:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4329. 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4330. 429:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4331. 430:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4332. 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  4333. 432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  4334. 433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  4335. 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4336. 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ
  4337. 436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
  4338. 437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  4339. 438:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4340. 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
  4341. 440:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4342. 441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory");
  4343. 442:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4344. 443:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4345. 444:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4346. 445:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4347. 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ
  4348. 447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR.
  4349. 448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  4350. 449:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4351. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 76
  4352. 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
  4353. 451:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4354. 452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory");
  4355. 453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4356. 454:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4357. 455:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4358. 456:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4359. 457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority
  4360. 458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register.
  4361. 459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
  4362. 460:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4363. 461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
  4364. 462:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4365. 463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4366. 464:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4367. 465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) );
  4368. 466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4369. 467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4370. 468:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4371. 469:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4372. 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4373. 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4374. 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure)
  4375. 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state.
  4376. 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
  4377. 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4378. 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
  4379. 477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4380. 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4381. 479:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4382. 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
  4383. 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4384. 482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4385. 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4386. 484:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4387. 485:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4388. 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4389. 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority
  4390. 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register.
  4391. 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  4392. 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4393. 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
  4394. 492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4395. 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
  4396. 494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4397. 495:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4398. 496:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4399. 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4400. 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4401. 499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure)
  4402. 500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state.
  4403. 501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  4404. 502:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4405. 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
  4406. 504:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4407. 505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
  4408. 506:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4409. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 77
  4410. 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4411. 508:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4412. 509:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4413. 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4414. 511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition
  4415. 512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
  4416. 513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level.
  4417. 514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  4418. 515:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4419. 516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
  4420. 517:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4421. 518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
  4422. 519:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4423. 520:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4424. 521:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4425. 522:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4426. 523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask
  4427. 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register.
  4428. 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
  4429. 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4430. 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
  4431. 528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4432. 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4433. 530:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4434. 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
  4435. 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4436. 533:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4437. 534:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4438. 535:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4439. 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4440. 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4441. 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure)
  4442. 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state.
  4443. 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
  4444. 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4445. 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
  4446. 543:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4447. 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4448. 545:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4449. 546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
  4450. 547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4451. 548:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4452. 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4453. 550:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4454. 551:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4455. 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4456. 553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask
  4457. 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register.
  4458. 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
  4459. 556:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4460. 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
  4461. 558:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4462. 559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
  4463. 560:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4464. 561:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4465. 562:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4466. 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4467. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 78
  4468. 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4469. 565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure)
  4470. 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state.
  4471. 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
  4472. 568:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4473. 569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
  4474. 570:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4475. 571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
  4476. 572:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4477. 573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4478. 574:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4479. 575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  4480. 576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  4481. 577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
  4482. 578:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4483. 579:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4484. 580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  4485. 581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
  4486. 582:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4487. 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4488. 584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit
  4489. 585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4490. 586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
  4491. 587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  4492. 588:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4493. 589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
  4494. 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
  4495. 591:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4496. 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
  4497. 593:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4498. 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  4499. 595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  4500. 596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  4501. 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  4502. 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4503. 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4504. 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) );
  4505. 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4506. 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4507. 603:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4508. 604:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4509. 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
  4510. 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4511. 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure)
  4512. 608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4513. 609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
  4514. 610:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4515. 611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
  4516. 612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
  4517. 613:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4518. 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
  4519. 615:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4520. 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  4521. 617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  4522. 618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  4523. 619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4524. 620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4525. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 79
  4526. 621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) );
  4527. 622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4528. 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4529. 624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4530. 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4531. 626:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4532. 627:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4533. 628:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4534. 629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit
  4535. 630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4536. 631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
  4537. 632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  4538. 633:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4539. 634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
  4540. 635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
  4541. 636:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4542. 637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
  4543. 638:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4544. 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  4545. 640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  4546. 641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  4547. 642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
  4548. 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4549. 644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
  4550. 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4551. 646:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4552. 647:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4553. 648:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4554. 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4555. 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4556. 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
  4557. 652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4558. 653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
  4559. 654:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4560. 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
  4561. 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
  4562. 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4563. 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
  4564. 659:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4565. 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  4566. 661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  4567. 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
  4568. 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4569. 664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
  4570. 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4571. 666:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4572. 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4573. 668:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4574. 669:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4575. 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4576. 671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit
  4577. 672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4578. 673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
  4579. 674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  4580. 675:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4581. 676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
  4582. 677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
  4583. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 80
  4584. 678:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4585. 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
  4586. 680:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4587. 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  4588. 682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  4589. 683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  4590. 684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  4591. 685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4592. 686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4593. 687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) );
  4594. 688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4595. 689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4596. 690:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4597. 691:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4598. 692:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4599. 693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4600. 694:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4601. 695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure)
  4602. 696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4603. 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
  4604. 698:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4605. 699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
  4606. 700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
  4607. 701:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4608. 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
  4609. 703:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4610. 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  4611. 705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  4612. 706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  4613. 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4614. 708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4615. 709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
  4616. 710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4617. 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4618. 712:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4619. 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4620. 714:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4621. 715:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4622. 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4623. 717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit
  4624. 718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4625. 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
  4626. 720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  4627. 721:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4628. 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
  4629. 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set
  4630. 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4631. 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
  4632. 726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4633. 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  4634. 728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  4635. 729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  4636. 730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
  4637. 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4638. 732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
  4639. 733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4640. 734:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4641. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 81
  4642. 735:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4643. 736:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4644. 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4645. 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4646. 739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure)
  4647. 740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4648. 741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
  4649. 742:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4650. 743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
  4651. 744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set
  4652. 745:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4653. 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
  4654. 747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4655. 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  4656. 749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  4657. 750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
  4658. 751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4659. 752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
  4660. 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4661. 754:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4662. 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4663. 756:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4664. 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  4665. 758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
  4666. 759:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4667. 760:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4668. 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4669. 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR
  4670. 763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register.
  4671. 764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value
  4672. 765:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4673. 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
  4674. 767:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4675. 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
  4676. 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
  4677. 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr)
  4678. 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
  4679. 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
  4680. 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
  4681. 774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr();
  4682. 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4683. 776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4684. 777:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4685. 778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
  4686. 779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4687. 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4688. 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4689. 782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U);
  4690. 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4691. 784:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4692. 785:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4693. 786:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4694. 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4695. 788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR
  4696. 789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register.
  4697. 790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set
  4698. 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4699. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 82
  4700. 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
  4701. 793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4702. 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
  4703. 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
  4704. 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
  4705. 797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
  4706. 798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
  4707. 799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
  4708. 800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr);
  4709. 801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4710. 802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
  4711. 803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4712. 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4713. 805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr;
  4714. 806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4715. 807:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4716. 808:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4717. 809:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4718. 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
  4719. 811:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4720. 812:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4721. 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */
  4722. 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
  4723. 815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions
  4724. 816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  4725. 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4726. 818:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4727. 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
  4728. 820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l"
  4729. 821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */
  4730. 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
  4731. 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
  4732. 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
  4733. 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
  4734. 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4735. 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
  4736. 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
  4737. 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
  4738. 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4739. 831:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4740. 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4741. 833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation
  4742. 834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes.
  4743. 835:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4744. 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop")
  4745. 837:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4746. 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4747. 839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt
  4748. 840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
  4749. 841:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4750. 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi")
  4751. 843:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4752. 844:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4753. 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4754. 846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event
  4755. 847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter
  4756. 848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs.
  4757. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 83
  4758. 849:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4759. 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe")
  4760. 851:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4761. 852:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4762. 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4763. 854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
  4764. 855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
  4765. 856:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4766. 857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev")
  4767. 858:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4768. 859:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4769. 860:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4770. 861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier
  4771. 862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor,
  4772. 863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory,
  4773. 864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed.
  4774. 865:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4775. 866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
  4776. 867:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4777. 868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory");
  4778. 869:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4779. 870:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4780. 871:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4781. 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4782. 873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier
  4783. 874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier.
  4784. 875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete.
  4785. 876:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4786. 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
  4787. 878:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4788. 879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory");
  4789. 880:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4790. 881:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4791. 882:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4792. 883:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4793. 884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier
  4794. 885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before
  4795. 886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion.
  4796. 887:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4797. 888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
  4798. 889:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4799. 890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory");
  4800. 891:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4801. 892:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4802. 893:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4803. 894:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4804. 895:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit)
  4805. 896:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785
  4806. 897:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4807. 898:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4808. 899:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4809. 900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
  4810. 901:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4811. 902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
  4812. 903:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value);
  4813. 904:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4814. 905:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4815. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 84
  4816. 906:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4817. 907:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  4818. 908:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4819. 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4820. 910:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4821. 911:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4822. 912:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4823. 913:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4824. 914:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
  4825. 915:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes
  4826. 916:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4827. 917:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4828. 918:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4829. 919:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
  4830. 920:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4831. 921:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4832. 922:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4833. 923:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  4834. 924:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4835. 925:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4836. 926:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4837. 927:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4838. 928:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4839. 929:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
  4840. 930:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For exam
  4841. 931:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4842. 932:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4843. 933:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4844. 934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
  4845. 935:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4846. 936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
  4847. 937:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value);
  4848. 938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4849. 939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result;
  4850. 940:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4851. 941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  4852. 942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4853. 943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4854. 944:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4855. 945:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4856. 946:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4857. 947:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4858. 948:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit)
  4859. 949:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v
  4860. 950:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate
  4861. 951:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate
  4862. 952:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value
  4863. 953:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4864. 954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
  4865. 955:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4866. 956:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U;
  4867. 957:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U)
  4868. 958:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4869. 959:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1;
  4870. 960:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4871. 961:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2));
  4872. 962:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4873. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 85
  4874. 963:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4875. 964:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4876. 965:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4877. 966:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint
  4878. 967:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state.
  4879. 968:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula
  4880. 969:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor.
  4881. 970:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break
  4882. 971:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4883. 972:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value)
  4884. 973:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4885. 974:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4886. 975:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4887. 976:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value
  4888. 977:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value.
  4889. 978:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4890. 979:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4891. 980:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4892. 981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
  4893. 1969 .loc 2 981 31 view .LVU597
  4894. 1970 .LBB11:
  4895. 982:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4896. 983:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4897. 1971 .loc 2 983 3 view .LVU598
  4898. 984:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4899. 985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  4900. 986:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  4901. 987:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  4902. 988:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
  4903. 1972 .loc 2 988 4 view .LVU599
  4904. 1973 .syntax unified
  4905. 1974 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4906. 1975 0030 94FAA4F4 rbit r4, r4
  4907. 1976 @ 0 "" 2
  4908. 1977 .LVL149:
  4909. 989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4910. 990:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
  4911. 991:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4912. 992:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */
  4913. 993:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U)
  4914. 994:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4915. 995:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U;
  4916. 996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U;
  4917. 997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--;
  4918. 998:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4919. 999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */
  4920. 1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4921. 1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4922. 1978 .loc 2 1001 3 view .LVU600
  4923. 1979 .loc 2 1001 3 is_stmt 0 view .LVU601
  4924. 1980 .thumb
  4925. 1981 .syntax unified
  4926. 1982 .LBE11:
  4927. 1983 .LBE10:
  4928. 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  4929. 1984 .loc 1 1446 22 view .LVU602
  4930. 1985 0034 3368 ldr r3, [r6]
  4931. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 86
  4932. 1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  4933. 1986 .loc 1 1443 23 view .LVU603
  4934. 1987 0036 B4FA84F4 clz r4, r4
  4935. 1988 .LVL150:
  4936. 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  4937. 1989 .loc 1 1446 5 is_stmt 1 view .LVU604
  4938. 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  4939. 1990 .loc 1 1446 61 is_stmt 0 view .LVU605
  4940. 1991 003a 1834 adds r4, r4, #24
  4941. 1992 .LVL151:
  4942. 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  4943. 1993 .loc 1 1446 61 view .LVU606
  4944. 1994 003c 03EB0414 add r4, r3, r4, lsl #4
  4945. 1995 .LVL152:
  4946. 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  4947. 1996 .loc 1 1446 61 view .LVU607
  4948. 1997 0040 6068 ldr r0, [r4, #4]
  4949. 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  4950. 1998 .loc 1 1446 85 view .LVU608
  4951. 1999 0042 000C lsrs r0, r0, #16
  4952. 2000 .LVL153:
  4953. 2001 .loc 1 1451 1 view .LVU609
  4954. 2002 0044 70BD pop {r4, r5, r6, pc}
  4955. 2003 .LVL154:
  4956. 2004 .L230:
  4957. 2005 .loc 1 1451 1 view .LVU610
  4958. 2006 0046 00BF .align 2
  4959. 2007 .L229:
  4960. 2008 0048 00000000 .word .LC0
  4961. 2009 .cfi_endproc
  4962. 2010 .LFE144:
  4963. 2012 .section .text.HAL_CAN_GetRxMessage,"ax",%progbits
  4964. 2013 .align 1
  4965. 2014 .p2align 2,,3
  4966. 2015 .global HAL_CAN_GetRxMessage
  4967. 2016 .syntax unified
  4968. 2017 .thumb
  4969. 2018 .thumb_func
  4970. 2020 HAL_CAN_GetRxMessage:
  4971. 2021 .LVL155:
  4972. 2022 .LFB145:
  4973. 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  4974. 1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  4975. 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Get an CAN frame from the Rx FIFO zone into the message RAM.
  4976. 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  4977. 1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  4978. 1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param RxFifo Fifo number of the received message to be read.
  4979. 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be a value of @arg CAN_receive_FIFO_number.
  4980. 1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pHeader pointer to a CAN_RxHeaderTypeDef structure where the header
  4981. 1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * of the Rx frame will be stored.
  4982. 1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param aData array where the payload of the Rx frame will be stored.
  4983. 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  4984. 1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  4985. 1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_GetRxMessage(CAN_HandleTypeDef *hcan, uint32_t RxFifo,
  4986. 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CAN_RxHeaderTypeDef *pHeader, uint8_t aData[])
  4987. 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  4988. 2023 .loc 1 1466 1 is_stmt 1 view -0
  4989. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 87
  4990. 2024 .cfi_startproc
  4991. 2025 @ args = 0, pretend = 0, frame = 0
  4992. 2026 @ frame_needed = 0, uses_anonymous_args = 0
  4993. 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  4994. 2027 .loc 1 1467 3 view .LVU612
  4995. 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  4996. 2028 .loc 1 1466 1 is_stmt 0 view .LVU613
  4997. 2029 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
  4998. 2030 .LCFI17:
  4999. 2031 .cfi_def_cfa_offset 24
  5000. 2032 .cfi_offset 4, -24
  5001. 2033 .cfi_offset 5, -20
  5002. 2034 .cfi_offset 6, -16
  5003. 2035 .cfi_offset 7, -12
  5004. 2036 .cfi_offset 8, -8
  5005. 2037 .cfi_offset 14, -4
  5006. 2038 .loc 1 1467 24 view .LVU614
  5007. 2039 0004 90F820C0 ldrb ip, [r0, #32] @ zero_extendqisi2
  5008. 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5009. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_RX_FIFO(RxFifo));
  5010. 2040 .loc 1 1469 3 view .LVU615
  5011. 2041 0008 0129 cmp r1, #1
  5012. 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5013. 2042 .loc 1 1466 1 view .LVU616
  5014. 2043 000a 0446 mov r4, r0
  5015. 2044 000c 0D46 mov r5, r1
  5016. 2045 000e 9046 mov r8, r2
  5017. 2046 0010 1F46 mov r7, r3
  5018. 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5019. 2047 .loc 1 1467 24 view .LVU617
  5020. 2048 0012 5FFA8CF6 uxtb r6, ip
  5021. 2049 .LVL156:
  5022. 2050 .loc 1 1469 3 is_stmt 1 view .LVU618
  5023. 2051 0016 17D8 bhi .L244
  5024. 1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5025. 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  5026. 2052 .loc 1 1471 3 view .LVU619
  5027. 2053 .loc 1 1471 6 is_stmt 0 view .LVU620
  5028. 2054 0018 06F1FF3C add ip, r6, #-1
  5029. 2055 001c BCF1010F cmp ip, #1
  5030. 2056 0020 0BD8 bhi .L234
  5031. 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5032. 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5033. 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the Rx FIFO */
  5034. 1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
  5035. 2057 .loc 1 1475 5 is_stmt 1 view .LVU621
  5036. 2058 .loc 1 1475 8 is_stmt 0 view .LVU622
  5037. 2059 0022 D9B9 cbnz r1, .L233
  5038. 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5039. 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check that the Rx FIFO 0 is not empty */
  5040. 1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) == 0U)
  5041. 2060 .loc 1 1478 7 is_stmt 1 view .LVU623
  5042. 2061 .loc 1 1478 16 is_stmt 0 view .LVU624
  5043. 2062 0024 0268 ldr r2, [r0]
  5044. 2063 .LVL157:
  5045. 2064 .loc 1 1478 26 view .LVU625
  5046. 2065 0026 D368 ldr r3, [r2, #12]
  5047. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 88
  5048. 2066 .LVL158:
  5049. 2067 .loc 1 1478 10 view .LVU626
  5050. 2068 0028 9B07 lsls r3, r3, #30
  5051. 2069 002a 1BD1 bne .L235
  5052. 2070 .LVL159:
  5053. 2071 .L243:
  5054. 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5055. 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  5056. 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
  5057. 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5058. 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  5059. 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5060. 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5061. 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* Rx element is assigned to Rx FIFO 1 */
  5062. 1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5063. 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check that the Rx FIFO 1 is not empty */
  5064. 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) == 0U)
  5065. 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5066. 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  5067. 1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
  5068. 2072 .loc 1 1492 9 is_stmt 1 view .LVU627
  5069. 2073 .loc 1 1492 25 is_stmt 0 view .LVU628
  5070. 2074 002c 636A ldr r3, [r4, #36]
  5071. 2075 002e 43F40013 orr r3, r3, #2097152
  5072. 1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5073. 1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  5074. 2076 .loc 1 1494 16 view .LVU629
  5075. 2077 0032 0120 movs r0, #1
  5076. 1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5077. 2078 .loc 1 1492 25 view .LVU630
  5078. 2079 0034 6362 str r3, [r4, #36]
  5079. 2080 .loc 1 1494 9 is_stmt 1 view .LVU631
  5080. 1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5081. 1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5082. 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5083. 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get the header */
  5084. 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE = CAN_RI0R_IDE & hcan->Instance->sFIFOMailBox[RxFifo].RIR;
  5085. 1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  5086. 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5087. 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->StdId = (CAN_RI0R_STID & hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_TI0R_STID_
  5088. 1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5089. 1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  5090. 1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5091. 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->ExtId = ((CAN_RI0R_EXID | CAN_RI0R_STID) &
  5092. 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
  5093. 1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5094. 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR = (CAN_RI0R_RTR & hcan->Instance->sFIFOMailBox[RxFifo].RIR);
  5095. 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos) >= 8U)
  5096. 1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5097. 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Truncate DLC to 8 if received field is over range */
  5098. 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->DLC = 8U;
  5099. 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5100. 1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  5101. 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5102. 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->DLC = (CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_P
  5103. 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5104. 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->FilterMatchIndex = (CAN_RDT0R_FMI & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_
  5105. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 89
  5106. 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->Timestamp = (CAN_RDT0R_TIME & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_
  5107. 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5108. 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get the data */
  5109. 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[0] = (uint8_t)((CAN_RDL0R_DATA0 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5110. 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[1] = (uint8_t)((CAN_RDL0R_DATA1 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5111. 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5112. 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5113. 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5114. 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[5] = (uint8_t)((CAN_RDH0R_DATA5 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5115. 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5116. 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5117. 1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5118. 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Release the FIFO */
  5119. 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
  5120. 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5121. 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Release RX FIFO 0 */
  5122. 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->RF0R, CAN_RF0R_RFOM0);
  5123. 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5124. 1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* Rx element is assigned to Rx FIFO 1 */
  5125. 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5126. 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Release RX FIFO 1 */
  5127. 1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->RF1R, CAN_RF1R_RFOM1);
  5128. 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5129. 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5130. 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  5131. 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  5132. 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5133. 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  5134. 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5135. 1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  5136. 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  5137. 1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5138. 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  5139. 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5140. 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5141. 2081 .loc 1 1554 1 is_stmt 0 view .LVU632
  5142. 2082 0036 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  5143. 2083 .LVL160:
  5144. 2084 .L234:
  5145. 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5146. 2085 .loc 1 1550 5 is_stmt 1 view .LVU633
  5147. 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5148. 2086 .loc 1 1550 21 is_stmt 0 view .LVU634
  5149. 2087 003a 636A ldr r3, [r4, #36]
  5150. 2088 003c 43F48023 orr r3, r3, #262144
  5151. 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5152. 2089 .loc 1 1552 12 view .LVU635
  5153. 2090 0040 0120 movs r0, #1
  5154. 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5155. 2091 .loc 1 1550 21 view .LVU636
  5156. 2092 0042 6362 str r3, [r4, #36]
  5157. 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5158. 2093 .loc 1 1552 5 is_stmt 1 view .LVU637
  5159. 2094 .loc 1 1554 1 is_stmt 0 view .LVU638
  5160. 2095 0044 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  5161. 2096 .LVL161:
  5162. 2097 .L244:
  5163. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 90
  5164. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5165. 2098 .loc 1 1469 3 discriminator 1 view .LVU639
  5166. 2099 0048 3E48 ldr r0, .L246
  5167. 2100 .LVL162:
  5168. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5169. 2101 .loc 1 1469 3 discriminator 1 view .LVU640
  5170. 2102 004a 40F2BD51 movw r1, #1469
  5171. 2103 .LVL163:
  5172. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5173. 2104 .loc 1 1469 3 discriminator 1 view .LVU641
  5174. 2105 004e FFF7FEFF bl assert_failed
  5175. 2106 .LVL164:
  5176. 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5177. 2107 .loc 1 1471 3 is_stmt 1 discriminator 1 view .LVU642
  5178. 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5179. 2108 .loc 1 1471 6 is_stmt 0 discriminator 1 view .LVU643
  5180. 2109 0052 06F1FF3C add ip, r6, #-1
  5181. 2110 0056 BCF1010F cmp ip, #1
  5182. 2111 005a EED8 bhi .L234
  5183. 2112 .L233:
  5184. 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5185. 2113 .loc 1 1489 7 is_stmt 1 view .LVU644
  5186. 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5187. 2114 .loc 1 1489 16 is_stmt 0 view .LVU645
  5188. 2115 005c 2268 ldr r2, [r4]
  5189. 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5190. 2116 .loc 1 1489 26 view .LVU646
  5191. 2117 005e 1369 ldr r3, [r2, #16]
  5192. 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5193. 2118 .loc 1 1489 10 view .LVU647
  5194. 2119 0060 9E07 lsls r6, r3, #30
  5195. 2120 .LVL165:
  5196. 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5197. 2121 .loc 1 1489 10 view .LVU648
  5198. 2122 0062 E3D0 beq .L243
  5199. 2123 .L235:
  5200. 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  5201. 2124 .loc 1 1499 5 is_stmt 1 view .LVU649
  5202. 2125 0064 02EB0511 add r1, r2, r5, lsl #4
  5203. 2126 0068 2B01 lsls r3, r5, #4
  5204. 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  5205. 2127 .loc 1 1499 71 is_stmt 0 view .LVU650
  5206. 2128 006a D1F8B001 ldr r0, [r1, #432]
  5207. 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  5208. 2129 .loc 1 1499 33 view .LVU651
  5209. 2130 006e 00F00400 and r0, r0, #4
  5210. 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  5211. 2131 .loc 1 1499 18 view .LVU652
  5212. 2132 0072 C8F80800 str r0, [r8, #8]
  5213. 1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5214. 2133 .loc 1 1500 5 is_stmt 1 view .LVU653
  5215. 1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5216. 2134 .loc 1 1500 8 is_stmt 0 view .LVU654
  5217. 2135 0076 0028 cmp r0, #0
  5218. 2136 0078 56D0 beq .L245
  5219. 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
  5220. 2137 .loc 1 1506 7 is_stmt 1 view .LVU655
  5221. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 91
  5222. 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5223. 2138 .loc 1 1507 61 is_stmt 0 view .LVU656
  5224. 2139 007a D1F8B001 ldr r0, [r1, #432]
  5225. 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5226. 2140 .loc 1 1507 67 view .LVU657
  5227. 2141 007e C008 lsrs r0, r0, #3
  5228. 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
  5229. 2142 .loc 1 1506 22 view .LVU658
  5230. 2143 0080 C8F80400 str r0, [r8, #4]
  5231. 2144 .L238:
  5232. 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos) >= 8U)
  5233. 2145 .loc 1 1509 5 is_stmt 1 view .LVU659
  5234. 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos) >= 8U)
  5235. 2146 .loc 1 1509 72 is_stmt 0 view .LVU660
  5236. 2147 0084 D1F8B001 ldr r0, [r1, #432]
  5237. 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos) >= 8U)
  5238. 2148 .loc 1 1509 34 view .LVU661
  5239. 2149 0088 00F00200 and r0, r0, #2
  5240. 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos) >= 8U)
  5241. 2150 .loc 1 1509 18 view .LVU662
  5242. 2151 008c C8F80C00 str r0, [r8, #12]
  5243. 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5244. 2152 .loc 1 1510 5 is_stmt 1 view .LVU663
  5245. 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5246. 2153 .loc 1 1510 63 is_stmt 0 view .LVU664
  5247. 2154 0090 D1F8B401 ldr r0, [r1, #436]
  5248. 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5249. 2155 .loc 1 1510 8 view .LVU665
  5250. 2156 0094 0007 lsls r0, r0, #28
  5251. 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5252. 2157 .loc 1 1517 7 is_stmt 1 view .LVU666
  5253. 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5254. 2158 .loc 1 1517 75 is_stmt 0 view .LVU667
  5255. 2159 0096 56BF itet pl
  5256. 2160 0098 D1F8B401 ldrpl r0, [r1, #436]
  5257. 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5258. 2161 .loc 1 1513 20 view .LVU668
  5259. 2162 009c 0820 movmi r0, #8
  5260. 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5261. 2163 .loc 1 1517 82 view .LVU669
  5262. 2164 009e 00F00F00 andpl r0, r0, #15
  5263. 2165 00a2 C8F81000 str r0, [r8, #16]
  5264. 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->Timestamp = (CAN_RDT0R_TIME & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_
  5265. 2166 .loc 1 1519 5 is_stmt 1 view .LVU670
  5266. 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->Timestamp = (CAN_RDT0R_TIME & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_
  5267. 2167 .loc 1 1519 86 is_stmt 0 view .LVU671
  5268. 2168 00a6 D1F8B401 ldr r0, [r1, #436]
  5269. 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5270. 2169 .loc 1 1520 80 view .LVU672
  5271. 2170 00aa D1F8B411 ldr r1, [r1, #436]
  5272. 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[1] = (uint8_t)((CAN_RDL0R_DATA1 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5273. 2171 .loc 1 1523 81 view .LVU673
  5274. 2172 00ae 1A44 add r2, r2, r3
  5275. 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->Timestamp = (CAN_RDT0R_TIME & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_
  5276. 2173 .loc 1 1519 93 view .LVU674
  5277. 2174 00b0 C0F30720 ubfx r0, r0, #8, #8
  5278. 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->Timestamp = (CAN_RDT0R_TIME & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_
  5279. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 92
  5280. 2175 .loc 1 1519 31 view .LVU675
  5281. 2176 00b4 C8F81800 str r0, [r8, #24]
  5282. 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5283. 2177 .loc 1 1520 5 is_stmt 1 view .LVU676
  5284. 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5285. 2178 .loc 1 1520 87 is_stmt 0 view .LVU677
  5286. 2179 00b8 090C lsrs r1, r1, #16
  5287. 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[1] = (uint8_t)((CAN_RDL0R_DATA1 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5288. 2180 .loc 1 1523 81 view .LVU678
  5289. 2181 00ba D2F8B801 ldr r0, [r2, #440]
  5290. 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5291. 2182 .loc 1 1520 24 view .LVU679
  5292. 2183 00be C8F81410 str r1, [r8, #20]
  5293. 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[1] = (uint8_t)((CAN_RDL0R_DATA1 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5294. 2184 .loc 1 1523 5 is_stmt 1 view .LVU680
  5295. 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[1] = (uint8_t)((CAN_RDL0R_DATA1 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5296. 2185 .loc 1 1523 16 is_stmt 0 view .LVU681
  5297. 2186 00c2 3870 strb r0, [r7]
  5298. 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5299. 2187 .loc 1 1524 5 is_stmt 1 view .LVU682
  5300. 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5301. 2188 .loc 1 1524 49 is_stmt 0 view .LVU683
  5302. 2189 00c4 2268 ldr r2, [r4]
  5303. 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5304. 2190 .loc 1 1524 81 view .LVU684
  5305. 2191 00c6 1A44 add r2, r2, r3
  5306. 2192 00c8 D2F8B821 ldr r2, [r2, #440]
  5307. 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5308. 2193 .loc 1 1524 88 view .LVU685
  5309. 2194 00cc 120A lsrs r2, r2, #8
  5310. 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5311. 2195 .loc 1 1524 16 view .LVU686
  5312. 2196 00ce 7A70 strb r2, [r7, #1]
  5313. 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5314. 2197 .loc 1 1525 5 is_stmt 1 view .LVU687
  5315. 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5316. 2198 .loc 1 1525 49 is_stmt 0 view .LVU688
  5317. 2199 00d0 2268 ldr r2, [r4]
  5318. 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5319. 2200 .loc 1 1525 81 view .LVU689
  5320. 2201 00d2 1A44 add r2, r2, r3
  5321. 2202 00d4 D2F8B821 ldr r2, [r2, #440]
  5322. 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5323. 2203 .loc 1 1525 88 view .LVU690
  5324. 2204 00d8 120C lsrs r2, r2, #16
  5325. 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5326. 2205 .loc 1 1525 16 view .LVU691
  5327. 2206 00da BA70 strb r2, [r7, #2]
  5328. 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5329. 2207 .loc 1 1526 5 is_stmt 1 view .LVU692
  5330. 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5331. 2208 .loc 1 1526 49 is_stmt 0 view .LVU693
  5332. 2209 00dc 2268 ldr r2, [r4]
  5333. 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5334. 2210 .loc 1 1526 81 view .LVU694
  5335. 2211 00de 1A44 add r2, r2, r3
  5336. 2212 00e0 D2F8B821 ldr r2, [r2, #440]
  5337. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 93
  5338. 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5339. 2213 .loc 1 1526 88 view .LVU695
  5340. 2214 00e4 120E lsrs r2, r2, #24
  5341. 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5342. 2215 .loc 1 1526 16 view .LVU696
  5343. 2216 00e6 FA70 strb r2, [r7, #3]
  5344. 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[5] = (uint8_t)((CAN_RDH0R_DATA5 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5345. 2217 .loc 1 1527 5 is_stmt 1 view .LVU697
  5346. 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[5] = (uint8_t)((CAN_RDH0R_DATA5 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5347. 2218 .loc 1 1527 49 is_stmt 0 view .LVU698
  5348. 2219 00e8 2268 ldr r2, [r4]
  5349. 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[5] = (uint8_t)((CAN_RDH0R_DATA5 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5350. 2220 .loc 1 1527 81 view .LVU699
  5351. 2221 00ea 1A44 add r2, r2, r3
  5352. 2222 00ec D2F8BC21 ldr r2, [r2, #444]
  5353. 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[5] = (uint8_t)((CAN_RDH0R_DATA5 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5354. 2223 .loc 1 1527 16 view .LVU700
  5355. 2224 00f0 3A71 strb r2, [r7, #4]
  5356. 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5357. 2225 .loc 1 1528 5 is_stmt 1 view .LVU701
  5358. 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5359. 2226 .loc 1 1528 49 is_stmt 0 view .LVU702
  5360. 2227 00f2 2268 ldr r2, [r4]
  5361. 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5362. 2228 .loc 1 1528 81 view .LVU703
  5363. 2229 00f4 1A44 add r2, r2, r3
  5364. 2230 00f6 D2F8BC21 ldr r2, [r2, #444]
  5365. 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5366. 2231 .loc 1 1528 88 view .LVU704
  5367. 2232 00fa 120A lsrs r2, r2, #8
  5368. 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5369. 2233 .loc 1 1528 16 view .LVU705
  5370. 2234 00fc 7A71 strb r2, [r7, #5]
  5371. 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5372. 2235 .loc 1 1529 5 is_stmt 1 view .LVU706
  5373. 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5374. 2236 .loc 1 1529 49 is_stmt 0 view .LVU707
  5375. 2237 00fe 2268 ldr r2, [r4]
  5376. 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5377. 2238 .loc 1 1529 81 view .LVU708
  5378. 2239 0100 1A44 add r2, r2, r3
  5379. 2240 0102 D2F8BC21 ldr r2, [r2, #444]
  5380. 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5381. 2241 .loc 1 1529 88 view .LVU709
  5382. 2242 0106 120C lsrs r2, r2, #16
  5383. 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5384. 2243 .loc 1 1529 16 view .LVU710
  5385. 2244 0108 BA71 strb r2, [r7, #6]
  5386. 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5387. 2245 .loc 1 1530 5 is_stmt 1 view .LVU711
  5388. 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5389. 2246 .loc 1 1530 49 is_stmt 0 view .LVU712
  5390. 2247 010a 2268 ldr r2, [r4]
  5391. 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5392. 2248 .loc 1 1530 81 view .LVU713
  5393. 2249 010c 1344 add r3, r3, r2
  5394. 2250 010e D3F8BC31 ldr r3, [r3, #444]
  5395. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 94
  5396. 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5397. 2251 .loc 1 1530 88 view .LVU714
  5398. 2252 0112 1B0E lsrs r3, r3, #24
  5399. 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5400. 2253 .loc 1 1530 16 view .LVU715
  5401. 2254 0114 FB71 strb r3, [r7, #7]
  5402. 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5403. 2255 .loc 1 1533 5 is_stmt 1 view .LVU716
  5404. 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5405. 2256 .loc 1 1536 7 is_stmt 0 view .LVU717
  5406. 2257 0116 2268 ldr r2, [r4]
  5407. 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5408. 2258 .loc 1 1533 8 view .LVU718
  5409. 2259 0118 65B9 cbnz r5, .L240
  5410. 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5411. 2260 .loc 1 1536 7 is_stmt 1 view .LVU719
  5412. 2261 011a D368 ldr r3, [r2, #12]
  5413. 2262 011c 43F02003 orr r3, r3, #32
  5414. 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5415. 2263 .loc 1 1545 12 is_stmt 0 view .LVU720
  5416. 2264 0120 2846 mov r0, r5
  5417. 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5418. 2265 .loc 1 1536 7 view .LVU721
  5419. 2266 0122 D360 str r3, [r2, #12]
  5420. 2267 .loc 1 1554 1 view .LVU722
  5421. 2268 0124 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  5422. 2269 .LVL166:
  5423. 2270 .L245:
  5424. 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5425. 2271 .loc 1 1502 7 is_stmt 1 view .LVU723
  5426. 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5427. 2272 .loc 1 1502 77 is_stmt 0 view .LVU724
  5428. 2273 0128 D1F8B001 ldr r0, [r1, #432]
  5429. 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5430. 2274 .loc 1 1502 83 view .LVU725
  5431. 2275 012c 400D lsrs r0, r0, #21
  5432. 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5433. 2276 .loc 1 1502 22 view .LVU726
  5434. 2277 012e C8F80000 str r0, [r8]
  5435. 2278 0132 A7E7 b .L238
  5436. 2279 .L240:
  5437. 1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5438. 2280 .loc 1 1541 7 is_stmt 1 view .LVU727
  5439. 2281 0134 1369 ldr r3, [r2, #16]
  5440. 2282 0136 43F02003 orr r3, r3, #32
  5441. 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5442. 2283 .loc 1 1545 12 is_stmt 0 view .LVU728
  5443. 2284 013a 0020 movs r0, #0
  5444. 1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5445. 2285 .loc 1 1541 7 view .LVU729
  5446. 2286 013c 1361 str r3, [r2, #16]
  5447. 2287 .loc 1 1554 1 view .LVU730
  5448. 2288 013e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  5449. 2289 .LVL167:
  5450. 2290 .L247:
  5451. 2291 .loc 1 1554 1 view .LVU731
  5452. 2292 0142 00BF .align 2
  5453. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 95
  5454. 2293 .L246:
  5455. 2294 0144 00000000 .word .LC0
  5456. 2295 .cfi_endproc
  5457. 2296 .LFE145:
  5458. 2298 .section .text.HAL_CAN_GetRxFifoFillLevel,"ax",%progbits
  5459. 2299 .align 1
  5460. 2300 .p2align 2,,3
  5461. 2301 .global HAL_CAN_GetRxFifoFillLevel
  5462. 2302 .syntax unified
  5463. 2303 .thumb
  5464. 2304 .thumb_func
  5465. 2306 HAL_CAN_GetRxFifoFillLevel:
  5466. 2307 .LVL168:
  5467. 2308 .LFB146:
  5468. 1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5469. 1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  5470. 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return Rx FIFO fill level.
  5471. 1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  5472. 1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  5473. 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param RxFifo Rx FIFO.
  5474. 1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be a value of @arg CAN_receive_FIFO_number.
  5475. 1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Number of messages available in Rx FIFO.
  5476. 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  5477. 1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetRxFifoFillLevel(const CAN_HandleTypeDef *hcan, uint32_t RxFifo)
  5478. 1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5479. 2309 .loc 1 1565 1 is_stmt 1 view -0
  5480. 2310 .cfi_startproc
  5481. 2311 @ args = 0, pretend = 0, frame = 0
  5482. 2312 @ frame_needed = 0, uses_anonymous_args = 0
  5483. 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filllevel = 0U;
  5484. 2313 .loc 1 1566 3 view .LVU733
  5485. 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5486. 2314 .loc 1 1567 3 view .LVU734
  5487. 1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filllevel = 0U;
  5488. 2315 .loc 1 1565 1 is_stmt 0 view .LVU735
  5489. 2316 0000 38B5 push {r3, r4, r5, lr}
  5490. 2317 .LCFI18:
  5491. 2318 .cfi_def_cfa_offset 16
  5492. 2319 .cfi_offset 3, -16
  5493. 2320 .cfi_offset 4, -12
  5494. 2321 .cfi_offset 5, -8
  5495. 2322 .cfi_offset 14, -4
  5496. 2323 .loc 1 1567 24 view .LVU736
  5497. 2324 0002 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
  5498. 1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5499. 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
  5500. 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_RX_FIFO(RxFifo));
  5501. 2325 .loc 1 1570 3 view .LVU737
  5502. 2326 0006 0129 cmp r1, #1
  5503. 1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filllevel = 0U;
  5504. 2327 .loc 1 1565 1 view .LVU738
  5505. 2328 0008 0546 mov r5, r0
  5506. 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5507. 2329 .loc 1 1567 24 view .LVU739
  5508. 2330 000a DCB2 uxtb r4, r3
  5509. 2331 .LVL169:
  5510. 2332 .loc 1 1570 3 is_stmt 1 view .LVU740
  5511. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 96
  5512. 2333 000c 0AD8 bhi .L254
  5513. 1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5514. 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  5515. 2334 .loc 1 1572 3 view .LVU741
  5516. 2335 .loc 1 1572 6 is_stmt 0 view .LVU742
  5517. 2336 000e 631E subs r3, r4, #1
  5518. 2337 0010 012B cmp r3, #1
  5519. 2338 0012 01D9 bls .L255
  5520. 2339 .LVL170:
  5521. 2340 .L252:
  5522. 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5523. 2341 .loc 1 1566 12 view .LVU743
  5524. 2342 0014 0020 movs r0, #0
  5525. 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5526. 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5527. 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0)
  5528. 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5529. 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** filllevel = hcan->Instance->RF0R & CAN_RF0R_FMP0;
  5530. 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5531. 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* RxFifo == CAN_RX_FIFO1 */
  5532. 1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5533. 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** filllevel = hcan->Instance->RF1R & CAN_RF1R_FMP1;
  5534. 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5535. 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5536. 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5537. 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return Rx FIFO fill level */
  5538. 1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return filllevel;
  5539. 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5540. 2343 .loc 1 1587 1 view .LVU744
  5541. 2344 0016 38BD pop {r3, r4, r5, pc}
  5542. 2345 .LVL171:
  5543. 2346 .L255:
  5544. 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5545. 2347 .loc 1 1575 5 is_stmt 1 view .LVU745
  5546. 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5547. 2348 .loc 1 1575 8 is_stmt 0 view .LVU746
  5548. 2349 0018 61B9 cbnz r1, .L250
  5549. 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5550. 2350 .loc 1 1577 7 is_stmt 1 view .LVU747
  5551. 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5552. 2351 .loc 1 1577 23 is_stmt 0 view .LVU748
  5553. 2352 001a 0368 ldr r3, [r0]
  5554. 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5555. 2353 .loc 1 1577 33 view .LVU749
  5556. 2354 001c D868 ldr r0, [r3, #12]
  5557. 2355 .LVL172:
  5558. 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5559. 2356 .loc 1 1577 17 view .LVU750
  5560. 2357 001e 00F00300 and r0, r0, #3
  5561. 2358 .LVL173:
  5562. 2359 .loc 1 1587 1 view .LVU751
  5563. 2360 0022 38BD pop {r3, r4, r5, pc}
  5564. 2361 .LVL174:
  5565. 2362 .L254:
  5566. 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5567. 2363 .loc 1 1570 3 discriminator 1 view .LVU752
  5568. 2364 0024 0648 ldr r0, .L256
  5569. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 97
  5570. 2365 .LVL175:
  5571. 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5572. 2366 .loc 1 1570 3 discriminator 1 view .LVU753
  5573. 2367 0026 40F22261 movw r1, #1570
  5574. 2368 .LVL176:
  5575. 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5576. 2369 .loc 1 1570 3 discriminator 1 view .LVU754
  5577. 2370 002a FFF7FEFF bl assert_failed
  5578. 2371 .LVL177:
  5579. 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5580. 2372 .loc 1 1572 3 is_stmt 1 discriminator 1 view .LVU755
  5581. 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5582. 2373 .loc 1 1572 6 is_stmt 0 discriminator 1 view .LVU756
  5583. 2374 002e 631E subs r3, r4, #1
  5584. 2375 0030 012B cmp r3, #1
  5585. 2376 0032 EFD8 bhi .L252
  5586. 2377 .L250:
  5587. 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5588. 2378 .loc 1 1581 7 is_stmt 1 view .LVU757
  5589. 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5590. 2379 .loc 1 1581 23 is_stmt 0 view .LVU758
  5591. 2380 0034 2B68 ldr r3, [r5]
  5592. 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5593. 2381 .loc 1 1581 33 view .LVU759
  5594. 2382 0036 1869 ldr r0, [r3, #16]
  5595. 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5596. 2383 .loc 1 1581 17 view .LVU760
  5597. 2384 0038 00F00300 and r0, r0, #3
  5598. 2385 .LVL178:
  5599. 1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5600. 2386 .loc 1 1586 3 is_stmt 1 view .LVU761
  5601. 2387 .loc 1 1587 1 is_stmt 0 view .LVU762
  5602. 2388 003c 38BD pop {r3, r4, r5, pc}
  5603. 2389 .LVL179:
  5604. 2390 .L257:
  5605. 2391 .loc 1 1587 1 view .LVU763
  5606. 2392 003e 00BF .align 2
  5607. 2393 .L256:
  5608. 2394 0040 00000000 .word .LC0
  5609. 2395 .cfi_endproc
  5610. 2396 .LFE146:
  5611. 2398 .section .text.HAL_CAN_ActivateNotification,"ax",%progbits
  5612. 2399 .align 1
  5613. 2400 .p2align 2,,3
  5614. 2401 .global HAL_CAN_ActivateNotification
  5615. 2402 .syntax unified
  5616. 2403 .thumb
  5617. 2404 .thumb_func
  5618. 2406 HAL_CAN_ActivateNotification:
  5619. 2407 .LVL180:
  5620. 2408 .LFB147:
  5621. 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5622. 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  5623. 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
  5624. 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  5625. 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5626. 1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group4 Interrupts management
  5627. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 98
  5628. 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Interrupts management
  5629. 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  5630. 1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  5631. 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  5632. 1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Interrupts management #####
  5633. 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  5634. 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
  5635. 1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ActivateNotification : Enable interrupts
  5636. 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_DeactivateNotification : Disable interrupts
  5637. 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_IRQHandler : Handles CAN interrupt request
  5638. 1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5639. 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  5640. 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  5641. 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  5642. 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5643. 1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  5644. 1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Enable interrupts.
  5645. 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  5646. 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  5647. 1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param ActiveITs indicates which interrupts will be enabled.
  5648. 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Interrupts.
  5649. 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  5650. 1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  5651. 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ActivateNotification(CAN_HandleTypeDef *hcan, uint32_t ActiveITs)
  5652. 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5653. 2409 .loc 1 1618 1 is_stmt 1 view -0
  5654. 2410 .cfi_startproc
  5655. 2411 @ args = 0, pretend = 0, frame = 0
  5656. 2412 @ frame_needed = 0, uses_anonymous_args = 0
  5657. 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5658. 2413 .loc 1 1619 3 view .LVU765
  5659. 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5660. 2414 .loc 1 1618 1 is_stmt 0 view .LVU766
  5661. 2415 0000 70B5 push {r4, r5, r6, lr}
  5662. 2416 .LCFI19:
  5663. 2417 .cfi_def_cfa_offset 16
  5664. 2418 .cfi_offset 4, -16
  5665. 2419 .cfi_offset 5, -12
  5666. 2420 .cfi_offset 6, -8
  5667. 2421 .cfi_offset 14, -4
  5668. 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5669. 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
  5670. 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_IT(ActiveITs));
  5671. 2422 .loc 1 1622 3 view .LVU767
  5672. 2423 0002 0E4B ldr r3, .L265
  5673. 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5674. 2424 .loc 1 1619 24 view .LVU768
  5675. 2425 0004 90F82040 ldrb r4, [r0, #32] @ zero_extendqisi2
  5676. 2426 .loc 1 1622 3 view .LVU769
  5677. 2427 0008 9942 cmp r1, r3
  5678. 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5679. 2428 .loc 1 1618 1 view .LVU770
  5680. 2429 000a 0546 mov r5, r0
  5681. 2430 000c 0E46 mov r6, r1
  5682. 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5683. 2431 .loc 1 1619 24 view .LVU771
  5684. 2432 000e E4B2 uxtb r4, r4
  5685. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 99
  5686. 2433 .LVL181:
  5687. 2434 .loc 1 1622 3 is_stmt 1 view .LVU772
  5688. 2435 0010 0ED8 bhi .L263
  5689. 2436 .LVL182:
  5690. 2437 .L259:
  5691. 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5692. 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  5693. 2438 .loc 1 1624 3 view .LVU773
  5694. 2439 .loc 1 1624 6 is_stmt 0 view .LVU774
  5695. 2440 0012 013C subs r4, r4, #1
  5696. 2441 .LVL183:
  5697. 2442 .loc 1 1624 6 view .LVU775
  5698. 2443 0014 012C cmp r4, #1
  5699. 2444 0016 05D9 bls .L264
  5700. 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5701. 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5702. 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Enable the selected interrupts */
  5703. 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_ENABLE_IT(hcan, ActiveITs);
  5704. 1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5705. 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  5706. 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  5707. 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5708. 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  5709. 1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5710. 1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  5711. 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  5712. 2445 .loc 1 1636 5 is_stmt 1 view .LVU776
  5713. 2446 .loc 1 1636 21 is_stmt 0 view .LVU777
  5714. 2447 0018 6B6A ldr r3, [r5, #36]
  5715. 2448 001a 43F48023 orr r3, r3, #262144
  5716. 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5717. 1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  5718. 2449 .loc 1 1638 12 view .LVU778
  5719. 2450 001e 0120 movs r0, #1
  5720. 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5721. 2451 .loc 1 1636 21 view .LVU779
  5722. 2452 0020 6B62 str r3, [r5, #36]
  5723. 2453 .loc 1 1638 5 is_stmt 1 view .LVU780
  5724. 1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5725. 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5726. 2454 .loc 1 1640 1 is_stmt 0 view .LVU781
  5727. 2455 0022 70BD pop {r4, r5, r6, pc}
  5728. 2456 .LVL184:
  5729. 2457 .L264:
  5730. 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5731. 2458 .loc 1 1628 5 is_stmt 1 view .LVU782
  5732. 2459 0024 2B68 ldr r3, [r5]
  5733. 2460 0026 5969 ldr r1, [r3, #20]
  5734. 2461 0028 0E43 orrs r6, r6, r1
  5735. 2462 .LVL185:
  5736. 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5737. 2463 .loc 1 1631 12 is_stmt 0 view .LVU783
  5738. 2464 002a 0020 movs r0, #0
  5739. 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5740. 2465 .loc 1 1628 5 view .LVU784
  5741. 2466 002c 5E61 str r6, [r3, #20]
  5742. 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5743. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 100
  5744. 2467 .loc 1 1631 5 is_stmt 1 view .LVU785
  5745. 2468 .loc 1 1640 1 is_stmt 0 view .LVU786
  5746. 2469 002e 70BD pop {r4, r5, r6, pc}
  5747. 2470 .LVL186:
  5748. 2471 .L263:
  5749. 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5750. 2472 .loc 1 1622 3 discriminator 1 view .LVU787
  5751. 2473 0030 0348 ldr r0, .L265+4
  5752. 2474 .LVL187:
  5753. 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5754. 2475 .loc 1 1622 3 discriminator 1 view .LVU788
  5755. 2476 0032 40F25661 movw r1, #1622
  5756. 2477 .LVL188:
  5757. 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5758. 2478 .loc 1 1622 3 discriminator 1 view .LVU789
  5759. 2479 0036 FFF7FEFF bl assert_failed
  5760. 2480 .LVL189:
  5761. 2481 003a EAE7 b .L259
  5762. 2482 .L266:
  5763. 2483 .align 2
  5764. 2484 .L265:
  5765. 2485 003c 7F8F0300 .word 233343
  5766. 2486 0040 00000000 .word .LC0
  5767. 2487 .cfi_endproc
  5768. 2488 .LFE147:
  5769. 2490 .section .text.HAL_CAN_DeactivateNotification,"ax",%progbits
  5770. 2491 .align 1
  5771. 2492 .p2align 2,,3
  5772. 2493 .global HAL_CAN_DeactivateNotification
  5773. 2494 .syntax unified
  5774. 2495 .thumb
  5775. 2496 .thumb_func
  5776. 2498 HAL_CAN_DeactivateNotification:
  5777. 2499 .LVL190:
  5778. 2500 .LFB148:
  5779. 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5780. 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  5781. 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Disable interrupts.
  5782. 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  5783. 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  5784. 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param InactiveITs indicates which interrupts will be disabled.
  5785. 1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Interrupts.
  5786. 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  5787. 1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  5788. 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeactivateNotification(CAN_HandleTypeDef *hcan, uint32_t InactiveITs)
  5789. 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5790. 2501 .loc 1 1651 1 is_stmt 1 view -0
  5791. 2502 .cfi_startproc
  5792. 2503 @ args = 0, pretend = 0, frame = 0
  5793. 2504 @ frame_needed = 0, uses_anonymous_args = 0
  5794. 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5795. 2505 .loc 1 1652 3 view .LVU791
  5796. 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5797. 2506 .loc 1 1651 1 is_stmt 0 view .LVU792
  5798. 2507 0000 70B5 push {r4, r5, r6, lr}
  5799. 2508 .LCFI20:
  5800. 2509 .cfi_def_cfa_offset 16
  5801. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 101
  5802. 2510 .cfi_offset 4, -16
  5803. 2511 .cfi_offset 5, -12
  5804. 2512 .cfi_offset 6, -8
  5805. 2513 .cfi_offset 14, -4
  5806. 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5807. 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
  5808. 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_IT(InactiveITs));
  5809. 2514 .loc 1 1655 3 view .LVU793
  5810. 2515 0002 0F4B ldr r3, .L274
  5811. 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5812. 2516 .loc 1 1652 24 view .LVU794
  5813. 2517 0004 90F82040 ldrb r4, [r0, #32] @ zero_extendqisi2
  5814. 2518 .loc 1 1655 3 view .LVU795
  5815. 2519 0008 9942 cmp r1, r3
  5816. 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5817. 2520 .loc 1 1651 1 view .LVU796
  5818. 2521 000a 0546 mov r5, r0
  5819. 2522 000c 0E46 mov r6, r1
  5820. 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5821. 2523 .loc 1 1652 24 view .LVU797
  5822. 2524 000e E4B2 uxtb r4, r4
  5823. 2525 .LVL191:
  5824. 2526 .loc 1 1655 3 is_stmt 1 view .LVU798
  5825. 2527 0010 0FD8 bhi .L272
  5826. 2528 .LVL192:
  5827. 2529 .L268:
  5828. 1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5829. 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  5830. 2530 .loc 1 1657 3 view .LVU799
  5831. 2531 .loc 1 1657 6 is_stmt 0 view .LVU800
  5832. 2532 0012 013C subs r4, r4, #1
  5833. 2533 .LVL193:
  5834. 2534 .loc 1 1657 6 view .LVU801
  5835. 2535 0014 012C cmp r4, #1
  5836. 2536 0016 05D9 bls .L273
  5837. 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5838. 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5839. 1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Disable the selected interrupts */
  5840. 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_DISABLE_IT(hcan, InactiveITs);
  5841. 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5842. 1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  5843. 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  5844. 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5845. 1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  5846. 1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5847. 1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  5848. 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  5849. 2537 .loc 1 1669 5 is_stmt 1 view .LVU802
  5850. 2538 .loc 1 1669 21 is_stmt 0 view .LVU803
  5851. 2539 0018 6B6A ldr r3, [r5, #36]
  5852. 2540 001a 43F48023 orr r3, r3, #262144
  5853. 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5854. 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  5855. 2541 .loc 1 1671 12 view .LVU804
  5856. 2542 001e 0120 movs r0, #1
  5857. 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5858. 2543 .loc 1 1669 21 view .LVU805
  5859. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 102
  5860. 2544 0020 6B62 str r3, [r5, #36]
  5861. 2545 .loc 1 1671 5 is_stmt 1 view .LVU806
  5862. 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5863. 1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5864. 2546 .loc 1 1673 1 is_stmt 0 view .LVU807
  5865. 2547 0022 70BD pop {r4, r5, r6, pc}
  5866. 2548 .LVL194:
  5867. 2549 .L273:
  5868. 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5869. 2550 .loc 1 1661 5 is_stmt 1 view .LVU808
  5870. 2551 0024 2B68 ldr r3, [r5]
  5871. 2552 0026 5969 ldr r1, [r3, #20]
  5872. 2553 0028 21EA0606 bic r6, r1, r6
  5873. 2554 .LVL195:
  5874. 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5875. 2555 .loc 1 1664 12 is_stmt 0 view .LVU809
  5876. 2556 002c 0020 movs r0, #0
  5877. 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5878. 2557 .loc 1 1661 5 view .LVU810
  5879. 2558 002e 5E61 str r6, [r3, #20]
  5880. 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5881. 2559 .loc 1 1664 5 is_stmt 1 view .LVU811
  5882. 2560 .loc 1 1673 1 is_stmt 0 view .LVU812
  5883. 2561 0030 70BD pop {r4, r5, r6, pc}
  5884. 2562 .LVL196:
  5885. 2563 .L272:
  5886. 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5887. 2564 .loc 1 1655 3 discriminator 1 view .LVU813
  5888. 2565 0032 0448 ldr r0, .L274+4
  5889. 2566 .LVL197:
  5890. 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5891. 2567 .loc 1 1655 3 discriminator 1 view .LVU814
  5892. 2568 0034 40F27761 movw r1, #1655
  5893. 2569 .LVL198:
  5894. 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5895. 2570 .loc 1 1655 3 discriminator 1 view .LVU815
  5896. 2571 0038 FFF7FEFF bl assert_failed
  5897. 2572 .LVL199:
  5898. 2573 003c E9E7 b .L268
  5899. 2574 .L275:
  5900. 2575 003e 00BF .align 2
  5901. 2576 .L274:
  5902. 2577 0040 7F8F0300 .word 233343
  5903. 2578 0044 00000000 .word .LC0
  5904. 2579 .cfi_endproc
  5905. 2580 .LFE148:
  5906. 2582 .section .text.HAL_CAN_TxMailbox0CompleteCallback,"ax",%progbits
  5907. 2583 .align 1
  5908. 2584 .p2align 2,,3
  5909. 2585 .weak HAL_CAN_TxMailbox0CompleteCallback
  5910. 2586 .syntax unified
  5911. 2587 .thumb
  5912. 2588 .thumb_func
  5913. 2590 HAL_CAN_TxMailbox0CompleteCallback:
  5914. 2591 .LFB170:
  5915. 2592 .cfi_startproc
  5916. 2593 @ args = 0, pretend = 0, frame = 0
  5917. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 103
  5918. 2594 @ frame_needed = 0, uses_anonymous_args = 0
  5919. 2595 @ link register save eliminated.
  5920. 2596 0000 7047 bx lr
  5921. 2597 .cfi_endproc
  5922. 2598 .LFE170:
  5923. 2600 0002 00BF .section .text.HAL_CAN_TxMailbox1CompleteCallback,"ax",%progbits
  5924. 2601 .align 1
  5925. 2602 .p2align 2,,3
  5926. 2603 .weak HAL_CAN_TxMailbox1CompleteCallback
  5927. 2604 .syntax unified
  5928. 2605 .thumb
  5929. 2606 .thumb_func
  5930. 2608 HAL_CAN_TxMailbox1CompleteCallback:
  5931. 2609 .LFB172:
  5932. 2610 .cfi_startproc
  5933. 2611 @ args = 0, pretend = 0, frame = 0
  5934. 2612 @ frame_needed = 0, uses_anonymous_args = 0
  5935. 2613 @ link register save eliminated.
  5936. 2614 0000 7047 bx lr
  5937. 2615 .cfi_endproc
  5938. 2616 .LFE172:
  5939. 2618 0002 00BF .section .text.HAL_CAN_TxMailbox2CompleteCallback,"ax",%progbits
  5940. 2619 .align 1
  5941. 2620 .p2align 2,,3
  5942. 2621 .weak HAL_CAN_TxMailbox2CompleteCallback
  5943. 2622 .syntax unified
  5944. 2623 .thumb
  5945. 2624 .thumb_func
  5946. 2626 HAL_CAN_TxMailbox2CompleteCallback:
  5947. 2627 .LFB174:
  5948. 2628 .cfi_startproc
  5949. 2629 @ args = 0, pretend = 0, frame = 0
  5950. 2630 @ frame_needed = 0, uses_anonymous_args = 0
  5951. 2631 @ link register save eliminated.
  5952. 2632 0000 7047 bx lr
  5953. 2633 .cfi_endproc
  5954. 2634 .LFE174:
  5955. 2636 0002 00BF .section .text.HAL_CAN_TxMailbox0AbortCallback,"ax",%progbits
  5956. 2637 .align 1
  5957. 2638 .p2align 2,,3
  5958. 2639 .weak HAL_CAN_TxMailbox0AbortCallback
  5959. 2640 .syntax unified
  5960. 2641 .thumb
  5961. 2642 .thumb_func
  5962. 2644 HAL_CAN_TxMailbox0AbortCallback:
  5963. 2645 .LFB176:
  5964. 2646 .cfi_startproc
  5965. 2647 @ args = 0, pretend = 0, frame = 0
  5966. 2648 @ frame_needed = 0, uses_anonymous_args = 0
  5967. 2649 @ link register save eliminated.
  5968. 2650 0000 7047 bx lr
  5969. 2651 .cfi_endproc
  5970. 2652 .LFE176:
  5971. 2654 0002 00BF .section .text.HAL_CAN_TxMailbox1AbortCallback,"ax",%progbits
  5972. 2655 .align 1
  5973. 2656 .p2align 2,,3
  5974. 2657 .weak HAL_CAN_TxMailbox1AbortCallback
  5975. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 104
  5976. 2658 .syntax unified
  5977. 2659 .thumb
  5978. 2660 .thumb_func
  5979. 2662 HAL_CAN_TxMailbox1AbortCallback:
  5980. 2663 .LFB178:
  5981. 2664 .cfi_startproc
  5982. 2665 @ args = 0, pretend = 0, frame = 0
  5983. 2666 @ frame_needed = 0, uses_anonymous_args = 0
  5984. 2667 @ link register save eliminated.
  5985. 2668 0000 7047 bx lr
  5986. 2669 .cfi_endproc
  5987. 2670 .LFE178:
  5988. 2672 0002 00BF .section .text.HAL_CAN_TxMailbox2AbortCallback,"ax",%progbits
  5989. 2673 .align 1
  5990. 2674 .p2align 2,,3
  5991. 2675 .weak HAL_CAN_TxMailbox2AbortCallback
  5992. 2676 .syntax unified
  5993. 2677 .thumb
  5994. 2678 .thumb_func
  5995. 2680 HAL_CAN_TxMailbox2AbortCallback:
  5996. 2681 .LFB180:
  5997. 2682 .cfi_startproc
  5998. 2683 @ args = 0, pretend = 0, frame = 0
  5999. 2684 @ frame_needed = 0, uses_anonymous_args = 0
  6000. 2685 @ link register save eliminated.
  6001. 2686 0000 7047 bx lr
  6002. 2687 .cfi_endproc
  6003. 2688 .LFE180:
  6004. 2690 0002 00BF .section .text.HAL_CAN_RxFifo0MsgPendingCallback,"ax",%progbits
  6005. 2691 .align 1
  6006. 2692 .p2align 2,,3
  6007. 2693 .weak HAL_CAN_RxFifo0MsgPendingCallback
  6008. 2694 .syntax unified
  6009. 2695 .thumb
  6010. 2696 .thumb_func
  6011. 2698 HAL_CAN_RxFifo0MsgPendingCallback:
  6012. 2699 .LFB182:
  6013. 2700 .cfi_startproc
  6014. 2701 @ args = 0, pretend = 0, frame = 0
  6015. 2702 @ frame_needed = 0, uses_anonymous_args = 0
  6016. 2703 @ link register save eliminated.
  6017. 2704 0000 7047 bx lr
  6018. 2705 .cfi_endproc
  6019. 2706 .LFE182:
  6020. 2708 0002 00BF .section .text.HAL_CAN_RxFifo0FullCallback,"ax",%progbits
  6021. 2709 .align 1
  6022. 2710 .p2align 2,,3
  6023. 2711 .weak HAL_CAN_RxFifo0FullCallback
  6024. 2712 .syntax unified
  6025. 2713 .thumb
  6026. 2714 .thumb_func
  6027. 2716 HAL_CAN_RxFifo0FullCallback:
  6028. 2717 .LFB184:
  6029. 2718 .cfi_startproc
  6030. 2719 @ args = 0, pretend = 0, frame = 0
  6031. 2720 @ frame_needed = 0, uses_anonymous_args = 0
  6032. 2721 @ link register save eliminated.
  6033. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 105
  6034. 2722 0000 7047 bx lr
  6035. 2723 .cfi_endproc
  6036. 2724 .LFE184:
  6037. 2726 0002 00BF .section .text.HAL_CAN_RxFifo1MsgPendingCallback,"ax",%progbits
  6038. 2727 .align 1
  6039. 2728 .p2align 2,,3
  6040. 2729 .weak HAL_CAN_RxFifo1MsgPendingCallback
  6041. 2730 .syntax unified
  6042. 2731 .thumb
  6043. 2732 .thumb_func
  6044. 2734 HAL_CAN_RxFifo1MsgPendingCallback:
  6045. 2735 .LFB186:
  6046. 2736 .cfi_startproc
  6047. 2737 @ args = 0, pretend = 0, frame = 0
  6048. 2738 @ frame_needed = 0, uses_anonymous_args = 0
  6049. 2739 @ link register save eliminated.
  6050. 2740 0000 7047 bx lr
  6051. 2741 .cfi_endproc
  6052. 2742 .LFE186:
  6053. 2744 0002 00BF .section .text.HAL_CAN_RxFifo1FullCallback,"ax",%progbits
  6054. 2745 .align 1
  6055. 2746 .p2align 2,,3
  6056. 2747 .weak HAL_CAN_RxFifo1FullCallback
  6057. 2748 .syntax unified
  6058. 2749 .thumb
  6059. 2750 .thumb_func
  6060. 2752 HAL_CAN_RxFifo1FullCallback:
  6061. 2753 .LFB188:
  6062. 2754 .cfi_startproc
  6063. 2755 @ args = 0, pretend = 0, frame = 0
  6064. 2756 @ frame_needed = 0, uses_anonymous_args = 0
  6065. 2757 @ link register save eliminated.
  6066. 2758 0000 7047 bx lr
  6067. 2759 .cfi_endproc
  6068. 2760 .LFE188:
  6069. 2762 0002 00BF .section .text.HAL_CAN_SleepCallback,"ax",%progbits
  6070. 2763 .align 1
  6071. 2764 .p2align 2,,3
  6072. 2765 .weak HAL_CAN_SleepCallback
  6073. 2766 .syntax unified
  6074. 2767 .thumb
  6075. 2768 .thumb_func
  6076. 2770 HAL_CAN_SleepCallback:
  6077. 2771 .LFB190:
  6078. 2772 .cfi_startproc
  6079. 2773 @ args = 0, pretend = 0, frame = 0
  6080. 2774 @ frame_needed = 0, uses_anonymous_args = 0
  6081. 2775 @ link register save eliminated.
  6082. 2776 0000 7047 bx lr
  6083. 2777 .cfi_endproc
  6084. 2778 .LFE190:
  6085. 2780 0002 00BF .section .text.HAL_CAN_WakeUpFromRxMsgCallback,"ax",%progbits
  6086. 2781 .align 1
  6087. 2782 .p2align 2,,3
  6088. 2783 .weak HAL_CAN_WakeUpFromRxMsgCallback
  6089. 2784 .syntax unified
  6090. 2785 .thumb
  6091. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 106
  6092. 2786 .thumb_func
  6093. 2788 HAL_CAN_WakeUpFromRxMsgCallback:
  6094. 2789 .LFB192:
  6095. 2790 .cfi_startproc
  6096. 2791 @ args = 0, pretend = 0, frame = 0
  6097. 2792 @ frame_needed = 0, uses_anonymous_args = 0
  6098. 2793 @ link register save eliminated.
  6099. 2794 0000 7047 bx lr
  6100. 2795 .cfi_endproc
  6101. 2796 .LFE192:
  6102. 2798 0002 00BF .section .text.HAL_CAN_ErrorCallback,"ax",%progbits
  6103. 2799 .align 1
  6104. 2800 .p2align 2,,3
  6105. 2801 .weak HAL_CAN_ErrorCallback
  6106. 2802 .syntax unified
  6107. 2803 .thumb
  6108. 2804 .thumb_func
  6109. 2806 HAL_CAN_ErrorCallback:
  6110. 2807 .LFB194:
  6111. 2808 .cfi_startproc
  6112. 2809 @ args = 0, pretend = 0, frame = 0
  6113. 2810 @ frame_needed = 0, uses_anonymous_args = 0
  6114. 2811 @ link register save eliminated.
  6115. 2812 0000 7047 bx lr
  6116. 2813 .cfi_endproc
  6117. 2814 .LFE194:
  6118. 2816 0002 00BF .section .text.HAL_CAN_IRQHandler,"ax",%progbits
  6119. 2817 .align 1
  6120. 2818 .p2align 2,,3
  6121. 2819 .global HAL_CAN_IRQHandler
  6122. 2820 .syntax unified
  6123. 2821 .thumb
  6124. 2822 .thumb_func
  6125. 2824 HAL_CAN_IRQHandler:
  6126. 2825 .LVL200:
  6127. 2826 .LFB149:
  6128. 1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6129. 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  6130. 1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Handles CAN interrupt request
  6131. 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  6132. 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  6133. 1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  6134. 1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  6135. 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** void HAL_CAN_IRQHandler(CAN_HandleTypeDef *hcan)
  6136. 1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6137. 2827 .loc 1 1682 1 is_stmt 1 view -0
  6138. 2828 .cfi_startproc
  6139. 2829 @ args = 0, pretend = 0, frame = 0
  6140. 2830 @ frame_needed = 0, uses_anonymous_args = 0
  6141. 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t errorcode = HAL_CAN_ERROR_NONE;
  6142. 2831 .loc 1 1683 3 view .LVU817
  6143. 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t interrupts = READ_REG(hcan->Instance->IER);
  6144. 2832 .loc 1 1684 3 view .LVU818
  6145. 1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t errorcode = HAL_CAN_ERROR_NONE;
  6146. 2833 .loc 1 1682 1 is_stmt 0 view .LVU819
  6147. 2834 0000 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
  6148. 2835 .LCFI21:
  6149. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 107
  6150. 2836 .cfi_def_cfa_offset 40
  6151. 2837 .cfi_offset 3, -40
  6152. 2838 .cfi_offset 4, -36
  6153. 2839 .cfi_offset 5, -32
  6154. 2840 .cfi_offset 6, -28
  6155. 2841 .cfi_offset 7, -24
  6156. 2842 .cfi_offset 8, -20
  6157. 2843 .cfi_offset 9, -16
  6158. 2844 .cfi_offset 10, -12
  6159. 2845 .cfi_offset 11, -8
  6160. 2846 .cfi_offset 14, -4
  6161. 2847 .loc 1 1684 25 view .LVU820
  6162. 2848 0004 0368 ldr r3, [r0]
  6163. 2849 .loc 1 1684 12 view .LVU821
  6164. 2850 0006 5C69 ldr r4, [r3, #20]
  6165. 2851 .LVL201:
  6166. 1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t msrflags = READ_REG(hcan->Instance->MSR);
  6167. 2852 .loc 1 1685 3 is_stmt 1 view .LVU822
  6168. 2853 .loc 1 1685 12 is_stmt 0 view .LVU823
  6169. 2854 0008 D3F80480 ldr r8, [r3, #4]
  6170. 2855 .LVL202:
  6171. 1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
  6172. 2856 .loc 1 1686 3 is_stmt 1 view .LVU824
  6173. 2857 .loc 1 1686 12 is_stmt 0 view .LVU825
  6174. 2858 000c 9F68 ldr r7, [r3, #8]
  6175. 2859 .LVL203:
  6176. 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
  6177. 2860 .loc 1 1687 3 is_stmt 1 view .LVU826
  6178. 2861 .loc 1 1687 12 is_stmt 0 view .LVU827
  6179. 2862 000e D3F80CB0 ldr fp, [r3, #12]
  6180. 2863 .LVL204:
  6181. 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
  6182. 2864 .loc 1 1688 3 is_stmt 1 view .LVU828
  6183. 2865 .loc 1 1688 12 is_stmt 0 view .LVU829
  6184. 2866 0012 D3F810A0 ldr r10, [r3, #16]
  6185. 2867 .LVL205:
  6186. 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t esrflags = READ_REG(hcan->Instance->ESR);
  6187. 2868 .loc 1 1689 3 is_stmt 1 view .LVU830
  6188. 2869 .loc 1 1689 12 is_stmt 0 view .LVU831
  6189. 2870 0016 D3F81890 ldr r9, [r3, #24]
  6190. 2871 .LVL206:
  6191. 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6192. 1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox empty interrupt management *****************************/
  6193. 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_TX_MAILBOX_EMPTY) != 0U)
  6194. 2872 .loc 1 1692 3 is_stmt 1 view .LVU832
  6195. 2873 .loc 1 1692 6 is_stmt 0 view .LVU833
  6196. 2874 001a 14F00106 ands r6, r4, #1
  6197. 1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t errorcode = HAL_CAN_ERROR_NONE;
  6198. 2875 .loc 1 1682 1 view .LVU834
  6199. 2876 001e 0546 mov r5, r0
  6200. 2877 .loc 1 1692 6 view .LVU835
  6201. 2878 0020 20D0 beq .L290
  6202. 1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6203. 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox 0 management *****************************************/
  6204. 1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP0) != 0U)
  6205. 2879 .loc 1 1695 5 is_stmt 1 view .LVU836
  6206. 2880 .loc 1 1695 8 is_stmt 0 view .LVU837
  6207. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 108
  6208. 2881 0022 17F00106 ands r6, r7, #1
  6209. 2882 0026 0DD0 beq .L291
  6210. 1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6211. 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK0,ALST0,TERR0 bits) */
  6212. 1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP0);
  6213. 2883 .loc 1 1698 7 is_stmt 1 view .LVU838
  6214. 2884 0028 0122 movs r2, #1
  6215. 2885 002a 9A60 str r2, [r3, #8]
  6216. 1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6217. 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK0) != 0U)
  6218. 2886 .loc 1 1700 7 view .LVU839
  6219. 2887 .loc 1 1700 10 is_stmt 0 view .LVU840
  6220. 2888 002c BB07 lsls r3, r7, #30
  6221. 2889 002e 00F1C480 bmi .L413
  6222. 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6223. 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 0 complete callback */
  6224. 1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6225. 1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6226. 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback(hcan);
  6227. 1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6228. 1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6229. 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox0CompleteCallback(hcan);
  6230. 1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6231. 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6232. 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  6233. 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6234. 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST0) != 0U)
  6235. 2890 .loc 1 1713 9 is_stmt 1 view .LVU841
  6236. 2891 .loc 1 1713 12 is_stmt 0 view .LVU842
  6237. 2892 0032 7E07 lsls r6, r7, #29
  6238. 2893 0034 00F1E380 bmi .L325
  6239. 1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6240. 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  6241. 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST0;
  6242. 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6243. 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR0) != 0U)
  6244. 2894 .loc 1 1718 14 is_stmt 1 view .LVU843
  6245. 2895 .loc 1 1718 17 is_stmt 0 view .LVU844
  6246. 2896 0038 17F00806 ands r6, r7, #8
  6247. 2897 003c 00F0E880 beq .L414
  6248. 1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6249. 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  6250. 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR0;
  6251. 2898 .loc 1 1721 21 view .LVU845
  6252. 2899 0040 4FF48056 mov r6, #4096
  6253. 2900 .LVL207:
  6254. 2901 .L291:
  6255. 1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6256. 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  6257. 1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6258. 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 0 abort callback */
  6259. 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6260. 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6261. 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback(hcan);
  6262. 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6263. 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6264. 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox0AbortCallback(hcan);
  6265. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 109
  6266. 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6267. 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6268. 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6269. 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6270. 1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6271. 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox 1 management *****************************************/
  6272. 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP1) != 0U)
  6273. 2902 .loc 1 1738 5 is_stmt 1 view .LVU846
  6274. 2903 .loc 1 1738 8 is_stmt 0 view .LVU847
  6275. 2904 0044 F805 lsls r0, r7, #23
  6276. 2905 0046 0BD5 bpl .L293
  6277. 1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6278. 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK1,ALST1,TERR1 bits) */
  6279. 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP1);
  6280. 2906 .loc 1 1741 7 is_stmt 1 view .LVU848
  6281. 2907 0048 2B68 ldr r3, [r5]
  6282. 2908 004a 4FF48072 mov r2, #256
  6283. 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6284. 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK1) != 0U)
  6285. 2909 .loc 1 1743 10 is_stmt 0 view .LVU849
  6286. 2910 004e B905 lsls r1, r7, #22
  6287. 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6288. 2911 .loc 1 1741 7 view .LVU850
  6289. 2912 0050 9A60 str r2, [r3, #8]
  6290. 2913 .loc 1 1743 7 is_stmt 1 view .LVU851
  6291. 2914 .loc 1 1743 10 is_stmt 0 view .LVU852
  6292. 2915 0052 00F1AE80 bmi .L415
  6293. 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6294. 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 1 complete callback */
  6295. 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6296. 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6297. 1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback(hcan);
  6298. 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6299. 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6300. 1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox1CompleteCallback(hcan);
  6301. 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6302. 1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6303. 1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  6304. 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6305. 1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST1) != 0U)
  6306. 2916 .loc 1 1756 9 is_stmt 1 view .LVU853
  6307. 2917 .loc 1 1756 12 is_stmt 0 view .LVU854
  6308. 2918 0056 7A05 lsls r2, r7, #21
  6309. 2919 0058 40F1CC80 bpl .L295
  6310. 1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6311. 1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  6312. 1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST1;
  6313. 2920 .loc 1 1759 11 is_stmt 1 view .LVU855
  6314. 2921 .loc 1 1759 21 is_stmt 0 view .LVU856
  6315. 2922 005c 46F40056 orr r6, r6, #8192
  6316. 2923 .LVL208:
  6317. 2924 .L293:
  6318. 1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6319. 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR1) != 0U)
  6320. 1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6321. 1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  6322. 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR1;
  6323. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 110
  6324. 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6325. 1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  6326. 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6327. 1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 1 abort callback */
  6328. 1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6329. 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6330. 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback(hcan);
  6331. 1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6332. 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6333. 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox1AbortCallback(hcan);
  6334. 1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6335. 1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6336. 1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6337. 1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6338. 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6339. 1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox 2 management *****************************************/
  6340. 1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP2) != 0U)
  6341. 2925 .loc 1 1781 5 is_stmt 1 view .LVU857
  6342. 2926 .loc 1 1781 8 is_stmt 0 view .LVU858
  6343. 2927 0060 F803 lsls r0, r7, #15
  6344. 2928 0062 65D4 bmi .L416
  6345. 2929 .LVL209:
  6346. 2930 .L290:
  6347. 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6348. 1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK2,ALST2,TERR2 bits) */
  6349. 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP2);
  6350. 1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6351. 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK2) != 0U)
  6352. 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6353. 1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 2 complete callback */
  6354. 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6355. 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6356. 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback(hcan);
  6357. 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6358. 1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6359. 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox2CompleteCallback(hcan);
  6360. 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6361. 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6362. 1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  6363. 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6364. 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST2) != 0U)
  6365. 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6366. 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  6367. 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST2;
  6368. 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6369. 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR2) != 0U)
  6370. 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6371. 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  6372. 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR2;
  6373. 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6374. 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  6375. 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6376. 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 2 abort callback */
  6377. 1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6378. 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6379. 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback(hcan);
  6380. 1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6381. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 111
  6382. 1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6383. 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox2AbortCallback(hcan);
  6384. 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6385. 1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6386. 1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6387. 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6388. 1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6389. 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6390. 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 overrun interrupt management *****************************/
  6391. 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_OVERRUN) != 0U)
  6392. 2931 .loc 1 1825 3 is_stmt 1 view .LVU859
  6393. 2932 .loc 1 1825 6 is_stmt 0 view .LVU860
  6394. 2933 0064 2707 lsls r7, r4, #28
  6395. 2934 .LVL210:
  6396. 2935 .loc 1 1825 6 view .LVU861
  6397. 2936 0066 02D5 bpl .L300
  6398. 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6399. 1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf0rflags & CAN_RF0R_FOVR0) != 0U)
  6400. 2937 .loc 1 1827 5 is_stmt 1 view .LVU862
  6401. 2938 .loc 1 1827 8 is_stmt 0 view .LVU863
  6402. 2939 0068 1BF0100F tst fp, #16
  6403. 2940 006c 6BD1 bne .L417
  6404. 2941 .L300:
  6405. 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6406. 1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Rx Fifo 0 overrun error */
  6407. 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_RX_FOV0;
  6408. 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6409. 1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO0 Overrun Flag */
  6410. 1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV0);
  6411. 1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6412. 1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6413. 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6414. 1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 full interrupt management ********************************/
  6415. 1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_FULL) != 0U)
  6416. 2942 .loc 1 1838 3 is_stmt 1 view .LVU864
  6417. 2943 .loc 1 1838 6 is_stmt 0 view .LVU865
  6418. 2944 006e 6007 lsls r0, r4, #29
  6419. 2945 0070 03D5 bpl .L301
  6420. 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6421. 1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf0rflags & CAN_RF0R_FULL0) != 0U)
  6422. 2946 .loc 1 1840 5 is_stmt 1 view .LVU866
  6423. 2947 .loc 1 1840 8 is_stmt 0 view .LVU867
  6424. 2948 0072 1BF0080F tst fp, #8
  6425. 2949 0076 40F08D80 bne .L418
  6426. 2950 .L301:
  6427. 1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6428. 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO 0 full Flag */
  6429. 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF0);
  6430. 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6431. 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 full Callback */
  6432. 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6433. 1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6434. 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback(hcan);
  6435. 1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6436. 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6437. 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo0FullCallback(hcan);
  6438. 1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6439. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 112
  6440. 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6441. 1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6442. 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6443. 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 message pending interrupt management *********************/
  6444. 1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_MSG_PENDING) != 0U)
  6445. 2951 .loc 1 1857 3 is_stmt 1 view .LVU868
  6446. 2952 .loc 1 1857 6 is_stmt 0 view .LVU869
  6447. 2953 007a A107 lsls r1, r4, #30
  6448. 2954 007c 04D5 bpl .L302
  6449. 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6450. 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check if message is still pending */
  6451. 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) != 0U)
  6452. 2955 .loc 1 1860 5 is_stmt 1 view .LVU870
  6453. 2956 .loc 1 1860 14 is_stmt 0 view .LVU871
  6454. 2957 007e 2B68 ldr r3, [r5]
  6455. 2958 .loc 1 1860 24 view .LVU872
  6456. 2959 0080 DB68 ldr r3, [r3, #12]
  6457. 2960 .loc 1 1860 8 view .LVU873
  6458. 2961 0082 9A07 lsls r2, r3, #30
  6459. 2962 0084 40F08280 bne .L419
  6460. 2963 .L302:
  6461. 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6462. 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 message pending Callback */
  6463. 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6464. 1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6465. 1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback(hcan);
  6466. 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6467. 1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6468. 1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo0MsgPendingCallback(hcan);
  6469. 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6470. 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6471. 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6472. 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6473. 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 overrun interrupt management *****************************/
  6474. 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_OVERRUN) != 0U)
  6475. 2964 .loc 1 1874 3 is_stmt 1 view .LVU874
  6476. 2965 .loc 1 1874 6 is_stmt 0 view .LVU875
  6477. 2966 0088 6306 lsls r3, r4, #25
  6478. 2967 008a 02D5 bpl .L303
  6479. 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6480. 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf1rflags & CAN_RF1R_FOVR1) != 0U)
  6481. 2968 .loc 1 1876 5 is_stmt 1 view .LVU876
  6482. 2969 .loc 1 1876 8 is_stmt 0 view .LVU877
  6483. 2970 008c 1AF0100F tst r10, #16
  6484. 2971 0090 48D1 bne .L420
  6485. 2972 .L303:
  6486. 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6487. 1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Rx Fifo 1 overrun error */
  6488. 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_RX_FOV1;
  6489. 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6490. 1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO1 Overrun Flag */
  6491. 1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV1);
  6492. 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6493. 1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6494. 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6495. 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 full interrupt management ********************************/
  6496. 1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_FULL) != 0U)
  6497. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 113
  6498. 2973 .loc 1 1887 3 is_stmt 1 view .LVU878
  6499. 2974 .loc 1 1887 6 is_stmt 0 view .LVU879
  6500. 2975 0092 A706 lsls r7, r4, #26
  6501. 2976 0094 02D5 bpl .L304
  6502. 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6503. 1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf1rflags & CAN_RF1R_FULL1) != 0U)
  6504. 2977 .loc 1 1889 5 is_stmt 1 view .LVU880
  6505. 2978 .loc 1 1889 8 is_stmt 0 view .LVU881
  6506. 2979 0096 1AF0080F tst r10, #8
  6507. 2980 009a 62D1 bne .L421
  6508. 2981 .L304:
  6509. 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6510. 1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO 1 full Flag */
  6511. 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF1);
  6512. 1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6513. 1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 full Callback */
  6514. 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6515. 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6516. 1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback(hcan);
  6517. 1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6518. 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6519. 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo1FullCallback(hcan);
  6520. 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6521. 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6522. 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6523. 1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6524. 1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 message pending interrupt management *********************/
  6525. 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_MSG_PENDING) != 0U)
  6526. 2982 .loc 1 1906 3 is_stmt 1 view .LVU882
  6527. 2983 .loc 1 1906 6 is_stmt 0 view .LVU883
  6528. 2984 009c E006 lsls r0, r4, #27
  6529. 2985 009e 03D5 bpl .L305
  6530. 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6531. 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check if message is still pending */
  6532. 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) != 0U)
  6533. 2986 .loc 1 1909 5 is_stmt 1 view .LVU884
  6534. 2987 .loc 1 1909 14 is_stmt 0 view .LVU885
  6535. 2988 00a0 2B68 ldr r3, [r5]
  6536. 2989 .loc 1 1909 24 view .LVU886
  6537. 2990 00a2 1B69 ldr r3, [r3, #16]
  6538. 2991 .loc 1 1909 8 view .LVU887
  6539. 2992 00a4 9907 lsls r1, r3, #30
  6540. 2993 00a6 7CD1 bne .L422
  6541. 2994 .L305:
  6542. 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6543. 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 message pending Callback */
  6544. 1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6545. 1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6546. 1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback(hcan);
  6547. 1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6548. 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6549. 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo1MsgPendingCallback(hcan);
  6550. 1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6551. 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6552. 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6553. 1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6554. 1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep interrupt management *********************************************/
  6555. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 114
  6556. 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_SLEEP_ACK) != 0U)
  6557. 2995 .loc 1 1923 3 is_stmt 1 view .LVU888
  6558. 2996 .loc 1 1923 6 is_stmt 0 view .LVU889
  6559. 2997 00a8 A203 lsls r2, r4, #14
  6560. 2998 00aa 02D5 bpl .L306
  6561. 1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6562. 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((msrflags & CAN_MSR_SLAKI) != 0U)
  6563. 2999 .loc 1 1925 5 is_stmt 1 view .LVU890
  6564. 3000 .loc 1 1925 8 is_stmt 0 view .LVU891
  6565. 3001 00ac 18F0100F tst r8, #16
  6566. 3002 00b0 5ED1 bne .L423
  6567. 3003 .L306:
  6568. 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6569. 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear Sleep interrupt Flag */
  6570. 1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_SLAKI);
  6571. 1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6572. 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep Callback */
  6573. 1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6574. 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6575. 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback(hcan);
  6576. 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6577. 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6578. 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_SleepCallback(hcan);
  6579. 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6580. 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6581. 1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6582. 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6583. 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* WakeUp interrupt management *********************************************/
  6584. 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_WAKEUP) != 0U)
  6585. 3004 .loc 1 1942 3 is_stmt 1 view .LVU892
  6586. 3005 .loc 1 1942 6 is_stmt 0 view .LVU893
  6587. 3006 00b2 E303 lsls r3, r4, #15
  6588. 3007 00b4 02D5 bpl .L307
  6589. 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6590. 1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((msrflags & CAN_MSR_WKUI) != 0U)
  6591. 3008 .loc 1 1944 5 is_stmt 1 view .LVU894
  6592. 3009 .loc 1 1944 8 is_stmt 0 view .LVU895
  6593. 3010 00b6 18F0080F tst r8, #8
  6594. 3011 00ba 60D1 bne .L424
  6595. 3012 .L307:
  6596. 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6597. 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear WakeUp Flag */
  6598. 1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_WKU);
  6599. 1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6600. 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* WakeUp Callback */
  6601. 1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6602. 1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6603. 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback(hcan);
  6604. 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6605. 1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6606. 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_WakeUpFromRxMsgCallback(hcan);
  6607. 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6608. 1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6609. 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6610. 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6611. 1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Error interrupts management *********************************************/
  6612. 1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_ERROR) != 0U)
  6613. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 115
  6614. 3013 .loc 1 1961 3 is_stmt 1 view .LVU896
  6615. 3014 .loc 1 1961 6 is_stmt 0 view .LVU897
  6616. 3015 00bc 2704 lsls r7, r4, #16
  6617. 3016 00be 05D5 bpl .L308
  6618. 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6619. 1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((msrflags & CAN_MSR_ERRI) != 0U)
  6620. 3017 .loc 1 1963 5 is_stmt 1 view .LVU898
  6621. 3018 .loc 1 1963 8 is_stmt 0 view .LVU899
  6622. 3019 00c0 18F0040F tst r8, #4
  6623. 3020 00c4 06D1 bne .L309
  6624. 3021 .LVL211:
  6625. 3022 .L412:
  6626. 1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6627. 1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Error Warning Flag */
  6628. 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_ERROR_WARNING) != 0U) &&
  6629. 1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
  6630. 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6631. 1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Error Warning */
  6632. 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_EWG;
  6633. 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6634. 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* No need for clear of Error Warning Flag as read-only */
  6635. 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6636. 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6637. 1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Error Passive Flag */
  6638. 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_ERROR_PASSIVE) != 0U) &&
  6639. 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
  6640. 1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6641. 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Error Passive */
  6642. 1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_EPV;
  6643. 1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6644. 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* No need for clear of Error Passive Flag as read-only */
  6645. 1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6646. 1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6647. 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Bus-off Flag */
  6648. 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_BUSOFF) != 0U) &&
  6649. 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
  6650. 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6651. 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Bus-Off */
  6652. 1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BOF;
  6653. 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6654. 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* No need for clear of Error Bus-Off as read-only */
  6655. 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6656. 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6657. 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Last Error Code Flag */
  6658. 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_LAST_ERROR_CODE) != 0U) &&
  6659. 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
  6660. 1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6661. 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (esrflags & CAN_ESR_LEC)
  6662. 2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6663. 2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_0):
  6664. 2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Stuff error */
  6665. 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_STF;
  6666. 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6667. 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1):
  6668. 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Form error */
  6669. 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_FOR;
  6670. 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6671. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 116
  6672. 2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
  6673. 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Acknowledgement error */
  6674. 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_ACK;
  6675. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6676. 2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2):
  6677. 2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Bit recessive error */
  6678. 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BR;
  6679. 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6680. 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
  6681. 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Bit Dominant error */
  6682. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BD;
  6683. 2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6684. 2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
  6685. 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to CRC error */
  6686. 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_CRC;
  6687. 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6688. 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default:
  6689. 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6690. 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6691. 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6692. 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear Last error code Flag */
  6693. 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->ESR, CAN_ESR_LEC);
  6694. 3023 .loc 1 2030 9 view .LVU900
  6695. 3024 00c6 2B68 ldr r3, [r5]
  6696. 3025 .L310:
  6697. 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6698. 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6699. 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6700. 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear ERRI Flag */
  6701. 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_ERRI);
  6702. 3026 .loc 1 2035 5 is_stmt 1 view .LVU901
  6703. 3027 00c8 0422 movs r2, #4
  6704. 3028 00ca 5A60 str r2, [r3, #4]
  6705. 3029 .L308:
  6706. 2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6707. 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6708. 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call the Error call Back in case of Errors */
  6709. 2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (errorcode != HAL_CAN_ERROR_NONE)
  6710. 3030 .loc 1 2039 3 view .LVU902
  6711. 3031 .loc 1 2039 6 is_stmt 0 view .LVU903
  6712. 3032 00cc 002E cmp r6, #0
  6713. 3033 00ce 40D1 bne .L425
  6714. 2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6715. 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code in handle */
  6716. 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= errorcode;
  6717. 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6718. 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call Error callback function */
  6719. 2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6720. 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6721. 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback(hcan);
  6722. 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6723. 2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6724. 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_ErrorCallback(hcan);
  6725. 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6726. 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6727. 2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6728. 3034 .loc 1 2053 1 view .LVU904
  6729. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 117
  6730. 3035 00d0 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
  6731. 3036 .LVL212:
  6732. 3037 .L309:
  6733. 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
  6734. 3038 .loc 1 1966 7 is_stmt 1 view .LVU905
  6735. 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
  6736. 3039 .loc 1 1966 10 is_stmt 0 view .LVU906
  6737. 3040 00d4 E005 lsls r0, r4, #23
  6738. 3041 00d6 04D5 bpl .L311
  6739. 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
  6740. 3042 .loc 1 1966 55 discriminator 1 view .LVU907
  6741. 3043 00d8 19F0010F tst r9, #1
  6742. 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6743. 3044 .loc 1 1970 9 is_stmt 1 discriminator 1 view .LVU908
  6744. 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6745. 3045 .loc 1 1970 19 is_stmt 0 discriminator 1 view .LVU909
  6746. 3046 00dc 18BF it ne
  6747. 3047 00de 46F00106 orrne r6, r6, #1
  6748. 3048 .LVL213:
  6749. 3049 .L311:
  6750. 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
  6751. 3050 .loc 1 1976 7 is_stmt 1 view .LVU910
  6752. 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
  6753. 3051 .loc 1 1976 10 is_stmt 0 view .LVU911
  6754. 3052 00e2 A105 lsls r1, r4, #22
  6755. 3053 00e4 04D5 bpl .L312
  6756. 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
  6757. 3054 .loc 1 1976 55 discriminator 1 view .LVU912
  6758. 3055 00e6 19F0020F tst r9, #2
  6759. 1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6760. 3056 .loc 1 1980 9 is_stmt 1 discriminator 1 view .LVU913
  6761. 1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6762. 3057 .loc 1 1980 19 is_stmt 0 discriminator 1 view .LVU914
  6763. 3058 00ea 18BF it ne
  6764. 3059 00ec 46F00206 orrne r6, r6, #2
  6765. 3060 .LVL214:
  6766. 3061 .L312:
  6767. 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
  6768. 3062 .loc 1 1986 7 is_stmt 1 view .LVU915
  6769. 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
  6770. 3063 .loc 1 1986 10 is_stmt 0 view .LVU916
  6771. 3064 00f0 6205 lsls r2, r4, #21
  6772. 3065 00f2 04D5 bpl .L313
  6773. 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
  6774. 3066 .loc 1 1986 48 discriminator 1 view .LVU917
  6775. 3067 00f4 19F0040F tst r9, #4
  6776. 1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6777. 3068 .loc 1 1990 9 is_stmt 1 discriminator 1 view .LVU918
  6778. 1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6779. 3069 .loc 1 1990 19 is_stmt 0 discriminator 1 view .LVU919
  6780. 3070 00f8 18BF it ne
  6781. 3071 00fa 46F00406 orrne r6, r6, #4
  6782. 3072 .LVL215:
  6783. 3073 .L313:
  6784. 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
  6785. 3074 .loc 1 1996 7 is_stmt 1 view .LVU920
  6786. 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
  6787. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 118
  6788. 3075 .loc 1 1996 10 is_stmt 0 view .LVU921
  6789. 3076 00fe 2305 lsls r3, r4, #20
  6790. 3077 0100 E1D5 bpl .L412
  6791. 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
  6792. 3078 .loc 1 1996 57 discriminator 1 view .LVU922
  6793. 3079 0102 19F07009 ands r9, r9, #112
  6794. 3080 .LVL216:
  6795. 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
  6796. 3081 .loc 1 1996 57 discriminator 1 view .LVU923
  6797. 3082 0106 DED0 beq .L412
  6798. 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6799. 3083 .loc 1 1999 9 is_stmt 1 view .LVU924
  6800. 3084 0108 B9F1400F cmp r9, #64
  6801. 3085 010c 00F08B80 beq .L316
  6802. 3086 0110 57D8 bhi .L317
  6803. 3087 0112 B9F1200F cmp r9, #32
  6804. 3088 0116 78D0 beq .L318
  6805. 3089 0118 B9F1300F cmp r9, #48
  6806. 3090 011c 5FD1 bne .L426
  6807. 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6808. 3091 .loc 1 2011 13 view .LVU925
  6809. 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6810. 3092 .loc 1 2011 23 is_stmt 0 view .LVU926
  6811. 3093 011e 46F02006 orr r6, r6, #32
  6812. 3094 .LVL217:
  6813. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2):
  6814. 3095 .loc 1 2012 13 is_stmt 1 view .LVU927
  6815. 3096 0122 56E0 b .L321
  6816. 3097 .LVL218:
  6817. 3098 .L420:
  6818. 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6819. 3099 .loc 1 1879 7 view .LVU928
  6820. 1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6821. 3100 .loc 1 1882 7 is_stmt 0 view .LVU929
  6822. 3101 0124 2B68 ldr r3, [r5]
  6823. 3102 0126 1022 movs r2, #16
  6824. 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6825. 3103 .loc 1 1879 17 view .LVU930
  6826. 3104 0128 46F48066 orr r6, r6, #1024
  6827. 3105 .LVL219:
  6828. 1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6829. 3106 .loc 1 1882 7 is_stmt 1 view .LVU931
  6830. 3107 012c 1A61 str r2, [r3, #16]
  6831. 3108 012e B0E7 b .L303
  6832. 3109 .LVL220:
  6833. 3110 .L416:
  6834. 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6835. 3111 .loc 1 1784 7 view .LVU932
  6836. 3112 0130 2B68 ldr r3, [r5]
  6837. 3113 0132 4FF48032 mov r2, #65536
  6838. 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6839. 3114 .loc 1 1786 10 is_stmt 0 view .LVU933
  6840. 3115 0136 B903 lsls r1, r7, #14
  6841. 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6842. 3116 .loc 1 1784 7 view .LVU934
  6843. 3117 0138 9A60 str r2, [r3, #8]
  6844. 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6845. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 119
  6846. 3118 .loc 1 1786 7 is_stmt 1 view .LVU935
  6847. 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6848. 3119 .loc 1 1786 10 is_stmt 0 view .LVU936
  6849. 3120 013a 36D4 bmi .L427
  6850. 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6851. 3121 .loc 1 1799 9 is_stmt 1 view .LVU937
  6852. 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6853. 3122 .loc 1 1799 12 is_stmt 0 view .LVU938
  6854. 3123 013c 7A03 lsls r2, r7, #13
  6855. 3124 013e 54D5 bpl .L298
  6856. 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6857. 3125 .loc 1 1802 11 is_stmt 1 view .LVU939
  6858. 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6859. 3126 .loc 1 1802 21 is_stmt 0 view .LVU940
  6860. 3127 0140 46F40046 orr r6, r6, #32768
  6861. 3128 .LVL221:
  6862. 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6863. 3129 .loc 1 1802 21 view .LVU941
  6864. 3130 0144 8EE7 b .L290
  6865. 3131 .LVL222:
  6866. 3132 .L417:
  6867. 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6868. 3133 .loc 1 1830 7 is_stmt 1 view .LVU942
  6869. 1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6870. 3134 .loc 1 1833 7 is_stmt 0 view .LVU943
  6871. 3135 0146 2B68 ldr r3, [r5]
  6872. 3136 0148 1022 movs r2, #16
  6873. 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6874. 3137 .loc 1 1830 17 view .LVU944
  6875. 3138 014a 46F40076 orr r6, r6, #512
  6876. 3139 .LVL223:
  6877. 1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6878. 3140 .loc 1 1833 7 is_stmt 1 view .LVU945
  6879. 3141 014e DA60 str r2, [r3, #12]
  6880. 3142 0150 8DE7 b .L300
  6881. 3143 .LVL224:
  6882. 3144 .L425:
  6883. 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6884. 3145 .loc 1 2042 5 view .LVU946
  6885. 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6886. 3146 .loc 1 2042 21 is_stmt 0 view .LVU947
  6887. 3147 0152 6B6A ldr r3, [r5, #36]
  6888. 3148 0154 1E43 orrs r6, r6, r3
  6889. 3149 .LVL225:
  6890. 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6891. 3150 .loc 1 2050 5 view .LVU948
  6892. 3151 0156 2846 mov r0, r5
  6893. 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6894. 3152 .loc 1 2042 21 view .LVU949
  6895. 3153 0158 6E62 str r6, [r5, #36]
  6896. 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6897. 3154 .loc 1 2050 5 is_stmt 1 view .LVU950
  6898. 3155 015a FFF7FEFF bl HAL_CAN_ErrorCallback
  6899. 3156 .LVL226:
  6900. 3157 .loc 1 2053 1 is_stmt 0 view .LVU951
  6901. 3158 015e BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
  6902. 3159 .LVL227:
  6903. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 120
  6904. 3160 .L421:
  6905. 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6906. 3161 .loc 1 1892 7 is_stmt 1 view .LVU952
  6907. 3162 0162 2B68 ldr r3, [r5]
  6908. 3163 0164 0822 movs r2, #8
  6909. 3164 0166 1A61 str r2, [r3, #16]
  6910. 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6911. 3165 .loc 1 1900 7 view .LVU953
  6912. 3166 0168 2846 mov r0, r5
  6913. 3167 016a FFF7FEFF bl HAL_CAN_RxFifo1FullCallback
  6914. 3168 .LVL228:
  6915. 3169 016e 95E7 b .L304
  6916. 3170 .L423:
  6917. 1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6918. 3171 .loc 1 1928 7 view .LVU954
  6919. 3172 0170 2B68 ldr r3, [r5]
  6920. 3173 0172 1022 movs r2, #16
  6921. 3174 0174 5A60 str r2, [r3, #4]
  6922. 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6923. 3175 .loc 1 1936 7 view .LVU955
  6924. 3176 0176 2846 mov r0, r5
  6925. 3177 0178 FFF7FEFF bl HAL_CAN_SleepCallback
  6926. 3178 .LVL229:
  6927. 3179 017c 99E7 b .L306
  6928. 3180 .L424:
  6929. 1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6930. 3181 .loc 1 1947 7 view .LVU956
  6931. 3182 017e 2B68 ldr r3, [r5]
  6932. 3183 0180 0822 movs r2, #8
  6933. 3184 0182 5A60 str r2, [r3, #4]
  6934. 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6935. 3185 .loc 1 1955 7 view .LVU957
  6936. 3186 0184 2846 mov r0, r5
  6937. 3187 0186 FFF7FEFF bl HAL_CAN_WakeUpFromRxMsgCallback
  6938. 3188 .LVL230:
  6939. 3189 018a 97E7 b .L307
  6940. 3190 .L419:
  6941. 1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6942. 3191 .loc 1 1868 7 view .LVU958
  6943. 3192 018c 2846 mov r0, r5
  6944. 3193 018e FFF7FEFF bl HAL_CAN_RxFifo0MsgPendingCallback
  6945. 3194 .LVL231:
  6946. 3195 0192 79E7 b .L302
  6947. 3196 .L418:
  6948. 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6949. 3197 .loc 1 1843 7 view .LVU959
  6950. 3198 0194 2B68 ldr r3, [r5]
  6951. 3199 0196 0822 movs r2, #8
  6952. 3200 0198 DA60 str r2, [r3, #12]
  6953. 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6954. 3201 .loc 1 1851 7 view .LVU960
  6955. 3202 019a 2846 mov r0, r5
  6956. 3203 019c FFF7FEFF bl HAL_CAN_RxFifo0FullCallback
  6957. 3204 .LVL232:
  6958. 3205 01a0 6BE7 b .L301
  6959. 3206 .L422:
  6960. 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6961. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 121
  6962. 3207 .loc 1 1917 7 view .LVU961
  6963. 3208 01a2 2846 mov r0, r5
  6964. 3209 01a4 FFF7FEFF bl HAL_CAN_RxFifo1MsgPendingCallback
  6965. 3210 .LVL233:
  6966. 3211 01a8 7EE7 b .L305
  6967. 3212 .LVL234:
  6968. 3213 .L427:
  6969. 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6970. 3214 .loc 1 1794 9 view .LVU962
  6971. 3215 01aa 2846 mov r0, r5
  6972. 3216 01ac FFF7FEFF bl HAL_CAN_TxMailbox2CompleteCallback
  6973. 3217 .LVL235:
  6974. 3218 01b0 58E7 b .L290
  6975. 3219 .L415:
  6976. 1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6977. 3220 .loc 1 1751 9 view .LVU963
  6978. 3221 01b2 2846 mov r0, r5
  6979. 3222 01b4 FFF7FEFF bl HAL_CAN_TxMailbox1CompleteCallback
  6980. 3223 .LVL236:
  6981. 3224 01b8 52E7 b .L293
  6982. 3225 .LVL237:
  6983. 3226 .L413:
  6984. 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6985. 3227 .loc 1 1708 9 view .LVU964
  6986. 3228 01ba FFF7FEFF bl HAL_CAN_TxMailbox0CompleteCallback
  6987. 3229 .LVL238:
  6988. 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t interrupts = READ_REG(hcan->Instance->IER);
  6989. 3230 .loc 1 1683 12 is_stmt 0 view .LVU965
  6990. 3231 01be 0026 movs r6, #0
  6991. 3232 01c0 40E7 b .L291
  6992. 3233 .LVL239:
  6993. 3234 .L317:
  6994. 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6995. 3235 .loc 1 1999 9 view .LVU966
  6996. 3236 01c2 B9F1500F cmp r9, #80
  6997. 3237 01c6 1DD0 beq .L322
  6998. 3238 01c8 B9F1600F cmp r9, #96
  6999. 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  7000. 3239 .loc 1 2023 23 view .LVU967
  7001. 3240 01cc 08BF it eq
  7002. 3241 01ce 46F48076 orreq r6, r6, #256
  7003. 3242 .LVL240:
  7004. 3243 .L321:
  7005. 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7006. 3244 .loc 1 2030 9 is_stmt 1 view .LVU968
  7007. 3245 01d2 2B68 ldr r3, [r5]
  7008. 3246 01d4 9A69 ldr r2, [r3, #24]
  7009. 3247 01d6 22F07002 bic r2, r2, #112
  7010. 3248 01da 9A61 str r2, [r3, #24]
  7011. 3249 01dc 74E7 b .L310
  7012. 3250 .L426:
  7013. 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7014. 3251 .loc 1 1999 9 is_stmt 0 view .LVU969
  7015. 3252 01de B9F1100F cmp r9, #16
  7016. 3253 01e2 F6D1 bne .L321
  7017. 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  7018. 3254 .loc 1 2003 13 is_stmt 1 view .LVU970
  7019. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 122
  7020. 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  7021. 3255 .loc 1 2003 23 is_stmt 0 view .LVU971
  7022. 3256 01e4 46F00806 orr r6, r6, #8
  7023. 3257 .LVL241:
  7024. 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1):
  7025. 3258 .loc 1 2004 13 is_stmt 1 view .LVU972
  7026. 3259 01e8 F3E7 b .L321
  7027. 3260 .LVL242:
  7028. 3261 .L298:
  7029. 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7030. 3262 .loc 1 1804 14 view .LVU973
  7031. 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7032. 3263 .loc 1 1804 17 is_stmt 0 view .LVU974
  7033. 3264 01ea 3B03 lsls r3, r7, #12
  7034. 3265 01ec 17D5 bpl .L299
  7035. 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7036. 3266 .loc 1 1807 11 is_stmt 1 view .LVU975
  7037. 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7038. 3267 .loc 1 1807 21 is_stmt 0 view .LVU976
  7039. 3268 01ee 46F48036 orr r6, r6, #65536
  7040. 3269 .LVL243:
  7041. 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7042. 3270 .loc 1 1807 21 view .LVU977
  7043. 3271 01f2 37E7 b .L290
  7044. 3272 .L295:
  7045. 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7046. 3273 .loc 1 1761 14 is_stmt 1 view .LVU978
  7047. 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7048. 3274 .loc 1 1761 17 is_stmt 0 view .LVU979
  7049. 3275 01f4 3B05 lsls r3, r7, #20
  7050. 3276 01f6 0ED5 bpl .L296
  7051. 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7052. 3277 .loc 1 1764 11 is_stmt 1 view .LVU980
  7053. 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7054. 3278 .loc 1 1764 21 is_stmt 0 view .LVU981
  7055. 3279 01f8 46F48046 orr r6, r6, #16384
  7056. 3280 .LVL244:
  7057. 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7058. 3281 .loc 1 1764 21 view .LVU982
  7059. 3282 01fc 30E7 b .L293
  7060. 3283 .LVL245:
  7061. 3284 .L325:
  7062. 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7063. 3285 .loc 1 1716 21 view .LVU983
  7064. 3286 01fe 4FF40066 mov r6, #2048
  7065. 3287 0202 1FE7 b .L291
  7066. 3288 .LVL246:
  7067. 3289 .L322:
  7068. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  7069. 3290 .loc 1 2019 13 is_stmt 1 view .LVU984
  7070. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  7071. 3291 .loc 1 2019 23 is_stmt 0 view .LVU985
  7072. 3292 0204 46F08006 orr r6, r6, #128
  7073. 3293 .LVL247:
  7074. 2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
  7075. 3294 .loc 1 2020 13 is_stmt 1 view .LVU986
  7076. 3295 0208 E3E7 b .L321
  7077. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 123
  7078. 3296 .L318:
  7079. 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  7080. 3297 .loc 1 2007 13 view .LVU987
  7081. 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  7082. 3298 .loc 1 2007 23 is_stmt 0 view .LVU988
  7083. 3299 020a 46F01006 orr r6, r6, #16
  7084. 3300 .LVL248:
  7085. 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
  7086. 3301 .loc 1 2008 13 is_stmt 1 view .LVU989
  7087. 3302 020e E0E7 b .L321
  7088. 3303 .LVL249:
  7089. 3304 .L414:
  7090. 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  7091. 3305 .loc 1 1731 11 view .LVU990
  7092. 3306 0210 FFF7FEFF bl HAL_CAN_TxMailbox0AbortCallback
  7093. 3307 .LVL250:
  7094. 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  7095. 3308 .loc 1 1731 11 is_stmt 0 view .LVU991
  7096. 3309 0214 16E7 b .L291
  7097. 3310 .LVL251:
  7098. 3311 .L296:
  7099. 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  7100. 3312 .loc 1 1774 11 is_stmt 1 view .LVU992
  7101. 3313 0216 2846 mov r0, r5
  7102. 3314 0218 FFF7FEFF bl HAL_CAN_TxMailbox1AbortCallback
  7103. 3315 .LVL252:
  7104. 3316 021c 20E7 b .L293
  7105. 3317 .L299:
  7106. 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  7107. 3318 .loc 1 1817 11 view .LVU993
  7108. 3319 021e 2846 mov r0, r5
  7109. 3320 0220 FFF7FEFF bl HAL_CAN_TxMailbox2AbortCallback
  7110. 3321 .LVL253:
  7111. 3322 0224 1EE7 b .L290
  7112. 3323 .LVL254:
  7113. 3324 .L316:
  7114. 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  7115. 3325 .loc 1 2015 13 view .LVU994
  7116. 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  7117. 3326 .loc 1 2015 23 is_stmt 0 view .LVU995
  7118. 3327 0226 46F04006 orr r6, r6, #64
  7119. 3328 .LVL255:
  7120. 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
  7121. 3329 .loc 1 2016 13 is_stmt 1 view .LVU996
  7122. 3330 022a D2E7 b .L321
  7123. 3331 .cfi_endproc
  7124. 3332 .LFE149:
  7125. 3334 .section .text.HAL_CAN_GetState,"ax",%progbits
  7126. 3335 .align 1
  7127. 3336 .p2align 2,,3
  7128. 3337 .global HAL_CAN_GetState
  7129. 3338 .syntax unified
  7130. 3339 .thumb
  7131. 3340 .thumb_func
  7132. 3342 HAL_CAN_GetState:
  7133. 3343 .LVL256:
  7134. 3344 .LFB163:
  7135. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 124
  7136. 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7137. 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7138. 2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
  7139. 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7140. 2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7141. 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group5 Callback functions
  7142. 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN Callback functions
  7143. 2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  7144. 2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  7145. 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  7146. 2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Callback functions #####
  7147. 2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  7148. 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
  7149. 2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This subsection provides the following callback functions:
  7150. 2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox0CompleteCallback
  7151. 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox1CompleteCallback
  7152. 2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox2CompleteCallback
  7153. 2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox0AbortCallback
  7154. 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox1AbortCallback
  7155. 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox2AbortCallback
  7156. 2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo0MsgPendingCallback
  7157. 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo0FullCallback
  7158. 2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo1MsgPendingCallback
  7159. 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo1FullCallback
  7160. 2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_SleepCallback
  7161. 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_WakeUpFromRxMsgCallback
  7162. 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ErrorCallback
  7163. 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7164. 2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  7165. 2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  7166. 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7167. 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7168. 2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7169. 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 0 complete callback.
  7170. 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7171. 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7172. 2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7173. 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7174. 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan)
  7175. 2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7176. 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7177. 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7178. 2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7179. 2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7180. 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox0CompleteCallback could be implemented in the
  7181. 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7182. 2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7183. 2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7184. 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7185. 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7186. 2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 1 complete callback.
  7187. 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7188. 2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7189. 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7190. 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7191. 2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan)
  7192. 2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7193. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 125
  7194. 2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7195. 2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7196. 2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7197. 2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7198. 2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox1CompleteCallback could be implemented in the
  7199. 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7200. 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7201. 2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7202. 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7203. 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7204. 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 2 complete callback.
  7205. 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7206. 2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7207. 2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7208. 2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7209. 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan)
  7210. 2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7211. 2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7212. 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7213. 2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7214. 2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7215. 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox2CompleteCallback could be implemented in the
  7216. 2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7217. 2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7218. 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7219. 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7220. 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7221. 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 0 Cancellation callback.
  7222. 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  7223. 2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7224. 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7225. 2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7226. 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0AbortCallback(CAN_HandleTypeDef *hcan)
  7227. 2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7228. 2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7229. 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7230. 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7231. 2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7232. 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox0AbortCallback could be implemented in the
  7233. 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7234. 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7235. 2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7236. 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7237. 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7238. 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 1 Cancellation callback.
  7239. 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  7240. 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7241. 2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7242. 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7243. 2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1AbortCallback(CAN_HandleTypeDef *hcan)
  7244. 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7245. 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7246. 2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7247. 2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7248. 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7249. 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox1AbortCallback could be implemented in the
  7250. 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7251. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 126
  7252. 2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7253. 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7254. 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7255. 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7256. 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 2 Cancellation callback.
  7257. 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  7258. 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7259. 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7260. 2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7261. 2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2AbortCallback(CAN_HandleTypeDef *hcan)
  7262. 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7263. 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7264. 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7265. 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7266. 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7267. 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox2AbortCallback could be implemented in the
  7268. 2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7269. 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7270. 2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7271. 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7272. 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7273. 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 0 message pending callback.
  7274. 2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7275. 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7276. 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7277. 2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7278. 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
  7279. 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7280. 2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7281. 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7282. 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7283. 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7284. 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo0MsgPendingCallback could be implemented in the
  7285. 2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7286. 2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7287. 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7288. 2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7289. 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7290. 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 0 full callback.
  7291. 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7292. 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7293. 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7294. 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7295. 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo0FullCallback(CAN_HandleTypeDef *hcan)
  7296. 2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7297. 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7298. 2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7299. 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7300. 2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7301. 2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo0FullCallback could be implemented in the user
  7302. 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** file
  7303. 2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7304. 2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7305. 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7306. 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7307. 2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 1 message pending callback.
  7308. 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7309. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 127
  7310. 2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7311. 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7312. 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7313. 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan)
  7314. 2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7315. 2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7316. 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7317. 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7318. 2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7319. 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo1MsgPendingCallback could be implemented in the
  7320. 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7321. 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7322. 2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7323. 2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7324. 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7325. 2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 1 full callback.
  7326. 2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7327. 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7328. 2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7329. 2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7330. 2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo1FullCallback(CAN_HandleTypeDef *hcan)
  7331. 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7332. 2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7333. 2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7334. 2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7335. 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7336. 2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo1FullCallback could be implemented in the user
  7337. 2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** file
  7338. 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7339. 2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7340. 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7341. 2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7342. 2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Sleep callback.
  7343. 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7344. 2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7345. 2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7346. 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7347. 2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_SleepCallback(CAN_HandleTypeDef *hcan)
  7348. 2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7349. 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7350. 2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7351. 2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7352. 2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7353. 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_SleepCallback could be implemented in the user file
  7354. 2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7355. 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7356. 2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7357. 2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7358. 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief WakeUp from Rx message callback.
  7359. 2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7360. 2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7361. 2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7362. 2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7363. 2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_WakeUpFromRxMsgCallback(CAN_HandleTypeDef *hcan)
  7364. 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7365. 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7366. 2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7367. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 128
  7368. 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7369. 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7370. 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_WakeUpFromRxMsgCallback could be implemented in the
  7371. 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7372. 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7373. 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7374. 2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7375. 2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7376. 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Error CAN callback.
  7377. 2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7378. 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7379. 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7380. 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7381. 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan)
  7382. 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7383. 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7384. 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7385. 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7386. 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7387. 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_ErrorCallback could be implemented in the user file
  7388. 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7389. 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7390. 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7391. 2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7392. 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
  7393. 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7394. 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7395. 2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group6 Peripheral State and Error functions
  7396. 2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN Peripheral State functions
  7397. 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  7398. 2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  7399. 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  7400. 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Peripheral State and Error functions #####
  7401. 2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  7402. 2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
  7403. 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This subsection provides functions allowing to :
  7404. 2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetState() : Return the CAN state.
  7405. 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetError() : Return the CAN error codes if any.
  7406. 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ResetError(): Reset the CAN error codes if any.
  7407. 2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7408. 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  7409. 2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  7410. 2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7411. 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7412. 2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7413. 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return the CAN state.
  7414. 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7415. 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7416. 2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL state
  7417. 2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7418. 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef HAL_CAN_GetState(const CAN_HandleTypeDef *hcan)
  7419. 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7420. 3345 .loc 1 2333 1 view -0
  7421. 3346 .cfi_startproc
  7422. 3347 @ args = 0, pretend = 0, frame = 0
  7423. 3348 @ frame_needed = 0, uses_anonymous_args = 0
  7424. 3349 @ link register save eliminated.
  7425. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 129
  7426. 2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  7427. 3350 .loc 1 2334 3 view .LVU998
  7428. 3351 .loc 1 2334 24 is_stmt 0 view .LVU999
  7429. 3352 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
  7430. 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7431. 2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  7432. 3353 .loc 1 2336 6 view .LVU1000
  7433. 3354 0004 591E subs r1, r3, #1
  7434. 3355 0006 0129 cmp r1, #1
  7435. 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  7436. 3356 .loc 1 2333 1 view .LVU1001
  7437. 3357 0008 0246 mov r2, r0
  7438. 2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  7439. 3358 .loc 1 2334 24 view .LVU1002
  7440. 3359 000a D8B2 uxtb r0, r3
  7441. 3360 .LVL257:
  7442. 3361 .loc 1 2336 3 is_stmt 1 view .LVU1003
  7443. 3362 .loc 1 2336 6 is_stmt 0 view .LVU1004
  7444. 3363 000c 00D9 bls .L433
  7445. 2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  7446. 2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7447. 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check sleep mode acknowledge flag */
  7448. 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
  7449. 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7450. 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep mode is active */
  7451. 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** state = HAL_CAN_STATE_SLEEP_ACTIVE;
  7452. 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7453. 2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check sleep mode request flag */
  7454. 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((hcan->Instance->MCR & CAN_MCR_SLEEP) != 0U)
  7455. 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7456. 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep mode request is pending */
  7457. 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** state = HAL_CAN_STATE_SLEEP_PENDING;
  7458. 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7459. 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  7460. 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7461. 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Neither sleep mode request nor sleep mode acknowledge */
  7462. 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7463. 3364 .loc 1 2354 5 is_stmt 1 view .LVU1005
  7464. 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7465. 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7466. 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return CAN state */
  7467. 2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return state;
  7468. 3365 .loc 1 2358 3 view .LVU1006
  7469. 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7470. 3366 .loc 1 2359 1 is_stmt 0 view .LVU1007
  7471. 3367 000e 7047 bx lr
  7472. 3368 .L433:
  7473. 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7474. 3369 .loc 1 2340 5 is_stmt 1 view .LVU1008
  7475. 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7476. 3370 .loc 1 2340 14 is_stmt 0 view .LVU1009
  7477. 3371 0010 1368 ldr r3, [r2]
  7478. 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7479. 3372 .loc 1 2340 24 view .LVU1010
  7480. 3373 0012 5A68 ldr r2, [r3, #4]
  7481. 3374 .LVL258:
  7482. 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7483. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 130
  7484. 3375 .loc 1 2340 8 view .LVU1011
  7485. 3376 0014 9207 lsls r2, r2, #30
  7486. 3377 0016 05D4 bmi .L430
  7487. 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7488. 3378 .loc 1 2346 10 is_stmt 1 view .LVU1012
  7489. 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7490. 3379 .loc 1 2346 29 is_stmt 0 view .LVU1013
  7491. 3380 0018 1B68 ldr r3, [r3]
  7492. 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7493. 3381 .loc 1 2349 13 view .LVU1014
  7494. 3382 001a 13F0020F tst r3, #2
  7495. 3383 001e 18BF it ne
  7496. 3384 0020 0320 movne r0, #3
  7497. 3385 .LVL259:
  7498. 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7499. 3386 .loc 1 2349 13 view .LVU1015
  7500. 3387 0022 7047 bx lr
  7501. 3388 .LVL260:
  7502. 3389 .L430:
  7503. 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7504. 3390 .loc 1 2343 13 view .LVU1016
  7505. 3391 0024 0420 movs r0, #4
  7506. 3392 .LVL261:
  7507. 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7508. 3393 .loc 1 2354 5 is_stmt 1 view .LVU1017
  7509. 2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7510. 3394 .loc 1 2358 3 view .LVU1018
  7511. 3395 .loc 1 2359 1 is_stmt 0 view .LVU1019
  7512. 3396 0026 7047 bx lr
  7513. 3397 .cfi_endproc
  7514. 3398 .LFE163:
  7515. 3400 .section .text.HAL_CAN_GetError,"ax",%progbits
  7516. 3401 .align 1
  7517. 3402 .p2align 2,,3
  7518. 3403 .global HAL_CAN_GetError
  7519. 3404 .syntax unified
  7520. 3405 .thumb
  7521. 3406 .thumb_func
  7522. 3408 HAL_CAN_GetError:
  7523. 3409 .LVL262:
  7524. 3410 .LFB164:
  7525. 2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7526. 2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7527. 2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return the CAN error code.
  7528. 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7529. 2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7530. 2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval CAN Error Code
  7531. 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7532. 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetError(const CAN_HandleTypeDef *hcan)
  7533. 2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7534. 3411 .loc 1 2368 1 is_stmt 1 view -0
  7535. 3412 .cfi_startproc
  7536. 3413 @ args = 0, pretend = 0, frame = 0
  7537. 3414 @ frame_needed = 0, uses_anonymous_args = 0
  7538. 3415 @ link register save eliminated.
  7539. 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return CAN error code */
  7540. 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return hcan->ErrorCode;
  7541. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 131
  7542. 3416 .loc 1 2370 3 view .LVU1021
  7543. 3417 .loc 1 2370 14 is_stmt 0 view .LVU1022
  7544. 3418 0000 406A ldr r0, [r0, #36]
  7545. 3419 .LVL263:
  7546. 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7547. 3420 .loc 1 2371 1 view .LVU1023
  7548. 3421 0002 7047 bx lr
  7549. 3422 .cfi_endproc
  7550. 3423 .LFE164:
  7551. 3425 .section .text.HAL_CAN_ResetError,"ax",%progbits
  7552. 3426 .align 1
  7553. 3427 .p2align 2,,3
  7554. 3428 .global HAL_CAN_ResetError
  7555. 3429 .syntax unified
  7556. 3430 .thumb
  7557. 3431 .thumb_func
  7558. 3433 HAL_CAN_ResetError:
  7559. 3434 .LVL264:
  7560. 3435 .LFB165:
  7561. 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7562. 2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7563. 2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Reset the CAN error code.
  7564. 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7565. 2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7566. 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  7567. 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7568. 2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ResetError(CAN_HandleTypeDef *hcan)
  7569. 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7570. 3436 .loc 1 2380 1 is_stmt 1 view -0
  7571. 3437 .cfi_startproc
  7572. 3438 @ args = 0, pretend = 0, frame = 0
  7573. 3439 @ frame_needed = 0, uses_anonymous_args = 0
  7574. 3440 @ link register save eliminated.
  7575. 2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
  7576. 3441 .loc 1 2381 3 view .LVU1025
  7577. 2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  7578. 3442 .loc 1 2382 3 view .LVU1026
  7579. 3443 .loc 1 2382 24 is_stmt 0 view .LVU1027
  7580. 3444 0000 90F82020 ldrb r2, [r0, #32] @ zero_extendqisi2
  7581. 3445 .LVL265:
  7582. 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7583. 2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  7584. 3446 .loc 1 2384 3 is_stmt 1 view .LVU1028
  7585. 3447 .loc 1 2384 6 is_stmt 0 view .LVU1029
  7586. 3448 0004 013A subs r2, r2, #1
  7587. 3449 .LVL266:
  7588. 3450 .loc 1 2384 6 view .LVU1030
  7589. 3451 0006 012A cmp r2, #1
  7590. 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
  7591. 3452 .loc 1 2380 1 view .LVU1031
  7592. 3453 0008 0346 mov r3, r0
  7593. 3454 .loc 1 2384 6 view .LVU1032
  7594. 3455 000a 05D9 bls .L438
  7595. 2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  7596. 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7597. 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset CAN error code */
  7598. 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = 0U;
  7599. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 132
  7600. 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7601. 2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  7602. 2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7603. 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  7604. 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  7605. 3456 .loc 1 2393 5 is_stmt 1 view .LVU1033
  7606. 3457 .loc 1 2393 21 is_stmt 0 view .LVU1034
  7607. 3458 000c 426A ldr r2, [r0, #36]
  7608. 3459 000e 42F48022 orr r2, r2, #262144
  7609. 2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7610. 2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  7611. 3460 .loc 1 2395 12 view .LVU1035
  7612. 3461 0012 0120 movs r0, #1
  7613. 3462 .LVL267:
  7614. 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7615. 3463 .loc 1 2393 21 view .LVU1036
  7616. 3464 0014 5A62 str r2, [r3, #36]
  7617. 3465 .loc 1 2395 5 is_stmt 1 view .LVU1037
  7618. 3466 .LVL268:
  7619. 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7620. 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7621. 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return the status */
  7622. 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
  7623. 3467 .loc 1 2399 3 view .LVU1038
  7624. 2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7625. 3468 .loc 1 2400 1 is_stmt 0 view .LVU1039
  7626. 3469 0016 7047 bx lr
  7627. 3470 .LVL269:
  7628. 3471 .L438:
  7629. 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7630. 3472 .loc 1 2388 5 is_stmt 1 view .LVU1040
  7631. 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7632. 3473 .loc 1 2388 21 is_stmt 0 view .LVU1041
  7633. 3474 0018 0020 movs r0, #0
  7634. 3475 .LVL270:
  7635. 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7636. 3476 .loc 1 2388 21 view .LVU1042
  7637. 3477 001a 5862 str r0, [r3, #36]
  7638. 3478 001c 7047 bx lr
  7639. 3479 .cfi_endproc
  7640. 3480 .LFE165:
  7641. 3482 001e 00BF .text
  7642. 3483 .Letext0:
  7643. 3484 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  7644. 3485 .file 4 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  7645. 3486 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  7646. 3487 .file 6 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
  7647. 3488 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
  7648. 3489 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_can.h"
  7649. 3490 .file 9 "Core/Inc/stm32f3xx_hal_conf.h"
  7650. 3491 .file 10 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h"
  7651. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 133
  7652. DEFINED SYMBOLS
  7653. *ABS*:00000000 stm32f3xx_hal_can.c
  7654. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:20 .text.HAL_CAN_MspInit:00000000 $t
  7655. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:27 .text.HAL_CAN_MspInit:00000000 HAL_CAN_MspInit
  7656. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:43 .rodata.HAL_CAN_Init.str1.4:00000000 $d
  7657. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:48 .text.HAL_CAN_Init:00000000 $t
  7658. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:55 .text.HAL_CAN_Init:00000000 HAL_CAN_Init
  7659. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:465 .text.HAL_CAN_Init:00000240 $d
  7660. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:471 .text.HAL_CAN_MspDeInit:00000000 $t
  7661. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:478 .text.HAL_CAN_MspDeInit:00000000 HAL_CAN_MspDeInit
  7662. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:489 .text.HAL_CAN_ConfigFilter:00000000 $t
  7663. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:496 .text.HAL_CAN_ConfigFilter:00000000 HAL_CAN_ConfigFilter
  7664. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:791 .text.HAL_CAN_ConfigFilter:0000019c $d
  7665. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:796 .text.HAL_CAN_Start:00000000 $t
  7666. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:803 .text.HAL_CAN_Start:00000000 HAL_CAN_Start
  7667. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:916 .text.HAL_CAN_Stop:00000000 $t
  7668. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:923 .text.HAL_CAN_Stop:00000000 HAL_CAN_Stop
  7669. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1047 .text.HAL_CAN_DeInit:00000000 $t
  7670. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1054 .text.HAL_CAN_DeInit:00000000 HAL_CAN_DeInit
  7671. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1127 .text.HAL_CAN_DeInit:00000040 $d
  7672. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1133 .text.HAL_CAN_RequestSleep:00000000 $t
  7673. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1140 .text.HAL_CAN_RequestSleep:00000000 HAL_CAN_RequestSleep
  7674. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1192 .text.HAL_CAN_WakeUp:00000000 $t
  7675. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1199 .text.HAL_CAN_WakeUp:00000000 HAL_CAN_WakeUp
  7676. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1310 .text.HAL_CAN_WakeUp:00000058 $d
  7677. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1315 .text.HAL_CAN_IsSleepActive:00000000 $t
  7678. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1322 .text.HAL_CAN_IsSleepActive:00000000 HAL_CAN_IsSleepActive
  7679. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1359 .text.HAL_CAN_AddTxMessage:00000000 $t
  7680. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1366 .text.HAL_CAN_AddTxMessage:00000000 HAL_CAN_AddTxMessage
  7681. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1605 .text.HAL_CAN_AddTxMessage:00000130 $d
  7682. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1610 .text.HAL_CAN_AbortTxRequest:00000000 $t
  7683. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1617 .text.HAL_CAN_AbortTxRequest:00000000 HAL_CAN_AbortTxRequest
  7684. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1726 .text.HAL_CAN_AbortTxRequest:00000064 $d
  7685. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1731 .text.HAL_CAN_GetTxMailboxesFreeLevel:00000000 $t
  7686. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1738 .text.HAL_CAN_GetTxMailboxesFreeLevel:00000000 HAL_CAN_GetTxMailboxesFreeLevel
  7687. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1802 .text.HAL_CAN_IsTxMessagePending:00000000 $t
  7688. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1809 .text.HAL_CAN_IsTxMessagePending:00000000 HAL_CAN_IsTxMessagePending
  7689. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1883 .text.HAL_CAN_IsTxMessagePending:0000003c $d
  7690. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1888 .text.HAL_CAN_GetTxTimestamp:00000000 $t
  7691. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:1895 .text.HAL_CAN_GetTxTimestamp:00000000 HAL_CAN_GetTxTimestamp
  7692. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2008 .text.HAL_CAN_GetTxTimestamp:00000048 $d
  7693. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2013 .text.HAL_CAN_GetRxMessage:00000000 $t
  7694. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2020 .text.HAL_CAN_GetRxMessage:00000000 HAL_CAN_GetRxMessage
  7695. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2294 .text.HAL_CAN_GetRxMessage:00000144 $d
  7696. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2299 .text.HAL_CAN_GetRxFifoFillLevel:00000000 $t
  7697. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2306 .text.HAL_CAN_GetRxFifoFillLevel:00000000 HAL_CAN_GetRxFifoFillLevel
  7698. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2394 .text.HAL_CAN_GetRxFifoFillLevel:00000040 $d
  7699. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2399 .text.HAL_CAN_ActivateNotification:00000000 $t
  7700. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2406 .text.HAL_CAN_ActivateNotification:00000000 HAL_CAN_ActivateNotification
  7701. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2485 .text.HAL_CAN_ActivateNotification:0000003c $d
  7702. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2491 .text.HAL_CAN_DeactivateNotification:00000000 $t
  7703. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2498 .text.HAL_CAN_DeactivateNotification:00000000 HAL_CAN_DeactivateNotification
  7704. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2577 .text.HAL_CAN_DeactivateNotification:00000040 $d
  7705. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2583 .text.HAL_CAN_TxMailbox0CompleteCallback:00000000 $t
  7706. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2590 .text.HAL_CAN_TxMailbox0CompleteCallback:00000000 HAL_CAN_TxMailbox0CompleteCallback
  7707. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2601 .text.HAL_CAN_TxMailbox1CompleteCallback:00000000 $t
  7708. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2608 .text.HAL_CAN_TxMailbox1CompleteCallback:00000000 HAL_CAN_TxMailbox1CompleteCallback
  7709. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s page 134
  7710. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2619 .text.HAL_CAN_TxMailbox2CompleteCallback:00000000 $t
  7711. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2626 .text.HAL_CAN_TxMailbox2CompleteCallback:00000000 HAL_CAN_TxMailbox2CompleteCallback
  7712. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2637 .text.HAL_CAN_TxMailbox0AbortCallback:00000000 $t
  7713. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2644 .text.HAL_CAN_TxMailbox0AbortCallback:00000000 HAL_CAN_TxMailbox0AbortCallback
  7714. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2655 .text.HAL_CAN_TxMailbox1AbortCallback:00000000 $t
  7715. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2662 .text.HAL_CAN_TxMailbox1AbortCallback:00000000 HAL_CAN_TxMailbox1AbortCallback
  7716. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2673 .text.HAL_CAN_TxMailbox2AbortCallback:00000000 $t
  7717. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2680 .text.HAL_CAN_TxMailbox2AbortCallback:00000000 HAL_CAN_TxMailbox2AbortCallback
  7718. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2691 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 $t
  7719. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2698 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 HAL_CAN_RxFifo0MsgPendingCallback
  7720. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2709 .text.HAL_CAN_RxFifo0FullCallback:00000000 $t
  7721. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2716 .text.HAL_CAN_RxFifo0FullCallback:00000000 HAL_CAN_RxFifo0FullCallback
  7722. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2727 .text.HAL_CAN_RxFifo1MsgPendingCallback:00000000 $t
  7723. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2734 .text.HAL_CAN_RxFifo1MsgPendingCallback:00000000 HAL_CAN_RxFifo1MsgPendingCallback
  7724. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2745 .text.HAL_CAN_RxFifo1FullCallback:00000000 $t
  7725. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2752 .text.HAL_CAN_RxFifo1FullCallback:00000000 HAL_CAN_RxFifo1FullCallback
  7726. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2763 .text.HAL_CAN_SleepCallback:00000000 $t
  7727. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2770 .text.HAL_CAN_SleepCallback:00000000 HAL_CAN_SleepCallback
  7728. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2781 .text.HAL_CAN_WakeUpFromRxMsgCallback:00000000 $t
  7729. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2788 .text.HAL_CAN_WakeUpFromRxMsgCallback:00000000 HAL_CAN_WakeUpFromRxMsgCallback
  7730. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2799 .text.HAL_CAN_ErrorCallback:00000000 $t
  7731. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2806 .text.HAL_CAN_ErrorCallback:00000000 HAL_CAN_ErrorCallback
  7732. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2817 .text.HAL_CAN_IRQHandler:00000000 $t
  7733. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:2824 .text.HAL_CAN_IRQHandler:00000000 HAL_CAN_IRQHandler
  7734. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:3335 .text.HAL_CAN_GetState:00000000 $t
  7735. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:3342 .text.HAL_CAN_GetState:00000000 HAL_CAN_GetState
  7736. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:3401 .text.HAL_CAN_GetError:00000000 $t
  7737. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:3408 .text.HAL_CAN_GetError:00000000 HAL_CAN_GetError
  7738. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:3426 .text.HAL_CAN_ResetError:00000000 $t
  7739. C:\Users\zl835\AppData\Local\Temp\ccj8PKlf.s:3433 .text.HAL_CAN_ResetError:00000000 HAL_CAN_ResetError
  7740. UNDEFINED SYMBOLS
  7741. assert_failed
  7742. HAL_GetTick