stm32f4xx_hal_can.lst 464 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858
  1. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.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, 6
  14. 13 .eabi_attribute 34, 1
  15. 14 .eabi_attribute 18, 4
  16. 15 .file "stm32f4xx_hal_can.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .text.HAL_CAN_Init,"ax",%progbits
  21. 20 .align 1
  22. 21 .global HAL_CAN_Init
  23. 22 .syntax unified
  24. 23 .thumb
  25. 24 .thumb_func
  26. 26 HAL_CAN_Init:
  27. 27 .LFB235:
  28. 28 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c"
  29. 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  30. 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ******************************************************************************
  31. 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @file stm32f4xx_hal_can.c
  32. 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @author MCD Application Team
  33. 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief CAN HAL module driver.
  34. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * This file provides firmware functions to manage the following
  35. 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * functionalities of the Controller Area Network (CAN) peripheral:
  36. 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * + Initialization and de-initialization functions
  37. 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * + Configuration functions
  38. 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * + Control functions
  39. 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * + Interrupts management
  40. 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * + Callbacks functions
  41. 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * + Peripheral State and Error functions
  42. 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *
  43. 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ******************************************************************************
  44. 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @attention
  45. 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *
  46. 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * Copyright (c) 2016 STMicroelectronics.
  47. 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * All rights reserved.
  48. 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *
  49. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * This software is licensed under terms that can be found in the LICENSE file
  50. 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * in the root directory of this software component.
  51. 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  52. 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *
  53. 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ******************************************************************************
  54. 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @verbatim
  55. 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  56. 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ##### How to use this driver #####
  57. 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  58. 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** [..]
  59. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 2
  60. 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) Initialize the CAN low level resources by implementing the
  61. 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_MspInit():
  62. 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) Enable the CAN interface clock using __HAL_RCC_CANx_CLK_ENABLE()
  63. 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) Configure CAN pins
  64. 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+++) Enable the clock for the CAN GPIOs
  65. 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+++) Configure CAN pins as alternate function open-drain
  66. 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) In case of using interrupts (e.g. HAL_CAN_ActivateNotification())
  67. 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+++) Configure the CAN interrupt priority using
  68. 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_NVIC_SetPriority()
  69. 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+++) Enable the CAN IRQ handler using HAL_NVIC_EnableIRQ()
  70. 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+++) In CAN IRQ handler, call HAL_CAN_IRQHandler()
  71. 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  72. 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) Initialize the CAN peripheral using HAL_CAN_Init() function. This
  73. 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** function resorts to HAL_CAN_MspInit() for low-level initialization.
  74. 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  75. 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) Configure the reception filters using the following configuration
  76. 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** functions:
  77. 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) HAL_CAN_ConfigFilter()
  78. 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  79. 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) Start the CAN module using HAL_CAN_Start() function. At this level
  80. 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the node is active on the bus: it receive messages, and can send
  81. 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** messages.
  82. 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  83. 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) To manage messages transmission, the following Tx control functions
  84. 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** can be used:
  85. 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) HAL_CAN_AddTxMessage() to request transmission of a new
  86. 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** message.
  87. 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) HAL_CAN_AbortTxRequest() to abort transmission of a pending
  88. 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** message.
  89. 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) HAL_CAN_GetTxMailboxesFreeLevel() to get the number of free Tx
  90. 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** mailboxes.
  91. 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) HAL_CAN_IsTxMessagePending() to check if a message is pending
  92. 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** in a Tx mailbox.
  93. 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) HAL_CAN_GetTxTimestamp() to get the timestamp of Tx message
  94. 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** sent, if time triggered communication mode is enabled.
  95. 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  96. 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) When a message is received into the CAN Rx FIFOs, it can be retrieved
  97. 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** using the HAL_CAN_GetRxMessage() function. The function
  98. 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_GetRxFifoFillLevel() allows to know how many Rx message are
  99. 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** stored in the Rx Fifo.
  100. 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  101. 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) Calling the HAL_CAN_Stop() function stops the CAN module.
  102. 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  103. 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) The deinitialization is achieved with HAL_CAN_DeInit() function.
  104. 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  105. 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  106. 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *** Polling mode operation ***
  107. 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================
  108. 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** [..]
  109. 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) Reception:
  110. 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) Monitor reception of message using HAL_CAN_GetRxFifoFillLevel()
  111. 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** until at least one message is received.
  112. 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) Then get the message using HAL_CAN_GetRxMessage().
  113. 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  114. 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) Transmission:
  115. 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) Monitor the Tx mailboxes availability until at least one Tx
  116. 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** mailbox is free, using HAL_CAN_GetTxMailboxesFreeLevel().
  117. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 3
  118. 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) Then request transmission of a message using
  119. 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_AddTxMessage().
  120. 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  121. 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  122. 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *** Interrupt mode operation ***
  123. 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ================================
  124. 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** [..]
  125. 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) Notifications are activated using HAL_CAN_ActivateNotification()
  126. 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** function. Then, the process can be controlled through the
  127. 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** available user callbacks: HAL_CAN_xxxCallback(), using same APIs
  128. 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_GetRxMessage() and HAL_CAN_AddTxMessage().
  129. 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  130. 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) Notifications can be deactivated using
  131. 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_DeactivateNotification() function.
  132. 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  133. 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) Special care should be taken for CAN_IT_RX_FIFO0_MSG_PENDING and
  134. 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CAN_IT_RX_FIFO1_MSG_PENDING notifications. These notifications trig
  135. 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the callbacks HAL_CAN_RxFIFO0MsgPendingCallback() and
  136. 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_RxFIFO1MsgPendingCallback(). User has two possible options
  137. 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** here.
  138. 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) Directly get the Rx message in the callback, using
  139. 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_GetRxMessage().
  140. 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) Or deactivate the notification in the callback without
  141. 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** getting the Rx message. The Rx message can then be got later
  142. 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** using HAL_CAN_GetRxMessage(). Once the Rx message have been
  143. 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** read, the notification can be activated again.
  144. 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  145. 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  146. 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *** Sleep mode ***
  147. 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==================
  148. 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** [..]
  149. 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) The CAN peripheral can be put in sleep mode (low power), using
  150. 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_RequestSleep(). The sleep mode will be entered as soon as the
  151. 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** current CAN activity (transmission or reception of a CAN frame) will
  152. 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** be completed.
  153. 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  154. 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) A notification can be activated to be informed when the sleep mode
  155. 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** will be entered.
  156. 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  157. 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) It can be checked if the sleep mode is entered using
  158. 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_IsSleepActive().
  159. 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** Note that the CAN state (accessible from the API HAL_CAN_GetState())
  160. 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** is HAL_CAN_STATE_SLEEP_PENDING as soon as the sleep mode request is
  161. 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** submitted (the sleep mode is not yet entered), and become
  162. 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_STATE_SLEEP_ACTIVE when the sleep mode is effective.
  163. 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  164. 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (#) The wake-up from sleep mode can be triggered by two ways:
  165. 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) Using HAL_CAN_WakeUp(). When returning from this function,
  166. 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the sleep mode is exited (if return status is HAL_OK).
  167. 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (++) When a start of Rx CAN frame is detected by the CAN peripheral,
  168. 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if automatic wake up mode is enabled.
  169. 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  170. 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *** Callback registration ***
  171. 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** =============================================
  172. 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  173. 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** The compilation define USE_HAL_CAN_REGISTER_CALLBACKS when set to 1
  174. 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** allows the user to configure dynamically the driver callbacks.
  175. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 4
  176. 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** Use Function HAL_CAN_RegisterCallback() to register an interrupt callback.
  177. 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  178. 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** Function HAL_CAN_RegisterCallback() allows to register following callbacks:
  179. 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
  180. 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
  181. 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
  182. 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
  183. 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
  184. 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
  185. 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
  186. 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
  187. 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
  188. 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
  189. 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) SleepCallback : Sleep Callback.
  190. 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
  191. 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) ErrorCallback : Error Callback.
  192. 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) MspInitCallback : CAN MspInit.
  193. 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) MspDeInitCallback : CAN MspDeInit.
  194. 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
  195. 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** and a pointer to the user callback function.
  196. 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  197. 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** Use function HAL_CAN_UnRegisterCallback() to reset a callback to the default
  198. 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** weak function.
  199. 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_UnRegisterCallback takes as parameters the HAL peripheral handle,
  200. 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** and the Callback ID.
  201. 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** This function allows to reset following callbacks:
  202. 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
  203. 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
  204. 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
  205. 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
  206. 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
  207. 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
  208. 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
  209. 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
  210. 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
  211. 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
  212. 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) SleepCallback : Sleep Callback.
  213. 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
  214. 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) ErrorCallback : Error Callback.
  215. 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) MspInitCallback : CAN MspInit.
  216. 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) MspDeInitCallback : CAN MspDeInit.
  217. 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  218. 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** By default, after the HAL_CAN_Init() and when the state is HAL_CAN_STATE_RESET,
  219. 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** all callbacks are set to the corresponding weak functions:
  220. 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** example HAL_CAN_ErrorCallback().
  221. 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** Exception done for MspInit and MspDeInit functions that are
  222. 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** reset to the legacy weak function in the HAL_CAN_Init()/ HAL_CAN_DeInit() only when
  223. 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** these callbacks are null (not registered beforehand).
  224. 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if not, MspInit or MspDeInit are not null, the HAL_CAN_Init()/ HAL_CAN_DeInit()
  225. 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand)
  226. 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  227. 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** Callbacks can be registered/unregistered in HAL_CAN_STATE_READY state only.
  228. 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
  229. 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** in HAL_CAN_STATE_READY or HAL_CAN_STATE_RESET state,
  230. 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
  231. 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** In that case first register the MspInit/MspDeInit user callbacks
  232. 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** using HAL_CAN_RegisterCallback() before calling HAL_CAN_DeInit()
  233. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 5
  234. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** or HAL_CAN_Init() function.
  235. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  236. 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** When The compilation define USE_HAL_CAN_REGISTER_CALLBACKS is set to 0 or
  237. 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** not defined, the callback registration feature is not available and all callbacks
  238. 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** are set to the corresponding weak functions.
  239. 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  240. 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @endverbatim
  241. 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ******************************************************************************
  242. 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  243. 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  244. 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Includes ------------------------------------------------------------------*/
  245. 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #include "stm32f4xx_hal.h"
  246. 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  247. 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /** @addtogroup STM32F4xx_HAL_Driver
  248. 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @{
  249. 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  250. 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  251. 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if defined(CAN1)
  252. 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  253. 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /** @defgroup CAN CAN
  254. 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief CAN driver modules
  255. 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @{
  256. 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  257. 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  258. 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #ifdef HAL_CAN_MODULE_ENABLED
  259. 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  260. 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #ifdef HAL_CAN_LEGACY_MODULE_ENABLED
  261. 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #error "The CAN driver cannot be used with its legacy, Please enable only one CAN module at once"
  262. 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif
  263. 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  264. 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Private typedef -----------------------------------------------------------*/
  265. 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Private define ------------------------------------------------------------*/
  266. 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /** @defgroup CAN_Private_Constants CAN Private Constants
  267. 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @{
  268. 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  269. 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #define CAN_TIMEOUT_VALUE 10U
  270. 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  271. 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @}
  272. 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  273. 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Private macro -------------------------------------------------------------*/
  274. 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Private variables ---------------------------------------------------------*/
  275. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Private function prototypes -----------------------------------------------*/
  276. 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Exported functions --------------------------------------------------------*/
  277. 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  278. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /** @defgroup CAN_Exported_Functions CAN Exported Functions
  279. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @{
  280. 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  281. 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  282. 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group1 Initialization and de-initialization functions
  283. 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Initialization and Configuration functions
  284. 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *
  285. 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @verbatim
  286. 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  287. 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ##### Initialization and de-initialization functions #####
  288. 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  289. 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** [..] This section provides functions allowing to:
  290. 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_Init : Initialize and configure the CAN.
  291. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 6
  292. 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_DeInit : De-initialize the CAN.
  293. 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_MspInit : Initialize the CAN MSP.
  294. 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_MspDeInit : DeInitialize the CAN MSP.
  295. 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  296. 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @endverbatim
  297. 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @{
  298. 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  299. 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  300. 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  301. 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Initializes the CAN peripheral according to the specified
  302. 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * parameters in the CAN_InitStruct.
  303. 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  304. 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  305. 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status
  306. 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  307. 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef *hcan)
  308. 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  309. 29 .loc 1 275 1
  310. 30 .cfi_startproc
  311. 31 @ args = 0, pretend = 0, frame = 16
  312. 32 @ frame_needed = 1, uses_anonymous_args = 0
  313. 33 0000 80B5 push {r7, lr}
  314. 34 .LCFI0:
  315. 35 .cfi_def_cfa_offset 8
  316. 36 .cfi_offset 7, -8
  317. 37 .cfi_offset 14, -4
  318. 38 0002 84B0 sub sp, sp, #16
  319. 39 .LCFI1:
  320. 40 .cfi_def_cfa_offset 24
  321. 41 0004 00AF add r7, sp, #0
  322. 42 .LCFI2:
  323. 43 .cfi_def_cfa_register 7
  324. 44 0006 7860 str r0, [r7, #4]
  325. 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t tickstart;
  326. 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  327. 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check CAN handle */
  328. 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan == NULL)
  329. 45 .loc 1 279 6
  330. 46 0008 7B68 ldr r3, [r7, #4]
  331. 47 000a 002B cmp r3, #0
  332. 48 000c 01D1 bne .L2
  333. 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  334. 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  335. 49 .loc 1 281 12
  336. 50 000e 0123 movs r3, #1
  337. 51 0010 EDE0 b .L3
  338. 52 .L2:
  339. 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  340. 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  341. 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check the parameters */
  342. 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
  343. 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
  344. 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff));
  345. 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
  346. 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
  347. 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
  348. 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
  349. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 7
  350. 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_MODE(hcan->Init.Mode));
  351. 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
  352. 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1));
  353. 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
  354. 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
  355. 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  356. 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  357. 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_RESET)
  358. 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  359. 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Reset callbacks to legacy functions */
  360. 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback; /* Legacy weak RxFifo0M
  361. 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback; /* Legacy weak RxFifo0F
  362. 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback; /* Legacy weak RxFifo1M
  363. 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback; /* Legacy weak RxFifo1F
  364. 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback; /* Legacy weak TxMailbo
  365. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback; /* Legacy weak TxMailbo
  366. 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback; /* Legacy weak TxMailbo
  367. 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback; /* Legacy weak TxMailbo
  368. 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback; /* Legacy weak TxMailbo
  369. 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback; /* Legacy weak TxMailbo
  370. 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->SleepCallback = HAL_CAN_SleepCallback; /* Legacy weak SleepCal
  371. 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback; /* Legacy weak WakeUpFr
  372. 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCallback = HAL_CAN_ErrorCallback; /* Legacy weak ErrorCal
  373. 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  374. 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->MspInitCallback == NULL)
  375. 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  376. 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit; /* Legacy weak MspInit */
  377. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  378. 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  379. 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Init the low level hardware: CLOCK, NVIC */
  380. 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->MspInitCallback(hcan);
  381. 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  382. 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  383. 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  384. 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_RESET)
  385. 53 .loc 1 326 11
  386. 54 0012 7B68 ldr r3, [r7, #4]
  387. 55 0014 93F82030 ldrb r3, [r3, #32]
  388. 56 0018 DBB2 uxtb r3, r3
  389. 57 .loc 1 326 6
  390. 58 001a 002B cmp r3, #0
  391. 59 001c 02D1 bne .L4
  392. 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  393. 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Init the low level hardware: CLOCK, NVIC */
  394. 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_MspInit(hcan);
  395. 60 .loc 1 329 5
  396. 61 001e 7868 ldr r0, [r7, #4]
  397. 62 0020 FFF7FEFF bl HAL_CAN_MspInit
  398. 63 .L4:
  399. 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  400. 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* (USE_HAL_CAN_REGISTER_CALLBACKS) */
  401. 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  402. 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Request initialisation */
  403. 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
  404. 64 .loc 1 334 3
  405. 65 0024 7B68 ldr r3, [r7, #4]
  406. 66 0026 1B68 ldr r3, [r3]
  407. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 8
  408. 67 0028 1A68 ldr r2, [r3]
  409. 68 002a 7B68 ldr r3, [r7, #4]
  410. 69 002c 1B68 ldr r3, [r3]
  411. 70 002e 42F00102 orr r2, r2, #1
  412. 71 0032 1A60 str r2, [r3]
  413. 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  414. 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Get tick */
  415. 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** tickstart = HAL_GetTick();
  416. 72 .loc 1 337 15
  417. 73 0034 FFF7FEFF bl HAL_GetTick
  418. 74 0038 F860 str r0, [r7, #12]
  419. 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  420. 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Wait initialisation acknowledge */
  421. 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
  422. 75 .loc 1 340 9
  423. 76 003a 12E0 b .L5
  424. 77 .L6:
  425. 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  426. 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
  427. 78 .loc 1 342 10
  428. 79 003c FFF7FEFF bl HAL_GetTick
  429. 80 0040 0246 mov r2, r0
  430. 81 .loc 1 342 24
  431. 82 0042 FB68 ldr r3, [r7, #12]
  432. 83 0044 D31A subs r3, r2, r3
  433. 84 .loc 1 342 8
  434. 85 0046 0A2B cmp r3, #10
  435. 86 0048 0BD9 bls .L5
  436. 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  437. 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  438. 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  439. 87 .loc 1 345 23
  440. 88 004a 7B68 ldr r3, [r7, #4]
  441. 89 004c 5B6A ldr r3, [r3, #36]
  442. 90 004e 43F40032 orr r2, r3, #131072
  443. 91 0052 7B68 ldr r3, [r7, #4]
  444. 92 0054 5A62 str r2, [r3, #36]
  445. 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  446. 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Change CAN state */
  447. 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
  448. 93 .loc 1 348 19
  449. 94 0056 7B68 ldr r3, [r7, #4]
  450. 95 0058 0522 movs r2, #5
  451. 96 005a 83F82020 strb r2, [r3, #32]
  452. 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  453. 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  454. 97 .loc 1 350 14
  455. 98 005e 0123 movs r3, #1
  456. 99 0060 C5E0 b .L3
  457. 100 .L5:
  458. 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  459. 101 .loc 1 340 15
  460. 102 0062 7B68 ldr r3, [r7, #4]
  461. 103 0064 1B68 ldr r3, [r3]
  462. 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  463. 104 .loc 1 340 25
  464. 105 0066 5B68 ldr r3, [r3, #4]
  465. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 9
  466. 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  467. 106 .loc 1 340 31
  468. 107 0068 03F00103 and r3, r3, #1
  469. 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  470. 108 .loc 1 340 9
  471. 109 006c 002B cmp r3, #0
  472. 110 006e E5D0 beq .L6
  473. 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  474. 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  475. 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  476. 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Exit from sleep mode */
  477. 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
  478. 111 .loc 1 355 3
  479. 112 0070 7B68 ldr r3, [r7, #4]
  480. 113 0072 1B68 ldr r3, [r3]
  481. 114 0074 1A68 ldr r2, [r3]
  482. 115 0076 7B68 ldr r3, [r7, #4]
  483. 116 0078 1B68 ldr r3, [r3]
  484. 117 007a 22F00202 bic r2, r2, #2
  485. 118 007e 1A60 str r2, [r3]
  486. 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  487. 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Get tick */
  488. 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** tickstart = HAL_GetTick();
  489. 119 .loc 1 358 15
  490. 120 0080 FFF7FEFF bl HAL_GetTick
  491. 121 0084 F860 str r0, [r7, #12]
  492. 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  493. 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check Sleep mode leave acknowledge */
  494. 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
  495. 122 .loc 1 361 9
  496. 123 0086 12E0 b .L7
  497. 124 .L8:
  498. 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  499. 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
  500. 125 .loc 1 363 10
  501. 126 0088 FFF7FEFF bl HAL_GetTick
  502. 127 008c 0246 mov r2, r0
  503. 128 .loc 1 363 24
  504. 129 008e FB68 ldr r3, [r7, #12]
  505. 130 0090 D31A subs r3, r2, r3
  506. 131 .loc 1 363 8
  507. 132 0092 0A2B cmp r3, #10
  508. 133 0094 0BD9 bls .L7
  509. 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  510. 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  511. 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  512. 134 .loc 1 366 23
  513. 135 0096 7B68 ldr r3, [r7, #4]
  514. 136 0098 5B6A ldr r3, [r3, #36]
  515. 137 009a 43F40032 orr r2, r3, #131072
  516. 138 009e 7B68 ldr r3, [r7, #4]
  517. 139 00a0 5A62 str r2, [r3, #36]
  518. 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  519. 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Change CAN state */
  520. 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
  521. 140 .loc 1 369 19
  522. 141 00a2 7B68 ldr r3, [r7, #4]
  523. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 10
  524. 142 00a4 0522 movs r2, #5
  525. 143 00a6 83F82020 strb r2, [r3, #32]
  526. 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  527. 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  528. 144 .loc 1 371 14
  529. 145 00aa 0123 movs r3, #1
  530. 146 00ac 9FE0 b .L3
  531. 147 .L7:
  532. 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  533. 148 .loc 1 361 15
  534. 149 00ae 7B68 ldr r3, [r7, #4]
  535. 150 00b0 1B68 ldr r3, [r3]
  536. 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  537. 151 .loc 1 361 25
  538. 152 00b2 5B68 ldr r3, [r3, #4]
  539. 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  540. 153 .loc 1 361 31
  541. 154 00b4 03F00203 and r3, r3, #2
  542. 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  543. 155 .loc 1 361 9
  544. 156 00b8 002B cmp r3, #0
  545. 157 00ba E5D1 bne .L8
  546. 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  547. 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  548. 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  549. 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set the time triggered communication mode */
  550. 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->Init.TimeTriggeredMode == ENABLE)
  551. 158 .loc 1 376 17
  552. 159 00bc 7B68 ldr r3, [r7, #4]
  553. 160 00be 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
  554. 161 .loc 1 376 6
  555. 162 00c0 012B cmp r3, #1
  556. 163 00c2 08D1 bne .L9
  557. 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  558. 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
  559. 164 .loc 1 378 5
  560. 165 00c4 7B68 ldr r3, [r7, #4]
  561. 166 00c6 1B68 ldr r3, [r3]
  562. 167 00c8 1A68 ldr r2, [r3]
  563. 168 00ca 7B68 ldr r3, [r7, #4]
  564. 169 00cc 1B68 ldr r3, [r3]
  565. 170 00ce 42F08002 orr r2, r2, #128
  566. 171 00d2 1A60 str r2, [r3]
  567. 172 00d4 07E0 b .L10
  568. 173 .L9:
  569. 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  570. 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  571. 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  572. 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
  573. 174 .loc 1 382 5
  574. 175 00d6 7B68 ldr r3, [r7, #4]
  575. 176 00d8 1B68 ldr r3, [r3]
  576. 177 00da 1A68 ldr r2, [r3]
  577. 178 00dc 7B68 ldr r3, [r7, #4]
  578. 179 00de 1B68 ldr r3, [r3]
  579. 180 00e0 22F08002 bic r2, r2, #128
  580. 181 00e4 1A60 str r2, [r3]
  581. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 11
  582. 182 .L10:
  583. 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  584. 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  585. 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set the automatic bus-off management */
  586. 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->Init.AutoBusOff == ENABLE)
  587. 183 .loc 1 386 17
  588. 184 00e6 7B68 ldr r3, [r7, #4]
  589. 185 00e8 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2
  590. 186 .loc 1 386 6
  591. 187 00ea 012B cmp r3, #1
  592. 188 00ec 08D1 bne .L11
  593. 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  594. 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
  595. 189 .loc 1 388 5
  596. 190 00ee 7B68 ldr r3, [r7, #4]
  597. 191 00f0 1B68 ldr r3, [r3]
  598. 192 00f2 1A68 ldr r2, [r3]
  599. 193 00f4 7B68 ldr r3, [r7, #4]
  600. 194 00f6 1B68 ldr r3, [r3]
  601. 195 00f8 42F04002 orr r2, r2, #64
  602. 196 00fc 1A60 str r2, [r3]
  603. 197 00fe 07E0 b .L12
  604. 198 .L11:
  605. 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  606. 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  607. 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  608. 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
  609. 199 .loc 1 392 5
  610. 200 0100 7B68 ldr r3, [r7, #4]
  611. 201 0102 1B68 ldr r3, [r3]
  612. 202 0104 1A68 ldr r2, [r3]
  613. 203 0106 7B68 ldr r3, [r7, #4]
  614. 204 0108 1B68 ldr r3, [r3]
  615. 205 010a 22F04002 bic r2, r2, #64
  616. 206 010e 1A60 str r2, [r3]
  617. 207 .L12:
  618. 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  619. 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  620. 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set the automatic wake-up mode */
  621. 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->Init.AutoWakeUp == ENABLE)
  622. 208 .loc 1 396 17
  623. 209 0110 7B68 ldr r3, [r7, #4]
  624. 210 0112 9B7E ldrb r3, [r3, #26] @ zero_extendqisi2
  625. 211 .loc 1 396 6
  626. 212 0114 012B cmp r3, #1
  627. 213 0116 08D1 bne .L13
  628. 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  629. 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
  630. 214 .loc 1 398 5
  631. 215 0118 7B68 ldr r3, [r7, #4]
  632. 216 011a 1B68 ldr r3, [r3]
  633. 217 011c 1A68 ldr r2, [r3]
  634. 218 011e 7B68 ldr r3, [r7, #4]
  635. 219 0120 1B68 ldr r3, [r3]
  636. 220 0122 42F02002 orr r2, r2, #32
  637. 221 0126 1A60 str r2, [r3]
  638. 222 0128 07E0 b .L14
  639. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 12
  640. 223 .L13:
  641. 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  642. 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  643. 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  644. 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
  645. 224 .loc 1 402 5
  646. 225 012a 7B68 ldr r3, [r7, #4]
  647. 226 012c 1B68 ldr r3, [r3]
  648. 227 012e 1A68 ldr r2, [r3]
  649. 228 0130 7B68 ldr r3, [r7, #4]
  650. 229 0132 1B68 ldr r3, [r3]
  651. 230 0134 22F02002 bic r2, r2, #32
  652. 231 0138 1A60 str r2, [r3]
  653. 232 .L14:
  654. 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  655. 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  656. 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set the automatic retransmission */
  657. 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->Init.AutoRetransmission == ENABLE)
  658. 233 .loc 1 406 17
  659. 234 013a 7B68 ldr r3, [r7, #4]
  660. 235 013c DB7E ldrb r3, [r3, #27] @ zero_extendqisi2
  661. 236 .loc 1 406 6
  662. 237 013e 012B cmp r3, #1
  663. 238 0140 08D1 bne .L15
  664. 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  665. 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_NART);
  666. 239 .loc 1 408 5
  667. 240 0142 7B68 ldr r3, [r7, #4]
  668. 241 0144 1B68 ldr r3, [r3]
  669. 242 0146 1A68 ldr r2, [r3]
  670. 243 0148 7B68 ldr r3, [r7, #4]
  671. 244 014a 1B68 ldr r3, [r3]
  672. 245 014c 22F01002 bic r2, r2, #16
  673. 246 0150 1A60 str r2, [r3]
  674. 247 0152 07E0 b .L16
  675. 248 .L15:
  676. 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  677. 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  678. 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  679. 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_NART);
  680. 249 .loc 1 412 5
  681. 250 0154 7B68 ldr r3, [r7, #4]
  682. 251 0156 1B68 ldr r3, [r3]
  683. 252 0158 1A68 ldr r2, [r3]
  684. 253 015a 7B68 ldr r3, [r7, #4]
  685. 254 015c 1B68 ldr r3, [r3]
  686. 255 015e 42F01002 orr r2, r2, #16
  687. 256 0162 1A60 str r2, [r3]
  688. 257 .L16:
  689. 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  690. 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  691. 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set the receive FIFO locked mode */
  692. 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->Init.ReceiveFifoLocked == ENABLE)
  693. 258 .loc 1 416 17
  694. 259 0164 7B68 ldr r3, [r7, #4]
  695. 260 0166 1B7F ldrb r3, [r3, #28] @ zero_extendqisi2
  696. 261 .loc 1 416 6
  697. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 13
  698. 262 0168 012B cmp r3, #1
  699. 263 016a 08D1 bne .L17
  700. 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  701. 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
  702. 264 .loc 1 418 5
  703. 265 016c 7B68 ldr r3, [r7, #4]
  704. 266 016e 1B68 ldr r3, [r3]
  705. 267 0170 1A68 ldr r2, [r3]
  706. 268 0172 7B68 ldr r3, [r7, #4]
  707. 269 0174 1B68 ldr r3, [r3]
  708. 270 0176 42F00802 orr r2, r2, #8
  709. 271 017a 1A60 str r2, [r3]
  710. 272 017c 07E0 b .L18
  711. 273 .L17:
  712. 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  713. 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  714. 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  715. 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
  716. 274 .loc 1 422 5
  717. 275 017e 7B68 ldr r3, [r7, #4]
  718. 276 0180 1B68 ldr r3, [r3]
  719. 277 0182 1A68 ldr r2, [r3]
  720. 278 0184 7B68 ldr r3, [r7, #4]
  721. 279 0186 1B68 ldr r3, [r3]
  722. 280 0188 22F00802 bic r2, r2, #8
  723. 281 018c 1A60 str r2, [r3]
  724. 282 .L18:
  725. 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  726. 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  727. 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set the transmit FIFO priority */
  728. 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->Init.TransmitFifoPriority == ENABLE)
  729. 283 .loc 1 426 17
  730. 284 018e 7B68 ldr r3, [r7, #4]
  731. 285 0190 5B7F ldrb r3, [r3, #29] @ zero_extendqisi2
  732. 286 .loc 1 426 6
  733. 287 0192 012B cmp r3, #1
  734. 288 0194 08D1 bne .L19
  735. 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  736. 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
  737. 289 .loc 1 428 5
  738. 290 0196 7B68 ldr r3, [r7, #4]
  739. 291 0198 1B68 ldr r3, [r3]
  740. 292 019a 1A68 ldr r2, [r3]
  741. 293 019c 7B68 ldr r3, [r7, #4]
  742. 294 019e 1B68 ldr r3, [r3]
  743. 295 01a0 42F00402 orr r2, r2, #4
  744. 296 01a4 1A60 str r2, [r3]
  745. 297 01a6 07E0 b .L20
  746. 298 .L19:
  747. 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  748. 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  749. 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  750. 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
  751. 299 .loc 1 432 5
  752. 300 01a8 7B68 ldr r3, [r7, #4]
  753. 301 01aa 1B68 ldr r3, [r3]
  754. 302 01ac 1A68 ldr r2, [r3]
  755. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 14
  756. 303 01ae 7B68 ldr r3, [r7, #4]
  757. 304 01b0 1B68 ldr r3, [r3]
  758. 305 01b2 22F00402 bic r2, r2, #4
  759. 306 01b6 1A60 str r2, [r3]
  760. 307 .L20:
  761. 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  762. 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  763. 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set the bit timing register */
  764. 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** WRITE_REG(hcan->Instance->BTR, (uint32_t)(hcan->Init.Mode |
  765. 308 .loc 1 436 3
  766. 309 01b8 7B68 ldr r3, [r7, #4]
  767. 310 01ba 9A68 ldr r2, [r3, #8]
  768. 311 01bc 7B68 ldr r3, [r7, #4]
  769. 312 01be DB68 ldr r3, [r3, #12]
  770. 313 01c0 1A43 orrs r2, r2, r3
  771. 314 01c2 7B68 ldr r3, [r7, #4]
  772. 315 01c4 1B69 ldr r3, [r3, #16]
  773. 316 01c6 1A43 orrs r2, r2, r3
  774. 317 01c8 7B68 ldr r3, [r7, #4]
  775. 318 01ca 5B69 ldr r3, [r3, #20]
  776. 319 01cc 42EA0301 orr r1, r2, r3
  777. 320 01d0 7B68 ldr r3, [r7, #4]
  778. 321 01d2 5B68 ldr r3, [r3, #4]
  779. 322 01d4 5A1E subs r2, r3, #1
  780. 323 01d6 7B68 ldr r3, [r7, #4]
  781. 324 01d8 1B68 ldr r3, [r3]
  782. 325 01da 0A43 orrs r2, r2, r1
  783. 326 01dc DA61 str r2, [r3, #28]
  784. 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->Init.SyncJumpWidth |
  785. 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->Init.TimeSeg1 |
  786. 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->Init.TimeSeg2 |
  787. 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (hcan->Init.Prescaler - 1U)));
  788. 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  789. 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Initialize the error code */
  790. 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
  791. 327 .loc 1 443 19
  792. 328 01de 7B68 ldr r3, [r7, #4]
  793. 329 01e0 0022 movs r2, #0
  794. 330 01e2 5A62 str r2, [r3, #36]
  795. 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  796. 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Initialize the CAN state */
  797. 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->State = HAL_CAN_STATE_READY;
  798. 331 .loc 1 446 15
  799. 332 01e4 7B68 ldr r3, [r7, #4]
  800. 333 01e6 0122 movs r2, #1
  801. 334 01e8 83F82020 strb r2, [r3, #32]
  802. 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  803. 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  804. 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_OK;
  805. 335 .loc 1 449 10
  806. 336 01ec 0023 movs r3, #0
  807. 337 .L3:
  808. 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  809. 338 .loc 1 450 1
  810. 339 01ee 1846 mov r0, r3
  811. 340 01f0 1037 adds r7, r7, #16
  812. 341 .LCFI3:
  813. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 15
  814. 342 .cfi_def_cfa_offset 8
  815. 343 01f2 BD46 mov sp, r7
  816. 344 .LCFI4:
  817. 345 .cfi_def_cfa_register 13
  818. 346 @ sp needed
  819. 347 01f4 80BD pop {r7, pc}
  820. 348 .cfi_endproc
  821. 349 .LFE235:
  822. 351 .section .text.HAL_CAN_DeInit,"ax",%progbits
  823. 352 .align 1
  824. 353 .global HAL_CAN_DeInit
  825. 354 .syntax unified
  826. 355 .thumb
  827. 356 .thumb_func
  828. 358 HAL_CAN_DeInit:
  829. 359 .LFB236:
  830. 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  831. 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  832. 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Deinitializes the CAN peripheral registers to their default
  833. 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * reset values.
  834. 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  835. 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  836. 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status
  837. 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  838. 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeInit(CAN_HandleTypeDef *hcan)
  839. 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  840. 360 .loc 1 460 1
  841. 361 .cfi_startproc
  842. 362 @ args = 0, pretend = 0, frame = 8
  843. 363 @ frame_needed = 1, uses_anonymous_args = 0
  844. 364 0000 80B5 push {r7, lr}
  845. 365 .LCFI5:
  846. 366 .cfi_def_cfa_offset 8
  847. 367 .cfi_offset 7, -8
  848. 368 .cfi_offset 14, -4
  849. 369 0002 82B0 sub sp, sp, #8
  850. 370 .LCFI6:
  851. 371 .cfi_def_cfa_offset 16
  852. 372 0004 00AF add r7, sp, #0
  853. 373 .LCFI7:
  854. 374 .cfi_def_cfa_register 7
  855. 375 0006 7860 str r0, [r7, #4]
  856. 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check CAN handle */
  857. 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan == NULL)
  858. 376 .loc 1 462 6
  859. 377 0008 7B68 ldr r3, [r7, #4]
  860. 378 000a 002B cmp r3, #0
  861. 379 000c 01D1 bne .L22
  862. 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  863. 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  864. 380 .loc 1 464 12
  865. 381 000e 0123 movs r3, #1
  866. 382 0010 15E0 b .L23
  867. 383 .L22:
  868. 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  869. 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  870. 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check the parameters */
  871. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 16
  872. 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
  873. 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  874. 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Stop the CAN module */
  875. 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (void)HAL_CAN_Stop(hcan);
  876. 384 .loc 1 471 9
  877. 385 0012 7868 ldr r0, [r7, #4]
  878. 386 0014 FFF7FEFF bl HAL_CAN_Stop
  879. 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  880. 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  881. 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->MspDeInitCallback == NULL)
  882. 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  883. 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit; /* Legacy weak MspDeInit */
  884. 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  885. 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  886. 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* DeInit the low level hardware: CLOCK, NVIC */
  887. 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->MspDeInitCallback(hcan);
  888. 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  889. 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  890. 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* DeInit the low level hardware: CLOCK, NVIC */
  891. 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_MspDeInit(hcan);
  892. 387 .loc 1 484 3
  893. 388 0018 7868 ldr r0, [r7, #4]
  894. 389 001a FFF7FEFF bl HAL_CAN_MspDeInit
  895. 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* (USE_HAL_CAN_REGISTER_CALLBACKS) */
  896. 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  897. 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Reset the CAN peripheral */
  898. 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_RESET);
  899. 390 .loc 1 488 3
  900. 391 001e 7B68 ldr r3, [r7, #4]
  901. 392 0020 1B68 ldr r3, [r3]
  902. 393 0022 1A68 ldr r2, [r3]
  903. 394 0024 7B68 ldr r3, [r7, #4]
  904. 395 0026 1B68 ldr r3, [r3]
  905. 396 0028 42F40042 orr r2, r2, #32768
  906. 397 002c 1A60 str r2, [r3]
  907. 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  908. 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Reset the CAN ErrorCode */
  909. 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
  910. 398 .loc 1 491 19
  911. 399 002e 7B68 ldr r3, [r7, #4]
  912. 400 0030 0022 movs r2, #0
  913. 401 0032 5A62 str r2, [r3, #36]
  914. 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  915. 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Change CAN state */
  916. 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->State = HAL_CAN_STATE_RESET;
  917. 402 .loc 1 494 15
  918. 403 0034 7B68 ldr r3, [r7, #4]
  919. 404 0036 0022 movs r2, #0
  920. 405 0038 83F82020 strb r2, [r3, #32]
  921. 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  922. 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  923. 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_OK;
  924. 406 .loc 1 497 10
  925. 407 003c 0023 movs r3, #0
  926. 408 .L23:
  927. 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  928. 409 .loc 1 498 1
  929. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 17
  930. 410 003e 1846 mov r0, r3
  931. 411 0040 0837 adds r7, r7, #8
  932. 412 .LCFI8:
  933. 413 .cfi_def_cfa_offset 8
  934. 414 0042 BD46 mov sp, r7
  935. 415 .LCFI9:
  936. 416 .cfi_def_cfa_register 13
  937. 417 @ sp needed
  938. 418 0044 80BD pop {r7, pc}
  939. 419 .cfi_endproc
  940. 420 .LFE236:
  941. 422 .section .text.HAL_CAN_MspInit,"ax",%progbits
  942. 423 .align 1
  943. 424 .weak HAL_CAN_MspInit
  944. 425 .syntax unified
  945. 426 .thumb
  946. 427 .thumb_func
  947. 429 HAL_CAN_MspInit:
  948. 430 .LFB237:
  949. 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  950. 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  951. 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Initializes the CAN MSP.
  952. 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  953. 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  954. 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  955. 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  956. 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_MspInit(CAN_HandleTypeDef *hcan)
  957. 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  958. 431 .loc 1 507 1
  959. 432 .cfi_startproc
  960. 433 @ args = 0, pretend = 0, frame = 8
  961. 434 @ frame_needed = 1, uses_anonymous_args = 0
  962. 435 @ link register save eliminated.
  963. 436 0000 80B4 push {r7}
  964. 437 .LCFI10:
  965. 438 .cfi_def_cfa_offset 4
  966. 439 .cfi_offset 7, -4
  967. 440 0002 83B0 sub sp, sp, #12
  968. 441 .LCFI11:
  969. 442 .cfi_def_cfa_offset 16
  970. 443 0004 00AF add r7, sp, #0
  971. 444 .LCFI12:
  972. 445 .cfi_def_cfa_register 7
  973. 446 0006 7860 str r0, [r7, #4]
  974. 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  975. 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  976. 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  977. 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  978. 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_MspInit could be implemented in the user file
  979. 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  980. 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  981. 447 .loc 1 514 1
  982. 448 0008 00BF nop
  983. 449 000a 0C37 adds r7, r7, #12
  984. 450 .LCFI13:
  985. 451 .cfi_def_cfa_offset 4
  986. 452 000c BD46 mov sp, r7
  987. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 18
  988. 453 .LCFI14:
  989. 454 .cfi_def_cfa_register 13
  990. 455 @ sp needed
  991. 456 000e 5DF8047B ldr r7, [sp], #4
  992. 457 .LCFI15:
  993. 458 .cfi_restore 7
  994. 459 .cfi_def_cfa_offset 0
  995. 460 0012 7047 bx lr
  996. 461 .cfi_endproc
  997. 462 .LFE237:
  998. 464 .section .text.HAL_CAN_MspDeInit,"ax",%progbits
  999. 465 .align 1
  1000. 466 .weak HAL_CAN_MspDeInit
  1001. 467 .syntax unified
  1002. 468 .thumb
  1003. 469 .thumb_func
  1004. 471 HAL_CAN_MspDeInit:
  1005. 472 .LFB238:
  1006. 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1007. 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  1008. 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief DeInitializes the CAN MSP.
  1009. 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1010. 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  1011. 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  1012. 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  1013. 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_MspDeInit(CAN_HandleTypeDef *hcan)
  1014. 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1015. 473 .loc 1 523 1
  1016. 474 .cfi_startproc
  1017. 475 @ args = 0, pretend = 0, frame = 8
  1018. 476 @ frame_needed = 1, uses_anonymous_args = 0
  1019. 477 @ link register save eliminated.
  1020. 478 0000 80B4 push {r7}
  1021. 479 .LCFI16:
  1022. 480 .cfi_def_cfa_offset 4
  1023. 481 .cfi_offset 7, -4
  1024. 482 0002 83B0 sub sp, sp, #12
  1025. 483 .LCFI17:
  1026. 484 .cfi_def_cfa_offset 16
  1027. 485 0004 00AF add r7, sp, #0
  1028. 486 .LCFI18:
  1029. 487 .cfi_def_cfa_register 7
  1030. 488 0006 7860 str r0, [r7, #4]
  1031. 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  1032. 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  1033. 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1034. 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  1035. 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_MspDeInit could be implemented in the user file
  1036. 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  1037. 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1038. 489 .loc 1 530 1
  1039. 490 0008 00BF nop
  1040. 491 000a 0C37 adds r7, r7, #12
  1041. 492 .LCFI19:
  1042. 493 .cfi_def_cfa_offset 4
  1043. 494 000c BD46 mov sp, r7
  1044. 495 .LCFI20:
  1045. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 19
  1046. 496 .cfi_def_cfa_register 13
  1047. 497 @ sp needed
  1048. 498 000e 5DF8047B ldr r7, [sp], #4
  1049. 499 .LCFI21:
  1050. 500 .cfi_restore 7
  1051. 501 .cfi_def_cfa_offset 0
  1052. 502 0012 7047 bx lr
  1053. 503 .cfi_endproc
  1054. 504 .LFE238:
  1055. 506 .section .text.HAL_CAN_ConfigFilter,"ax",%progbits
  1056. 507 .align 1
  1057. 508 .global HAL_CAN_ConfigFilter
  1058. 509 .syntax unified
  1059. 510 .thumb
  1060. 511 .thumb_func
  1061. 513 HAL_CAN_ConfigFilter:
  1062. 514 .LFB239:
  1063. 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1064. 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  1065. 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  1066. 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Register a CAN CallBack.
  1067. 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * To be used instead of the weak predefined callback
  1068. 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1069. 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for CAN module
  1070. 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param CallbackID ID of the callback to be registered
  1071. 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * This parameter can be one of the following values:
  1072. 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID Tx Mailbox 0 Complete callback ID
  1073. 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID Tx Mailbox 1 Complete callback ID
  1074. 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID Tx Mailbox 2 Complete callback ID
  1075. 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_ABORT_CB_ID Tx Mailbox 0 Abort callback ID
  1076. 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_ABORT_CB_ID Tx Mailbox 1 Abort callback ID
  1077. 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_ABORT_CB_ID Tx Mailbox 2 Abort callback ID
  1078. 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID Rx Fifo 0 message pending callback ID
  1079. 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_FULL_CB_ID Rx Fifo 0 full callback ID
  1080. 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID Rx Fifo 1 message pending callback ID
  1081. 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_FULL_CB_ID Rx Fifo 1 full callback ID
  1082. 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
  1083. 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID Wake Up from Rx message callback ID
  1084. 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
  1085. 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
  1086. 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
  1087. 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param pCallback pointer to the Callback function
  1088. 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status
  1089. 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  1090. 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Callb
  1091. 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1092. 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
  1093. 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1094. 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (pCallback == NULL)
  1095. 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1096. 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update the error code */
  1097. 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1098. 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1099. 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  1100. 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1101. 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1102. 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
  1103. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 20
  1104. 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1105. 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** switch (CallbackID)
  1106. 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1107. 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
  1108. 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = pCallback;
  1109. 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1110. 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1111. 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
  1112. 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = pCallback;
  1113. 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1114. 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1115. 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
  1116. 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = pCallback;
  1117. 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1118. 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1119. 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
  1120. 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox0AbortCallback = pCallback;
  1121. 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1122. 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1123. 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
  1124. 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox1AbortCallback = pCallback;
  1125. 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1126. 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1127. 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
  1128. 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox2AbortCallback = pCallback;
  1129. 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1130. 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1131. 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
  1132. 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = pCallback;
  1133. 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1134. 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1135. 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_RX_FIFO0_FULL_CB_ID :
  1136. 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo0FullCallback = pCallback;
  1137. 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1138. 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1139. 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
  1140. 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = pCallback;
  1141. 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1142. 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1143. 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_RX_FIFO1_FULL_CB_ID :
  1144. 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo1FullCallback = pCallback;
  1145. 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1146. 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1147. 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_SLEEP_CB_ID :
  1148. 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->SleepCallback = pCallback;
  1149. 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1150. 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1151. 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
  1152. 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = pCallback;
  1153. 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1154. 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1155. 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_ERROR_CB_ID :
  1156. 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCallback = pCallback;
  1157. 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1158. 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1159. 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
  1160. 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->MspInitCallback = pCallback;
  1161. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 21
  1162. 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1163. 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1164. 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
  1165. 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->MspDeInitCallback = pCallback;
  1166. 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1167. 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1168. 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** default :
  1169. 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update the error code */
  1170. 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1171. 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1172. 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return error status */
  1173. 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** status = HAL_ERROR;
  1174. 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1175. 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1176. 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1177. 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else if (hcan->State == HAL_CAN_STATE_RESET)
  1178. 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1179. 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** switch (CallbackID)
  1180. 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1181. 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
  1182. 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->MspInitCallback = pCallback;
  1183. 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1184. 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1185. 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
  1186. 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->MspDeInitCallback = pCallback;
  1187. 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1188. 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1189. 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** default :
  1190. 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update the error code */
  1191. 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1192. 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1193. 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return error status */
  1194. 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** status = HAL_ERROR;
  1195. 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1196. 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1197. 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1198. 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  1199. 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1200. 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update the error code */
  1201. 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1202. 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1203. 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return error status */
  1204. 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** status = HAL_ERROR;
  1205. 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1206. 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1207. 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return status;
  1208. 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1209. 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1210. 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  1211. 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Unregister a CAN CallBack.
  1212. 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * CAN callback is redirected to the weak predefined callback
  1213. 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1214. 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for CAN module
  1215. 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param CallbackID ID of the callback to be unregistered
  1216. 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * This parameter can be one of the following values:
  1217. 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID Tx Mailbox 0 Complete callback ID
  1218. 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID Tx Mailbox 1 Complete callback ID
  1219. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 22
  1220. 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID Tx Mailbox 2 Complete callback ID
  1221. 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_ABORT_CB_ID Tx Mailbox 0 Abort callback ID
  1222. 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_ABORT_CB_ID Tx Mailbox 1 Abort callback ID
  1223. 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_ABORT_CB_ID Tx Mailbox 2 Abort callback ID
  1224. 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID Rx Fifo 0 message pending callback ID
  1225. 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_FULL_CB_ID Rx Fifo 0 full callback ID
  1226. 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID Rx Fifo 1 message pending callback ID
  1227. 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_FULL_CB_ID Rx Fifo 1 full callback ID
  1228. 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
  1229. 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID Wake Up from Rx message callback ID
  1230. 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
  1231. 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
  1232. 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
  1233. 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status
  1234. 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  1235. 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_UnRegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Cal
  1236. 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1237. 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
  1238. 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1239. 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
  1240. 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1241. 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** switch (CallbackID)
  1242. 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1243. 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
  1244. 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback;
  1245. 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1246. 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1247. 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
  1248. 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback;
  1249. 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1250. 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1251. 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
  1252. 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback;
  1253. 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1254. 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1255. 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
  1256. 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback;
  1257. 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1258. 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1259. 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
  1260. 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback;
  1261. 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1262. 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1263. 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
  1264. 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback;
  1265. 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1266. 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1267. 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
  1268. 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback;
  1269. 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1270. 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1271. 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_RX_FIFO0_FULL_CB_ID :
  1272. 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback;
  1273. 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1274. 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1275. 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
  1276. 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback;
  1277. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 23
  1278. 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1279. 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1280. 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_RX_FIFO1_FULL_CB_ID :
  1281. 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback;
  1282. 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1283. 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1284. 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_SLEEP_CB_ID :
  1285. 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->SleepCallback = HAL_CAN_SleepCallback;
  1286. 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1287. 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1288. 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
  1289. 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback;
  1290. 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1291. 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1292. 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_ERROR_CB_ID :
  1293. 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCallback = HAL_CAN_ErrorCallback;
  1294. 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1295. 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1296. 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
  1297. 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit;
  1298. 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1299. 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1300. 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
  1301. 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
  1302. 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1303. 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1304. 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** default :
  1305. 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update the error code */
  1306. 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1307. 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1308. 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return error status */
  1309. 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** status = HAL_ERROR;
  1310. 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1311. 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1312. 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1313. 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else if (hcan->State == HAL_CAN_STATE_RESET)
  1314. 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1315. 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** switch (CallbackID)
  1316. 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1317. 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
  1318. 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit;
  1319. 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1320. 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1321. 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
  1322. 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
  1323. 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1324. 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1325. 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** default :
  1326. 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update the error code */
  1327. 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1328. 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1329. 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return error status */
  1330. 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** status = HAL_ERROR;
  1331. 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  1332. 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1333. 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1334. 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  1335. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 24
  1336. 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1337. 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update the error code */
  1338. 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1339. 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1340. 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return error status */
  1341. 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** status = HAL_ERROR;
  1342. 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1343. 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1344. 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return status;
  1345. 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1346. 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  1347. 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1348. 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  1349. 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @}
  1350. 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  1351. 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1352. 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group2 Configuration functions
  1353. 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Configuration functions.
  1354. 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *
  1355. 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @verbatim
  1356. 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  1357. 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ##### Configuration functions #####
  1358. 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  1359. 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** [..] This section provides functions allowing to:
  1360. 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_ConfigFilter : Configure the CAN reception filters
  1361. 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1362. 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @endverbatim
  1363. 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @{
  1364. 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  1365. 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1366. 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  1367. 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Configures the CAN reception filter according to the specified
  1368. 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * parameters in the CAN_FilterInitStruct.
  1369. 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1370. 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  1371. 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param sFilterConfig pointer to a CAN_FilterTypeDef structure that
  1372. 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * contains the filter configuration information.
  1373. 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  1374. 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  1375. 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ConfigFilter(CAN_HandleTypeDef *hcan, CAN_FilterTypeDef *sFilterConfig)
  1376. 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1377. 515 .loc 1 839 1
  1378. 516 .cfi_startproc
  1379. 517 @ args = 0, pretend = 0, frame = 24
  1380. 518 @ frame_needed = 1, uses_anonymous_args = 0
  1381. 519 @ link register save eliminated.
  1382. 520 0000 80B4 push {r7}
  1383. 521 .LCFI22:
  1384. 522 .cfi_def_cfa_offset 4
  1385. 523 .cfi_offset 7, -4
  1386. 524 0002 87B0 sub sp, sp, #28
  1387. 525 .LCFI23:
  1388. 526 .cfi_def_cfa_offset 32
  1389. 527 0004 00AF add r7, sp, #0
  1390. 528 .LCFI24:
  1391. 529 .cfi_def_cfa_register 7
  1392. 530 0006 7860 str r0, [r7, #4]
  1393. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 25
  1394. 531 0008 3960 str r1, [r7]
  1395. 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t filternbrbitpos;
  1396. 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CAN_TypeDef *can_ip = hcan->Instance;
  1397. 532 .loc 1 841 16
  1398. 533 000a 7B68 ldr r3, [r7, #4]
  1399. 534 000c 1B68 ldr r3, [r3]
  1400. 535 000e 7B61 str r3, [r7, #20]
  1401. 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  1402. 536 .loc 1 842 24
  1403. 537 0010 7B68 ldr r3, [r7, #4]
  1404. 538 0012 93F82030 ldrb r3, [r3, #32]
  1405. 539 0016 FB74 strb r3, [r7, #19]
  1406. 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1407. 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  1408. 540 .loc 1 844 6
  1409. 541 0018 FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
  1410. 542 001a 012B cmp r3, #1
  1411. 543 001c 03D0 beq .L27
  1412. 544 .loc 1 844 38 discriminator 1
  1413. 545 001e FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
  1414. 546 0020 022B cmp r3, #2
  1415. 547 0022 40F0BE80 bne .L28
  1416. 548 .L27:
  1417. 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  1418. 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1419. 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check the parameters */
  1420. 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdHigh));
  1421. 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
  1422. 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdHigh));
  1423. 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdLow));
  1424. 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_MODE(sFilterConfig->FilterMode));
  1425. 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_SCALE(sFilterConfig->FilterScale));
  1426. 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_FIFO(sFilterConfig->FilterFIFOAssignment));
  1427. 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_ACTIVATION(sFilterConfig->FilterActivation));
  1428. 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1429. 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if defined(CAN3)
  1430. 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check the CAN instance */
  1431. 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->Instance == CAN3)
  1432. 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1433. 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* CAN3 is single instance with 14 dedicated filters banks */
  1434. 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1435. 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check the parameters */
  1436. 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_BANK_SINGLE(sFilterConfig->FilterBank));
  1437. 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1438. 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  1439. 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1440. 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* CAN1 and CAN2 are dual instances with 28 common filters banks */
  1441. 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Select master instance to access the filter banks */
  1442. 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** can_ip = CAN1;
  1443. 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1444. 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check the parameters */
  1445. 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_BANK_DUAL(sFilterConfig->FilterBank));
  1446. 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_BANK_DUAL(sFilterConfig->SlaveStartFilterBank));
  1447. 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1448. 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #elif defined(CAN2)
  1449. 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* CAN1 and CAN2 are dual instances with 28 common filters banks */
  1450. 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Select master instance to access the filter banks */
  1451. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 26
  1452. 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** can_ip = CAN1;
  1453. 549 .loc 1 879 12
  1454. 550 0026 654B ldr r3, .L37
  1455. 551 0028 7B61 str r3, [r7, #20]
  1456. 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1457. 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check the parameters */
  1458. 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_BANK_DUAL(sFilterConfig->FilterBank));
  1459. 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_BANK_DUAL(sFilterConfig->SlaveStartFilterBank));
  1460. 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  1461. 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* CAN1 is single instance with 14 dedicated filters banks */
  1462. 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1463. 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check the parameters */
  1464. 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_FILTER_BANK_SINGLE(sFilterConfig->FilterBank));
  1465. 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif
  1466. 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1467. 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Initialisation mode for the filter */
  1468. 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(can_ip->FMR, CAN_FMR_FINIT);
  1469. 552 .loc 1 892 5
  1470. 553 002a 7B69 ldr r3, [r7, #20]
  1471. 554 002c D3F80032 ldr r3, [r3, #512]
  1472. 555 0030 43F00102 orr r2, r3, #1
  1473. 556 0034 7B69 ldr r3, [r7, #20]
  1474. 557 0036 C3F80022 str r2, [r3, #512]
  1475. 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1476. 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if defined(CAN3)
  1477. 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check the CAN instance */
  1478. 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (can_ip == CAN1)
  1479. 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1480. 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Select the start filter number of CAN2 slave instance */
  1481. 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(can_ip->FMR, CAN_FMR_CAN2SB);
  1482. 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(can_ip->FMR, sFilterConfig->SlaveStartFilterBank << CAN_FMR_CAN2SB_Pos);
  1483. 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1484. 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1485. 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #elif defined(CAN2)
  1486. 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Select the start filter number of CAN2 slave instance */
  1487. 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(can_ip->FMR, CAN_FMR_CAN2SB);
  1488. 558 .loc 1 905 5
  1489. 559 003a 7B69 ldr r3, [r7, #20]
  1490. 560 003c D3F80032 ldr r3, [r3, #512]
  1491. 561 0040 23F47C52 bic r2, r3, #16128
  1492. 562 0044 7B69 ldr r3, [r7, #20]
  1493. 563 0046 C3F80022 str r2, [r3, #512]
  1494. 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(can_ip->FMR, sFilterConfig->SlaveStartFilterBank << CAN_FMR_CAN2SB_Pos);
  1495. 564 .loc 1 906 5
  1496. 565 004a 7B69 ldr r3, [r7, #20]
  1497. 566 004c D3F80022 ldr r2, [r3, #512]
  1498. 567 0050 3B68 ldr r3, [r7]
  1499. 568 0052 5B6A ldr r3, [r3, #36]
  1500. 569 0054 1B02 lsls r3, r3, #8
  1501. 570 0056 1A43 orrs r2, r2, r3
  1502. 571 0058 7B69 ldr r3, [r7, #20]
  1503. 572 005a C3F80022 str r2, [r3, #512]
  1504. 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1505. 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif
  1506. 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Convert filter number into bit position */
  1507. 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** filternbrbitpos = (uint32_t)1 << (sFilterConfig->FilterBank & 0x1FU);
  1508. 573 .loc 1 910 52
  1509. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 27
  1510. 574 005e 3B68 ldr r3, [r7]
  1511. 575 0060 5B69 ldr r3, [r3, #20]
  1512. 576 .loc 1 910 65
  1513. 577 0062 03F01F03 and r3, r3, #31
  1514. 578 .loc 1 910 21
  1515. 579 0066 0122 movs r2, #1
  1516. 580 0068 02FA03F3 lsl r3, r2, r3
  1517. 581 006c FB60 str r3, [r7, #12]
  1518. 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1519. 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Filter Deactivation */
  1520. 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(can_ip->FA1R, filternbrbitpos);
  1521. 582 .loc 1 913 5
  1522. 583 006e 7B69 ldr r3, [r7, #20]
  1523. 584 0070 D3F81C22 ldr r2, [r3, #540]
  1524. 585 0074 FB68 ldr r3, [r7, #12]
  1525. 586 0076 DB43 mvns r3, r3
  1526. 587 0078 1A40 ands r2, r2, r3
  1527. 588 007a 7B69 ldr r3, [r7, #20]
  1528. 589 007c C3F81C22 str r2, [r3, #540]
  1529. 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1530. 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Filter Scale */
  1531. 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (sFilterConfig->FilterScale == CAN_FILTERSCALE_16BIT)
  1532. 590 .loc 1 916 22
  1533. 591 0080 3B68 ldr r3, [r7]
  1534. 592 0082 DB69 ldr r3, [r3, #28]
  1535. 593 .loc 1 916 8
  1536. 594 0084 002B cmp r3, #0
  1537. 595 0086 23D1 bne .L29
  1538. 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1539. 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* 16-bit scale for the filter */
  1540. 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(can_ip->FS1R, filternbrbitpos);
  1541. 596 .loc 1 919 7
  1542. 597 0088 7B69 ldr r3, [r7, #20]
  1543. 598 008a D3F80C22 ldr r2, [r3, #524]
  1544. 599 008e FB68 ldr r3, [r7, #12]
  1545. 600 0090 DB43 mvns r3, r3
  1546. 601 0092 1A40 ands r2, r2, r3
  1547. 602 0094 7B69 ldr r3, [r7, #20]
  1548. 603 0096 C3F80C22 str r2, [r3, #524]
  1549. 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1550. 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* First 16-bit identifier and First 16-bit mask */
  1551. 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Or First 16-bit identifier and Second 16-bit identifier */
  1552. 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
  1553. 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
  1554. 604 .loc 1 924 48
  1555. 605 009a 3B68 ldr r3, [r7]
  1556. 606 009c DB68 ldr r3, [r3, #12]
  1557. 607 .loc 1 924 67
  1558. 608 009e 1904 lsls r1, r3, #16
  1559. 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  1560. 609 .loc 1 925 47
  1561. 610 00a0 3B68 ldr r3, [r7]
  1562. 611 00a2 5B68 ldr r3, [r3, #4]
  1563. 612 .loc 1 925 22
  1564. 613 00a4 9BB2 uxth r3, r3
  1565. 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
  1566. 614 .loc 1 923 44
  1567. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 28
  1568. 615 00a6 3A68 ldr r2, [r7]
  1569. 616 00a8 5269 ldr r2, [r2, #20]
  1570. 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  1571. 617 .loc 1 924 75
  1572. 618 00aa 1943 orrs r1, r1, r3
  1573. 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
  1574. 619 .loc 1 923 62
  1575. 620 00ac 7B69 ldr r3, [r7, #20]
  1576. 621 00ae 4832 adds r2, r2, #72
  1577. 622 00b0 43F83210 str r1, [r3, r2, lsl #3]
  1578. 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1579. 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Second 16-bit identifier and Second 16-bit mask */
  1580. 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Or Third 16-bit identifier and Fourth 16-bit identifier */
  1581. 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
  1582. 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1583. 623 .loc 1 930 48
  1584. 624 00b4 3B68 ldr r3, [r7]
  1585. 625 00b6 9B68 ldr r3, [r3, #8]
  1586. 626 .loc 1 930 68
  1587. 627 00b8 1904 lsls r1, r3, #16
  1588. 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
  1589. 628 .loc 1 931 47
  1590. 629 00ba 3B68 ldr r3, [r7]
  1591. 630 00bc 1B68 ldr r3, [r3]
  1592. 631 .loc 1 931 22
  1593. 632 00be 9AB2 uxth r2, r3
  1594. 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1595. 633 .loc 1 929 44
  1596. 634 00c0 3B68 ldr r3, [r7]
  1597. 635 00c2 5B69 ldr r3, [r3, #20]
  1598. 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
  1599. 636 .loc 1 930 76
  1600. 637 00c4 0A43 orrs r2, r2, r1
  1601. 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1602. 638 .loc 1 929 62
  1603. 639 00c6 7969 ldr r1, [r7, #20]
  1604. 640 00c8 4833 adds r3, r3, #72
  1605. 641 00ca DB00 lsls r3, r3, #3
  1606. 642 00cc 0B44 add r3, r3, r1
  1607. 643 00ce 5A60 str r2, [r3, #4]
  1608. 644 .L29:
  1609. 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1610. 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1611. 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (sFilterConfig->FilterScale == CAN_FILTERSCALE_32BIT)
  1612. 645 .loc 1 934 22
  1613. 646 00d0 3B68 ldr r3, [r7]
  1614. 647 00d2 DB69 ldr r3, [r3, #28]
  1615. 648 .loc 1 934 8
  1616. 649 00d4 012B cmp r3, #1
  1617. 650 00d6 22D1 bne .L30
  1618. 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1619. 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* 32-bit scale for the filter */
  1620. 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(can_ip->FS1R, filternbrbitpos);
  1621. 651 .loc 1 937 7
  1622. 652 00d8 7B69 ldr r3, [r7, #20]
  1623. 653 00da D3F80C22 ldr r2, [r3, #524]
  1624. 654 00de FB68 ldr r3, [r7, #12]
  1625. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 29
  1626. 655 00e0 1A43 orrs r2, r2, r3
  1627. 656 00e2 7B69 ldr r3, [r7, #20]
  1628. 657 00e4 C3F80C22 str r2, [r3, #524]
  1629. 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1630. 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* 32-bit identifier or First 32-bit identifier */
  1631. 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
  1632. 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
  1633. 658 .loc 1 941 48
  1634. 659 00e8 3B68 ldr r3, [r7]
  1635. 660 00ea 1B68 ldr r3, [r3]
  1636. 661 .loc 1 941 64
  1637. 662 00ec 1904 lsls r1, r3, #16
  1638. 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  1639. 663 .loc 1 942 47
  1640. 664 00ee 3B68 ldr r3, [r7]
  1641. 665 00f0 5B68 ldr r3, [r3, #4]
  1642. 666 .loc 1 942 22
  1643. 667 00f2 9BB2 uxth r3, r3
  1644. 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
  1645. 668 .loc 1 940 44
  1646. 669 00f4 3A68 ldr r2, [r7]
  1647. 670 00f6 5269 ldr r2, [r2, #20]
  1648. 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  1649. 671 .loc 1 941 72
  1650. 672 00f8 1943 orrs r1, r1, r3
  1651. 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
  1652. 673 .loc 1 940 62
  1653. 674 00fa 7B69 ldr r3, [r7, #20]
  1654. 675 00fc 4832 adds r2, r2, #72
  1655. 676 00fe 43F83210 str r1, [r3, r2, lsl #3]
  1656. 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1657. 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* 32-bit mask or Second 32-bit identifier */
  1658. 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
  1659. 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1660. 677 .loc 1 946 48
  1661. 678 0102 3B68 ldr r3, [r7]
  1662. 679 0104 9B68 ldr r3, [r3, #8]
  1663. 680 .loc 1 946 68
  1664. 681 0106 1904 lsls r1, r3, #16
  1665. 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
  1666. 682 .loc 1 947 47
  1667. 683 0108 3B68 ldr r3, [r7]
  1668. 684 010a DB68 ldr r3, [r3, #12]
  1669. 685 .loc 1 947 22
  1670. 686 010c 9AB2 uxth r2, r3
  1671. 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1672. 687 .loc 1 945 44
  1673. 688 010e 3B68 ldr r3, [r7]
  1674. 689 0110 5B69 ldr r3, [r3, #20]
  1675. 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
  1676. 690 .loc 1 946 76
  1677. 691 0112 0A43 orrs r2, r2, r1
  1678. 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1679. 692 .loc 1 945 62
  1680. 693 0114 7969 ldr r1, [r7, #20]
  1681. 694 0116 4833 adds r3, r3, #72
  1682. 695 0118 DB00 lsls r3, r3, #3
  1683. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 30
  1684. 696 011a 0B44 add r3, r3, r1
  1685. 697 011c 5A60 str r2, [r3, #4]
  1686. 698 .L30:
  1687. 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1688. 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1689. 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Filter Mode */
  1690. 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (sFilterConfig->FilterMode == CAN_FILTERMODE_IDMASK)
  1691. 699 .loc 1 951 22
  1692. 700 011e 3B68 ldr r3, [r7]
  1693. 701 0120 9B69 ldr r3, [r3, #24]
  1694. 702 .loc 1 951 8
  1695. 703 0122 002B cmp r3, #0
  1696. 704 0124 09D1 bne .L31
  1697. 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1698. 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Id/Mask mode for the filter*/
  1699. 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(can_ip->FM1R, filternbrbitpos);
  1700. 705 .loc 1 954 7
  1701. 706 0126 7B69 ldr r3, [r7, #20]
  1702. 707 0128 D3F80422 ldr r2, [r3, #516]
  1703. 708 012c FB68 ldr r3, [r7, #12]
  1704. 709 012e DB43 mvns r3, r3
  1705. 710 0130 1A40 ands r2, r2, r3
  1706. 711 0132 7B69 ldr r3, [r7, #20]
  1707. 712 0134 C3F80422 str r2, [r3, #516]
  1708. 713 0138 07E0 b .L32
  1709. 714 .L31:
  1710. 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1711. 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else /* CAN_FilterInitStruct->CAN_FilterMode == CAN_FilterMode_IdList */
  1712. 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1713. 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Identifier list mode for the filter*/
  1714. 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(can_ip->FM1R, filternbrbitpos);
  1715. 715 .loc 1 959 7
  1716. 716 013a 7B69 ldr r3, [r7, #20]
  1717. 717 013c D3F80422 ldr r2, [r3, #516]
  1718. 718 0140 FB68 ldr r3, [r7, #12]
  1719. 719 0142 1A43 orrs r2, r2, r3
  1720. 720 0144 7B69 ldr r3, [r7, #20]
  1721. 721 0146 C3F80422 str r2, [r3, #516]
  1722. 722 .L32:
  1723. 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1724. 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1725. 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Filter FIFO assignment */
  1726. 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (sFilterConfig->FilterFIFOAssignment == CAN_FILTER_FIFO0)
  1727. 723 .loc 1 963 22
  1728. 724 014a 3B68 ldr r3, [r7]
  1729. 725 014c 1B69 ldr r3, [r3, #16]
  1730. 726 .loc 1 963 8
  1731. 727 014e 002B cmp r3, #0
  1732. 728 0150 09D1 bne .L33
  1733. 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1734. 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* FIFO 0 assignation for the filter */
  1735. 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(can_ip->FFA1R, filternbrbitpos);
  1736. 729 .loc 1 966 7
  1737. 730 0152 7B69 ldr r3, [r7, #20]
  1738. 731 0154 D3F81422 ldr r2, [r3, #532]
  1739. 732 0158 FB68 ldr r3, [r7, #12]
  1740. 733 015a DB43 mvns r3, r3
  1741. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 31
  1742. 734 015c 1A40 ands r2, r2, r3
  1743. 735 015e 7B69 ldr r3, [r7, #20]
  1744. 736 0160 C3F81422 str r2, [r3, #532]
  1745. 737 0164 07E0 b .L34
  1746. 738 .L33:
  1747. 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1748. 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  1749. 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1750. 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* FIFO 1 assignation for the filter */
  1751. 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(can_ip->FFA1R, filternbrbitpos);
  1752. 739 .loc 1 971 7
  1753. 740 0166 7B69 ldr r3, [r7, #20]
  1754. 741 0168 D3F81422 ldr r2, [r3, #532]
  1755. 742 016c FB68 ldr r3, [r7, #12]
  1756. 743 016e 1A43 orrs r2, r2, r3
  1757. 744 0170 7B69 ldr r3, [r7, #20]
  1758. 745 0172 C3F81422 str r2, [r3, #532]
  1759. 746 .L34:
  1760. 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1761. 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1762. 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Filter activation */
  1763. 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (sFilterConfig->FilterActivation == CAN_FILTER_ENABLE)
  1764. 747 .loc 1 975 22
  1765. 748 0176 3B68 ldr r3, [r7]
  1766. 749 0178 1B6A ldr r3, [r3, #32]
  1767. 750 .loc 1 975 8
  1768. 751 017a 012B cmp r3, #1
  1769. 752 017c 07D1 bne .L35
  1770. 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1771. 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(can_ip->FA1R, filternbrbitpos);
  1772. 753 .loc 1 977 7
  1773. 754 017e 7B69 ldr r3, [r7, #20]
  1774. 755 0180 D3F81C22 ldr r2, [r3, #540]
  1775. 756 0184 FB68 ldr r3, [r7, #12]
  1776. 757 0186 1A43 orrs r2, r2, r3
  1777. 758 0188 7B69 ldr r3, [r7, #20]
  1778. 759 018a C3F81C22 str r2, [r3, #540]
  1779. 760 .L35:
  1780. 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1781. 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1782. 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Leave the initialisation mode for the filter */
  1783. 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(can_ip->FMR, CAN_FMR_FINIT);
  1784. 761 .loc 1 981 5
  1785. 762 018e 7B69 ldr r3, [r7, #20]
  1786. 763 0190 D3F80032 ldr r3, [r3, #512]
  1787. 764 0194 23F00102 bic r2, r3, #1
  1788. 765 0198 7B69 ldr r3, [r7, #20]
  1789. 766 019a C3F80022 str r2, [r3, #512]
  1790. 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1791. 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  1792. 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_OK;
  1793. 767 .loc 1 984 12
  1794. 768 019e 0023 movs r3, #0
  1795. 769 01a0 06E0 b .L36
  1796. 770 .L28:
  1797. 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1798. 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  1799. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 32
  1800. 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1801. 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  1802. 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  1803. 771 .loc 1 989 21
  1804. 772 01a2 7B68 ldr r3, [r7, #4]
  1805. 773 01a4 5B6A ldr r3, [r3, #36]
  1806. 774 01a6 43F48022 orr r2, r3, #262144
  1807. 775 01aa 7B68 ldr r3, [r7, #4]
  1808. 776 01ac 5A62 str r2, [r3, #36]
  1809. 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1810. 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  1811. 777 .loc 1 991 12
  1812. 778 01ae 0123 movs r3, #1
  1813. 779 .L36:
  1814. 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1815. 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1816. 780 .loc 1 993 1
  1817. 781 01b0 1846 mov r0, r3
  1818. 782 01b2 1C37 adds r7, r7, #28
  1819. 783 .LCFI25:
  1820. 784 .cfi_def_cfa_offset 4
  1821. 785 01b4 BD46 mov sp, r7
  1822. 786 .LCFI26:
  1823. 787 .cfi_def_cfa_register 13
  1824. 788 @ sp needed
  1825. 789 01b6 5DF8047B ldr r7, [sp], #4
  1826. 790 .LCFI27:
  1827. 791 .cfi_restore 7
  1828. 792 .cfi_def_cfa_offset 0
  1829. 793 01ba 7047 bx lr
  1830. 794 .L38:
  1831. 795 .align 2
  1832. 796 .L37:
  1833. 797 01bc 00640040 .word 1073767424
  1834. 798 .cfi_endproc
  1835. 799 .LFE239:
  1836. 801 .section .text.HAL_CAN_Start,"ax",%progbits
  1837. 802 .align 1
  1838. 803 .global HAL_CAN_Start
  1839. 804 .syntax unified
  1840. 805 .thumb
  1841. 806 .thumb_func
  1842. 808 HAL_CAN_Start:
  1843. 809 .LFB240:
  1844. 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1845. 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  1846. 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @}
  1847. 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  1848. 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1849. 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group3 Control functions
  1850. 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Control functions
  1851. 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *
  1852. 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @verbatim
  1853. 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  1854. 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ##### Control functions #####
  1855. 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  1856. 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** [..] This section provides functions allowing to:
  1857. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 33
  1858. 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_Start : Start the CAN module
  1859. 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_Stop : Stop the CAN module
  1860. 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_RequestSleep : Request sleep mode entry.
  1861. 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_WakeUp : Wake up from sleep mode.
  1862. 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_IsSleepActive : Check is sleep mode is active.
  1863. 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_AddTxMessage : Add a message to the Tx mailboxes
  1864. 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** and activate the corresponding
  1865. 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** transmission request
  1866. 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_AbortTxRequest : Abort transmission request
  1867. 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_GetTxMailboxesFreeLevel : Return Tx mailboxes free level
  1868. 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_IsTxMessagePending : Check if a transmission request is
  1869. 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pending on the selected Tx mailbox
  1870. 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_GetRxMessage : Get a CAN frame from the Rx FIFO
  1871. 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_GetRxFifoFillLevel : Return Rx FIFO fill level
  1872. 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1873. 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @endverbatim
  1874. 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @{
  1875. 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  1876. 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1877. 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  1878. 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Start the CAN module.
  1879. 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  1880. 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  1881. 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status
  1882. 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  1883. 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Start(CAN_HandleTypeDef *hcan)
  1884. 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1885. 810 .loc 1 1033 1
  1886. 811 .cfi_startproc
  1887. 812 @ args = 0, pretend = 0, frame = 16
  1888. 813 @ frame_needed = 1, uses_anonymous_args = 0
  1889. 814 0000 80B5 push {r7, lr}
  1890. 815 .LCFI28:
  1891. 816 .cfi_def_cfa_offset 8
  1892. 817 .cfi_offset 7, -8
  1893. 818 .cfi_offset 14, -4
  1894. 819 0002 84B0 sub sp, sp, #16
  1895. 820 .LCFI29:
  1896. 821 .cfi_def_cfa_offset 24
  1897. 822 0004 00AF add r7, sp, #0
  1898. 823 .LCFI30:
  1899. 824 .cfi_def_cfa_register 7
  1900. 825 0006 7860 str r0, [r7, #4]
  1901. 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t tickstart;
  1902. 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1903. 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
  1904. 826 .loc 1 1036 11
  1905. 827 0008 7B68 ldr r3, [r7, #4]
  1906. 828 000a 93F82030 ldrb r3, [r3, #32]
  1907. 829 000e DBB2 uxtb r3, r3
  1908. 830 .loc 1 1036 6
  1909. 831 0010 012B cmp r3, #1
  1910. 832 0012 2ED1 bne .L40
  1911. 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1912. 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Change CAN peripheral state */
  1913. 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->State = HAL_CAN_STATE_LISTENING;
  1914. 833 .loc 1 1039 17
  1915. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 34
  1916. 834 0014 7B68 ldr r3, [r7, #4]
  1917. 835 0016 0222 movs r2, #2
  1918. 836 0018 83F82020 strb r2, [r3, #32]
  1919. 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1920. 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Request leave initialisation */
  1921. 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
  1922. 837 .loc 1 1042 5
  1923. 838 001c 7B68 ldr r3, [r7, #4]
  1924. 839 001e 1B68 ldr r3, [r3]
  1925. 840 0020 1A68 ldr r2, [r3]
  1926. 841 0022 7B68 ldr r3, [r7, #4]
  1927. 842 0024 1B68 ldr r3, [r3]
  1928. 843 0026 22F00102 bic r2, r2, #1
  1929. 844 002a 1A60 str r2, [r3]
  1930. 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1931. 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Get tick */
  1932. 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** tickstart = HAL_GetTick();
  1933. 845 .loc 1 1045 17
  1934. 846 002c FFF7FEFF bl HAL_GetTick
  1935. 847 0030 F860 str r0, [r7, #12]
  1936. 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1937. 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Wait the acknowledge */
  1938. 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) != 0U)
  1939. 848 .loc 1 1048 11
  1940. 849 0032 12E0 b .L41
  1941. 850 .L43:
  1942. 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1943. 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check for the Timeout */
  1944. 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
  1945. 851 .loc 1 1051 12
  1946. 852 0034 FFF7FEFF bl HAL_GetTick
  1947. 853 0038 0246 mov r2, r0
  1948. 854 .loc 1 1051 26
  1949. 855 003a FB68 ldr r3, [r7, #12]
  1950. 856 003c D31A subs r3, r2, r3
  1951. 857 .loc 1 1051 10
  1952. 858 003e 0A2B cmp r3, #10
  1953. 859 0040 0BD9 bls .L41
  1954. 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1955. 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  1956. 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  1957. 860 .loc 1 1054 25
  1958. 861 0042 7B68 ldr r3, [r7, #4]
  1959. 862 0044 5B6A ldr r3, [r3, #36]
  1960. 863 0046 43F40032 orr r2, r3, #131072
  1961. 864 004a 7B68 ldr r3, [r7, #4]
  1962. 865 004c 5A62 str r2, [r3, #36]
  1963. 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1964. 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Change CAN state */
  1965. 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
  1966. 866 .loc 1 1057 21
  1967. 867 004e 7B68 ldr r3, [r7, #4]
  1968. 868 0050 0522 movs r2, #5
  1969. 869 0052 83F82020 strb r2, [r3, #32]
  1970. 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1971. 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  1972. 870 .loc 1 1059 16
  1973. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 35
  1974. 871 0056 0123 movs r3, #1
  1975. 872 0058 12E0 b .L42
  1976. 873 .L41:
  1977. 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1978. 874 .loc 1 1048 17
  1979. 875 005a 7B68 ldr r3, [r7, #4]
  1980. 876 005c 1B68 ldr r3, [r3]
  1981. 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1982. 877 .loc 1 1048 27
  1983. 878 005e 5B68 ldr r3, [r3, #4]
  1984. 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1985. 879 .loc 1 1048 33
  1986. 880 0060 03F00103 and r3, r3, #1
  1987. 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  1988. 881 .loc 1 1048 11
  1989. 882 0064 002B cmp r3, #0
  1990. 883 0066 E5D1 bne .L43
  1991. 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1992. 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  1993. 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  1994. 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Reset the CAN ErrorCode */
  1995. 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
  1996. 884 .loc 1 1064 21
  1997. 885 0068 7B68 ldr r3, [r7, #4]
  1998. 886 006a 0022 movs r2, #0
  1999. 887 006c 5A62 str r2, [r3, #36]
  2000. 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2001. 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  2002. 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_OK;
  2003. 888 .loc 1 1067 12
  2004. 889 006e 0023 movs r3, #0
  2005. 890 0070 06E0 b .L42
  2006. 891 .L40:
  2007. 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2008. 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  2009. 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2010. 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  2011. 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_READY;
  2012. 892 .loc 1 1072 21
  2013. 893 0072 7B68 ldr r3, [r7, #4]
  2014. 894 0074 5B6A ldr r3, [r3, #36]
  2015. 895 0076 43F40022 orr r2, r3, #524288
  2016. 896 007a 7B68 ldr r3, [r7, #4]
  2017. 897 007c 5A62 str r2, [r3, #36]
  2018. 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2019. 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  2020. 898 .loc 1 1074 12
  2021. 899 007e 0123 movs r3, #1
  2022. 900 .L42:
  2023. 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2024. 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2025. 901 .loc 1 1076 1
  2026. 902 0080 1846 mov r0, r3
  2027. 903 0082 1037 adds r7, r7, #16
  2028. 904 .LCFI31:
  2029. 905 .cfi_def_cfa_offset 8
  2030. 906 0084 BD46 mov sp, r7
  2031. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 36
  2032. 907 .LCFI32:
  2033. 908 .cfi_def_cfa_register 13
  2034. 909 @ sp needed
  2035. 910 0086 80BD pop {r7, pc}
  2036. 911 .cfi_endproc
  2037. 912 .LFE240:
  2038. 914 .section .text.HAL_CAN_Stop,"ax",%progbits
  2039. 915 .align 1
  2040. 916 .global HAL_CAN_Stop
  2041. 917 .syntax unified
  2042. 918 .thumb
  2043. 919 .thumb_func
  2044. 921 HAL_CAN_Stop:
  2045. 922 .LFB241:
  2046. 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2047. 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  2048. 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Stop the CAN module and enable access to configuration registers.
  2049. 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  2050. 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  2051. 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status
  2052. 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  2053. 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Stop(CAN_HandleTypeDef *hcan)
  2054. 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2055. 923 .loc 1 1085 1
  2056. 924 .cfi_startproc
  2057. 925 @ args = 0, pretend = 0, frame = 16
  2058. 926 @ frame_needed = 1, uses_anonymous_args = 0
  2059. 927 0000 80B5 push {r7, lr}
  2060. 928 .LCFI33:
  2061. 929 .cfi_def_cfa_offset 8
  2062. 930 .cfi_offset 7, -8
  2063. 931 .cfi_offset 14, -4
  2064. 932 0002 84B0 sub sp, sp, #16
  2065. 933 .LCFI34:
  2066. 934 .cfi_def_cfa_offset 24
  2067. 935 0004 00AF add r7, sp, #0
  2068. 936 .LCFI35:
  2069. 937 .cfi_def_cfa_register 7
  2070. 938 0006 7860 str r0, [r7, #4]
  2071. 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t tickstart;
  2072. 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2073. 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_LISTENING)
  2074. 939 .loc 1 1088 11
  2075. 940 0008 7B68 ldr r3, [r7, #4]
  2076. 941 000a 93F82030 ldrb r3, [r3, #32]
  2077. 942 000e DBB2 uxtb r3, r3
  2078. 943 .loc 1 1088 6
  2079. 944 0010 022B cmp r3, #2
  2080. 945 0012 33D1 bne .L45
  2081. 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2082. 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Request initialisation */
  2083. 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
  2084. 946 .loc 1 1091 5
  2085. 947 0014 7B68 ldr r3, [r7, #4]
  2086. 948 0016 1B68 ldr r3, [r3]
  2087. 949 0018 1A68 ldr r2, [r3]
  2088. 950 001a 7B68 ldr r3, [r7, #4]
  2089. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 37
  2090. 951 001c 1B68 ldr r3, [r3]
  2091. 952 001e 42F00102 orr r2, r2, #1
  2092. 953 0022 1A60 str r2, [r3]
  2093. 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2094. 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Get tick */
  2095. 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** tickstart = HAL_GetTick();
  2096. 954 .loc 1 1094 17
  2097. 955 0024 FFF7FEFF bl HAL_GetTick
  2098. 956 0028 F860 str r0, [r7, #12]
  2099. 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2100. 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Wait the acknowledge */
  2101. 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
  2102. 957 .loc 1 1097 11
  2103. 958 002a 12E0 b .L46
  2104. 959 .L48:
  2105. 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2106. 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check for the Timeout */
  2107. 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
  2108. 960 .loc 1 1100 12
  2109. 961 002c FFF7FEFF bl HAL_GetTick
  2110. 962 0030 0246 mov r2, r0
  2111. 963 .loc 1 1100 26
  2112. 964 0032 FB68 ldr r3, [r7, #12]
  2113. 965 0034 D31A subs r3, r2, r3
  2114. 966 .loc 1 1100 10
  2115. 967 0036 0A2B cmp r3, #10
  2116. 968 0038 0BD9 bls .L46
  2117. 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2118. 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  2119. 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  2120. 969 .loc 1 1103 25
  2121. 970 003a 7B68 ldr r3, [r7, #4]
  2122. 971 003c 5B6A ldr r3, [r3, #36]
  2123. 972 003e 43F40032 orr r2, r3, #131072
  2124. 973 0042 7B68 ldr r3, [r7, #4]
  2125. 974 0044 5A62 str r2, [r3, #36]
  2126. 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2127. 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Change CAN state */
  2128. 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
  2129. 975 .loc 1 1106 21
  2130. 976 0046 7B68 ldr r3, [r7, #4]
  2131. 977 0048 0522 movs r2, #5
  2132. 978 004a 83F82020 strb r2, [r3, #32]
  2133. 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2134. 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  2135. 979 .loc 1 1108 16
  2136. 980 004e 0123 movs r3, #1
  2137. 981 0050 1BE0 b .L47
  2138. 982 .L46:
  2139. 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2140. 983 .loc 1 1097 17
  2141. 984 0052 7B68 ldr r3, [r7, #4]
  2142. 985 0054 1B68 ldr r3, [r3]
  2143. 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2144. 986 .loc 1 1097 27
  2145. 987 0056 5B68 ldr r3, [r3, #4]
  2146. 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2147. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 38
  2148. 988 .loc 1 1097 33
  2149. 989 0058 03F00103 and r3, r3, #1
  2150. 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2151. 990 .loc 1 1097 11
  2152. 991 005c 002B cmp r3, #0
  2153. 992 005e E5D0 beq .L48
  2154. 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2155. 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2156. 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2157. 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Exit from sleep mode */
  2158. 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
  2159. 993 .loc 1 1113 5
  2160. 994 0060 7B68 ldr r3, [r7, #4]
  2161. 995 0062 1B68 ldr r3, [r3]
  2162. 996 0064 1A68 ldr r2, [r3]
  2163. 997 0066 7B68 ldr r3, [r7, #4]
  2164. 998 0068 1B68 ldr r3, [r3]
  2165. 999 006a 22F00202 bic r2, r2, #2
  2166. 1000 006e 1A60 str r2, [r3]
  2167. 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2168. 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Change CAN peripheral state */
  2169. 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->State = HAL_CAN_STATE_READY;
  2170. 1001 .loc 1 1116 17
  2171. 1002 0070 7B68 ldr r3, [r7, #4]
  2172. 1003 0072 0122 movs r2, #1
  2173. 1004 0074 83F82020 strb r2, [r3, #32]
  2174. 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2175. 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  2176. 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_OK;
  2177. 1005 .loc 1 1119 12
  2178. 1006 0078 0023 movs r3, #0
  2179. 1007 007a 06E0 b .L47
  2180. 1008 .L45:
  2181. 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2182. 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  2183. 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2184. 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  2185. 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_STARTED;
  2186. 1009 .loc 1 1124 21
  2187. 1010 007c 7B68 ldr r3, [r7, #4]
  2188. 1011 007e 5B6A ldr r3, [r3, #36]
  2189. 1012 0080 43F48012 orr r2, r3, #1048576
  2190. 1013 0084 7B68 ldr r3, [r7, #4]
  2191. 1014 0086 5A62 str r2, [r3, #36]
  2192. 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2193. 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  2194. 1015 .loc 1 1126 12
  2195. 1016 0088 0123 movs r3, #1
  2196. 1017 .L47:
  2197. 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2198. 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2199. 1018 .loc 1 1128 1
  2200. 1019 008a 1846 mov r0, r3
  2201. 1020 008c 1037 adds r7, r7, #16
  2202. 1021 .LCFI36:
  2203. 1022 .cfi_def_cfa_offset 8
  2204. 1023 008e BD46 mov sp, r7
  2205. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 39
  2206. 1024 .LCFI37:
  2207. 1025 .cfi_def_cfa_register 13
  2208. 1026 @ sp needed
  2209. 1027 0090 80BD pop {r7, pc}
  2210. 1028 .cfi_endproc
  2211. 1029 .LFE241:
  2212. 1031 .section .text.HAL_CAN_RequestSleep,"ax",%progbits
  2213. 1032 .align 1
  2214. 1033 .global HAL_CAN_RequestSleep
  2215. 1034 .syntax unified
  2216. 1035 .thumb
  2217. 1036 .thumb_func
  2218. 1038 HAL_CAN_RequestSleep:
  2219. 1039 .LFB242:
  2220. 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2221. 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  2222. 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Request the sleep mode (low power) entry.
  2223. 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * When returning from this function, Sleep mode will be entered
  2224. 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * as soon as the current CAN activity (transmission or reception
  2225. 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * of a CAN frame) has been completed.
  2226. 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  2227. 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  2228. 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status.
  2229. 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  2230. 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RequestSleep(CAN_HandleTypeDef *hcan)
  2231. 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2232. 1040 .loc 1 1140 1
  2233. 1041 .cfi_startproc
  2234. 1042 @ args = 0, pretend = 0, frame = 16
  2235. 1043 @ frame_needed = 1, uses_anonymous_args = 0
  2236. 1044 @ link register save eliminated.
  2237. 1045 0000 80B4 push {r7}
  2238. 1046 .LCFI38:
  2239. 1047 .cfi_def_cfa_offset 4
  2240. 1048 .cfi_offset 7, -4
  2241. 1049 0002 85B0 sub sp, sp, #20
  2242. 1050 .LCFI39:
  2243. 1051 .cfi_def_cfa_offset 24
  2244. 1052 0004 00AF add r7, sp, #0
  2245. 1053 .LCFI40:
  2246. 1054 .cfi_def_cfa_register 7
  2247. 1055 0006 7860 str r0, [r7, #4]
  2248. 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2249. 1056 .loc 1 1141 24
  2250. 1057 0008 7B68 ldr r3, [r7, #4]
  2251. 1058 000a 93F82030 ldrb r3, [r3, #32]
  2252. 1059 000e FB73 strb r3, [r7, #15]
  2253. 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2254. 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  2255. 1060 .loc 1 1143 6
  2256. 1061 0010 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  2257. 1062 0012 012B cmp r3, #1
  2258. 1063 0014 02D0 beq .L50
  2259. 1064 .loc 1 1143 38 discriminator 1
  2260. 1065 0016 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  2261. 1066 0018 022B cmp r3, #2
  2262. 1067 001a 09D1 bne .L51
  2263. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 40
  2264. 1068 .L50:
  2265. 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  2266. 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2267. 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Request Sleep mode */
  2268. 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
  2269. 1069 .loc 1 1147 5
  2270. 1070 001c 7B68 ldr r3, [r7, #4]
  2271. 1071 001e 1B68 ldr r3, [r3]
  2272. 1072 0020 1A68 ldr r2, [r3]
  2273. 1073 0022 7B68 ldr r3, [r7, #4]
  2274. 1074 0024 1B68 ldr r3, [r3]
  2275. 1075 0026 42F00202 orr r2, r2, #2
  2276. 1076 002a 1A60 str r2, [r3]
  2277. 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2278. 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  2279. 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_OK;
  2280. 1077 .loc 1 1150 12
  2281. 1078 002c 0023 movs r3, #0
  2282. 1079 002e 06E0 b .L52
  2283. 1080 .L51:
  2284. 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2285. 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  2286. 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2287. 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  2288. 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  2289. 1081 .loc 1 1155 21
  2290. 1082 0030 7B68 ldr r3, [r7, #4]
  2291. 1083 0032 5B6A ldr r3, [r3, #36]
  2292. 1084 0034 43F48022 orr r2, r3, #262144
  2293. 1085 0038 7B68 ldr r3, [r7, #4]
  2294. 1086 003a 5A62 str r2, [r3, #36]
  2295. 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2296. 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  2297. 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  2298. 1087 .loc 1 1158 12
  2299. 1088 003c 0123 movs r3, #1
  2300. 1089 .L52:
  2301. 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2302. 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2303. 1090 .loc 1 1160 1
  2304. 1091 003e 1846 mov r0, r3
  2305. 1092 0040 1437 adds r7, r7, #20
  2306. 1093 .LCFI41:
  2307. 1094 .cfi_def_cfa_offset 4
  2308. 1095 0042 BD46 mov sp, r7
  2309. 1096 .LCFI42:
  2310. 1097 .cfi_def_cfa_register 13
  2311. 1098 @ sp needed
  2312. 1099 0044 5DF8047B ldr r7, [sp], #4
  2313. 1100 .LCFI43:
  2314. 1101 .cfi_restore 7
  2315. 1102 .cfi_def_cfa_offset 0
  2316. 1103 0048 7047 bx lr
  2317. 1104 .cfi_endproc
  2318. 1105 .LFE242:
  2319. 1107 .section .text.HAL_CAN_WakeUp,"ax",%progbits
  2320. 1108 .align 1
  2321. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 41
  2322. 1109 .global HAL_CAN_WakeUp
  2323. 1110 .syntax unified
  2324. 1111 .thumb
  2325. 1112 .thumb_func
  2326. 1114 HAL_CAN_WakeUp:
  2327. 1115 .LFB243:
  2328. 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2329. 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  2330. 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Wake up from sleep mode.
  2331. 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * When returning with HAL_OK status from this function, Sleep mode
  2332. 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * is exited.
  2333. 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  2334. 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  2335. 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status.
  2336. 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  2337. 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_WakeUp(CAN_HandleTypeDef *hcan)
  2338. 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2339. 1116 .loc 1 1171 1
  2340. 1117 .cfi_startproc
  2341. 1118 @ args = 0, pretend = 0, frame = 24
  2342. 1119 @ frame_needed = 1, uses_anonymous_args = 0
  2343. 1120 @ link register save eliminated.
  2344. 1121 0000 80B4 push {r7}
  2345. 1122 .LCFI44:
  2346. 1123 .cfi_def_cfa_offset 4
  2347. 1124 .cfi_offset 7, -4
  2348. 1125 0002 87B0 sub sp, sp, #28
  2349. 1126 .LCFI45:
  2350. 1127 .cfi_def_cfa_offset 32
  2351. 1128 0004 00AF add r7, sp, #0
  2352. 1129 .LCFI46:
  2353. 1130 .cfi_def_cfa_register 7
  2354. 1131 0006 7860 str r0, [r7, #4]
  2355. 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __IO uint32_t count = 0;
  2356. 1132 .loc 1 1172 17
  2357. 1133 0008 0023 movs r3, #0
  2358. 1134 000a FB60 str r3, [r7, #12]
  2359. 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t timeout = 1000000U;
  2360. 1135 .loc 1 1173 12
  2361. 1136 000c 1C4B ldr r3, .L59
  2362. 1137 000e 7B61 str r3, [r7, #20]
  2363. 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2364. 1138 .loc 1 1174 24
  2365. 1139 0010 7B68 ldr r3, [r7, #4]
  2366. 1140 0012 93F82030 ldrb r3, [r3, #32]
  2367. 1141 0016 FB74 strb r3, [r7, #19]
  2368. 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2369. 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  2370. 1142 .loc 1 1176 6
  2371. 1143 0018 FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
  2372. 1144 001a 012B cmp r3, #1
  2373. 1145 001c 02D0 beq .L54
  2374. 1146 .loc 1 1176 38 discriminator 1
  2375. 1147 001e FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
  2376. 1148 0020 022B cmp r3, #2
  2377. 1149 0022 1FD1 bne .L55
  2378. 1150 .L54:
  2379. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 42
  2380. 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  2381. 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2382. 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Wake up request */
  2383. 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
  2384. 1151 .loc 1 1180 5
  2385. 1152 0024 7B68 ldr r3, [r7, #4]
  2386. 1153 0026 1B68 ldr r3, [r3]
  2387. 1154 0028 1A68 ldr r2, [r3]
  2388. 1155 002a 7B68 ldr r3, [r7, #4]
  2389. 1156 002c 1B68 ldr r3, [r3]
  2390. 1157 002e 22F00202 bic r2, r2, #2
  2391. 1158 0032 1A60 str r2, [r3]
  2392. 1159 .L58:
  2393. 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2394. 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Wait sleep mode is exited */
  2395. 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** do
  2396. 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2397. 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Increment counter */
  2398. 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** count++;
  2399. 1160 .loc 1 1186 12
  2400. 1161 0034 FB68 ldr r3, [r7, #12]
  2401. 1162 0036 0133 adds r3, r3, #1
  2402. 1163 0038 FB60 str r3, [r7, #12]
  2403. 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2404. 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check if timeout is reached */
  2405. 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (count > timeout)
  2406. 1164 .loc 1 1189 17
  2407. 1165 003a FB68 ldr r3, [r7, #12]
  2408. 1166 .loc 1 1189 10
  2409. 1167 003c 7A69 ldr r2, [r7, #20]
  2410. 1168 003e 9A42 cmp r2, r3
  2411. 1169 0040 07D2 bcs .L56
  2412. 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2413. 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  2414. 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  2415. 1170 .loc 1 1192 25
  2416. 1171 0042 7B68 ldr r3, [r7, #4]
  2417. 1172 0044 5B6A ldr r3, [r3, #36]
  2418. 1173 0046 43F40032 orr r2, r3, #131072
  2419. 1174 004a 7B68 ldr r3, [r7, #4]
  2420. 1175 004c 5A62 str r2, [r3, #36]
  2421. 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2422. 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  2423. 1176 .loc 1 1194 16
  2424. 1177 004e 0123 movs r3, #1
  2425. 1178 0050 0FE0 b .L57
  2426. 1179 .L56:
  2427. 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2428. 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2429. 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U);
  2430. 1180 .loc 1 1197 17
  2431. 1181 0052 7B68 ldr r3, [r7, #4]
  2432. 1182 0054 1B68 ldr r3, [r3]
  2433. 1183 .loc 1 1197 27
  2434. 1184 0056 5B68 ldr r3, [r3, #4]
  2435. 1185 .loc 1 1197 33
  2436. 1186 0058 03F00203 and r3, r3, #2
  2437. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 43
  2438. 1187 .loc 1 1197 5
  2439. 1188 005c 002B cmp r3, #0
  2440. 1189 005e E9D1 bne .L58
  2441. 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2442. 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  2443. 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_OK;
  2444. 1190 .loc 1 1200 12
  2445. 1191 0060 0023 movs r3, #0
  2446. 1192 0062 06E0 b .L57
  2447. 1193 .L55:
  2448. 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2449. 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  2450. 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2451. 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  2452. 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  2453. 1194 .loc 1 1205 21
  2454. 1195 0064 7B68 ldr r3, [r7, #4]
  2455. 1196 0066 5B6A ldr r3, [r3, #36]
  2456. 1197 0068 43F48022 orr r2, r3, #262144
  2457. 1198 006c 7B68 ldr r3, [r7, #4]
  2458. 1199 006e 5A62 str r2, [r3, #36]
  2459. 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2460. 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  2461. 1200 .loc 1 1207 12
  2462. 1201 0070 0123 movs r3, #1
  2463. 1202 .L57:
  2464. 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2465. 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2466. 1203 .loc 1 1209 1
  2467. 1204 0072 1846 mov r0, r3
  2468. 1205 0074 1C37 adds r7, r7, #28
  2469. 1206 .LCFI47:
  2470. 1207 .cfi_def_cfa_offset 4
  2471. 1208 0076 BD46 mov sp, r7
  2472. 1209 .LCFI48:
  2473. 1210 .cfi_def_cfa_register 13
  2474. 1211 @ sp needed
  2475. 1212 0078 5DF8047B ldr r7, [sp], #4
  2476. 1213 .LCFI49:
  2477. 1214 .cfi_restore 7
  2478. 1215 .cfi_def_cfa_offset 0
  2479. 1216 007c 7047 bx lr
  2480. 1217 .L60:
  2481. 1218 007e 00BF .align 2
  2482. 1219 .L59:
  2483. 1220 0080 40420F00 .word 1000000
  2484. 1221 .cfi_endproc
  2485. 1222 .LFE243:
  2486. 1224 .section .text.HAL_CAN_IsSleepActive,"ax",%progbits
  2487. 1225 .align 1
  2488. 1226 .global HAL_CAN_IsSleepActive
  2489. 1227 .syntax unified
  2490. 1228 .thumb
  2491. 1229 .thumb_func
  2492. 1231 HAL_CAN_IsSleepActive:
  2493. 1232 .LFB244:
  2494. 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2495. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 44
  2496. 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  2497. 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Check is sleep mode is active.
  2498. 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  2499. 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  2500. 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval Status
  2501. 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * - 0 : Sleep mode is not active.
  2502. 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * - 1 : Sleep mode is active.
  2503. 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  2504. 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t HAL_CAN_IsSleepActive(CAN_HandleTypeDef *hcan)
  2505. 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2506. 1233 .loc 1 1220 1
  2507. 1234 .cfi_startproc
  2508. 1235 @ args = 0, pretend = 0, frame = 16
  2509. 1236 @ frame_needed = 1, uses_anonymous_args = 0
  2510. 1237 @ link register save eliminated.
  2511. 1238 0000 80B4 push {r7}
  2512. 1239 .LCFI50:
  2513. 1240 .cfi_def_cfa_offset 4
  2514. 1241 .cfi_offset 7, -4
  2515. 1242 0002 85B0 sub sp, sp, #20
  2516. 1243 .LCFI51:
  2517. 1244 .cfi_def_cfa_offset 24
  2518. 1245 0004 00AF add r7, sp, #0
  2519. 1246 .LCFI52:
  2520. 1247 .cfi_def_cfa_register 7
  2521. 1248 0006 7860 str r0, [r7, #4]
  2522. 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t status = 0U;
  2523. 1249 .loc 1 1221 12
  2524. 1250 0008 0023 movs r3, #0
  2525. 1251 000a FB60 str r3, [r7, #12]
  2526. 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2527. 1252 .loc 1 1222 24
  2528. 1253 000c 7B68 ldr r3, [r7, #4]
  2529. 1254 000e 93F82030 ldrb r3, [r3, #32]
  2530. 1255 0012 FB72 strb r3, [r7, #11]
  2531. 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2532. 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  2533. 1256 .loc 1 1224 6
  2534. 1257 0014 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  2535. 1258 0016 012B cmp r3, #1
  2536. 1259 0018 02D0 beq .L62
  2537. 1260 .loc 1 1224 38 discriminator 1
  2538. 1261 001a FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  2539. 1262 001c 022B cmp r3, #2
  2540. 1263 001e 08D1 bne .L63
  2541. 1264 .L62:
  2542. 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  2543. 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2544. 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check Sleep mode */
  2545. 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
  2546. 1265 .loc 1 1228 14
  2547. 1266 0020 7B68 ldr r3, [r7, #4]
  2548. 1267 0022 1B68 ldr r3, [r3]
  2549. 1268 .loc 1 1228 24
  2550. 1269 0024 5B68 ldr r3, [r3, #4]
  2551. 1270 .loc 1 1228 30
  2552. 1271 0026 03F00203 and r3, r3, #2
  2553. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 45
  2554. 1272 .loc 1 1228 8
  2555. 1273 002a 002B cmp r3, #0
  2556. 1274 002c 01D0 beq .L63
  2557. 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2558. 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** status = 1U;
  2559. 1275 .loc 1 1230 14
  2560. 1276 002e 0123 movs r3, #1
  2561. 1277 0030 FB60 str r3, [r7, #12]
  2562. 1278 .L63:
  2563. 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2564. 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2565. 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2566. 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  2567. 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return status;
  2568. 1279 .loc 1 1235 10
  2569. 1280 0032 FB68 ldr r3, [r7, #12]
  2570. 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2571. 1281 .loc 1 1236 1
  2572. 1282 0034 1846 mov r0, r3
  2573. 1283 0036 1437 adds r7, r7, #20
  2574. 1284 .LCFI53:
  2575. 1285 .cfi_def_cfa_offset 4
  2576. 1286 0038 BD46 mov sp, r7
  2577. 1287 .LCFI54:
  2578. 1288 .cfi_def_cfa_register 13
  2579. 1289 @ sp needed
  2580. 1290 003a 5DF8047B ldr r7, [sp], #4
  2581. 1291 .LCFI55:
  2582. 1292 .cfi_restore 7
  2583. 1293 .cfi_def_cfa_offset 0
  2584. 1294 003e 7047 bx lr
  2585. 1295 .cfi_endproc
  2586. 1296 .LFE244:
  2587. 1298 .section .text.HAL_CAN_AddTxMessage,"ax",%progbits
  2588. 1299 .align 1
  2589. 1300 .global HAL_CAN_AddTxMessage
  2590. 1301 .syntax unified
  2591. 1302 .thumb
  2592. 1303 .thumb_func
  2593. 1305 HAL_CAN_AddTxMessage:
  2594. 1306 .LFB245:
  2595. 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2596. 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  2597. 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Add a message to the first free Tx mailbox and activate the
  2598. 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * corresponding transmission request.
  2599. 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  2600. 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  2601. 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param pHeader pointer to a CAN_TxHeaderTypeDef structure.
  2602. 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param aData array containing the payload of the Tx frame.
  2603. 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param pTxMailbox pointer to a variable where the function will return
  2604. 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the TxMailbox used to store the Tx message.
  2605. 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * This parameter can be a value of @arg CAN_Tx_Mailboxes.
  2606. 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status
  2607. 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  2608. 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AddTxMessage(CAN_HandleTypeDef *hcan, CAN_TxHeaderTypeDef *pHeader, uint8
  2609. 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2610. 1307 .loc 1 1251 1
  2611. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 46
  2612. 1308 .cfi_startproc
  2613. 1309 @ args = 0, pretend = 0, frame = 32
  2614. 1310 @ frame_needed = 1, uses_anonymous_args = 0
  2615. 1311 @ link register save eliminated.
  2616. 1312 0000 80B4 push {r7}
  2617. 1313 .LCFI56:
  2618. 1314 .cfi_def_cfa_offset 4
  2619. 1315 .cfi_offset 7, -4
  2620. 1316 0002 89B0 sub sp, sp, #36
  2621. 1317 .LCFI57:
  2622. 1318 .cfi_def_cfa_offset 40
  2623. 1319 0004 00AF add r7, sp, #0
  2624. 1320 .LCFI58:
  2625. 1321 .cfi_def_cfa_register 7
  2626. 1322 0006 F860 str r0, [r7, #12]
  2627. 1323 0008 B960 str r1, [r7, #8]
  2628. 1324 000a 7A60 str r2, [r7, #4]
  2629. 1325 000c 3B60 str r3, [r7]
  2630. 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t transmitmailbox;
  2631. 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2632. 1326 .loc 1 1253 24
  2633. 1327 000e FB68 ldr r3, [r7, #12]
  2634. 1328 0010 93F82030 ldrb r3, [r3, #32]
  2635. 1329 0014 FB77 strb r3, [r7, #31]
  2636. 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t tsr = READ_REG(hcan->Instance->TSR);
  2637. 1330 .loc 1 1254 18
  2638. 1331 0016 FB68 ldr r3, [r7, #12]
  2639. 1332 0018 1B68 ldr r3, [r3]
  2640. 1333 .loc 1 1254 12
  2641. 1334 001a 9B68 ldr r3, [r3, #8]
  2642. 1335 001c BB61 str r3, [r7, #24]
  2643. 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2644. 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check the parameters */
  2645. 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_IDTYPE(pHeader->IDE));
  2646. 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_RTR(pHeader->RTR));
  2647. 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_DLC(pHeader->DLC));
  2648. 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  2649. 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2650. 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_STDID(pHeader->StdId));
  2651. 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2652. 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  2653. 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2654. 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_EXTID(pHeader->ExtId));
  2655. 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2656. 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(pHeader->TransmitGlobalTime));
  2657. 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2658. 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  2659. 1336 .loc 1 1270 6
  2660. 1337 001e FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
  2661. 1338 0020 012B cmp r3, #1
  2662. 1339 0022 03D0 beq .L66
  2663. 1340 .loc 1 1270 38 discriminator 1
  2664. 1341 0024 FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
  2665. 1342 0026 022B cmp r3, #2
  2666. 1343 0028 40F0B880 bne .L67
  2667. 1344 .L66:
  2668. 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  2669. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 47
  2670. 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2671. 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check that all the Tx mailboxes are not full */
  2672. 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (((tsr & CAN_TSR_TME0) != 0U) ||
  2673. 1345 .loc 1 1274 15
  2674. 1346 002c BB69 ldr r3, [r7, #24]
  2675. 1347 002e 03F08063 and r3, r3, #67108864
  2676. 1348 .loc 1 1274 8
  2677. 1349 0032 002B cmp r3, #0
  2678. 1350 0034 0AD1 bne .L68
  2679. 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
  2680. 1351 .loc 1 1275 15 discriminator 1
  2681. 1352 0036 BB69 ldr r3, [r7, #24]
  2682. 1353 0038 03F00063 and r3, r3, #134217728
  2683. 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
  2684. 1354 .loc 1 1274 38 discriminator 1
  2685. 1355 003c 002B cmp r3, #0
  2686. 1356 003e 05D1 bne .L68
  2687. 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((tsr & CAN_TSR_TME2) != 0U))
  2688. 1357 .loc 1 1276 15
  2689. 1358 0040 BB69 ldr r3, [r7, #24]
  2690. 1359 0042 03F08053 and r3, r3, #268435456
  2691. 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
  2692. 1360 .loc 1 1275 38
  2693. 1361 0046 002B cmp r3, #0
  2694. 1362 0048 00F0A080 beq .L69
  2695. 1363 .L68:
  2696. 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2697. 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Select an empty transmit mailbox */
  2698. 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** transmitmailbox = (tsr & CAN_TSR_CODE) >> CAN_TSR_CODE_Pos;
  2699. 1364 .loc 1 1279 46
  2700. 1365 004c BB69 ldr r3, [r7, #24]
  2701. 1366 004e 1B0E lsrs r3, r3, #24
  2702. 1367 .loc 1 1279 23
  2703. 1368 0050 03F00303 and r3, r3, #3
  2704. 1369 0054 7B61 str r3, [r7, #20]
  2705. 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2706. 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check transmit mailbox value */
  2707. 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (transmitmailbox > 2U)
  2708. 1370 .loc 1 1282 10
  2709. 1371 0056 7B69 ldr r3, [r7, #20]
  2710. 1372 0058 022B cmp r3, #2
  2711. 1373 005a 07D9 bls .L70
  2712. 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2713. 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  2714. 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INTERNAL;
  2715. 1374 .loc 1 1285 25
  2716. 1375 005c FB68 ldr r3, [r7, #12]
  2717. 1376 005e 5B6A ldr r3, [r3, #36]
  2718. 1377 0060 43F40002 orr r2, r3, #8388608
  2719. 1378 0064 FB68 ldr r3, [r7, #12]
  2720. 1379 0066 5A62 str r2, [r3, #36]
  2721. 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2722. 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  2723. 1380 .loc 1 1287 16
  2724. 1381 0068 0123 movs r3, #1
  2725. 1382 006a 9EE0 b .L71
  2726. 1383 .L70:
  2727. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 48
  2728. 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2729. 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2730. 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Store the Tx mailbox */
  2731. 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *pTxMailbox = (uint32_t)1 << transmitmailbox;
  2732. 1384 .loc 1 1291 33
  2733. 1385 006c 0122 movs r2, #1
  2734. 1386 006e 7B69 ldr r3, [r7, #20]
  2735. 1387 0070 9A40 lsls r2, r2, r3
  2736. 1388 .loc 1 1291 19
  2737. 1389 0072 3B68 ldr r3, [r7]
  2738. 1390 0074 1A60 str r2, [r3]
  2739. 1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2740. 1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set up the Id */
  2741. 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  2742. 1391 .loc 1 1294 18
  2743. 1392 0076 BB68 ldr r3, [r7, #8]
  2744. 1393 0078 9B68 ldr r3, [r3, #8]
  2745. 1394 .loc 1 1294 10
  2746. 1395 007a 002B cmp r3, #0
  2747. 1396 007c 0DD1 bne .L72
  2748. 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2749. 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->StdId << CAN_TI0R_STID_Pos) |
  2750. 1397 .loc 1 1296 68
  2751. 1398 007e BB68 ldr r3, [r7, #8]
  2752. 1399 0080 1B68 ldr r3, [r3]
  2753. 1400 .loc 1 1296 76
  2754. 1401 0082 5A05 lsls r2, r3, #21
  2755. 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->RTR);
  2756. 1402 .loc 1 1297 67
  2757. 1403 0084 BB68 ldr r3, [r7, #8]
  2758. 1404 0086 DB68 ldr r3, [r3, #12]
  2759. 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->RTR);
  2760. 1405 .loc 1 1296 13
  2761. 1406 0088 F968 ldr r1, [r7, #12]
  2762. 1407 008a 0968 ldr r1, [r1]
  2763. 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->RTR);
  2764. 1408 .loc 1 1296 98
  2765. 1409 008c 1A43 orrs r2, r2, r3
  2766. 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->RTR);
  2767. 1410 .loc 1 1296 57
  2768. 1411 008e 7B69 ldr r3, [r7, #20]
  2769. 1412 0090 1833 adds r3, r3, #24
  2770. 1413 0092 1B01 lsls r3, r3, #4
  2771. 1414 0094 0B44 add r3, r3, r1
  2772. 1415 0096 1A60 str r2, [r3]
  2773. 1416 0098 0FE0 b .L73
  2774. 1417 .L72:
  2775. 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2776. 1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  2777. 1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2778. 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->ExtId << CAN_TI0R_EXID_Pos) |
  2779. 1418 .loc 1 1301 68
  2780. 1419 009a BB68 ldr r3, [r7, #8]
  2781. 1420 009c 5B68 ldr r3, [r3, #4]
  2782. 1421 .loc 1 1301 76
  2783. 1422 009e DA00 lsls r2, r3, #3
  2784. 1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->IDE |
  2785. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 49
  2786. 1423 .loc 1 1302 67
  2787. 1424 00a0 BB68 ldr r3, [r7, #8]
  2788. 1425 00a2 9B68 ldr r3, [r3, #8]
  2789. 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->IDE |
  2790. 1426 .loc 1 1301 98
  2791. 1427 00a4 1A43 orrs r2, r2, r3
  2792. 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->RTR);
  2793. 1428 .loc 1 1303 67
  2794. 1429 00a6 BB68 ldr r3, [r7, #8]
  2795. 1430 00a8 DB68 ldr r3, [r3, #12]
  2796. 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->IDE |
  2797. 1431 .loc 1 1301 13
  2798. 1432 00aa F968 ldr r1, [r7, #12]
  2799. 1433 00ac 0968 ldr r1, [r1]
  2800. 1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->IDE |
  2801. 1434 .loc 1 1302 73
  2802. 1435 00ae 1A43 orrs r2, r2, r3
  2803. 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->IDE |
  2804. 1436 .loc 1 1301 57
  2805. 1437 00b0 7B69 ldr r3, [r7, #20]
  2806. 1438 00b2 1833 adds r3, r3, #24
  2807. 1439 00b4 1B01 lsls r3, r3, #4
  2808. 1440 00b6 0B44 add r3, r3, r1
  2809. 1441 00b8 1A60 str r2, [r3]
  2810. 1442 .L73:
  2811. 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2812. 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2813. 1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set up the DLC */
  2814. 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TDTR = (pHeader->DLC);
  2815. 1443 .loc 1 1307 11
  2816. 1444 00ba FB68 ldr r3, [r7, #12]
  2817. 1445 00bc 1968 ldr r1, [r3]
  2818. 1446 .loc 1 1307 66
  2819. 1447 00be BB68 ldr r3, [r7, #8]
  2820. 1448 00c0 1A69 ldr r2, [r3, #16]
  2821. 1449 .loc 1 1307 56
  2822. 1450 00c2 7B69 ldr r3, [r7, #20]
  2823. 1451 00c4 1833 adds r3, r3, #24
  2824. 1452 00c6 1B01 lsls r3, r3, #4
  2825. 1453 00c8 0B44 add r3, r3, r1
  2826. 1454 00ca 0433 adds r3, r3, #4
  2827. 1455 00cc 1A60 str r2, [r3]
  2828. 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2829. 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set up the Transmit Global Time mode */
  2830. 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (pHeader->TransmitGlobalTime == ENABLE)
  2831. 1456 .loc 1 1310 18
  2832. 1457 00ce BB68 ldr r3, [r7, #8]
  2833. 1458 00d0 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2
  2834. 1459 .loc 1 1310 10
  2835. 1460 00d2 012B cmp r3, #1
  2836. 1461 00d4 11D1 bne .L74
  2837. 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2838. 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TDTR, CAN_TDT0R_TGT);
  2839. 1462 .loc 1 1312 9
  2840. 1463 00d6 FB68 ldr r3, [r7, #12]
  2841. 1464 00d8 1A68 ldr r2, [r3]
  2842. 1465 00da 7B69 ldr r3, [r7, #20]
  2843. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 50
  2844. 1466 00dc 1833 adds r3, r3, #24
  2845. 1467 00de 1B01 lsls r3, r3, #4
  2846. 1468 00e0 1344 add r3, r3, r2
  2847. 1469 00e2 0433 adds r3, r3, #4
  2848. 1470 00e4 1B68 ldr r3, [r3]
  2849. 1471 00e6 FA68 ldr r2, [r7, #12]
  2850. 1472 00e8 1168 ldr r1, [r2]
  2851. 1473 00ea 43F48072 orr r2, r3, #256
  2852. 1474 00ee 7B69 ldr r3, [r7, #20]
  2853. 1475 00f0 1833 adds r3, r3, #24
  2854. 1476 00f2 1B01 lsls r3, r3, #4
  2855. 1477 00f4 0B44 add r3, r3, r1
  2856. 1478 00f6 0433 adds r3, r3, #4
  2857. 1479 00f8 1A60 str r2, [r3]
  2858. 1480 .L74:
  2859. 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2860. 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2861. 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set up the data field */
  2862. 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDHR,
  2863. 1481 .loc 1 1316 7
  2864. 1482 00fa 7B68 ldr r3, [r7, #4]
  2865. 1483 00fc 0733 adds r3, r3, #7
  2866. 1484 00fe 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2867. 1485 0100 1A06 lsls r2, r3, #24
  2868. 1486 0102 7B68 ldr r3, [r7, #4]
  2869. 1487 0104 0633 adds r3, r3, #6
  2870. 1488 0106 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2871. 1489 0108 1B04 lsls r3, r3, #16
  2872. 1490 010a 1A43 orrs r2, r2, r3
  2873. 1491 010c 7B68 ldr r3, [r7, #4]
  2874. 1492 010e 0533 adds r3, r3, #5
  2875. 1493 0110 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2876. 1494 0112 1B02 lsls r3, r3, #8
  2877. 1495 0114 1343 orrs r3, r3, r2
  2878. 1496 0116 7A68 ldr r2, [r7, #4]
  2879. 1497 0118 0432 adds r2, r2, #4
  2880. 1498 011a 1278 ldrb r2, [r2] @ zero_extendqisi2
  2881. 1499 011c 1046 mov r0, r2
  2882. 1500 011e FA68 ldr r2, [r7, #12]
  2883. 1501 0120 1168 ldr r1, [r2]
  2884. 1502 0122 43EA0002 orr r2, r3, r0
  2885. 1503 0126 7B69 ldr r3, [r7, #20]
  2886. 1504 0128 1B01 lsls r3, r3, #4
  2887. 1505 012a 0B44 add r3, r3, r1
  2888. 1506 012c 03F5C673 add r3, r3, #396
  2889. 1507 0130 1A60 str r2, [r3]
  2890. 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((uint32_t)aData[7] << CAN_TDH0R_DATA7_Pos) |
  2891. 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((uint32_t)aData[6] << CAN_TDH0R_DATA6_Pos) |
  2892. 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((uint32_t)aData[5] << CAN_TDH0R_DATA5_Pos) |
  2893. 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((uint32_t)aData[4] << CAN_TDH0R_DATA4_Pos));
  2894. 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDLR,
  2895. 1508 .loc 1 1321 7
  2896. 1509 0132 7B68 ldr r3, [r7, #4]
  2897. 1510 0134 0333 adds r3, r3, #3
  2898. 1511 0136 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2899. 1512 0138 1A06 lsls r2, r3, #24
  2900. 1513 013a 7B68 ldr r3, [r7, #4]
  2901. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 51
  2902. 1514 013c 0233 adds r3, r3, #2
  2903. 1515 013e 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2904. 1516 0140 1B04 lsls r3, r3, #16
  2905. 1517 0142 1A43 orrs r2, r2, r3
  2906. 1518 0144 7B68 ldr r3, [r7, #4]
  2907. 1519 0146 0133 adds r3, r3, #1
  2908. 1520 0148 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2909. 1521 014a 1B02 lsls r3, r3, #8
  2910. 1522 014c 1343 orrs r3, r3, r2
  2911. 1523 014e 7A68 ldr r2, [r7, #4]
  2912. 1524 0150 1278 ldrb r2, [r2] @ zero_extendqisi2
  2913. 1525 0152 1046 mov r0, r2
  2914. 1526 0154 FA68 ldr r2, [r7, #12]
  2915. 1527 0156 1168 ldr r1, [r2]
  2916. 1528 0158 43EA0002 orr r2, r3, r0
  2917. 1529 015c 7B69 ldr r3, [r7, #20]
  2918. 1530 015e 1B01 lsls r3, r3, #4
  2919. 1531 0160 0B44 add r3, r3, r1
  2920. 1532 0162 03F5C473 add r3, r3, #392
  2921. 1533 0166 1A60 str r2, [r3]
  2922. 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((uint32_t)aData[3] << CAN_TDL0R_DATA3_Pos) |
  2923. 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((uint32_t)aData[2] << CAN_TDL0R_DATA2_Pos) |
  2924. 1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((uint32_t)aData[1] << CAN_TDL0R_DATA1_Pos) |
  2925. 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((uint32_t)aData[0] << CAN_TDL0R_DATA0_Pos));
  2926. 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2927. 1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Request transmission */
  2928. 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TIR, CAN_TI0R_TXRQ);
  2929. 1534 .loc 1 1328 7
  2930. 1535 0168 FB68 ldr r3, [r7, #12]
  2931. 1536 016a 1A68 ldr r2, [r3]
  2932. 1537 016c 7B69 ldr r3, [r7, #20]
  2933. 1538 016e 1833 adds r3, r3, #24
  2934. 1539 0170 1B01 lsls r3, r3, #4
  2935. 1540 0172 1344 add r3, r3, r2
  2936. 1541 0174 1B68 ldr r3, [r3]
  2937. 1542 0176 FA68 ldr r2, [r7, #12]
  2938. 1543 0178 1168 ldr r1, [r2]
  2939. 1544 017a 43F00102 orr r2, r3, #1
  2940. 1545 017e 7B69 ldr r3, [r7, #20]
  2941. 1546 0180 1833 adds r3, r3, #24
  2942. 1547 0182 1B01 lsls r3, r3, #4
  2943. 1548 0184 0B44 add r3, r3, r1
  2944. 1549 0186 1A60 str r2, [r3]
  2945. 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2946. 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  2947. 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_OK;
  2948. 1550 .loc 1 1331 14
  2949. 1551 0188 0023 movs r3, #0
  2950. 1552 018a 0EE0 b .L71
  2951. 1553 .L69:
  2952. 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2953. 1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  2954. 1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2955. 1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  2956. 1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
  2957. 1554 .loc 1 1336 23
  2958. 1555 018c FB68 ldr r3, [r7, #12]
  2959. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 52
  2960. 1556 018e 5B6A ldr r3, [r3, #36]
  2961. 1557 0190 43F40012 orr r2, r3, #2097152
  2962. 1558 0194 FB68 ldr r3, [r7, #12]
  2963. 1559 0196 5A62 str r2, [r3, #36]
  2964. 1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2965. 1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  2966. 1560 .loc 1 1338 14
  2967. 1561 0198 0123 movs r3, #1
  2968. 1562 019a 06E0 b .L71
  2969. 1563 .L67:
  2970. 1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2971. 1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2972. 1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  2973. 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  2974. 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  2975. 1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  2976. 1564 .loc 1 1344 21
  2977. 1565 019c FB68 ldr r3, [r7, #12]
  2978. 1566 019e 5B6A ldr r3, [r3, #36]
  2979. 1567 01a0 43F48022 orr r2, r3, #262144
  2980. 1568 01a4 FB68 ldr r3, [r7, #12]
  2981. 1569 01a6 5A62 str r2, [r3, #36]
  2982. 1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  2983. 1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  2984. 1570 .loc 1 1346 12
  2985. 1571 01a8 0123 movs r3, #1
  2986. 1572 .L71:
  2987. 1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2988. 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  2989. 1573 .loc 1 1348 1
  2990. 1574 01aa 1846 mov r0, r3
  2991. 1575 01ac 2437 adds r7, r7, #36
  2992. 1576 .LCFI59:
  2993. 1577 .cfi_def_cfa_offset 4
  2994. 1578 01ae BD46 mov sp, r7
  2995. 1579 .LCFI60:
  2996. 1580 .cfi_def_cfa_register 13
  2997. 1581 @ sp needed
  2998. 1582 01b0 5DF8047B ldr r7, [sp], #4
  2999. 1583 .LCFI61:
  3000. 1584 .cfi_restore 7
  3001. 1585 .cfi_def_cfa_offset 0
  3002. 1586 01b4 7047 bx lr
  3003. 1587 .cfi_endproc
  3004. 1588 .LFE245:
  3005. 1590 .section .text.HAL_CAN_AbortTxRequest,"ax",%progbits
  3006. 1591 .align 1
  3007. 1592 .global HAL_CAN_AbortTxRequest
  3008. 1593 .syntax unified
  3009. 1594 .thumb
  3010. 1595 .thumb_func
  3011. 1597 HAL_CAN_AbortTxRequest:
  3012. 1598 .LFB246:
  3013. 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3014. 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  3015. 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Abort transmission requests
  3016. 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  3017. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 53
  3018. 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  3019. 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param TxMailboxes List of the Tx Mailboxes to abort.
  3020. 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Tx_Mailboxes.
  3021. 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status
  3022. 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  3023. 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AbortTxRequest(CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
  3024. 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3025. 1599 .loc 1 1359 1
  3026. 1600 .cfi_startproc
  3027. 1601 @ args = 0, pretend = 0, frame = 16
  3028. 1602 @ frame_needed = 1, uses_anonymous_args = 0
  3029. 1603 @ link register save eliminated.
  3030. 1604 0000 80B4 push {r7}
  3031. 1605 .LCFI62:
  3032. 1606 .cfi_def_cfa_offset 4
  3033. 1607 .cfi_offset 7, -4
  3034. 1608 0002 85B0 sub sp, sp, #20
  3035. 1609 .LCFI63:
  3036. 1610 .cfi_def_cfa_offset 24
  3037. 1611 0004 00AF add r7, sp, #0
  3038. 1612 .LCFI64:
  3039. 1613 .cfi_def_cfa_register 7
  3040. 1614 0006 7860 str r0, [r7, #4]
  3041. 1615 0008 3960 str r1, [r7]
  3042. 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3043. 1616 .loc 1 1360 24
  3044. 1617 000a 7B68 ldr r3, [r7, #4]
  3045. 1618 000c 93F82030 ldrb r3, [r3, #32]
  3046. 1619 0010 FB73 strb r3, [r7, #15]
  3047. 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3048. 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check function parameters */
  3049. 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
  3050. 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3051. 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3052. 1620 .loc 1 1365 6
  3053. 1621 0012 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  3054. 1622 0014 012B cmp r3, #1
  3055. 1623 0016 02D0 beq .L76
  3056. 1624 .loc 1 1365 38 discriminator 1
  3057. 1625 0018 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  3058. 1626 001a 022B cmp r3, #2
  3059. 1627 001c 28D1 bne .L77
  3060. 1628 .L76:
  3061. 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3062. 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3063. 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check Tx Mailbox 0 */
  3064. 1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX0) != 0U)
  3065. 1629 .loc 1 1369 22
  3066. 1630 001e 3B68 ldr r3, [r7]
  3067. 1631 0020 03F00103 and r3, r3, #1
  3068. 1632 .loc 1 1369 8
  3069. 1633 0024 002B cmp r3, #0
  3070. 1634 0026 07D0 beq .L78
  3071. 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3072. 1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 0 */
  3073. 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ0);
  3074. 1635 .loc 1 1372 7
  3075. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 54
  3076. 1636 0028 7B68 ldr r3, [r7, #4]
  3077. 1637 002a 1B68 ldr r3, [r3]
  3078. 1638 002c 9A68 ldr r2, [r3, #8]
  3079. 1639 002e 7B68 ldr r3, [r7, #4]
  3080. 1640 0030 1B68 ldr r3, [r3]
  3081. 1641 0032 42F08002 orr r2, r2, #128
  3082. 1642 0036 9A60 str r2, [r3, #8]
  3083. 1643 .L78:
  3084. 1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3085. 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3086. 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check Tx Mailbox 1 */
  3087. 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX1) != 0U)
  3088. 1644 .loc 1 1376 22
  3089. 1645 0038 3B68 ldr r3, [r7]
  3090. 1646 003a 03F00203 and r3, r3, #2
  3091. 1647 .loc 1 1376 8
  3092. 1648 003e 002B cmp r3, #0
  3093. 1649 0040 07D0 beq .L79
  3094. 1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3095. 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 1 */
  3096. 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ1);
  3097. 1650 .loc 1 1379 7
  3098. 1651 0042 7B68 ldr r3, [r7, #4]
  3099. 1652 0044 1B68 ldr r3, [r3]
  3100. 1653 0046 9A68 ldr r2, [r3, #8]
  3101. 1654 0048 7B68 ldr r3, [r7, #4]
  3102. 1655 004a 1B68 ldr r3, [r3]
  3103. 1656 004c 42F40042 orr r2, r2, #32768
  3104. 1657 0050 9A60 str r2, [r3, #8]
  3105. 1658 .L79:
  3106. 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3107. 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3108. 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check Tx Mailbox 2 */
  3109. 1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX2) != 0U)
  3110. 1659 .loc 1 1383 22
  3111. 1660 0052 3B68 ldr r3, [r7]
  3112. 1661 0054 03F00403 and r3, r3, #4
  3113. 1662 .loc 1 1383 8
  3114. 1663 0058 002B cmp r3, #0
  3115. 1664 005a 07D0 beq .L80
  3116. 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3117. 1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 2 */
  3118. 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ2);
  3119. 1665 .loc 1 1386 7
  3120. 1666 005c 7B68 ldr r3, [r7, #4]
  3121. 1667 005e 1B68 ldr r3, [r3]
  3122. 1668 0060 9A68 ldr r2, [r3, #8]
  3123. 1669 0062 7B68 ldr r3, [r7, #4]
  3124. 1670 0064 1B68 ldr r3, [r3]
  3125. 1671 0066 42F40002 orr r2, r2, #8388608
  3126. 1672 006a 9A60 str r2, [r3, #8]
  3127. 1673 .L80:
  3128. 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3129. 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3130. 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  3131. 1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_OK;
  3132. 1674 .loc 1 1390 12
  3133. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 55
  3134. 1675 006c 0023 movs r3, #0
  3135. 1676 006e 06E0 b .L81
  3136. 1677 .L77:
  3137. 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3138. 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  3139. 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3140. 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  3141. 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  3142. 1678 .loc 1 1395 21
  3143. 1679 0070 7B68 ldr r3, [r7, #4]
  3144. 1680 0072 5B6A ldr r3, [r3, #36]
  3145. 1681 0074 43F48022 orr r2, r3, #262144
  3146. 1682 0078 7B68 ldr r3, [r7, #4]
  3147. 1683 007a 5A62 str r2, [r3, #36]
  3148. 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3149. 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  3150. 1684 .loc 1 1397 12
  3151. 1685 007c 0123 movs r3, #1
  3152. 1686 .L81:
  3153. 1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3154. 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3155. 1687 .loc 1 1399 1
  3156. 1688 007e 1846 mov r0, r3
  3157. 1689 0080 1437 adds r7, r7, #20
  3158. 1690 .LCFI65:
  3159. 1691 .cfi_def_cfa_offset 4
  3160. 1692 0082 BD46 mov sp, r7
  3161. 1693 .LCFI66:
  3162. 1694 .cfi_def_cfa_register 13
  3163. 1695 @ sp needed
  3164. 1696 0084 5DF8047B ldr r7, [sp], #4
  3165. 1697 .LCFI67:
  3166. 1698 .cfi_restore 7
  3167. 1699 .cfi_def_cfa_offset 0
  3168. 1700 0088 7047 bx lr
  3169. 1701 .cfi_endproc
  3170. 1702 .LFE246:
  3171. 1704 .section .text.HAL_CAN_GetTxMailboxesFreeLevel,"ax",%progbits
  3172. 1705 .align 1
  3173. 1706 .global HAL_CAN_GetTxMailboxesFreeLevel
  3174. 1707 .syntax unified
  3175. 1708 .thumb
  3176. 1709 .thumb_func
  3177. 1711 HAL_CAN_GetTxMailboxesFreeLevel:
  3178. 1712 .LFB247:
  3179. 1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3180. 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  3181. 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Return Tx Mailboxes free level: number of free Tx Mailboxes.
  3182. 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  3183. 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  3184. 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval Number of free Tx Mailboxes.
  3185. 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  3186. 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t HAL_CAN_GetTxMailboxesFreeLevel(CAN_HandleTypeDef *hcan)
  3187. 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3188. 1713 .loc 1 1408 1
  3189. 1714 .cfi_startproc
  3190. 1715 @ args = 0, pretend = 0, frame = 16
  3191. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 56
  3192. 1716 @ frame_needed = 1, uses_anonymous_args = 0
  3193. 1717 @ link register save eliminated.
  3194. 1718 0000 80B4 push {r7}
  3195. 1719 .LCFI68:
  3196. 1720 .cfi_def_cfa_offset 4
  3197. 1721 .cfi_offset 7, -4
  3198. 1722 0002 85B0 sub sp, sp, #20
  3199. 1723 .LCFI69:
  3200. 1724 .cfi_def_cfa_offset 24
  3201. 1725 0004 00AF add r7, sp, #0
  3202. 1726 .LCFI70:
  3203. 1727 .cfi_def_cfa_register 7
  3204. 1728 0006 7860 str r0, [r7, #4]
  3205. 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t freelevel = 0U;
  3206. 1729 .loc 1 1409 12
  3207. 1730 0008 0023 movs r3, #0
  3208. 1731 000a FB60 str r3, [r7, #12]
  3209. 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3210. 1732 .loc 1 1410 24
  3211. 1733 000c 7B68 ldr r3, [r7, #4]
  3212. 1734 000e 93F82030 ldrb r3, [r3, #32]
  3213. 1735 0012 FB72 strb r3, [r7, #11]
  3214. 1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3215. 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3216. 1736 .loc 1 1412 6
  3217. 1737 0014 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  3218. 1738 0016 012B cmp r3, #1
  3219. 1739 0018 02D0 beq .L83
  3220. 1740 .loc 1 1412 38 discriminator 1
  3221. 1741 001a FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  3222. 1742 001c 022B cmp r3, #2
  3223. 1743 001e 1DD1 bne .L84
  3224. 1744 .L83:
  3225. 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3226. 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3227. 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check Tx Mailbox 0 status */
  3228. 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME0) != 0U)
  3229. 1745 .loc 1 1416 14
  3230. 1746 0020 7B68 ldr r3, [r7, #4]
  3231. 1747 0022 1B68 ldr r3, [r3]
  3232. 1748 .loc 1 1416 24
  3233. 1749 0024 9B68 ldr r3, [r3, #8]
  3234. 1750 .loc 1 1416 30
  3235. 1751 0026 03F08063 and r3, r3, #67108864
  3236. 1752 .loc 1 1416 8
  3237. 1753 002a 002B cmp r3, #0
  3238. 1754 002c 02D0 beq .L85
  3239. 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3240. 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** freelevel++;
  3241. 1755 .loc 1 1418 16
  3242. 1756 002e FB68 ldr r3, [r7, #12]
  3243. 1757 0030 0133 adds r3, r3, #1
  3244. 1758 0032 FB60 str r3, [r7, #12]
  3245. 1759 .L85:
  3246. 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3247. 1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3248. 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check Tx Mailbox 1 status */
  3249. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 57
  3250. 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME1) != 0U)
  3251. 1760 .loc 1 1422 14
  3252. 1761 0034 7B68 ldr r3, [r7, #4]
  3253. 1762 0036 1B68 ldr r3, [r3]
  3254. 1763 .loc 1 1422 24
  3255. 1764 0038 9B68 ldr r3, [r3, #8]
  3256. 1765 .loc 1 1422 30
  3257. 1766 003a 03F00063 and r3, r3, #134217728
  3258. 1767 .loc 1 1422 8
  3259. 1768 003e 002B cmp r3, #0
  3260. 1769 0040 02D0 beq .L86
  3261. 1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3262. 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** freelevel++;
  3263. 1770 .loc 1 1424 16
  3264. 1771 0042 FB68 ldr r3, [r7, #12]
  3265. 1772 0044 0133 adds r3, r3, #1
  3266. 1773 0046 FB60 str r3, [r7, #12]
  3267. 1774 .L86:
  3268. 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3269. 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3270. 1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check Tx Mailbox 2 status */
  3271. 1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME2) != 0U)
  3272. 1775 .loc 1 1428 14
  3273. 1776 0048 7B68 ldr r3, [r7, #4]
  3274. 1777 004a 1B68 ldr r3, [r3]
  3275. 1778 .loc 1 1428 24
  3276. 1779 004c 9B68 ldr r3, [r3, #8]
  3277. 1780 .loc 1 1428 30
  3278. 1781 004e 03F08053 and r3, r3, #268435456
  3279. 1782 .loc 1 1428 8
  3280. 1783 0052 002B cmp r3, #0
  3281. 1784 0054 02D0 beq .L84
  3282. 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3283. 1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** freelevel++;
  3284. 1785 .loc 1 1430 16
  3285. 1786 0056 FB68 ldr r3, [r7, #12]
  3286. 1787 0058 0133 adds r3, r3, #1
  3287. 1788 005a FB60 str r3, [r7, #12]
  3288. 1789 .L84:
  3289. 1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3290. 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3291. 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3292. 1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return Tx Mailboxes free level */
  3293. 1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return freelevel;
  3294. 1790 .loc 1 1435 10
  3295. 1791 005c FB68 ldr r3, [r7, #12]
  3296. 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3297. 1792 .loc 1 1436 1
  3298. 1793 005e 1846 mov r0, r3
  3299. 1794 0060 1437 adds r7, r7, #20
  3300. 1795 .LCFI71:
  3301. 1796 .cfi_def_cfa_offset 4
  3302. 1797 0062 BD46 mov sp, r7
  3303. 1798 .LCFI72:
  3304. 1799 .cfi_def_cfa_register 13
  3305. 1800 @ sp needed
  3306. 1801 0064 5DF8047B ldr r7, [sp], #4
  3307. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 58
  3308. 1802 .LCFI73:
  3309. 1803 .cfi_restore 7
  3310. 1804 .cfi_def_cfa_offset 0
  3311. 1805 0068 7047 bx lr
  3312. 1806 .cfi_endproc
  3313. 1807 .LFE247:
  3314. 1809 .section .text.HAL_CAN_IsTxMessagePending,"ax",%progbits
  3315. 1810 .align 1
  3316. 1811 .global HAL_CAN_IsTxMessagePending
  3317. 1812 .syntax unified
  3318. 1813 .thumb
  3319. 1814 .thumb_func
  3320. 1816 HAL_CAN_IsTxMessagePending:
  3321. 1817 .LFB248:
  3322. 1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3323. 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  3324. 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Check if a transmission request is pending on the selected Tx
  3325. 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * Mailboxes.
  3326. 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  3327. 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  3328. 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param TxMailboxes List of Tx Mailboxes to check.
  3329. 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Tx_Mailboxes.
  3330. 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval Status
  3331. 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * - 0 : No pending transmission request on any selected Tx Mailboxes.
  3332. 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * - 1 : Pending transmission request on at least one of the selected
  3333. 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * Tx Mailbox.
  3334. 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  3335. 1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t HAL_CAN_IsTxMessagePending(CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
  3336. 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3337. 1818 .loc 1 1451 1
  3338. 1819 .cfi_startproc
  3339. 1820 @ args = 0, pretend = 0, frame = 16
  3340. 1821 @ frame_needed = 1, uses_anonymous_args = 0
  3341. 1822 @ link register save eliminated.
  3342. 1823 0000 80B4 push {r7}
  3343. 1824 .LCFI74:
  3344. 1825 .cfi_def_cfa_offset 4
  3345. 1826 .cfi_offset 7, -4
  3346. 1827 0002 85B0 sub sp, sp, #20
  3347. 1828 .LCFI75:
  3348. 1829 .cfi_def_cfa_offset 24
  3349. 1830 0004 00AF add r7, sp, #0
  3350. 1831 .LCFI76:
  3351. 1832 .cfi_def_cfa_register 7
  3352. 1833 0006 7860 str r0, [r7, #4]
  3353. 1834 0008 3960 str r1, [r7]
  3354. 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t status = 0U;
  3355. 1835 .loc 1 1452 12
  3356. 1836 000a 0023 movs r3, #0
  3357. 1837 000c FB60 str r3, [r7, #12]
  3358. 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3359. 1838 .loc 1 1453 24
  3360. 1839 000e 7B68 ldr r3, [r7, #4]
  3361. 1840 0010 93F82030 ldrb r3, [r3, #32]
  3362. 1841 0014 FB72 strb r3, [r7, #11]
  3363. 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3364. 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check function parameters */
  3365. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 59
  3366. 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
  3367. 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3368. 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3369. 1842 .loc 1 1458 6
  3370. 1843 0016 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  3371. 1844 0018 012B cmp r3, #1
  3372. 1845 001a 02D0 beq .L89
  3373. 1846 .loc 1 1458 38 discriminator 1
  3374. 1847 001c FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  3375. 1848 001e 022B cmp r3, #2
  3376. 1849 0020 0BD1 bne .L90
  3377. 1850 .L89:
  3378. 1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3379. 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3380. 1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check pending transmission request on the selected Tx Mailboxes */
  3381. 1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((hcan->Instance->TSR & (TxMailboxes << CAN_TSR_TME0_Pos)) != (TxMailboxes << CAN_TSR_TME0_P
  3382. 1851 .loc 1 1462 14
  3383. 1852 0022 7B68 ldr r3, [r7, #4]
  3384. 1853 0024 1B68 ldr r3, [r3]
  3385. 1854 .loc 1 1462 24
  3386. 1855 0026 9A68 ldr r2, [r3, #8]
  3387. 1856 .loc 1 1462 45
  3388. 1857 0028 3B68 ldr r3, [r7]
  3389. 1858 002a 9B06 lsls r3, r3, #26
  3390. 1859 .loc 1 1462 30
  3391. 1860 002c 1A40 ands r2, r2, r3
  3392. 1861 .loc 1 1462 83
  3393. 1862 002e 3B68 ldr r3, [r7]
  3394. 1863 0030 9B06 lsls r3, r3, #26
  3395. 1864 .loc 1 1462 8
  3396. 1865 0032 9A42 cmp r2, r3
  3397. 1866 0034 01D0 beq .L90
  3398. 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3399. 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** status = 1U;
  3400. 1867 .loc 1 1464 14
  3401. 1868 0036 0123 movs r3, #1
  3402. 1869 0038 FB60 str r3, [r7, #12]
  3403. 1870 .L90:
  3404. 1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3405. 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3406. 1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3407. 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return status */
  3408. 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return status;
  3409. 1871 .loc 1 1469 10
  3410. 1872 003a FB68 ldr r3, [r7, #12]
  3411. 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  3412. 1873 .loc 1 1470 1
  3413. 1874 003c 1846 mov r0, r3
  3414. 1875 003e 1437 adds r7, r7, #20
  3415. 1876 .LCFI77:
  3416. 1877 .cfi_def_cfa_offset 4
  3417. 1878 0040 BD46 mov sp, r7
  3418. 1879 .LCFI78:
  3419. 1880 .cfi_def_cfa_register 13
  3420. 1881 @ sp needed
  3421. 1882 0042 5DF8047B ldr r7, [sp], #4
  3422. 1883 .LCFI79:
  3423. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 60
  3424. 1884 .cfi_restore 7
  3425. 1885 .cfi_def_cfa_offset 0
  3426. 1886 0046 7047 bx lr
  3427. 1887 .cfi_endproc
  3428. 1888 .LFE248:
  3429. 1890 .section .text.HAL_CAN_GetTxTimestamp,"ax",%progbits
  3430. 1891 .align 1
  3431. 1892 .global HAL_CAN_GetTxTimestamp
  3432. 1893 .syntax unified
  3433. 1894 .thumb
  3434. 1895 .thumb_func
  3435. 1897 HAL_CAN_GetTxTimestamp:
  3436. 1898 .LFB249:
  3437. 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3438. 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  3439. 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Return timestamp of Tx message sent, if time triggered communication
  3440. 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** mode is enabled.
  3441. 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  3442. 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  3443. 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param TxMailbox Tx Mailbox where the timestamp of message sent will be
  3444. 1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * read.
  3445. 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * This parameter can be one value of @arg CAN_Tx_Mailboxes.
  3446. 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval Timestamp of message sent from Tx Mailbox.
  3447. 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  3448. 1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t HAL_CAN_GetTxTimestamp(CAN_HandleTypeDef *hcan, uint32_t TxMailbox)
  3449. 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  3450. 1899 .loc 1 1483 1
  3451. 1900 .cfi_startproc
  3452. 1901 @ args = 0, pretend = 0, frame = 32
  3453. 1902 @ frame_needed = 1, uses_anonymous_args = 0
  3454. 1903 @ link register save eliminated.
  3455. 1904 0000 80B4 push {r7}
  3456. 1905 .LCFI80:
  3457. 1906 .cfi_def_cfa_offset 4
  3458. 1907 .cfi_offset 7, -4
  3459. 1908 0002 89B0 sub sp, sp, #36
  3460. 1909 .LCFI81:
  3461. 1910 .cfi_def_cfa_offset 40
  3462. 1911 0004 00AF add r7, sp, #0
  3463. 1912 .LCFI82:
  3464. 1913 .cfi_def_cfa_register 7
  3465. 1914 0006 7860 str r0, [r7, #4]
  3466. 1915 0008 3960 str r1, [r7]
  3467. 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t timestamp = 0U;
  3468. 1916 .loc 1 1484 12
  3469. 1917 000a 0023 movs r3, #0
  3470. 1918 000c FB61 str r3, [r7, #28]
  3471. 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t transmitmailbox;
  3472. 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3473. 1919 .loc 1 1486 24
  3474. 1920 000e 7B68 ldr r3, [r7, #4]
  3475. 1921 0010 93F82030 ldrb r3, [r3, #32]
  3476. 1922 0014 FB76 strb r3, [r7, #27]
  3477. 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3478. 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check function parameters */
  3479. 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX(TxMailbox));
  3480. 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  3481. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 61
  3482. 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3483. 1923 .loc 1 1491 6
  3484. 1924 0016 FB7E ldrb r3, [r7, #27] @ zero_extendqisi2
  3485. 1925 0018 012B cmp r3, #1
  3486. 1926 001a 02D0 beq .L93
  3487. 1927 .loc 1 1491 38 discriminator 1
  3488. 1928 001c FB7E ldrb r3, [r7, #27] @ zero_extendqisi2
  3489. 1929 001e 022B cmp r3, #2
  3490. 1930 0020 15D1 bne .L94
  3491. 1931 .L93:
  3492. 1932 0022 3B68 ldr r3, [r7]
  3493. 1933 0024 3B61 str r3, [r7, #16]
  3494. 1934 .LBB4:
  3495. 1935 .LBB5:
  3496. 1936 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
  3497. 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
  3498. 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
  3499. 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
  3500. 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
  3501. 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
  3502. 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
  3503. 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
  3504. 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
  3505. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3506. 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
  3507. 11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3508. 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
  3509. 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
  3510. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
  3511. 15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3512. 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
  3513. 17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3514. 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
  3515. 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  3516. 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3517. 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
  3518. 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
  3519. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3520. 24:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3521. 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  3522. 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
  3523. 27:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3524. 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
  3525. 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3526. 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  3527. 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  3528. 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  3529. 33:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3530. 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
  3531. 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
  3532. 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
  3533. 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3534. 38:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3535. 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
  3536. 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
  3537. 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
  3538. 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3539. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 62
  3540. 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
  3541. 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
  3542. 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3543. 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
  3544. 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
  3545. 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3546. 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
  3547. 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
  3548. 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3549. 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
  3550. 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
  3551. 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3552. 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
  3553. 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
  3554. 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3555. 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
  3556. 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
  3557. 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3558. 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
  3559. 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
  3560. 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3561. 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
  3562. 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
  3563. 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3564. 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
  3565. 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
  3566. 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3567. 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
  3568. 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3569. 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3570. 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3571. 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
  3572. 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3573. 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
  3574. 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3575. 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
  3576. 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3577. 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3578. 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3579. 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
  3580. 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3581. 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
  3582. 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3583. 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
  3584. 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3585. 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3586. 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3587. 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
  3588. 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3589. 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
  3590. 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3591. 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
  3592. 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3593. 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3594. 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3595. 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
  3596. 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3597. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 63
  3598. 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
  3599. 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3600. 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
  3601. 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3602. 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  3603. 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  3604. 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
  3605. 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  3606. 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
  3607. 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3608. 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
  3609. 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
  3610. 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3611. 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
  3612. 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
  3613. 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3614. 116:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3615. 117:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3616. 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
  3617. 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
  3618. 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
  3619. 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  3620. 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3621. 123:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3622. 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3623. 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
  3624. 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
  3625. 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  3626. 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3627. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
  3628. 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3629. 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
  3630. 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3631. 133:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3632. 134:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3633. 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3634. 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
  3635. 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
  3636. 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  3637. 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3638. 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
  3639. 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3640. 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
  3641. 143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3642. 144:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3643. 145:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3644. 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3645. 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
  3646. 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
  3647. 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
  3648. 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3649. 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
  3650. 152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3651. 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3652. 154:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3653. 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
  3654. 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3655. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 64
  3656. 157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3657. 158:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3658. 159:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3659. 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3660. 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3661. 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
  3662. 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
  3663. 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
  3664. 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3665. 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
  3666. 167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3667. 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3668. 169:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3669. 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
  3670. 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3671. 172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3672. 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3673. 174:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3674. 175:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3675. 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3676. 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
  3677. 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
  3678. 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
  3679. 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3680. 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
  3681. 182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3682. 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
  3683. 184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3684. 185:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3685. 186:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3686. 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3687. 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3688. 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
  3689. 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
  3690. 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
  3691. 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3692. 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
  3693. 194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3694. 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
  3695. 196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3696. 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3697. 198:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3698. 199:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3699. 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3700. 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
  3701. 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
  3702. 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
  3703. 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3704. 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
  3705. 206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3706. 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3707. 208:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3708. 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
  3709. 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3710. 211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3711. 212:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3712. 213:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3713. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 65
  3714. 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3715. 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
  3716. 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
  3717. 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
  3718. 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3719. 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
  3720. 220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3721. 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3722. 222:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3723. 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
  3724. 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3725. 225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3726. 226:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3727. 227:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3728. 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3729. 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
  3730. 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
  3731. 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
  3732. 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3733. 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
  3734. 234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3735. 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3736. 236:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3737. 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
  3738. 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3739. 239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3740. 240:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3741. 241:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3742. 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3743. 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
  3744. 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
  3745. 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
  3746. 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3747. 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
  3748. 248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3749. 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3750. 250:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3751. 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
  3752. 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3753. 253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3754. 254:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3755. 255:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3756. 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3757. 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3758. 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
  3759. 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
  3760. 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
  3761. 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3762. 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
  3763. 263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3764. 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3765. 265:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3766. 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
  3767. 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3768. 268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3769. 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3770. 270:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3771. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 66
  3772. 271:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3773. 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3774. 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
  3775. 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
  3776. 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
  3777. 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3778. 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
  3779. 278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3780. 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
  3781. 280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3782. 281:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3783. 282:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3784. 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3785. 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3786. 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
  3787. 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
  3788. 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
  3789. 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3790. 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
  3791. 290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3792. 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
  3793. 292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3794. 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3795. 294:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3796. 295:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3797. 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3798. 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
  3799. 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
  3800. 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
  3801. 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3802. 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
  3803. 302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3804. 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3805. 304:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3806. 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
  3807. 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3808. 307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3809. 308:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3810. 309:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3811. 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3812. 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3813. 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
  3814. 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
  3815. 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
  3816. 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3817. 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
  3818. 317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3819. 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3820. 319:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3821. 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
  3822. 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3823. 322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3824. 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3825. 324:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3826. 325:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3827. 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3828. 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
  3829. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 67
  3830. 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
  3831. 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
  3832. 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3833. 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
  3834. 332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3835. 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
  3836. 334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3837. 335:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3838. 336:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3839. 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3840. 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3841. 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure)
  3842. 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
  3843. 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
  3844. 342:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3845. 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
  3846. 344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3847. 345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
  3848. 346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3849. 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3850. 348:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3851. 349:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3852. 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3853. 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3854. 352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure)
  3855. 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
  3856. 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value
  3857. 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3858. 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
  3859. 357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3860. 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3861. 359:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3862. 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
  3863. 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3864. 362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3865. 363:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3866. 364:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3867. 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3868. 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure)
  3869. 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
  3870. 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set
  3871. 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3872. 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
  3873. 371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3874. 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
  3875. 373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3876. 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3877. 375:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3878. 376:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3879. 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3880. 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask
  3881. 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register.
  3882. 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
  3883. 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3884. 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
  3885. 383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3886. 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3887. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 68
  3888. 385:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3889. 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
  3890. 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3891. 388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3892. 389:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3893. 390:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3894. 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3895. 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3896. 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure)
  3897. 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
  3898. 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
  3899. 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3900. 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
  3901. 398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3902. 399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3903. 400:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3904. 401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
  3905. 402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3906. 403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3907. 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3908. 405:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3909. 406:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3910. 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3911. 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask
  3912. 409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register.
  3913. 410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
  3914. 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3915. 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
  3916. 413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3917. 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
  3918. 415:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3919. 416:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3920. 417:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3921. 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3922. 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3923. 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure)
  3924. 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
  3925. 422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
  3926. 423:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3927. 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
  3928. 425:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3929. 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
  3930. 427:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3931. 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3932. 429:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3933. 430:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3934. 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  3935. 432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  3936. 433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  3937. 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3938. 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ
  3939. 436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
  3940. 437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  3941. 438:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3942. 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
  3943. 440:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3944. 441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory");
  3945. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 69
  3946. 442:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3947. 443:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3948. 444:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3949. 445:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3950. 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ
  3951. 447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR.
  3952. 448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  3953. 449:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3954. 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
  3955. 451:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3956. 452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory");
  3957. 453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3958. 454:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3959. 455:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3960. 456:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3961. 457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority
  3962. 458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register.
  3963. 459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
  3964. 460:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3965. 461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
  3966. 462:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3967. 463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3968. 464:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3969. 465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) );
  3970. 466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3971. 467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3972. 468:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3973. 469:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3974. 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  3975. 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3976. 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure)
  3977. 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state.
  3978. 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
  3979. 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3980. 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
  3981. 477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3982. 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  3983. 479:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3984. 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
  3985. 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  3986. 482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3987. 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  3988. 484:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3989. 485:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3990. 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  3991. 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority
  3992. 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register.
  3993. 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  3994. 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3995. 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
  3996. 492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  3997. 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
  3998. 494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  3999. 495:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4000. 496:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4001. 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4002. 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4003. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 70
  4004. 499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure)
  4005. 500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state.
  4006. 501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  4007. 502:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4008. 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
  4009. 504:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4010. 505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
  4011. 506:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4012. 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4013. 508:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4014. 509:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4015. 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4016. 511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition
  4017. 512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
  4018. 513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level.
  4019. 514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  4020. 515:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4021. 516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
  4022. 517:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4023. 518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
  4024. 519:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4025. 520:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4026. 521:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4027. 522:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4028. 523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask
  4029. 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register.
  4030. 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
  4031. 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4032. 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
  4033. 528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4034. 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4035. 530:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4036. 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
  4037. 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4038. 533:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4039. 534:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4040. 535:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4041. 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4042. 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4043. 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure)
  4044. 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state.
  4045. 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
  4046. 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4047. 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
  4048. 543:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4049. 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4050. 545:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4051. 546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
  4052. 547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4053. 548:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4054. 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4055. 550:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4056. 551:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4057. 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4058. 553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask
  4059. 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register.
  4060. 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
  4061. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 71
  4062. 556:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4063. 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
  4064. 558:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4065. 559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
  4066. 560:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4067. 561:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4068. 562:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4069. 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4070. 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4071. 565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure)
  4072. 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state.
  4073. 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
  4074. 568:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4075. 569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
  4076. 570:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4077. 571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
  4078. 572:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4079. 573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4080. 574:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4081. 575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  4082. 576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  4083. 577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
  4084. 578:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4085. 579:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4086. 580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  4087. 581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
  4088. 582:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4089. 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4090. 584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit
  4091. 585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4092. 586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
  4093. 587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  4094. 588:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4095. 589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
  4096. 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
  4097. 591:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4098. 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
  4099. 593:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4100. 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  4101. 595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  4102. 596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  4103. 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  4104. 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4105. 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4106. 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) );
  4107. 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4108. 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4109. 603:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4110. 604:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4111. 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
  4112. 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4113. 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure)
  4114. 608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4115. 609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
  4116. 610:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4117. 611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
  4118. 612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
  4119. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 72
  4120. 613:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4121. 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
  4122. 615:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4123. 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  4124. 617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  4125. 618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  4126. 619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4127. 620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4128. 621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) );
  4129. 622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4130. 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4131. 624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4132. 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4133. 626:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4134. 627:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4135. 628:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4136. 629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit
  4137. 630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4138. 631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
  4139. 632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  4140. 633:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4141. 634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
  4142. 635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
  4143. 636:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4144. 637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
  4145. 638:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4146. 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  4147. 640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  4148. 641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  4149. 642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
  4150. 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4151. 644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
  4152. 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4153. 646:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4154. 647:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4155. 648:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4156. 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4157. 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4158. 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
  4159. 652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4160. 653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
  4161. 654:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4162. 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
  4163. 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
  4164. 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4165. 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
  4166. 659:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4167. 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  4168. 661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  4169. 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
  4170. 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4171. 664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
  4172. 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4173. 666:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4174. 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4175. 668:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4176. 669:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4177. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 73
  4178. 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4179. 671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit
  4180. 672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4181. 673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
  4182. 674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  4183. 675:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4184. 676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
  4185. 677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
  4186. 678:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4187. 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
  4188. 680:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4189. 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  4190. 682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  4191. 683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  4192. 684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  4193. 685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4194. 686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4195. 687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) );
  4196. 688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4197. 689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4198. 690:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4199. 691:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4200. 692:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4201. 693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4202. 694:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4203. 695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure)
  4204. 696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4205. 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
  4206. 698:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4207. 699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
  4208. 700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
  4209. 701:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4210. 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
  4211. 703:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4212. 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  4213. 705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  4214. 706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  4215. 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4216. 708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4217. 709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
  4218. 710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4219. 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4220. 712:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4221. 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4222. 714:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4223. 715:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4224. 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4225. 717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit
  4226. 718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4227. 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
  4228. 720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  4229. 721:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4230. 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
  4231. 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set
  4232. 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4233. 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
  4234. 726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4235. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 74
  4236. 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  4237. 728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  4238. 729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  4239. 730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
  4240. 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4241. 732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
  4242. 733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4243. 734:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4244. 735:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4245. 736:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4246. 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4247. 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4248. 739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure)
  4249. 740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4250. 741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
  4251. 742:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4252. 743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
  4253. 744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set
  4254. 745:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4255. 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
  4256. 747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4257. 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  4258. 749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  4259. 750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
  4260. 751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4261. 752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
  4262. 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4263. 754:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4264. 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4265. 756:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4266. 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  4267. 758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
  4268. 759:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4269. 760:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4270. 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4271. 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR
  4272. 763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register.
  4273. 764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value
  4274. 765:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4275. 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
  4276. 767:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4277. 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
  4278. 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
  4279. 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr)
  4280. 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
  4281. 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
  4282. 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
  4283. 774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr();
  4284. 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4285. 776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4286. 777:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4287. 778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
  4288. 779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4289. 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4290. 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4291. 782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U);
  4292. 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4293. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 75
  4294. 784:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4295. 785:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4296. 786:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4297. 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4298. 788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR
  4299. 789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register.
  4300. 790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set
  4301. 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4302. 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
  4303. 793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4304. 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
  4305. 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
  4306. 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
  4307. 797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
  4308. 798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
  4309. 799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
  4310. 800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr);
  4311. 801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4312. 802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
  4313. 803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4314. 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4315. 805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr;
  4316. 806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4317. 807:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4318. 808:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4319. 809:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4320. 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
  4321. 811:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4322. 812:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4323. 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */
  4324. 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
  4325. 815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions
  4326. 816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  4327. 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4328. 818:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4329. 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
  4330. 820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l"
  4331. 821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */
  4332. 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
  4333. 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
  4334. 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
  4335. 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
  4336. 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4337. 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
  4338. 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
  4339. 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
  4340. 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4341. 831:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4342. 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4343. 833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation
  4344. 834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes.
  4345. 835:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4346. 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop")
  4347. 837:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4348. 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4349. 839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt
  4350. 840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
  4351. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 76
  4352. 841:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4353. 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi")
  4354. 843:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4355. 844:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4356. 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4357. 846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event
  4358. 847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter
  4359. 848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs.
  4360. 849:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4361. 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe")
  4362. 851:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4363. 852:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4364. 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4365. 854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
  4366. 855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
  4367. 856:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4368. 857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev")
  4369. 858:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4370. 859:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4371. 860:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4372. 861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier
  4373. 862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor,
  4374. 863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory,
  4375. 864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed.
  4376. 865:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4377. 866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
  4378. 867:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4379. 868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory");
  4380. 869:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4381. 870:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4382. 871:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4383. 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4384. 873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier
  4385. 874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier.
  4386. 875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete.
  4387. 876:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4388. 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
  4389. 878:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4390. 879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory");
  4391. 880:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4392. 881:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4393. 882:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4394. 883:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4395. 884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier
  4396. 885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before
  4397. 886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion.
  4398. 887:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4399. 888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
  4400. 889:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4401. 890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory");
  4402. 891:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4403. 892:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4404. 893:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4405. 894:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4406. 895:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit)
  4407. 896:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785
  4408. 897:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4409. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 77
  4410. 898:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4411. 899:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4412. 900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
  4413. 901:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4414. 902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
  4415. 903:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value);
  4416. 904:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4417. 905:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4418. 906:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4419. 907:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  4420. 908:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4421. 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4422. 910:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4423. 911:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4424. 912:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4425. 913:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4426. 914:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
  4427. 915:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes
  4428. 916:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4429. 917:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4430. 918:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4431. 919:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
  4432. 920:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4433. 921:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4434. 922:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4435. 923:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  4436. 924:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4437. 925:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4438. 926:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4439. 927:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4440. 928:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4441. 929:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
  4442. 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
  4443. 931:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4444. 932:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4445. 933:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4446. 934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
  4447. 935:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4448. 936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
  4449. 937:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value);
  4450. 938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4451. 939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result;
  4452. 940:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4453. 941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  4454. 942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4455. 943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4456. 944:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4457. 945:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4458. 946:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4459. 947:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4460. 948:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit)
  4461. 949:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v
  4462. 950:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate
  4463. 951:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate
  4464. 952:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value
  4465. 953:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4466. 954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
  4467. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 78
  4468. 955:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4469. 956:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U;
  4470. 957:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U)
  4471. 958:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4472. 959:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1;
  4473. 960:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4474. 961:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2));
  4475. 962:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4476. 963:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4477. 964:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4478. 965:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4479. 966:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint
  4480. 967:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state.
  4481. 968:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula
  4482. 969:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor.
  4483. 970:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break
  4484. 971:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4485. 972:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value)
  4486. 973:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4487. 974:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4488. 975:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4489. 976:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value
  4490. 977:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value.
  4491. 978:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4492. 979:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4493. 980:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4494. 981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
  4495. 982:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4496. 983:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4497. 984:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4498. 985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  4499. 986:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  4500. 987:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  4501. 988:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
  4502. 1937 .loc 2 988 4
  4503. 1938 0026 3B69 ldr r3, [r7, #16]
  4504. 1939 .syntax unified
  4505. 1940 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4506. 1941 0028 93FAA3F3 rbit r3, r3
  4507. 1942 @ 0 "" 2
  4508. 1943 .thumb
  4509. 1944 .syntax unified
  4510. 1945 002c FB60 str r3, [r7, #12]
  4511. 989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4512. 990:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
  4513. 991:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4514. 992:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */
  4515. 993:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U)
  4516. 994:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4517. 995:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U;
  4518. 996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U;
  4519. 997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--;
  4520. 998:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4521. 999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */
  4522. 1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4523. 1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4524. 1946 .loc 2 1001 10
  4525. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 79
  4526. 1947 002e FB68 ldr r3, [r7, #12]
  4527. 1948 .LBE5:
  4528. 1949 .LBE4:
  4529. 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  4530. 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  4531. 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Select the Tx mailbox */
  4532. 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** transmitmailbox = POSITION_VAL(TxMailbox);
  4533. 1950 .loc 1 1495 23
  4534. 1951 0030 B3FA83F3 clz r3, r3
  4535. 1952 0034 DBB2 uxtb r3, r3
  4536. 1953 .loc 1 1495 21
  4537. 1954 0036 7B61 str r3, [r7, #20]
  4538. 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  4539. 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Get timestamp */
  4540. 1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** timestamp = (hcan->Instance->sTxMailBox[transmitmailbox].TDTR & CAN_TDT0R_TIME) >> CAN_TDT0R_TI
  4541. 1955 .loc 1 1498 22
  4542. 1956 0038 7B68 ldr r3, [r7, #4]
  4543. 1957 003a 1A68 ldr r2, [r3]
  4544. 1958 .loc 1 1498 61
  4545. 1959 003c 7B69 ldr r3, [r7, #20]
  4546. 1960 003e 1833 adds r3, r3, #24
  4547. 1961 0040 1B01 lsls r3, r3, #4
  4548. 1962 0042 1344 add r3, r3, r2
  4549. 1963 0044 0433 adds r3, r3, #4
  4550. 1964 0046 1B68 ldr r3, [r3]
  4551. 1965 .loc 1 1498 85
  4552. 1966 0048 1B0C lsrs r3, r3, #16
  4553. 1967 .loc 1 1498 15
  4554. 1968 004a 9BB2 uxth r3, r3
  4555. 1969 004c FB61 str r3, [r7, #28]
  4556. 1970 .L94:
  4557. 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  4558. 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  4559. 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return the timestamp */
  4560. 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return timestamp;
  4561. 1971 .loc 1 1502 10
  4562. 1972 004e FB69 ldr r3, [r7, #28]
  4563. 1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  4564. 1973 .loc 1 1503 1
  4565. 1974 0050 1846 mov r0, r3
  4566. 1975 0052 2437 adds r7, r7, #36
  4567. 1976 .LCFI83:
  4568. 1977 .cfi_def_cfa_offset 4
  4569. 1978 0054 BD46 mov sp, r7
  4570. 1979 .LCFI84:
  4571. 1980 .cfi_def_cfa_register 13
  4572. 1981 @ sp needed
  4573. 1982 0056 5DF8047B ldr r7, [sp], #4
  4574. 1983 .LCFI85:
  4575. 1984 .cfi_restore 7
  4576. 1985 .cfi_def_cfa_offset 0
  4577. 1986 005a 7047 bx lr
  4578. 1987 .cfi_endproc
  4579. 1988 .LFE249:
  4580. 1990 .section .text.HAL_CAN_GetRxMessage,"ax",%progbits
  4581. 1991 .align 1
  4582. 1992 .global HAL_CAN_GetRxMessage
  4583. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 80
  4584. 1993 .syntax unified
  4585. 1994 .thumb
  4586. 1995 .thumb_func
  4587. 1997 HAL_CAN_GetRxMessage:
  4588. 1998 .LFB250:
  4589. 1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  4590. 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  4591. 1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Get an CAN frame from the Rx FIFO zone into the message RAM.
  4592. 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  4593. 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  4594. 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param RxFifo Fifo number of the received message to be read.
  4595. 1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * This parameter can be a value of @arg CAN_receive_FIFO_number.
  4596. 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param pHeader pointer to a CAN_RxHeaderTypeDef structure where the header
  4597. 1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * of the Rx frame will be stored.
  4598. 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param aData array where the payload of the Rx frame will be stored.
  4599. 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status
  4600. 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  4601. 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_GetRxMessage(CAN_HandleTypeDef *hcan, uint32_t RxFifo, CAN_RxHeaderTypeDe
  4602. 1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  4603. 1999 .loc 1 1517 1
  4604. 2000 .cfi_startproc
  4605. 2001 @ args = 0, pretend = 0, frame = 24
  4606. 2002 @ frame_needed = 1, uses_anonymous_args = 0
  4607. 2003 @ link register save eliminated.
  4608. 2004 0000 80B4 push {r7}
  4609. 2005 .LCFI86:
  4610. 2006 .cfi_def_cfa_offset 4
  4611. 2007 .cfi_offset 7, -4
  4612. 2008 0002 87B0 sub sp, sp, #28
  4613. 2009 .LCFI87:
  4614. 2010 .cfi_def_cfa_offset 32
  4615. 2011 0004 00AF add r7, sp, #0
  4616. 2012 .LCFI88:
  4617. 2013 .cfi_def_cfa_register 7
  4618. 2014 0006 F860 str r0, [r7, #12]
  4619. 2015 0008 B960 str r1, [r7, #8]
  4620. 2016 000a 7A60 str r2, [r7, #4]
  4621. 2017 000c 3B60 str r3, [r7]
  4622. 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  4623. 2018 .loc 1 1518 24
  4624. 2019 000e FB68 ldr r3, [r7, #12]
  4625. 2020 0010 93F82030 ldrb r3, [r3, #32]
  4626. 2021 0014 FB75 strb r3, [r7, #23]
  4627. 1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  4628. 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_RX_FIFO(RxFifo));
  4629. 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  4630. 1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  4631. 2022 .loc 1 1522 6
  4632. 2023 0016 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  4633. 2024 0018 012B cmp r3, #1
  4634. 2025 001a 03D0 beq .L98
  4635. 2026 .loc 1 1522 38 discriminator 1
  4636. 2027 001c FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  4637. 2028 001e 022B cmp r3, #2
  4638. 2029 0020 40F0F380 bne .L99
  4639. 2030 .L98:
  4640. 1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  4641. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 81
  4642. 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  4643. 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check the Rx FIFO */
  4644. 1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
  4645. 2031 .loc 1 1526 8
  4646. 2032 0024 BB68 ldr r3, [r7, #8]
  4647. 2033 0026 002B cmp r3, #0
  4648. 2034 0028 0ED1 bne .L100
  4649. 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  4650. 1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check that the Rx FIFO 0 is not empty */
  4651. 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) == 0U)
  4652. 2035 .loc 1 1529 16
  4653. 2036 002a FB68 ldr r3, [r7, #12]
  4654. 2037 002c 1B68 ldr r3, [r3]
  4655. 2038 .loc 1 1529 26
  4656. 2039 002e DB68 ldr r3, [r3, #12]
  4657. 2040 .loc 1 1529 33
  4658. 2041 0030 03F00303 and r3, r3, #3
  4659. 2042 .loc 1 1529 10
  4660. 2043 0034 002B cmp r3, #0
  4661. 2044 0036 16D1 bne .L101
  4662. 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  4663. 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  4664. 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
  4665. 2045 .loc 1 1532 25
  4666. 2046 0038 FB68 ldr r3, [r7, #12]
  4667. 2047 003a 5B6A ldr r3, [r3, #36]
  4668. 2048 003c 43F40012 orr r2, r3, #2097152
  4669. 2049 0040 FB68 ldr r3, [r7, #12]
  4670. 2050 0042 5A62 str r2, [r3, #36]
  4671. 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  4672. 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  4673. 2051 .loc 1 1534 16
  4674. 2052 0044 0123 movs r3, #1
  4675. 2053 0046 E7E0 b .L102
  4676. 2054 .L100:
  4677. 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  4678. 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  4679. 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else /* Rx element is assigned to Rx FIFO 1 */
  4680. 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  4681. 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check that the Rx FIFO 1 is not empty */
  4682. 1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) == 0U)
  4683. 2055 .loc 1 1540 16
  4684. 2056 0048 FB68 ldr r3, [r7, #12]
  4685. 2057 004a 1B68 ldr r3, [r3]
  4686. 2058 .loc 1 1540 26
  4687. 2059 004c 1B69 ldr r3, [r3, #16]
  4688. 2060 .loc 1 1540 33
  4689. 2061 004e 03F00303 and r3, r3, #3
  4690. 2062 .loc 1 1540 10
  4691. 2063 0052 002B cmp r3, #0
  4692. 2064 0054 07D1 bne .L101
  4693. 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  4694. 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  4695. 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
  4696. 2065 .loc 1 1543 25
  4697. 2066 0056 FB68 ldr r3, [r7, #12]
  4698. 2067 0058 5B6A ldr r3, [r3, #36]
  4699. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 82
  4700. 2068 005a 43F40012 orr r2, r3, #2097152
  4701. 2069 005e FB68 ldr r3, [r7, #12]
  4702. 2070 0060 5A62 str r2, [r3, #36]
  4703. 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  4704. 1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  4705. 2071 .loc 1 1545 16
  4706. 2072 0062 0123 movs r3, #1
  4707. 2073 0064 D8E0 b .L102
  4708. 2074 .L101:
  4709. 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  4710. 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  4711. 1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  4712. 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Get the header */
  4713. 1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->IDE = CAN_RI0R_IDE & hcan->Instance->sFIFOMailBox[RxFifo].RIR;
  4714. 2075 .loc 1 1550 39
  4715. 2076 0066 FB68 ldr r3, [r7, #12]
  4716. 2077 0068 1A68 ldr r2, [r3]
  4717. 2078 .loc 1 1550 71
  4718. 2079 006a BB68 ldr r3, [r7, #8]
  4719. 2080 006c 1B33 adds r3, r3, #27
  4720. 2081 006e 1B01 lsls r3, r3, #4
  4721. 2082 0070 1344 add r3, r3, r2
  4722. 2083 0072 1B68 ldr r3, [r3]
  4723. 2084 .loc 1 1550 33
  4724. 2085 0074 03F00402 and r2, r3, #4
  4725. 2086 .loc 1 1550 18
  4726. 2087 0078 7B68 ldr r3, [r7, #4]
  4727. 2088 007a 9A60 str r2, [r3, #8]
  4728. 1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  4729. 2089 .loc 1 1551 16
  4730. 2090 007c 7B68 ldr r3, [r7, #4]
  4731. 2091 007e 9B68 ldr r3, [r3, #8]
  4732. 2092 .loc 1 1551 8
  4733. 2093 0080 002B cmp r3, #0
  4734. 2094 0082 0CD1 bne .L103
  4735. 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  4736. 1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->StdId = (CAN_RI0R_STID & hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_TI0R_STID_
  4737. 2095 .loc 1 1553 45
  4738. 2096 0084 FB68 ldr r3, [r7, #12]
  4739. 2097 0086 1A68 ldr r2, [r3]
  4740. 2098 .loc 1 1553 77
  4741. 2099 0088 BB68 ldr r3, [r7, #8]
  4742. 2100 008a 1B33 adds r3, r3, #27
  4743. 2101 008c 1B01 lsls r3, r3, #4
  4744. 2102 008e 1344 add r3, r3, r2
  4745. 2103 0090 1B68 ldr r3, [r3]
  4746. 2104 .loc 1 1553 83
  4747. 2105 0092 5B0D lsrs r3, r3, #21
  4748. 2106 0094 C3F30A02 ubfx r2, r3, #0, #11
  4749. 2107 .loc 1 1553 22
  4750. 2108 0098 7B68 ldr r3, [r7, #4]
  4751. 2109 009a 1A60 str r2, [r3]
  4752. 2110 009c 0BE0 b .L104
  4753. 2111 .L103:
  4754. 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  4755. 1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  4756. 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  4757. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 83
  4758. 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->ExtId = ((CAN_RI0R_EXID | CAN_RI0R_STID) & hcan->Instance->sFIFOMailBox[RxFifo].RIR)
  4759. 2112 .loc 1 1557 63
  4760. 2113 009e FB68 ldr r3, [r7, #12]
  4761. 2114 00a0 1A68 ldr r2, [r3]
  4762. 2115 .loc 1 1557 95
  4763. 2116 00a2 BB68 ldr r3, [r7, #8]
  4764. 2117 00a4 1B33 adds r3, r3, #27
  4765. 2118 00a6 1B01 lsls r3, r3, #4
  4766. 2119 00a8 1344 add r3, r3, r2
  4767. 2120 00aa 1B68 ldr r3, [r3]
  4768. 2121 .loc 1 1557 101
  4769. 2122 00ac DB08 lsrs r3, r3, #3
  4770. 2123 00ae 23F06042 bic r2, r3, #-536870912
  4771. 2124 .loc 1 1557 22
  4772. 2125 00b2 7B68 ldr r3, [r7, #4]
  4773. 2126 00b4 5A60 str r2, [r3, #4]
  4774. 2127 .L104:
  4775. 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  4776. 1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->RTR = (CAN_RI0R_RTR & hcan->Instance->sFIFOMailBox[RxFifo].RIR);
  4777. 2128 .loc 1 1559 40
  4778. 2129 00b6 FB68 ldr r3, [r7, #12]
  4779. 2130 00b8 1A68 ldr r2, [r3]
  4780. 2131 .loc 1 1559 72
  4781. 2132 00ba BB68 ldr r3, [r7, #8]
  4782. 2133 00bc 1B33 adds r3, r3, #27
  4783. 2134 00be 1B01 lsls r3, r3, #4
  4784. 2135 00c0 1344 add r3, r3, r2
  4785. 2136 00c2 1B68 ldr r3, [r3]
  4786. 2137 .loc 1 1559 34
  4787. 2138 00c4 03F00202 and r2, r3, #2
  4788. 2139 .loc 1 1559 18
  4789. 2140 00c8 7B68 ldr r3, [r7, #4]
  4790. 2141 00ca DA60 str r2, [r3, #12]
  4791. 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->DLC = (CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos
  4792. 2142 .loc 1 1560 41
  4793. 2143 00cc FB68 ldr r3, [r7, #12]
  4794. 2144 00ce 1A68 ldr r2, [r3]
  4795. 2145 .loc 1 1560 73
  4796. 2146 00d0 BB68 ldr r3, [r7, #8]
  4797. 2147 00d2 1B33 adds r3, r3, #27
  4798. 2148 00d4 1B01 lsls r3, r3, #4
  4799. 2149 00d6 1344 add r3, r3, r2
  4800. 2150 00d8 0433 adds r3, r3, #4
  4801. 2151 00da 1B68 ldr r3, [r3]
  4802. 2152 .loc 1 1560 80
  4803. 2153 00dc 03F00F02 and r2, r3, #15
  4804. 2154 .loc 1 1560 18
  4805. 2155 00e0 7B68 ldr r3, [r7, #4]
  4806. 2156 00e2 1A61 str r2, [r3, #16]
  4807. 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->FilterMatchIndex = (CAN_RDT0R_FMI & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_
  4808. 2157 .loc 1 1561 54
  4809. 2158 00e4 FB68 ldr r3, [r7, #12]
  4810. 2159 00e6 1A68 ldr r2, [r3]
  4811. 2160 .loc 1 1561 86
  4812. 2161 00e8 BB68 ldr r3, [r7, #8]
  4813. 2162 00ea 1B33 adds r3, r3, #27
  4814. 2163 00ec 1B01 lsls r3, r3, #4
  4815. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 84
  4816. 2164 00ee 1344 add r3, r3, r2
  4817. 2165 00f0 0433 adds r3, r3, #4
  4818. 2166 00f2 1B68 ldr r3, [r3]
  4819. 2167 .loc 1 1561 93
  4820. 2168 00f4 1B0A lsrs r3, r3, #8
  4821. 2169 00f6 DAB2 uxtb r2, r3
  4822. 2170 .loc 1 1561 31
  4823. 2171 00f8 7B68 ldr r3, [r7, #4]
  4824. 2172 00fa 9A61 str r2, [r3, #24]
  4825. 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** pHeader->Timestamp = (CAN_RDT0R_TIME & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_
  4826. 2173 .loc 1 1562 48
  4827. 2174 00fc FB68 ldr r3, [r7, #12]
  4828. 2175 00fe 1A68 ldr r2, [r3]
  4829. 2176 .loc 1 1562 80
  4830. 2177 0100 BB68 ldr r3, [r7, #8]
  4831. 2178 0102 1B33 adds r3, r3, #27
  4832. 2179 0104 1B01 lsls r3, r3, #4
  4833. 2180 0106 1344 add r3, r3, r2
  4834. 2181 0108 0433 adds r3, r3, #4
  4835. 2182 010a 1B68 ldr r3, [r3]
  4836. 2183 .loc 1 1562 87
  4837. 2184 010c 1B0C lsrs r3, r3, #16
  4838. 2185 010e 9AB2 uxth r2, r3
  4839. 2186 .loc 1 1562 24
  4840. 2187 0110 7B68 ldr r3, [r7, #4]
  4841. 2188 0112 5A61 str r2, [r3, #20]
  4842. 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  4843. 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Get the data */
  4844. 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** aData[0] = (uint8_t)((CAN_RDL0R_DATA0 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  4845. 2189 .loc 1 1565 49
  4846. 2190 0114 FB68 ldr r3, [r7, #12]
  4847. 2191 0116 1A68 ldr r2, [r3]
  4848. 2192 .loc 1 1565 81
  4849. 2193 0118 BB68 ldr r3, [r7, #8]
  4850. 2194 011a 1B01 lsls r3, r3, #4
  4851. 2195 011c 1344 add r3, r3, r2
  4852. 2196 011e 03F5DC73 add r3, r3, #440
  4853. 2197 0122 1B68 ldr r3, [r3]
  4854. 2198 .loc 1 1565 16
  4855. 2199 0124 DAB2 uxtb r2, r3
  4856. 2200 .loc 1 1565 14
  4857. 2201 0126 3B68 ldr r3, [r7]
  4858. 2202 0128 1A70 strb r2, [r3]
  4859. 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** aData[1] = (uint8_t)((CAN_RDL0R_DATA1 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  4860. 2203 .loc 1 1566 49
  4861. 2204 012a FB68 ldr r3, [r7, #12]
  4862. 2205 012c 1A68 ldr r2, [r3]
  4863. 2206 .loc 1 1566 81
  4864. 2207 012e BB68 ldr r3, [r7, #8]
  4865. 2208 0130 1B01 lsls r3, r3, #4
  4866. 2209 0132 1344 add r3, r3, r2
  4867. 2210 0134 03F5DC73 add r3, r3, #440
  4868. 2211 0138 1B68 ldr r3, [r3]
  4869. 2212 .loc 1 1566 88
  4870. 2213 013a 1A0A lsrs r2, r3, #8
  4871. 2214 .loc 1 1566 10
  4872. 2215 013c 3B68 ldr r3, [r7]
  4873. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 85
  4874. 2216 013e 0133 adds r3, r3, #1
  4875. 2217 .loc 1 1566 16
  4876. 2218 0140 D2B2 uxtb r2, r2
  4877. 2219 .loc 1 1566 14
  4878. 2220 0142 1A70 strb r2, [r3]
  4879. 1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  4880. 2221 .loc 1 1567 49
  4881. 2222 0144 FB68 ldr r3, [r7, #12]
  4882. 2223 0146 1A68 ldr r2, [r3]
  4883. 2224 .loc 1 1567 81
  4884. 2225 0148 BB68 ldr r3, [r7, #8]
  4885. 2226 014a 1B01 lsls r3, r3, #4
  4886. 2227 014c 1344 add r3, r3, r2
  4887. 2228 014e 03F5DC73 add r3, r3, #440
  4888. 2229 0152 1B68 ldr r3, [r3]
  4889. 2230 .loc 1 1567 88
  4890. 2231 0154 1A0C lsrs r2, r3, #16
  4891. 2232 .loc 1 1567 10
  4892. 2233 0156 3B68 ldr r3, [r7]
  4893. 2234 0158 0233 adds r3, r3, #2
  4894. 2235 .loc 1 1567 16
  4895. 2236 015a D2B2 uxtb r2, r2
  4896. 2237 .loc 1 1567 14
  4897. 2238 015c 1A70 strb r2, [r3]
  4898. 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  4899. 2239 .loc 1 1568 49
  4900. 2240 015e FB68 ldr r3, [r7, #12]
  4901. 2241 0160 1A68 ldr r2, [r3]
  4902. 2242 .loc 1 1568 81
  4903. 2243 0162 BB68 ldr r3, [r7, #8]
  4904. 2244 0164 1B01 lsls r3, r3, #4
  4905. 2245 0166 1344 add r3, r3, r2
  4906. 2246 0168 03F5DC73 add r3, r3, #440
  4907. 2247 016c 1B68 ldr r3, [r3]
  4908. 2248 .loc 1 1568 88
  4909. 2249 016e 1A0E lsrs r2, r3, #24
  4910. 2250 .loc 1 1568 10
  4911. 2251 0170 3B68 ldr r3, [r7]
  4912. 2252 0172 0333 adds r3, r3, #3
  4913. 2253 .loc 1 1568 16
  4914. 2254 0174 D2B2 uxtb r2, r2
  4915. 2255 .loc 1 1568 14
  4916. 2256 0176 1A70 strb r2, [r3]
  4917. 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  4918. 2257 .loc 1 1569 49
  4919. 2258 0178 FB68 ldr r3, [r7, #12]
  4920. 2259 017a 1A68 ldr r2, [r3]
  4921. 2260 .loc 1 1569 81
  4922. 2261 017c BB68 ldr r3, [r7, #8]
  4923. 2262 017e 1B01 lsls r3, r3, #4
  4924. 2263 0180 1344 add r3, r3, r2
  4925. 2264 0182 03F5DE73 add r3, r3, #444
  4926. 2265 0186 1A68 ldr r2, [r3]
  4927. 2266 .loc 1 1569 10
  4928. 2267 0188 3B68 ldr r3, [r7]
  4929. 2268 018a 0433 adds r3, r3, #4
  4930. 2269 .loc 1 1569 16
  4931. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 86
  4932. 2270 018c D2B2 uxtb r2, r2
  4933. 2271 .loc 1 1569 14
  4934. 2272 018e 1A70 strb r2, [r3]
  4935. 1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** aData[5] = (uint8_t)((CAN_RDH0R_DATA5 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  4936. 2273 .loc 1 1570 49
  4937. 2274 0190 FB68 ldr r3, [r7, #12]
  4938. 2275 0192 1A68 ldr r2, [r3]
  4939. 2276 .loc 1 1570 81
  4940. 2277 0194 BB68 ldr r3, [r7, #8]
  4941. 2278 0196 1B01 lsls r3, r3, #4
  4942. 2279 0198 1344 add r3, r3, r2
  4943. 2280 019a 03F5DE73 add r3, r3, #444
  4944. 2281 019e 1B68 ldr r3, [r3]
  4945. 2282 .loc 1 1570 88
  4946. 2283 01a0 1A0A lsrs r2, r3, #8
  4947. 2284 .loc 1 1570 10
  4948. 2285 01a2 3B68 ldr r3, [r7]
  4949. 2286 01a4 0533 adds r3, r3, #5
  4950. 2287 .loc 1 1570 16
  4951. 2288 01a6 D2B2 uxtb r2, r2
  4952. 2289 .loc 1 1570 14
  4953. 2290 01a8 1A70 strb r2, [r3]
  4954. 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  4955. 2291 .loc 1 1571 49
  4956. 2292 01aa FB68 ldr r3, [r7, #12]
  4957. 2293 01ac 1A68 ldr r2, [r3]
  4958. 2294 .loc 1 1571 81
  4959. 2295 01ae BB68 ldr r3, [r7, #8]
  4960. 2296 01b0 1B01 lsls r3, r3, #4
  4961. 2297 01b2 1344 add r3, r3, r2
  4962. 2298 01b4 03F5DE73 add r3, r3, #444
  4963. 2299 01b8 1B68 ldr r3, [r3]
  4964. 2300 .loc 1 1571 88
  4965. 2301 01ba 1A0C lsrs r2, r3, #16
  4966. 2302 .loc 1 1571 10
  4967. 2303 01bc 3B68 ldr r3, [r7]
  4968. 2304 01be 0633 adds r3, r3, #6
  4969. 2305 .loc 1 1571 16
  4970. 2306 01c0 D2B2 uxtb r2, r2
  4971. 2307 .loc 1 1571 14
  4972. 2308 01c2 1A70 strb r2, [r3]
  4973. 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  4974. 2309 .loc 1 1572 49
  4975. 2310 01c4 FB68 ldr r3, [r7, #12]
  4976. 2311 01c6 1A68 ldr r2, [r3]
  4977. 2312 .loc 1 1572 81
  4978. 2313 01c8 BB68 ldr r3, [r7, #8]
  4979. 2314 01ca 1B01 lsls r3, r3, #4
  4980. 2315 01cc 1344 add r3, r3, r2
  4981. 2316 01ce 03F5DE73 add r3, r3, #444
  4982. 2317 01d2 1B68 ldr r3, [r3]
  4983. 2318 .loc 1 1572 88
  4984. 2319 01d4 1A0E lsrs r2, r3, #24
  4985. 2320 .loc 1 1572 10
  4986. 2321 01d6 3B68 ldr r3, [r7]
  4987. 2322 01d8 0733 adds r3, r3, #7
  4988. 2323 .loc 1 1572 16
  4989. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 87
  4990. 2324 01da D2B2 uxtb r2, r2
  4991. 2325 .loc 1 1572 14
  4992. 2326 01dc 1A70 strb r2, [r3]
  4993. 1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  4994. 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Release the FIFO */
  4995. 1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
  4996. 2327 .loc 1 1575 8
  4997. 2328 01de BB68 ldr r3, [r7, #8]
  4998. 2329 01e0 002B cmp r3, #0
  4999. 2330 01e2 08D1 bne .L105
  5000. 1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5001. 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Release RX FIFO 0 */
  5002. 1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->RF0R, CAN_RF0R_RFOM0);
  5003. 2331 .loc 1 1578 7
  5004. 2332 01e4 FB68 ldr r3, [r7, #12]
  5005. 2333 01e6 1B68 ldr r3, [r3]
  5006. 2334 01e8 DA68 ldr r2, [r3, #12]
  5007. 2335 01ea FB68 ldr r3, [r7, #12]
  5008. 2336 01ec 1B68 ldr r3, [r3]
  5009. 2337 01ee 42F02002 orr r2, r2, #32
  5010. 2338 01f2 DA60 str r2, [r3, #12]
  5011. 2339 01f4 07E0 b .L106
  5012. 2340 .L105:
  5013. 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5014. 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else /* Rx element is assigned to Rx FIFO 1 */
  5015. 1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5016. 1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Release RX FIFO 1 */
  5017. 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** SET_BIT(hcan->Instance->RF1R, CAN_RF1R_RFOM1);
  5018. 2341 .loc 1 1583 7
  5019. 2342 01f6 FB68 ldr r3, [r7, #12]
  5020. 2343 01f8 1B68 ldr r3, [r3]
  5021. 2344 01fa 1A69 ldr r2, [r3, #16]
  5022. 2345 01fc FB68 ldr r3, [r7, #12]
  5023. 2346 01fe 1B68 ldr r3, [r3]
  5024. 2347 0200 42F02002 orr r2, r2, #32
  5025. 2348 0204 1A61 str r2, [r3, #16]
  5026. 2349 .L106:
  5027. 1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5028. 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5029. 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  5030. 1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_OK;
  5031. 2350 .loc 1 1587 12
  5032. 2351 0206 0023 movs r3, #0
  5033. 2352 0208 06E0 b .L102
  5034. 2353 .L99:
  5035. 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5036. 1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  5037. 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5038. 1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  5039. 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  5040. 2354 .loc 1 1592 21
  5041. 2355 020a FB68 ldr r3, [r7, #12]
  5042. 2356 020c 5B6A ldr r3, [r3, #36]
  5043. 2357 020e 43F48022 orr r2, r3, #262144
  5044. 2358 0212 FB68 ldr r3, [r7, #12]
  5045. 2359 0214 5A62 str r2, [r3, #36]
  5046. 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5047. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 88
  5048. 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  5049. 2360 .loc 1 1594 12
  5050. 2361 0216 0123 movs r3, #1
  5051. 2362 .L102:
  5052. 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5053. 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5054. 2363 .loc 1 1596 1
  5055. 2364 0218 1846 mov r0, r3
  5056. 2365 021a 1C37 adds r7, r7, #28
  5057. 2366 .LCFI89:
  5058. 2367 .cfi_def_cfa_offset 4
  5059. 2368 021c BD46 mov sp, r7
  5060. 2369 .LCFI90:
  5061. 2370 .cfi_def_cfa_register 13
  5062. 2371 @ sp needed
  5063. 2372 021e 5DF8047B ldr r7, [sp], #4
  5064. 2373 .LCFI91:
  5065. 2374 .cfi_restore 7
  5066. 2375 .cfi_def_cfa_offset 0
  5067. 2376 0222 7047 bx lr
  5068. 2377 .cfi_endproc
  5069. 2378 .LFE250:
  5070. 2380 .section .text.HAL_CAN_GetRxFifoFillLevel,"ax",%progbits
  5071. 2381 .align 1
  5072. 2382 .global HAL_CAN_GetRxFifoFillLevel
  5073. 2383 .syntax unified
  5074. 2384 .thumb
  5075. 2385 .thumb_func
  5076. 2387 HAL_CAN_GetRxFifoFillLevel:
  5077. 2388 .LFB251:
  5078. 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5079. 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  5080. 1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Return Rx FIFO fill level.
  5081. 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  5082. 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  5083. 1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param RxFifo Rx FIFO.
  5084. 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * This parameter can be a value of @arg CAN_receive_FIFO_number.
  5085. 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval Number of messages available in Rx FIFO.
  5086. 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  5087. 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t HAL_CAN_GetRxFifoFillLevel(CAN_HandleTypeDef *hcan, uint32_t RxFifo)
  5088. 1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5089. 2389 .loc 1 1607 1
  5090. 2390 .cfi_startproc
  5091. 2391 @ args = 0, pretend = 0, frame = 16
  5092. 2392 @ frame_needed = 1, uses_anonymous_args = 0
  5093. 2393 @ link register save eliminated.
  5094. 2394 0000 80B4 push {r7}
  5095. 2395 .LCFI92:
  5096. 2396 .cfi_def_cfa_offset 4
  5097. 2397 .cfi_offset 7, -4
  5098. 2398 0002 85B0 sub sp, sp, #20
  5099. 2399 .LCFI93:
  5100. 2400 .cfi_def_cfa_offset 24
  5101. 2401 0004 00AF add r7, sp, #0
  5102. 2402 .LCFI94:
  5103. 2403 .cfi_def_cfa_register 7
  5104. 2404 0006 7860 str r0, [r7, #4]
  5105. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 89
  5106. 2405 0008 3960 str r1, [r7]
  5107. 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t filllevel = 0U;
  5108. 2406 .loc 1 1608 12
  5109. 2407 000a 0023 movs r3, #0
  5110. 2408 000c FB60 str r3, [r7, #12]
  5111. 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5112. 2409 .loc 1 1609 24
  5113. 2410 000e 7B68 ldr r3, [r7, #4]
  5114. 2411 0010 93F82030 ldrb r3, [r3, #32]
  5115. 2412 0014 FB72 strb r3, [r7, #11]
  5116. 1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5117. 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check function parameters */
  5118. 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_RX_FIFO(RxFifo));
  5119. 1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5120. 1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  5121. 2413 .loc 1 1614 6
  5122. 2414 0016 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  5123. 2415 0018 012B cmp r3, #1
  5124. 2416 001a 02D0 beq .L108
  5125. 2417 .loc 1 1614 38 discriminator 1
  5126. 2418 001c FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  5127. 2419 001e 022B cmp r3, #2
  5128. 2420 0020 0FD1 bne .L109
  5129. 2421 .L108:
  5130. 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5131. 1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5132. 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0)
  5133. 2422 .loc 1 1617 8
  5134. 2423 0022 3B68 ldr r3, [r7]
  5135. 2424 0024 002B cmp r3, #0
  5136. 2425 0026 06D1 bne .L110
  5137. 1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5138. 1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** filllevel = hcan->Instance->RF0R & CAN_RF0R_FMP0;
  5139. 2426 .loc 1 1619 23
  5140. 2427 0028 7B68 ldr r3, [r7, #4]
  5141. 2428 002a 1B68 ldr r3, [r3]
  5142. 2429 .loc 1 1619 33
  5143. 2430 002c DB68 ldr r3, [r3, #12]
  5144. 2431 .loc 1 1619 17
  5145. 2432 002e 03F00303 and r3, r3, #3
  5146. 2433 0032 FB60 str r3, [r7, #12]
  5147. 2434 0034 05E0 b .L109
  5148. 2435 .L110:
  5149. 1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5150. 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else /* RxFifo == CAN_RX_FIFO1 */
  5151. 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5152. 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** filllevel = hcan->Instance->RF1R & CAN_RF1R_FMP1;
  5153. 2436 .loc 1 1623 23
  5154. 2437 0036 7B68 ldr r3, [r7, #4]
  5155. 2438 0038 1B68 ldr r3, [r3]
  5156. 2439 .loc 1 1623 33
  5157. 2440 003a 1B69 ldr r3, [r3, #16]
  5158. 2441 .loc 1 1623 17
  5159. 2442 003c 03F00303 and r3, r3, #3
  5160. 2443 0040 FB60 str r3, [r7, #12]
  5161. 2444 .L109:
  5162. 1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5163. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 90
  5164. 1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5165. 1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5166. 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return Rx FIFO fill level */
  5167. 1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return filllevel;
  5168. 2445 .loc 1 1628 10
  5169. 2446 0042 FB68 ldr r3, [r7, #12]
  5170. 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5171. 2447 .loc 1 1629 1
  5172. 2448 0044 1846 mov r0, r3
  5173. 2449 0046 1437 adds r7, r7, #20
  5174. 2450 .LCFI95:
  5175. 2451 .cfi_def_cfa_offset 4
  5176. 2452 0048 BD46 mov sp, r7
  5177. 2453 .LCFI96:
  5178. 2454 .cfi_def_cfa_register 13
  5179. 2455 @ sp needed
  5180. 2456 004a 5DF8047B ldr r7, [sp], #4
  5181. 2457 .LCFI97:
  5182. 2458 .cfi_restore 7
  5183. 2459 .cfi_def_cfa_offset 0
  5184. 2460 004e 7047 bx lr
  5185. 2461 .cfi_endproc
  5186. 2462 .LFE251:
  5187. 2464 .section .text.HAL_CAN_ActivateNotification,"ax",%progbits
  5188. 2465 .align 1
  5189. 2466 .global HAL_CAN_ActivateNotification
  5190. 2467 .syntax unified
  5191. 2468 .thumb
  5192. 2469 .thumb_func
  5193. 2471 HAL_CAN_ActivateNotification:
  5194. 2472 .LFB252:
  5195. 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5196. 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  5197. 1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @}
  5198. 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  5199. 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5200. 1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group4 Interrupts management
  5201. 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Interrupts management
  5202. 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *
  5203. 1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @verbatim
  5204. 1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  5205. 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ##### Interrupts management #####
  5206. 1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  5207. 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** [..] This section provides functions allowing to:
  5208. 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_ActivateNotification : Enable interrupts
  5209. 1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_DeactivateNotification : Disable interrupts
  5210. 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_IRQHandler : Handles CAN interrupt request
  5211. 1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5212. 1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @endverbatim
  5213. 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @{
  5214. 1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  5215. 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5216. 1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  5217. 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Enable interrupts.
  5218. 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  5219. 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  5220. 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param ActiveITs indicates which interrupts will be enabled.
  5221. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 91
  5222. 1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Interrupts.
  5223. 1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status
  5224. 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  5225. 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ActivateNotification(CAN_HandleTypeDef *hcan, uint32_t ActiveITs)
  5226. 1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5227. 2473 .loc 1 1660 1
  5228. 2474 .cfi_startproc
  5229. 2475 @ args = 0, pretend = 0, frame = 16
  5230. 2476 @ frame_needed = 1, uses_anonymous_args = 0
  5231. 2477 @ link register save eliminated.
  5232. 2478 0000 80B4 push {r7}
  5233. 2479 .LCFI98:
  5234. 2480 .cfi_def_cfa_offset 4
  5235. 2481 .cfi_offset 7, -4
  5236. 2482 0002 85B0 sub sp, sp, #20
  5237. 2483 .LCFI99:
  5238. 2484 .cfi_def_cfa_offset 24
  5239. 2485 0004 00AF add r7, sp, #0
  5240. 2486 .LCFI100:
  5241. 2487 .cfi_def_cfa_register 7
  5242. 2488 0006 7860 str r0, [r7, #4]
  5243. 2489 0008 3960 str r1, [r7]
  5244. 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5245. 2490 .loc 1 1661 24
  5246. 2491 000a 7B68 ldr r3, [r7, #4]
  5247. 2492 000c 93F82030 ldrb r3, [r3, #32]
  5248. 2493 0010 FB73 strb r3, [r7, #15]
  5249. 1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5250. 1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check function parameters */
  5251. 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_IT(ActiveITs));
  5252. 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5253. 1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  5254. 2494 .loc 1 1666 6
  5255. 2495 0012 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  5256. 2496 0014 012B cmp r3, #1
  5257. 2497 0016 02D0 beq .L113
  5258. 2498 .loc 1 1666 38 discriminator 1
  5259. 2499 0018 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  5260. 2500 001a 022B cmp r3, #2
  5261. 2501 001c 09D1 bne .L114
  5262. 2502 .L113:
  5263. 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5264. 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5265. 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Enable the selected interrupts */
  5266. 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __HAL_CAN_ENABLE_IT(hcan, ActiveITs);
  5267. 2503 .loc 1 1670 5
  5268. 2504 001e 7B68 ldr r3, [r7, #4]
  5269. 2505 0020 1B68 ldr r3, [r3]
  5270. 2506 0022 5969 ldr r1, [r3, #20]
  5271. 2507 0024 7B68 ldr r3, [r7, #4]
  5272. 2508 0026 1B68 ldr r3, [r3]
  5273. 2509 0028 3A68 ldr r2, [r7]
  5274. 2510 002a 0A43 orrs r2, r2, r1
  5275. 2511 002c 5A61 str r2, [r3, #20]
  5276. 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5277. 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  5278. 1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_OK;
  5279. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 92
  5280. 2512 .loc 1 1673 12
  5281. 2513 002e 0023 movs r3, #0
  5282. 2514 0030 06E0 b .L115
  5283. 2515 .L114:
  5284. 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5285. 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  5286. 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5287. 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  5288. 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  5289. 2516 .loc 1 1678 21
  5290. 2517 0032 7B68 ldr r3, [r7, #4]
  5291. 2518 0034 5B6A ldr r3, [r3, #36]
  5292. 2519 0036 43F48022 orr r2, r3, #262144
  5293. 2520 003a 7B68 ldr r3, [r7, #4]
  5294. 2521 003c 5A62 str r2, [r3, #36]
  5295. 1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5296. 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  5297. 2522 .loc 1 1680 12
  5298. 2523 003e 0123 movs r3, #1
  5299. 2524 .L115:
  5300. 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5301. 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5302. 2525 .loc 1 1682 1
  5303. 2526 0040 1846 mov r0, r3
  5304. 2527 0042 1437 adds r7, r7, #20
  5305. 2528 .LCFI101:
  5306. 2529 .cfi_def_cfa_offset 4
  5307. 2530 0044 BD46 mov sp, r7
  5308. 2531 .LCFI102:
  5309. 2532 .cfi_def_cfa_register 13
  5310. 2533 @ sp needed
  5311. 2534 0046 5DF8047B ldr r7, [sp], #4
  5312. 2535 .LCFI103:
  5313. 2536 .cfi_restore 7
  5314. 2537 .cfi_def_cfa_offset 0
  5315. 2538 004a 7047 bx lr
  5316. 2539 .cfi_endproc
  5317. 2540 .LFE252:
  5318. 2542 .section .text.HAL_CAN_DeactivateNotification,"ax",%progbits
  5319. 2543 .align 1
  5320. 2544 .global HAL_CAN_DeactivateNotification
  5321. 2545 .syntax unified
  5322. 2546 .thumb
  5323. 2547 .thumb_func
  5324. 2549 HAL_CAN_DeactivateNotification:
  5325. 2550 .LFB253:
  5326. 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5327. 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  5328. 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Disable interrupts.
  5329. 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  5330. 1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  5331. 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param InactiveITs indicates which interrupts will be disabled.
  5332. 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Interrupts.
  5333. 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status
  5334. 1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  5335. 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeactivateNotification(CAN_HandleTypeDef *hcan, uint32_t InactiveITs)
  5336. 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5337. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 93
  5338. 2551 .loc 1 1693 1
  5339. 2552 .cfi_startproc
  5340. 2553 @ args = 0, pretend = 0, frame = 16
  5341. 2554 @ frame_needed = 1, uses_anonymous_args = 0
  5342. 2555 @ link register save eliminated.
  5343. 2556 0000 80B4 push {r7}
  5344. 2557 .LCFI104:
  5345. 2558 .cfi_def_cfa_offset 4
  5346. 2559 .cfi_offset 7, -4
  5347. 2560 0002 85B0 sub sp, sp, #20
  5348. 2561 .LCFI105:
  5349. 2562 .cfi_def_cfa_offset 24
  5350. 2563 0004 00AF add r7, sp, #0
  5351. 2564 .LCFI106:
  5352. 2565 .cfi_def_cfa_register 7
  5353. 2566 0006 7860 str r0, [r7, #4]
  5354. 2567 0008 3960 str r1, [r7]
  5355. 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5356. 2568 .loc 1 1694 24
  5357. 2569 000a 7B68 ldr r3, [r7, #4]
  5358. 2570 000c 93F82030 ldrb r3, [r3, #32]
  5359. 2571 0010 FB73 strb r3, [r7, #15]
  5360. 1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5361. 1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check function parameters */
  5362. 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** assert_param(IS_CAN_IT(InactiveITs));
  5363. 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5364. 1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  5365. 2572 .loc 1 1699 6
  5366. 2573 0012 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  5367. 2574 0014 012B cmp r3, #1
  5368. 2575 0016 02D0 beq .L117
  5369. 2576 .loc 1 1699 38 discriminator 1
  5370. 2577 0018 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  5371. 2578 001a 022B cmp r3, #2
  5372. 2579 001c 0AD1 bne .L118
  5373. 2580 .L117:
  5374. 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5375. 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5376. 1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Disable the selected interrupts */
  5377. 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __HAL_CAN_DISABLE_IT(hcan, InactiveITs);
  5378. 2581 .loc 1 1703 5
  5379. 2582 001e 7B68 ldr r3, [r7, #4]
  5380. 2583 0020 1B68 ldr r3, [r3]
  5381. 2584 0022 5969 ldr r1, [r3, #20]
  5382. 2585 0024 3B68 ldr r3, [r7]
  5383. 2586 0026 DA43 mvns r2, r3
  5384. 2587 0028 7B68 ldr r3, [r7, #4]
  5385. 2588 002a 1B68 ldr r3, [r3]
  5386. 2589 002c 0A40 ands r2, r2, r1
  5387. 2590 002e 5A61 str r2, [r3, #20]
  5388. 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5389. 1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return function status */
  5390. 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_OK;
  5391. 2591 .loc 1 1706 12
  5392. 2592 0030 0023 movs r3, #0
  5393. 2593 0032 06E0 b .L119
  5394. 2594 .L118:
  5395. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 94
  5396. 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5397. 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  5398. 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5399. 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  5400. 1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  5401. 2595 .loc 1 1711 21
  5402. 2596 0034 7B68 ldr r3, [r7, #4]
  5403. 2597 0036 5B6A ldr r3, [r3, #36]
  5404. 2598 0038 43F48022 orr r2, r3, #262144
  5405. 2599 003c 7B68 ldr r3, [r7, #4]
  5406. 2600 003e 5A62 str r2, [r3, #36]
  5407. 1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5408. 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return HAL_ERROR;
  5409. 2601 .loc 1 1713 12
  5410. 2602 0040 0123 movs r3, #1
  5411. 2603 .L119:
  5412. 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5413. 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5414. 2604 .loc 1 1715 1
  5415. 2605 0042 1846 mov r0, r3
  5416. 2606 0044 1437 adds r7, r7, #20
  5417. 2607 .LCFI107:
  5418. 2608 .cfi_def_cfa_offset 4
  5419. 2609 0046 BD46 mov sp, r7
  5420. 2610 .LCFI108:
  5421. 2611 .cfi_def_cfa_register 13
  5422. 2612 @ sp needed
  5423. 2613 0048 5DF8047B ldr r7, [sp], #4
  5424. 2614 .LCFI109:
  5425. 2615 .cfi_restore 7
  5426. 2616 .cfi_def_cfa_offset 0
  5427. 2617 004c 7047 bx lr
  5428. 2618 .cfi_endproc
  5429. 2619 .LFE253:
  5430. 2621 .section .text.HAL_CAN_IRQHandler,"ax",%progbits
  5431. 2622 .align 1
  5432. 2623 .global HAL_CAN_IRQHandler
  5433. 2624 .syntax unified
  5434. 2625 .thumb
  5435. 2626 .thumb_func
  5436. 2628 HAL_CAN_IRQHandler:
  5437. 2629 .LFB254:
  5438. 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5439. 1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  5440. 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Handles CAN interrupt request
  5441. 1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  5442. 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  5443. 1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  5444. 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  5445. 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** void HAL_CAN_IRQHandler(CAN_HandleTypeDef *hcan)
  5446. 1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5447. 2630 .loc 1 1724 1
  5448. 2631 .cfi_startproc
  5449. 2632 @ args = 0, pretend = 0, frame = 40
  5450. 2633 @ frame_needed = 1, uses_anonymous_args = 0
  5451. 2634 0000 80B5 push {r7, lr}
  5452. 2635 .LCFI110:
  5453. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 95
  5454. 2636 .cfi_def_cfa_offset 8
  5455. 2637 .cfi_offset 7, -8
  5456. 2638 .cfi_offset 14, -4
  5457. 2639 0002 8AB0 sub sp, sp, #40
  5458. 2640 .LCFI111:
  5459. 2641 .cfi_def_cfa_offset 48
  5460. 2642 0004 00AF add r7, sp, #0
  5461. 2643 .LCFI112:
  5462. 2644 .cfi_def_cfa_register 7
  5463. 2645 0006 7860 str r0, [r7, #4]
  5464. 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t errorcode = HAL_CAN_ERROR_NONE;
  5465. 2646 .loc 1 1725 12
  5466. 2647 0008 0023 movs r3, #0
  5467. 2648 000a 7B62 str r3, [r7, #36]
  5468. 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t interrupts = READ_REG(hcan->Instance->IER);
  5469. 2649 .loc 1 1726 25
  5470. 2650 000c 7B68 ldr r3, [r7, #4]
  5471. 2651 000e 1B68 ldr r3, [r3]
  5472. 2652 .loc 1 1726 12
  5473. 2653 0010 5B69 ldr r3, [r3, #20]
  5474. 2654 0012 3B62 str r3, [r7, #32]
  5475. 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t msrflags = READ_REG(hcan->Instance->MSR);
  5476. 2655 .loc 1 1727 23
  5477. 2656 0014 7B68 ldr r3, [r7, #4]
  5478. 2657 0016 1B68 ldr r3, [r3]
  5479. 2658 .loc 1 1727 12
  5480. 2659 0018 5B68 ldr r3, [r3, #4]
  5481. 2660 001a FB61 str r3, [r7, #28]
  5482. 1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
  5483. 2661 .loc 1 1728 23
  5484. 2662 001c 7B68 ldr r3, [r7, #4]
  5485. 2663 001e 1B68 ldr r3, [r3]
  5486. 2664 .loc 1 1728 12
  5487. 2665 0020 9B68 ldr r3, [r3, #8]
  5488. 2666 0022 BB61 str r3, [r7, #24]
  5489. 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
  5490. 2667 .loc 1 1729 24
  5491. 2668 0024 7B68 ldr r3, [r7, #4]
  5492. 2669 0026 1B68 ldr r3, [r3]
  5493. 2670 .loc 1 1729 12
  5494. 2671 0028 DB68 ldr r3, [r3, #12]
  5495. 2672 002a 7B61 str r3, [r7, #20]
  5496. 1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
  5497. 2673 .loc 1 1730 24
  5498. 2674 002c 7B68 ldr r3, [r7, #4]
  5499. 2675 002e 1B68 ldr r3, [r3]
  5500. 2676 .loc 1 1730 12
  5501. 2677 0030 1B69 ldr r3, [r3, #16]
  5502. 2678 0032 3B61 str r3, [r7, #16]
  5503. 1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t esrflags = READ_REG(hcan->Instance->ESR);
  5504. 2679 .loc 1 1731 23
  5505. 2680 0034 7B68 ldr r3, [r7, #4]
  5506. 2681 0036 1B68 ldr r3, [r3]
  5507. 2682 .loc 1 1731 12
  5508. 2683 0038 9B69 ldr r3, [r3, #24]
  5509. 2684 003a FB60 str r3, [r7, #12]
  5510. 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5511. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 96
  5512. 1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Transmit Mailbox empty interrupt management *****************************/
  5513. 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((interrupts & CAN_IT_TX_MAILBOX_EMPTY) != 0U)
  5514. 2685 .loc 1 1734 19
  5515. 2686 003c 3B6A ldr r3, [r7, #32]
  5516. 2687 003e 03F00103 and r3, r3, #1
  5517. 2688 .loc 1 1734 6
  5518. 2689 0042 002B cmp r3, #0
  5519. 2690 0044 7CD0 beq .L121
  5520. 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5521. 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Transmit Mailbox 0 management *****************************************/
  5522. 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP0) != 0U)
  5523. 2691 .loc 1 1737 19
  5524. 2692 0046 BB69 ldr r3, [r7, #24]
  5525. 2693 0048 03F00103 and r3, r3, #1
  5526. 2694 .loc 1 1737 8
  5527. 2695 004c 002B cmp r3, #0
  5528. 2696 004e 23D0 beq .L122
  5529. 1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5530. 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK0,ALST0,TERR0 bits) */
  5531. 1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP0);
  5532. 2697 .loc 1 1740 7
  5533. 2698 0050 7B68 ldr r3, [r7, #4]
  5534. 2699 0052 1B68 ldr r3, [r3]
  5535. 2700 0054 0122 movs r2, #1
  5536. 2701 0056 9A60 str r2, [r3, #8]
  5537. 1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5538. 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK0) != 0U)
  5539. 2702 .loc 1 1742 21
  5540. 2703 0058 BB69 ldr r3, [r7, #24]
  5541. 2704 005a 03F00203 and r3, r3, #2
  5542. 2705 .loc 1 1742 10
  5543. 2706 005e 002B cmp r3, #0
  5544. 2707 0060 03D0 beq .L123
  5545. 1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5546. 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Transmission Mailbox 0 complete callback */
  5547. 1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  5548. 1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  5549. 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox0CompleteCallback(hcan);
  5550. 1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  5551. 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  5552. 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_TxMailbox0CompleteCallback(hcan);
  5553. 2708 .loc 1 1750 9
  5554. 2709 0062 7868 ldr r0, [r7, #4]
  5555. 2710 0064 FFF7FEFF bl HAL_CAN_TxMailbox0CompleteCallback
  5556. 2711 0068 16E0 b .L122
  5557. 2712 .L123:
  5558. 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  5559. 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5560. 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  5561. 1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5562. 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST0) != 0U)
  5563. 2713 .loc 1 1755 23
  5564. 2714 006a BB69 ldr r3, [r7, #24]
  5565. 2715 006c 03F00403 and r3, r3, #4
  5566. 2716 .loc 1 1755 12
  5567. 2717 0070 002B cmp r3, #0
  5568. 2718 0072 04D0 beq .L124
  5569. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 97
  5570. 1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5571. 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  5572. 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST0;
  5573. 2719 .loc 1 1758 21
  5574. 2720 0074 7B6A ldr r3, [r7, #36]
  5575. 2721 0076 43F40063 orr r3, r3, #2048
  5576. 2722 007a 7B62 str r3, [r7, #36]
  5577. 2723 007c 0CE0 b .L122
  5578. 2724 .L124:
  5579. 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5580. 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR0) != 0U)
  5581. 2725 .loc 1 1760 28
  5582. 2726 007e BB69 ldr r3, [r7, #24]
  5583. 2727 0080 03F00803 and r3, r3, #8
  5584. 2728 .loc 1 1760 17
  5585. 2729 0084 002B cmp r3, #0
  5586. 2730 0086 04D0 beq .L125
  5587. 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5588. 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  5589. 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR0;
  5590. 2731 .loc 1 1763 21
  5591. 2732 0088 7B6A ldr r3, [r7, #36]
  5592. 2733 008a 43F48053 orr r3, r3, #4096
  5593. 2734 008e 7B62 str r3, [r7, #36]
  5594. 2735 0090 02E0 b .L122
  5595. 2736 .L125:
  5596. 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5597. 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  5598. 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5599. 1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Transmission Mailbox 0 abort callback */
  5600. 1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  5601. 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  5602. 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox0AbortCallback(hcan);
  5603. 1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  5604. 1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  5605. 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_TxMailbox0AbortCallback(hcan);
  5606. 2737 .loc 1 1773 11
  5607. 2738 0092 7868 ldr r0, [r7, #4]
  5608. 2739 0094 FFF7FEFF bl HAL_CAN_TxMailbox0AbortCallback
  5609. 2740 .L122:
  5610. 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  5611. 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5612. 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5613. 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5614. 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5615. 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Transmit Mailbox 1 management *****************************************/
  5616. 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP1) != 0U)
  5617. 2741 .loc 1 1780 19
  5618. 2742 0098 BB69 ldr r3, [r7, #24]
  5619. 2743 009a 03F48073 and r3, r3, #256
  5620. 2744 .loc 1 1780 8
  5621. 2745 009e 002B cmp r3, #0
  5622. 2746 00a0 24D0 beq .L126
  5623. 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5624. 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK1,ALST1,TERR1 bits) */
  5625. 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP1);
  5626. 2747 .loc 1 1783 7
  5627. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 98
  5628. 2748 00a2 7B68 ldr r3, [r7, #4]
  5629. 2749 00a4 1B68 ldr r3, [r3]
  5630. 2750 00a6 4FF48072 mov r2, #256
  5631. 2751 00aa 9A60 str r2, [r3, #8]
  5632. 1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5633. 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK1) != 0U)
  5634. 2752 .loc 1 1785 21
  5635. 2753 00ac BB69 ldr r3, [r7, #24]
  5636. 2754 00ae 03F40073 and r3, r3, #512
  5637. 2755 .loc 1 1785 10
  5638. 2756 00b2 002B cmp r3, #0
  5639. 2757 00b4 03D0 beq .L127
  5640. 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5641. 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Transmission Mailbox 1 complete callback */
  5642. 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  5643. 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  5644. 1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox1CompleteCallback(hcan);
  5645. 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  5646. 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  5647. 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_TxMailbox1CompleteCallback(hcan);
  5648. 2758 .loc 1 1793 9
  5649. 2759 00b6 7868 ldr r0, [r7, #4]
  5650. 2760 00b8 FFF7FEFF bl HAL_CAN_TxMailbox1CompleteCallback
  5651. 2761 00bc 16E0 b .L126
  5652. 2762 .L127:
  5653. 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  5654. 1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5655. 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  5656. 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5657. 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST1) != 0U)
  5658. 2763 .loc 1 1798 23
  5659. 2764 00be BB69 ldr r3, [r7, #24]
  5660. 2765 00c0 03F48063 and r3, r3, #1024
  5661. 2766 .loc 1 1798 12
  5662. 2767 00c4 002B cmp r3, #0
  5663. 2768 00c6 04D0 beq .L128
  5664. 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5665. 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  5666. 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST1;
  5667. 2769 .loc 1 1801 21
  5668. 2770 00c8 7B6A ldr r3, [r7, #36]
  5669. 2771 00ca 43F40053 orr r3, r3, #8192
  5670. 2772 00ce 7B62 str r3, [r7, #36]
  5671. 2773 00d0 0CE0 b .L126
  5672. 2774 .L128:
  5673. 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5674. 1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR1) != 0U)
  5675. 2775 .loc 1 1803 28
  5676. 2776 00d2 BB69 ldr r3, [r7, #24]
  5677. 2777 00d4 03F40063 and r3, r3, #2048
  5678. 2778 .loc 1 1803 17
  5679. 2779 00d8 002B cmp r3, #0
  5680. 2780 00da 04D0 beq .L129
  5681. 1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5682. 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  5683. 1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR1;
  5684. 2781 .loc 1 1806 21
  5685. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 99
  5686. 2782 00dc 7B6A ldr r3, [r7, #36]
  5687. 2783 00de 43F48043 orr r3, r3, #16384
  5688. 2784 00e2 7B62 str r3, [r7, #36]
  5689. 2785 00e4 02E0 b .L126
  5690. 2786 .L129:
  5691. 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5692. 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  5693. 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5694. 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Transmission Mailbox 1 abort callback */
  5695. 1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  5696. 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  5697. 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox1AbortCallback(hcan);
  5698. 1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  5699. 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  5700. 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_TxMailbox1AbortCallback(hcan);
  5701. 2787 .loc 1 1816 11
  5702. 2788 00e6 7868 ldr r0, [r7, #4]
  5703. 2789 00e8 FFF7FEFF bl HAL_CAN_TxMailbox1AbortCallback
  5704. 2790 .L126:
  5705. 1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  5706. 1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5707. 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5708. 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5709. 1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5710. 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Transmit Mailbox 2 management *****************************************/
  5711. 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP2) != 0U)
  5712. 2791 .loc 1 1823 19
  5713. 2792 00ec BB69 ldr r3, [r7, #24]
  5714. 2793 00ee 03F48033 and r3, r3, #65536
  5715. 2794 .loc 1 1823 8
  5716. 2795 00f2 002B cmp r3, #0
  5717. 2796 00f4 24D0 beq .L121
  5718. 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5719. 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK2,ALST2,TERR2 bits) */
  5720. 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP2);
  5721. 2797 .loc 1 1826 7
  5722. 2798 00f6 7B68 ldr r3, [r7, #4]
  5723. 2799 00f8 1B68 ldr r3, [r3]
  5724. 2800 00fa 4FF48032 mov r2, #65536
  5725. 2801 00fe 9A60 str r2, [r3, #8]
  5726. 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5727. 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK2) != 0U)
  5728. 2802 .loc 1 1828 21
  5729. 2803 0100 BB69 ldr r3, [r7, #24]
  5730. 2804 0102 03F40033 and r3, r3, #131072
  5731. 2805 .loc 1 1828 10
  5732. 2806 0106 002B cmp r3, #0
  5733. 2807 0108 03D0 beq .L130
  5734. 1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5735. 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Transmission Mailbox 2 complete callback */
  5736. 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  5737. 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  5738. 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox2CompleteCallback(hcan);
  5739. 1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  5740. 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  5741. 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_TxMailbox2CompleteCallback(hcan);
  5742. 2808 .loc 1 1836 9
  5743. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 100
  5744. 2809 010a 7868 ldr r0, [r7, #4]
  5745. 2810 010c FFF7FEFF bl HAL_CAN_TxMailbox2CompleteCallback
  5746. 2811 0110 16E0 b .L121
  5747. 2812 .L130:
  5748. 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  5749. 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5750. 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  5751. 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5752. 1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST2) != 0U)
  5753. 2813 .loc 1 1841 23
  5754. 2814 0112 BB69 ldr r3, [r7, #24]
  5755. 2815 0114 03F48023 and r3, r3, #262144
  5756. 2816 .loc 1 1841 12
  5757. 2817 0118 002B cmp r3, #0
  5758. 2818 011a 04D0 beq .L131
  5759. 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5760. 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  5761. 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST2;
  5762. 2819 .loc 1 1844 21
  5763. 2820 011c 7B6A ldr r3, [r7, #36]
  5764. 2821 011e 43F40043 orr r3, r3, #32768
  5765. 2822 0122 7B62 str r3, [r7, #36]
  5766. 2823 0124 0CE0 b .L121
  5767. 2824 .L131:
  5768. 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5769. 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR2) != 0U)
  5770. 2825 .loc 1 1846 28
  5771. 2826 0126 BB69 ldr r3, [r7, #24]
  5772. 2827 0128 03F40023 and r3, r3, #524288
  5773. 2828 .loc 1 1846 17
  5774. 2829 012c 002B cmp r3, #0
  5775. 2830 012e 04D0 beq .L132
  5776. 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5777. 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  5778. 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR2;
  5779. 2831 .loc 1 1849 21
  5780. 2832 0130 7B6A ldr r3, [r7, #36]
  5781. 2833 0132 43F48033 orr r3, r3, #65536
  5782. 2834 0136 7B62 str r3, [r7, #36]
  5783. 2835 0138 02E0 b .L121
  5784. 2836 .L132:
  5785. 1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5786. 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  5787. 1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5788. 1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Transmission Mailbox 2 abort callback */
  5789. 1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  5790. 1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  5791. 1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->TxMailbox2AbortCallback(hcan);
  5792. 1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  5793. 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  5794. 1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_TxMailbox2AbortCallback(hcan);
  5795. 2837 .loc 1 1859 11
  5796. 2838 013a 7868 ldr r0, [r7, #4]
  5797. 2839 013c FFF7FEFF bl HAL_CAN_TxMailbox2AbortCallback
  5798. 2840 .L121:
  5799. 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  5800. 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5801. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 101
  5802. 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5803. 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5804. 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5805. 1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5806. 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Receive FIFO 0 overrun interrupt management *****************************/
  5807. 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_OVERRUN) != 0U)
  5808. 2841 .loc 1 1867 19
  5809. 2842 0140 3B6A ldr r3, [r7, #32]
  5810. 2843 0142 03F00803 and r3, r3, #8
  5811. 2844 .loc 1 1867 6
  5812. 2845 0146 002B cmp r3, #0
  5813. 2846 0148 0CD0 beq .L133
  5814. 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5815. 1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((rf0rflags & CAN_RF0R_FOVR0) != 0U)
  5816. 2847 .loc 1 1869 20
  5817. 2848 014a 7B69 ldr r3, [r7, #20]
  5818. 2849 014c 03F01003 and r3, r3, #16
  5819. 2850 .loc 1 1869 8
  5820. 2851 0150 002B cmp r3, #0
  5821. 2852 0152 07D0 beq .L133
  5822. 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5823. 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set CAN error code to Rx Fifo 0 overrun error */
  5824. 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_RX_FOV0;
  5825. 2853 .loc 1 1872 17
  5826. 2854 0154 7B6A ldr r3, [r7, #36]
  5827. 2855 0156 43F40073 orr r3, r3, #512
  5828. 2856 015a 7B62 str r3, [r7, #36]
  5829. 1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5830. 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Clear FIFO0 Overrun Flag */
  5831. 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV0);
  5832. 2857 .loc 1 1875 7
  5833. 2858 015c 7B68 ldr r3, [r7, #4]
  5834. 2859 015e 1B68 ldr r3, [r3]
  5835. 2860 0160 1022 movs r2, #16
  5836. 2861 0162 DA60 str r2, [r3, #12]
  5837. 2862 .L133:
  5838. 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5839. 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5840. 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5841. 1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Receive FIFO 0 full interrupt management ********************************/
  5842. 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_FULL) != 0U)
  5843. 2863 .loc 1 1880 19
  5844. 2864 0164 3B6A ldr r3, [r7, #32]
  5845. 2865 0166 03F00403 and r3, r3, #4
  5846. 2866 .loc 1 1880 6
  5847. 2867 016a 002B cmp r3, #0
  5848. 2868 016c 0BD0 beq .L134
  5849. 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5850. 1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((rf0rflags & CAN_RF0R_FULL0) != 0U)
  5851. 2869 .loc 1 1882 20
  5852. 2870 016e 7B69 ldr r3, [r7, #20]
  5853. 2871 0170 03F00803 and r3, r3, #8
  5854. 2872 .loc 1 1882 8
  5855. 2873 0174 002B cmp r3, #0
  5856. 2874 0176 06D0 beq .L134
  5857. 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5858. 1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Clear FIFO 0 full Flag */
  5859. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 102
  5860. 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF0);
  5861. 2875 .loc 1 1885 7
  5862. 2876 0178 7B68 ldr r3, [r7, #4]
  5863. 2877 017a 1B68 ldr r3, [r3]
  5864. 2878 017c 0822 movs r2, #8
  5865. 2879 017e DA60 str r2, [r3, #12]
  5866. 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5867. 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Receive FIFO 0 full Callback */
  5868. 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  5869. 1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  5870. 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo0FullCallback(hcan);
  5871. 1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  5872. 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  5873. 1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_RxFifo0FullCallback(hcan);
  5874. 2880 .loc 1 1893 7
  5875. 2881 0180 7868 ldr r0, [r7, #4]
  5876. 2882 0182 FFF7FEFF bl HAL_CAN_RxFifo0FullCallback
  5877. 2883 .L134:
  5878. 1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  5879. 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5880. 1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5881. 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5882. 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Receive FIFO 0 message pending interrupt management *********************/
  5883. 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_MSG_PENDING) != 0U)
  5884. 2884 .loc 1 1899 19
  5885. 2885 0186 3B6A ldr r3, [r7, #32]
  5886. 2886 0188 03F00203 and r3, r3, #2
  5887. 2887 .loc 1 1899 6
  5888. 2888 018c 002B cmp r3, #0
  5889. 2889 018e 09D0 beq .L135
  5890. 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5891. 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check if message is still pending */
  5892. 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) != 0U)
  5893. 2890 .loc 1 1902 14
  5894. 2891 0190 7B68 ldr r3, [r7, #4]
  5895. 2892 0192 1B68 ldr r3, [r3]
  5896. 2893 .loc 1 1902 24
  5897. 2894 0194 DB68 ldr r3, [r3, #12]
  5898. 2895 .loc 1 1902 31
  5899. 2896 0196 03F00303 and r3, r3, #3
  5900. 2897 .loc 1 1902 8
  5901. 2898 019a 002B cmp r3, #0
  5902. 2899 019c 02D0 beq .L135
  5903. 1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5904. 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Receive FIFO 0 message pending Callback */
  5905. 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  5906. 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  5907. 1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback(hcan);
  5908. 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  5909. 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  5910. 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_RxFifo0MsgPendingCallback(hcan);
  5911. 2900 .loc 1 1910 7
  5912. 2901 019e 7868 ldr r0, [r7, #4]
  5913. 2902 01a0 FFF7FEFF bl HAL_CAN_RxFifo0MsgPendingCallback
  5914. 2903 .L135:
  5915. 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  5916. 1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5917. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 103
  5918. 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5919. 1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5920. 1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Receive FIFO 1 overrun interrupt management *****************************/
  5921. 1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_OVERRUN) != 0U)
  5922. 2904 .loc 1 1916 19
  5923. 2905 01a4 3B6A ldr r3, [r7, #32]
  5924. 2906 01a6 03F04003 and r3, r3, #64
  5925. 2907 .loc 1 1916 6
  5926. 2908 01aa 002B cmp r3, #0
  5927. 2909 01ac 0CD0 beq .L136
  5928. 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5929. 1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((rf1rflags & CAN_RF1R_FOVR1) != 0U)
  5930. 2910 .loc 1 1918 20
  5931. 2911 01ae 3B69 ldr r3, [r7, #16]
  5932. 2912 01b0 03F01003 and r3, r3, #16
  5933. 2913 .loc 1 1918 8
  5934. 2914 01b4 002B cmp r3, #0
  5935. 2915 01b6 07D0 beq .L136
  5936. 1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5937. 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set CAN error code to Rx Fifo 1 overrun error */
  5938. 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_RX_FOV1;
  5939. 2916 .loc 1 1921 17
  5940. 2917 01b8 7B6A ldr r3, [r7, #36]
  5941. 2918 01ba 43F48063 orr r3, r3, #1024
  5942. 2919 01be 7B62 str r3, [r7, #36]
  5943. 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5944. 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Clear FIFO1 Overrun Flag */
  5945. 1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV1);
  5946. 2920 .loc 1 1924 7
  5947. 2921 01c0 7B68 ldr r3, [r7, #4]
  5948. 2922 01c2 1B68 ldr r3, [r3]
  5949. 2923 01c4 1022 movs r2, #16
  5950. 2924 01c6 1A61 str r2, [r3, #16]
  5951. 2925 .L136:
  5952. 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5953. 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5954. 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5955. 1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Receive FIFO 1 full interrupt management ********************************/
  5956. 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_FULL) != 0U)
  5957. 2926 .loc 1 1929 19
  5958. 2927 01c8 3B6A ldr r3, [r7, #32]
  5959. 2928 01ca 03F02003 and r3, r3, #32
  5960. 2929 .loc 1 1929 6
  5961. 2930 01ce 002B cmp r3, #0
  5962. 2931 01d0 0BD0 beq .L137
  5963. 1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5964. 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((rf1rflags & CAN_RF1R_FULL1) != 0U)
  5965. 2932 .loc 1 1931 20
  5966. 2933 01d2 3B69 ldr r3, [r7, #16]
  5967. 2934 01d4 03F00803 and r3, r3, #8
  5968. 2935 .loc 1 1931 8
  5969. 2936 01d8 002B cmp r3, #0
  5970. 2937 01da 06D0 beq .L137
  5971. 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  5972. 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Clear FIFO 1 full Flag */
  5973. 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF1);
  5974. 2938 .loc 1 1934 7
  5975. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 104
  5976. 2939 01dc 7B68 ldr r3, [r7, #4]
  5977. 2940 01de 1B68 ldr r3, [r3]
  5978. 2941 01e0 0822 movs r2, #8
  5979. 2942 01e2 1A61 str r2, [r3, #16]
  5980. 1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5981. 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Receive FIFO 1 full Callback */
  5982. 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  5983. 1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  5984. 1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo1FullCallback(hcan);
  5985. 1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  5986. 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  5987. 1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_RxFifo1FullCallback(hcan);
  5988. 2943 .loc 1 1942 7
  5989. 2944 01e4 7868 ldr r0, [r7, #4]
  5990. 2945 01e6 FFF7FEFF bl HAL_CAN_RxFifo1FullCallback
  5991. 2946 .L137:
  5992. 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  5993. 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5994. 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  5995. 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  5996. 1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Receive FIFO 1 message pending interrupt management *********************/
  5997. 1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_MSG_PENDING) != 0U)
  5998. 2947 .loc 1 1948 19
  5999. 2948 01ea 3B6A ldr r3, [r7, #32]
  6000. 2949 01ec 03F01003 and r3, r3, #16
  6001. 2950 .loc 1 1948 6
  6002. 2951 01f0 002B cmp r3, #0
  6003. 2952 01f2 09D0 beq .L138
  6004. 1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6005. 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check if message is still pending */
  6006. 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) != 0U)
  6007. 2953 .loc 1 1951 14
  6008. 2954 01f4 7B68 ldr r3, [r7, #4]
  6009. 2955 01f6 1B68 ldr r3, [r3]
  6010. 2956 .loc 1 1951 24
  6011. 2957 01f8 1B69 ldr r3, [r3, #16]
  6012. 2958 .loc 1 1951 31
  6013. 2959 01fa 03F00303 and r3, r3, #3
  6014. 2960 .loc 1 1951 8
  6015. 2961 01fe 002B cmp r3, #0
  6016. 2962 0200 02D0 beq .L138
  6017. 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6018. 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Receive FIFO 1 message pending Callback */
  6019. 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6020. 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  6021. 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback(hcan);
  6022. 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  6023. 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  6024. 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_RxFifo1MsgPendingCallback(hcan);
  6025. 2963 .loc 1 1959 7
  6026. 2964 0202 7868 ldr r0, [r7, #4]
  6027. 2965 0204 FFF7FEFF bl HAL_CAN_RxFifo1MsgPendingCallback
  6028. 2966 .L138:
  6029. 1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6030. 1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6031. 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6032. 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6033. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 105
  6034. 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Sleep interrupt management *********************************************/
  6035. 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((interrupts & CAN_IT_SLEEP_ACK) != 0U)
  6036. 2967 .loc 1 1965 19
  6037. 2968 0208 3B6A ldr r3, [r7, #32]
  6038. 2969 020a 03F40033 and r3, r3, #131072
  6039. 2970 .loc 1 1965 6
  6040. 2971 020e 002B cmp r3, #0
  6041. 2972 0210 0BD0 beq .L139
  6042. 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6043. 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((msrflags & CAN_MSR_SLAKI) != 0U)
  6044. 2973 .loc 1 1967 19
  6045. 2974 0212 FB69 ldr r3, [r7, #28]
  6046. 2975 0214 03F01003 and r3, r3, #16
  6047. 2976 .loc 1 1967 8
  6048. 2977 0218 002B cmp r3, #0
  6049. 2978 021a 06D0 beq .L139
  6050. 1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6051. 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Clear Sleep interrupt Flag */
  6052. 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_SLAKI);
  6053. 2979 .loc 1 1970 7
  6054. 2980 021c 7B68 ldr r3, [r7, #4]
  6055. 2981 021e 1B68 ldr r3, [r3]
  6056. 2982 0220 1022 movs r2, #16
  6057. 2983 0222 5A60 str r2, [r3, #4]
  6058. 1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6059. 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Sleep Callback */
  6060. 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6061. 1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  6062. 1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->SleepCallback(hcan);
  6063. 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  6064. 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  6065. 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_SleepCallback(hcan);
  6066. 2984 .loc 1 1978 7
  6067. 2985 0224 7868 ldr r0, [r7, #4]
  6068. 2986 0226 FFF7FEFF bl HAL_CAN_SleepCallback
  6069. 2987 .L139:
  6070. 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6071. 1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6072. 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6073. 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6074. 1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* WakeUp interrupt management *********************************************/
  6075. 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((interrupts & CAN_IT_WAKEUP) != 0U)
  6076. 2988 .loc 1 1984 19
  6077. 2989 022a 3B6A ldr r3, [r7, #32]
  6078. 2990 022c 03F48033 and r3, r3, #65536
  6079. 2991 .loc 1 1984 6
  6080. 2992 0230 002B cmp r3, #0
  6081. 2993 0232 0BD0 beq .L140
  6082. 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6083. 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((msrflags & CAN_MSR_WKUI) != 0U)
  6084. 2994 .loc 1 1986 19
  6085. 2995 0234 FB69 ldr r3, [r7, #28]
  6086. 2996 0236 03F00803 and r3, r3, #8
  6087. 2997 .loc 1 1986 8
  6088. 2998 023a 002B cmp r3, #0
  6089. 2999 023c 06D0 beq .L140
  6090. 1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6091. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 106
  6092. 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Clear WakeUp Flag */
  6093. 1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_WKU);
  6094. 3000 .loc 1 1989 7
  6095. 3001 023e 7B68 ldr r3, [r7, #4]
  6096. 3002 0240 1B68 ldr r3, [r3]
  6097. 3003 0242 0822 movs r2, #8
  6098. 3004 0244 5A60 str r2, [r3, #4]
  6099. 1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6100. 1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* WakeUp Callback */
  6101. 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6102. 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  6103. 1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback(hcan);
  6104. 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  6105. 1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  6106. 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_WakeUpFromRxMsgCallback(hcan);
  6107. 3005 .loc 1 1997 7
  6108. 3006 0246 7868 ldr r0, [r7, #4]
  6109. 3007 0248 FFF7FEFF bl HAL_CAN_WakeUpFromRxMsgCallback
  6110. 3008 .L140:
  6111. 1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6112. 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6113. 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6114. 2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6115. 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Error interrupts management *********************************************/
  6116. 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((interrupts & CAN_IT_ERROR) != 0U)
  6117. 3009 .loc 1 2003 19
  6118. 3010 024c 3B6A ldr r3, [r7, #32]
  6119. 3011 024e 03F40043 and r3, r3, #32768
  6120. 3012 .loc 1 2003 6
  6121. 3013 0252 002B cmp r3, #0
  6122. 3014 0254 7BD0 beq .L141
  6123. 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6124. 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((msrflags & CAN_MSR_ERRI) != 0U)
  6125. 3015 .loc 1 2005 19
  6126. 3016 0256 FB69 ldr r3, [r7, #28]
  6127. 3017 0258 03F00403 and r3, r3, #4
  6128. 3018 .loc 1 2005 8
  6129. 3019 025c 002B cmp r3, #0
  6130. 3020 025e 72D0 beq .L142
  6131. 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6132. 2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check Error Warning Flag */
  6133. 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (((interrupts & CAN_IT_ERROR_WARNING) != 0U) &&
  6134. 3021 .loc 1 2008 24
  6135. 3022 0260 3B6A ldr r3, [r7, #32]
  6136. 3023 0262 03F48073 and r3, r3, #256
  6137. 3024 .loc 1 2008 10
  6138. 3025 0266 002B cmp r3, #0
  6139. 3026 0268 08D0 beq .L143
  6140. 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
  6141. 3027 .loc 1 2009 22 discriminator 1
  6142. 3028 026a FB68 ldr r3, [r7, #12]
  6143. 3029 026c 03F00103 and r3, r3, #1
  6144. 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
  6145. 3030 .loc 1 2008 55 discriminator 1
  6146. 3031 0270 002B cmp r3, #0
  6147. 3032 0272 03D0 beq .L143
  6148. 2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6149. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 107
  6150. 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set CAN error code to Error Warning */
  6151. 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_EWG;
  6152. 3033 .loc 1 2012 19
  6153. 3034 0274 7B6A ldr r3, [r7, #36]
  6154. 3035 0276 43F00103 orr r3, r3, #1
  6155. 3036 027a 7B62 str r3, [r7, #36]
  6156. 3037 .L143:
  6157. 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6158. 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* No need for clear of Error Warning Flag as read-only */
  6159. 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6160. 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6161. 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check Error Passive Flag */
  6162. 2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (((interrupts & CAN_IT_ERROR_PASSIVE) != 0U) &&
  6163. 3038 .loc 1 2018 24
  6164. 3039 027c 3B6A ldr r3, [r7, #32]
  6165. 3040 027e 03F40073 and r3, r3, #512
  6166. 3041 .loc 1 2018 10
  6167. 3042 0282 002B cmp r3, #0
  6168. 3043 0284 08D0 beq .L144
  6169. 2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
  6170. 3044 .loc 1 2019 22 discriminator 1
  6171. 3045 0286 FB68 ldr r3, [r7, #12]
  6172. 3046 0288 03F00203 and r3, r3, #2
  6173. 2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
  6174. 3047 .loc 1 2018 55 discriminator 1
  6175. 3048 028c 002B cmp r3, #0
  6176. 3049 028e 03D0 beq .L144
  6177. 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6178. 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set CAN error code to Error Passive */
  6179. 2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_EPV;
  6180. 3050 .loc 1 2022 19
  6181. 3051 0290 7B6A ldr r3, [r7, #36]
  6182. 3052 0292 43F00203 orr r3, r3, #2
  6183. 3053 0296 7B62 str r3, [r7, #36]
  6184. 3054 .L144:
  6185. 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6186. 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* No need for clear of Error Passive Flag as read-only */
  6187. 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6188. 2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6189. 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check Bus-off Flag */
  6190. 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (((interrupts & CAN_IT_BUSOFF) != 0U) &&
  6191. 3055 .loc 1 2028 24
  6192. 3056 0298 3B6A ldr r3, [r7, #32]
  6193. 3057 029a 03F48063 and r3, r3, #1024
  6194. 3058 .loc 1 2028 10
  6195. 3059 029e 002B cmp r3, #0
  6196. 3060 02a0 08D0 beq .L145
  6197. 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
  6198. 3061 .loc 1 2029 22 discriminator 1
  6199. 3062 02a2 FB68 ldr r3, [r7, #12]
  6200. 3063 02a4 03F00403 and r3, r3, #4
  6201. 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
  6202. 3064 .loc 1 2028 48 discriminator 1
  6203. 3065 02a8 002B cmp r3, #0
  6204. 3066 02aa 03D0 beq .L145
  6205. 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6206. 2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set CAN error code to Bus-Off */
  6207. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 108
  6208. 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BOF;
  6209. 3067 .loc 1 2032 19
  6210. 3068 02ac 7B6A ldr r3, [r7, #36]
  6211. 3069 02ae 43F00403 orr r3, r3, #4
  6212. 3070 02b2 7B62 str r3, [r7, #36]
  6213. 3071 .L145:
  6214. 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6215. 2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* No need for clear of Error Bus-Off as read-only */
  6216. 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6217. 2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6218. 2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check Last Error Code Flag */
  6219. 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (((interrupts & CAN_IT_LAST_ERROR_CODE) != 0U) &&
  6220. 3072 .loc 1 2038 24
  6221. 3073 02b4 3B6A ldr r3, [r7, #32]
  6222. 3074 02b6 03F40063 and r3, r3, #2048
  6223. 3075 .loc 1 2038 10
  6224. 3076 02ba 002B cmp r3, #0
  6225. 3077 02bc 43D0 beq .L142
  6226. 2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
  6227. 3078 .loc 1 2039 22 discriminator 1
  6228. 3079 02be FB68 ldr r3, [r7, #12]
  6229. 3080 02c0 03F07003 and r3, r3, #112
  6230. 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
  6231. 3081 .loc 1 2038 57 discriminator 1
  6232. 3082 02c4 002B cmp r3, #0
  6233. 3083 02c6 3ED0 beq .L142
  6234. 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6235. 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** switch (esrflags & CAN_ESR_LEC)
  6236. 3084 .loc 1 2041 26
  6237. 3085 02c8 FB68 ldr r3, [r7, #12]
  6238. 3086 02ca 03F07003 and r3, r3, #112
  6239. 3087 .loc 1 2041 9
  6240. 3088 02ce 602B cmp r3, #96
  6241. 3089 02d0 2BD0 beq .L146
  6242. 3090 02d2 602B cmp r3, #96
  6243. 3091 02d4 2ED8 bhi .L155
  6244. 3092 02d6 502B cmp r3, #80
  6245. 3093 02d8 22D0 beq .L148
  6246. 3094 02da 502B cmp r3, #80
  6247. 3095 02dc 2AD8 bhi .L155
  6248. 3096 02de 402B cmp r3, #64
  6249. 3097 02e0 19D0 beq .L149
  6250. 3098 02e2 402B cmp r3, #64
  6251. 3099 02e4 26D8 bhi .L155
  6252. 3100 02e6 302B cmp r3, #48
  6253. 3101 02e8 10D0 beq .L150
  6254. 3102 02ea 302B cmp r3, #48
  6255. 3103 02ec 22D8 bhi .L155
  6256. 3104 02ee 102B cmp r3, #16
  6257. 3105 02f0 02D0 beq .L151
  6258. 3106 02f2 202B cmp r3, #32
  6259. 3107 02f4 05D0 beq .L152
  6260. 2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6261. 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case (CAN_ESR_LEC_0):
  6262. 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set CAN error code to Stuff error */
  6263. 2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_STF;
  6264. 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6265. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 109
  6266. 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case (CAN_ESR_LEC_1):
  6267. 2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set CAN error code to Form error */
  6268. 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_FOR;
  6269. 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6270. 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
  6271. 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set CAN error code to Acknowledgement error */
  6272. 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_ACK;
  6273. 2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6274. 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case (CAN_ESR_LEC_2):
  6275. 2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set CAN error code to Bit recessive error */
  6276. 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BR;
  6277. 2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6278. 2059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
  6279. 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set CAN error code to Bit Dominant error */
  6280. 2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BD;
  6281. 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6282. 2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
  6283. 2064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Set CAN error code to CRC error */
  6284. 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_CRC;
  6285. 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6286. 2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** default:
  6287. 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6288. 3108 .loc 1 2068 13
  6289. 3109 02f6 1DE0 b .L155
  6290. 3110 .L151:
  6291. 2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6292. 3111 .loc 1 2045 23
  6293. 3112 02f8 7B6A ldr r3, [r7, #36]
  6294. 3113 02fa 43F00803 orr r3, r3, #8
  6295. 3114 02fe 7B62 str r3, [r7, #36]
  6296. 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case (CAN_ESR_LEC_1):
  6297. 3115 .loc 1 2046 13
  6298. 3116 0300 19E0 b .L153
  6299. 3117 .L152:
  6300. 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6301. 3118 .loc 1 2049 23
  6302. 3119 0302 7B6A ldr r3, [r7, #36]
  6303. 3120 0304 43F01003 orr r3, r3, #16
  6304. 3121 0308 7B62 str r3, [r7, #36]
  6305. 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
  6306. 3122 .loc 1 2050 13
  6307. 3123 030a 14E0 b .L153
  6308. 3124 .L150:
  6309. 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6310. 3125 .loc 1 2053 23
  6311. 3126 030c 7B6A ldr r3, [r7, #36]
  6312. 3127 030e 43F02003 orr r3, r3, #32
  6313. 3128 0312 7B62 str r3, [r7, #36]
  6314. 2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case (CAN_ESR_LEC_2):
  6315. 3129 .loc 1 2054 13
  6316. 3130 0314 0FE0 b .L153
  6317. 3131 .L149:
  6318. 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6319. 3132 .loc 1 2057 23
  6320. 3133 0316 7B6A ldr r3, [r7, #36]
  6321. 3134 0318 43F04003 orr r3, r3, #64
  6322. 3135 031c 7B62 str r3, [r7, #36]
  6323. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 110
  6324. 2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
  6325. 3136 .loc 1 2058 13
  6326. 3137 031e 0AE0 b .L153
  6327. 3138 .L148:
  6328. 2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6329. 3139 .loc 1 2061 23
  6330. 3140 0320 7B6A ldr r3, [r7, #36]
  6331. 3141 0322 43F08003 orr r3, r3, #128
  6332. 3142 0326 7B62 str r3, [r7, #36]
  6333. 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
  6334. 3143 .loc 1 2062 13
  6335. 3144 0328 05E0 b .L153
  6336. 3145 .L146:
  6337. 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** break;
  6338. 3146 .loc 1 2065 23
  6339. 3147 032a 7B6A ldr r3, [r7, #36]
  6340. 3148 032c 43F48073 orr r3, r3, #256
  6341. 3149 0330 7B62 str r3, [r7, #36]
  6342. 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** default:
  6343. 3150 .loc 1 2066 13
  6344. 3151 0332 00E0 b .L153
  6345. 3152 .L155:
  6346. 3153 .loc 1 2068 13
  6347. 3154 0334 00BF nop
  6348. 3155 .L153:
  6349. 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6350. 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6351. 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Clear Last error code Flag */
  6352. 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** CLEAR_BIT(hcan->Instance->ESR, CAN_ESR_LEC);
  6353. 3156 .loc 1 2072 9
  6354. 3157 0336 7B68 ldr r3, [r7, #4]
  6355. 3158 0338 1B68 ldr r3, [r3]
  6356. 3159 033a 9A69 ldr r2, [r3, #24]
  6357. 3160 033c 7B68 ldr r3, [r7, #4]
  6358. 3161 033e 1B68 ldr r3, [r3]
  6359. 3162 0340 22F07002 bic r2, r2, #112
  6360. 3163 0344 9A61 str r2, [r3, #24]
  6361. 3164 .L142:
  6362. 2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6363. 2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6364. 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6365. 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Clear ERRI Flag */
  6366. 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_ERRI);
  6367. 3165 .loc 1 2077 5
  6368. 3166 0346 7B68 ldr r3, [r7, #4]
  6369. 3167 0348 1B68 ldr r3, [r3]
  6370. 3168 034a 0422 movs r2, #4
  6371. 3169 034c 5A60 str r2, [r3, #4]
  6372. 3170 .L141:
  6373. 2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6374. 2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6375. 2080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call the Error call Back in case of Errors */
  6376. 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if (errorcode != HAL_CAN_ERROR_NONE)
  6377. 3171 .loc 1 2081 6
  6378. 3172 034e 7B6A ldr r3, [r7, #36]
  6379. 3173 0350 002B cmp r3, #0
  6380. 3174 0352 08D0 beq .L156
  6381. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 111
  6382. 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6383. 2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code in handle */
  6384. 2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= errorcode;
  6385. 3175 .loc 1 2084 21
  6386. 3176 0354 7B68 ldr r3, [r7, #4]
  6387. 3177 0356 5A6A ldr r2, [r3, #36]
  6388. 3178 0358 7B6A ldr r3, [r7, #36]
  6389. 3179 035a 1A43 orrs r2, r2, r3
  6390. 3180 035c 7B68 ldr r3, [r7, #4]
  6391. 3181 035e 5A62 str r2, [r3, #36]
  6392. 2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6393. 2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call Error callback function */
  6394. 2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6395. 2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call registered callback*/
  6396. 2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCallback(hcan);
  6397. 2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #else
  6398. 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Call weak (surcharged) callback */
  6399. 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_ErrorCallback(hcan);
  6400. 3182 .loc 1 2092 5
  6401. 3183 0360 7868 ldr r0, [r7, #4]
  6402. 3184 0362 FFF7FEFF bl HAL_CAN_ErrorCallback
  6403. 3185 .L156:
  6404. 2093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6405. 2094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6406. 2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6407. 3186 .loc 1 2095 1
  6408. 3187 0366 00BF nop
  6409. 3188 0368 2837 adds r7, r7, #40
  6410. 3189 .LCFI113:
  6411. 3190 .cfi_def_cfa_offset 8
  6412. 3191 036a BD46 mov sp, r7
  6413. 3192 .LCFI114:
  6414. 3193 .cfi_def_cfa_register 13
  6415. 3194 @ sp needed
  6416. 3195 036c 80BD pop {r7, pc}
  6417. 3196 .cfi_endproc
  6418. 3197 .LFE254:
  6419. 3199 .section .text.HAL_CAN_TxMailbox0CompleteCallback,"ax",%progbits
  6420. 3200 .align 1
  6421. 3201 .weak HAL_CAN_TxMailbox0CompleteCallback
  6422. 3202 .syntax unified
  6423. 3203 .thumb
  6424. 3204 .thumb_func
  6425. 3206 HAL_CAN_TxMailbox0CompleteCallback:
  6426. 3207 .LFB255:
  6427. 2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6428. 2097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  6429. 2098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @}
  6430. 2099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6431. 2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6432. 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group5 Callback functions
  6433. 2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief CAN Callback functions
  6434. 2103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *
  6435. 2104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @verbatim
  6436. 2105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  6437. 2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ##### Callback functions #####
  6438. 2107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  6439. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 112
  6440. 2108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** [..]
  6441. 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** This subsection provides the following callback functions:
  6442. 2110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_TxMailbox0CompleteCallback
  6443. 2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_TxMailbox1CompleteCallback
  6444. 2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_TxMailbox2CompleteCallback
  6445. 2113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_TxMailbox0AbortCallback
  6446. 2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_TxMailbox1AbortCallback
  6447. 2115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_TxMailbox2AbortCallback
  6448. 2116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_RxFifo0MsgPendingCallback
  6449. 2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_RxFifo0FullCallback
  6450. 2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_RxFifo1MsgPendingCallback
  6451. 2119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_RxFifo1FullCallback
  6452. 2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_SleepCallback
  6453. 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_WakeUpFromRxMsgCallback
  6454. 2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_ErrorCallback
  6455. 2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6456. 2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @endverbatim
  6457. 2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @{
  6458. 2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6459. 2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6460. 2128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  6461. 2129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Transmission Mailbox 0 complete callback.
  6462. 2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  6463. 2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  6464. 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  6465. 2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6466. 2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan)
  6467. 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6468. 3208 .loc 1 2135 1
  6469. 3209 .cfi_startproc
  6470. 3210 @ args = 0, pretend = 0, frame = 8
  6471. 3211 @ frame_needed = 1, uses_anonymous_args = 0
  6472. 3212 @ link register save eliminated.
  6473. 3213 0000 80B4 push {r7}
  6474. 3214 .LCFI115:
  6475. 3215 .cfi_def_cfa_offset 4
  6476. 3216 .cfi_offset 7, -4
  6477. 3217 0002 83B0 sub sp, sp, #12
  6478. 3218 .LCFI116:
  6479. 3219 .cfi_def_cfa_offset 16
  6480. 3220 0004 00AF add r7, sp, #0
  6481. 3221 .LCFI117:
  6482. 3222 .cfi_def_cfa_register 7
  6483. 3223 0006 7860 str r0, [r7, #4]
  6484. 2136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  6485. 2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  6486. 2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6487. 2139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  6488. 2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_TxMailbox0CompleteCallback could be implemented in the
  6489. 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** user file
  6490. 2142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6491. 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6492. 3224 .loc 1 2143 1
  6493. 3225 0008 00BF nop
  6494. 3226 000a 0C37 adds r7, r7, #12
  6495. 3227 .LCFI118:
  6496. 3228 .cfi_def_cfa_offset 4
  6497. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 113
  6498. 3229 000c BD46 mov sp, r7
  6499. 3230 .LCFI119:
  6500. 3231 .cfi_def_cfa_register 13
  6501. 3232 @ sp needed
  6502. 3233 000e 5DF8047B ldr r7, [sp], #4
  6503. 3234 .LCFI120:
  6504. 3235 .cfi_restore 7
  6505. 3236 .cfi_def_cfa_offset 0
  6506. 3237 0012 7047 bx lr
  6507. 3238 .cfi_endproc
  6508. 3239 .LFE255:
  6509. 3241 .section .text.HAL_CAN_TxMailbox1CompleteCallback,"ax",%progbits
  6510. 3242 .align 1
  6511. 3243 .weak HAL_CAN_TxMailbox1CompleteCallback
  6512. 3244 .syntax unified
  6513. 3245 .thumb
  6514. 3246 .thumb_func
  6515. 3248 HAL_CAN_TxMailbox1CompleteCallback:
  6516. 3249 .LFB256:
  6517. 2144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6518. 2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  6519. 2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Transmission Mailbox 1 complete callback.
  6520. 2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  6521. 2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  6522. 2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  6523. 2150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6524. 2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan)
  6525. 2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6526. 3250 .loc 1 2152 1
  6527. 3251 .cfi_startproc
  6528. 3252 @ args = 0, pretend = 0, frame = 8
  6529. 3253 @ frame_needed = 1, uses_anonymous_args = 0
  6530. 3254 @ link register save eliminated.
  6531. 3255 0000 80B4 push {r7}
  6532. 3256 .LCFI121:
  6533. 3257 .cfi_def_cfa_offset 4
  6534. 3258 .cfi_offset 7, -4
  6535. 3259 0002 83B0 sub sp, sp, #12
  6536. 3260 .LCFI122:
  6537. 3261 .cfi_def_cfa_offset 16
  6538. 3262 0004 00AF add r7, sp, #0
  6539. 3263 .LCFI123:
  6540. 3264 .cfi_def_cfa_register 7
  6541. 3265 0006 7860 str r0, [r7, #4]
  6542. 2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  6543. 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  6544. 2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6545. 2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  6546. 2157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_TxMailbox1CompleteCallback could be implemented in the
  6547. 2158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** user file
  6548. 2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6549. 2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6550. 3266 .loc 1 2160 1
  6551. 3267 0008 00BF nop
  6552. 3268 000a 0C37 adds r7, r7, #12
  6553. 3269 .LCFI124:
  6554. 3270 .cfi_def_cfa_offset 4
  6555. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 114
  6556. 3271 000c BD46 mov sp, r7
  6557. 3272 .LCFI125:
  6558. 3273 .cfi_def_cfa_register 13
  6559. 3274 @ sp needed
  6560. 3275 000e 5DF8047B ldr r7, [sp], #4
  6561. 3276 .LCFI126:
  6562. 3277 .cfi_restore 7
  6563. 3278 .cfi_def_cfa_offset 0
  6564. 3279 0012 7047 bx lr
  6565. 3280 .cfi_endproc
  6566. 3281 .LFE256:
  6567. 3283 .section .text.HAL_CAN_TxMailbox2CompleteCallback,"ax",%progbits
  6568. 3284 .align 1
  6569. 3285 .weak HAL_CAN_TxMailbox2CompleteCallback
  6570. 3286 .syntax unified
  6571. 3287 .thumb
  6572. 3288 .thumb_func
  6573. 3290 HAL_CAN_TxMailbox2CompleteCallback:
  6574. 3291 .LFB257:
  6575. 2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6576. 2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  6577. 2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Transmission Mailbox 2 complete callback.
  6578. 2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  6579. 2165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  6580. 2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  6581. 2167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6582. 2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan)
  6583. 2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6584. 3292 .loc 1 2169 1
  6585. 3293 .cfi_startproc
  6586. 3294 @ args = 0, pretend = 0, frame = 8
  6587. 3295 @ frame_needed = 1, uses_anonymous_args = 0
  6588. 3296 @ link register save eliminated.
  6589. 3297 0000 80B4 push {r7}
  6590. 3298 .LCFI127:
  6591. 3299 .cfi_def_cfa_offset 4
  6592. 3300 .cfi_offset 7, -4
  6593. 3301 0002 83B0 sub sp, sp, #12
  6594. 3302 .LCFI128:
  6595. 3303 .cfi_def_cfa_offset 16
  6596. 3304 0004 00AF add r7, sp, #0
  6597. 3305 .LCFI129:
  6598. 3306 .cfi_def_cfa_register 7
  6599. 3307 0006 7860 str r0, [r7, #4]
  6600. 2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  6601. 2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  6602. 2172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6603. 2173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  6604. 2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_TxMailbox2CompleteCallback could be implemented in the
  6605. 2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** user file
  6606. 2176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6607. 2177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6608. 3308 .loc 1 2177 1
  6609. 3309 0008 00BF nop
  6610. 3310 000a 0C37 adds r7, r7, #12
  6611. 3311 .LCFI130:
  6612. 3312 .cfi_def_cfa_offset 4
  6613. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 115
  6614. 3313 000c BD46 mov sp, r7
  6615. 3314 .LCFI131:
  6616. 3315 .cfi_def_cfa_register 13
  6617. 3316 @ sp needed
  6618. 3317 000e 5DF8047B ldr r7, [sp], #4
  6619. 3318 .LCFI132:
  6620. 3319 .cfi_restore 7
  6621. 3320 .cfi_def_cfa_offset 0
  6622. 3321 0012 7047 bx lr
  6623. 3322 .cfi_endproc
  6624. 3323 .LFE257:
  6625. 3325 .section .text.HAL_CAN_TxMailbox0AbortCallback,"ax",%progbits
  6626. 3326 .align 1
  6627. 3327 .weak HAL_CAN_TxMailbox0AbortCallback
  6628. 3328 .syntax unified
  6629. 3329 .thumb
  6630. 3330 .thumb_func
  6631. 3332 HAL_CAN_TxMailbox0AbortCallback:
  6632. 3333 .LFB258:
  6633. 2178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6634. 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  6635. 2180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Transmission Mailbox 0 Cancellation callback.
  6636. 2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  6637. 2182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  6638. 2183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  6639. 2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6640. 2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0AbortCallback(CAN_HandleTypeDef *hcan)
  6641. 2186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6642. 3334 .loc 1 2186 1
  6643. 3335 .cfi_startproc
  6644. 3336 @ args = 0, pretend = 0, frame = 8
  6645. 3337 @ frame_needed = 1, uses_anonymous_args = 0
  6646. 3338 @ link register save eliminated.
  6647. 3339 0000 80B4 push {r7}
  6648. 3340 .LCFI133:
  6649. 3341 .cfi_def_cfa_offset 4
  6650. 3342 .cfi_offset 7, -4
  6651. 3343 0002 83B0 sub sp, sp, #12
  6652. 3344 .LCFI134:
  6653. 3345 .cfi_def_cfa_offset 16
  6654. 3346 0004 00AF add r7, sp, #0
  6655. 3347 .LCFI135:
  6656. 3348 .cfi_def_cfa_register 7
  6657. 3349 0006 7860 str r0, [r7, #4]
  6658. 2187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  6659. 2188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  6660. 2189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6661. 2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  6662. 2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_TxMailbox0AbortCallback could be implemented in the
  6663. 2192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** user file
  6664. 2193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6665. 2194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6666. 3350 .loc 1 2194 1
  6667. 3351 0008 00BF nop
  6668. 3352 000a 0C37 adds r7, r7, #12
  6669. 3353 .LCFI136:
  6670. 3354 .cfi_def_cfa_offset 4
  6671. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 116
  6672. 3355 000c BD46 mov sp, r7
  6673. 3356 .LCFI137:
  6674. 3357 .cfi_def_cfa_register 13
  6675. 3358 @ sp needed
  6676. 3359 000e 5DF8047B ldr r7, [sp], #4
  6677. 3360 .LCFI138:
  6678. 3361 .cfi_restore 7
  6679. 3362 .cfi_def_cfa_offset 0
  6680. 3363 0012 7047 bx lr
  6681. 3364 .cfi_endproc
  6682. 3365 .LFE258:
  6683. 3367 .section .text.HAL_CAN_TxMailbox1AbortCallback,"ax",%progbits
  6684. 3368 .align 1
  6685. 3369 .weak HAL_CAN_TxMailbox1AbortCallback
  6686. 3370 .syntax unified
  6687. 3371 .thumb
  6688. 3372 .thumb_func
  6689. 3374 HAL_CAN_TxMailbox1AbortCallback:
  6690. 3375 .LFB259:
  6691. 2195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6692. 2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  6693. 2197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Transmission Mailbox 1 Cancellation callback.
  6694. 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  6695. 2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  6696. 2200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  6697. 2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6698. 2202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1AbortCallback(CAN_HandleTypeDef *hcan)
  6699. 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6700. 3376 .loc 1 2203 1
  6701. 3377 .cfi_startproc
  6702. 3378 @ args = 0, pretend = 0, frame = 8
  6703. 3379 @ frame_needed = 1, uses_anonymous_args = 0
  6704. 3380 @ link register save eliminated.
  6705. 3381 0000 80B4 push {r7}
  6706. 3382 .LCFI139:
  6707. 3383 .cfi_def_cfa_offset 4
  6708. 3384 .cfi_offset 7, -4
  6709. 3385 0002 83B0 sub sp, sp, #12
  6710. 3386 .LCFI140:
  6711. 3387 .cfi_def_cfa_offset 16
  6712. 3388 0004 00AF add r7, sp, #0
  6713. 3389 .LCFI141:
  6714. 3390 .cfi_def_cfa_register 7
  6715. 3391 0006 7860 str r0, [r7, #4]
  6716. 2204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  6717. 2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  6718. 2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6719. 2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  6720. 2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_TxMailbox1AbortCallback could be implemented in the
  6721. 2209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** user file
  6722. 2210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6723. 2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6724. 3392 .loc 1 2211 1
  6725. 3393 0008 00BF nop
  6726. 3394 000a 0C37 adds r7, r7, #12
  6727. 3395 .LCFI142:
  6728. 3396 .cfi_def_cfa_offset 4
  6729. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 117
  6730. 3397 000c BD46 mov sp, r7
  6731. 3398 .LCFI143:
  6732. 3399 .cfi_def_cfa_register 13
  6733. 3400 @ sp needed
  6734. 3401 000e 5DF8047B ldr r7, [sp], #4
  6735. 3402 .LCFI144:
  6736. 3403 .cfi_restore 7
  6737. 3404 .cfi_def_cfa_offset 0
  6738. 3405 0012 7047 bx lr
  6739. 3406 .cfi_endproc
  6740. 3407 .LFE259:
  6741. 3409 .section .text.HAL_CAN_TxMailbox2AbortCallback,"ax",%progbits
  6742. 3410 .align 1
  6743. 3411 .weak HAL_CAN_TxMailbox2AbortCallback
  6744. 3412 .syntax unified
  6745. 3413 .thumb
  6746. 3414 .thumb_func
  6747. 3416 HAL_CAN_TxMailbox2AbortCallback:
  6748. 3417 .LFB260:
  6749. 2212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6750. 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  6751. 2214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Transmission Mailbox 2 Cancellation callback.
  6752. 2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  6753. 2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  6754. 2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  6755. 2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6756. 2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2AbortCallback(CAN_HandleTypeDef *hcan)
  6757. 2220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6758. 3418 .loc 1 2220 1
  6759. 3419 .cfi_startproc
  6760. 3420 @ args = 0, pretend = 0, frame = 8
  6761. 3421 @ frame_needed = 1, uses_anonymous_args = 0
  6762. 3422 @ link register save eliminated.
  6763. 3423 0000 80B4 push {r7}
  6764. 3424 .LCFI145:
  6765. 3425 .cfi_def_cfa_offset 4
  6766. 3426 .cfi_offset 7, -4
  6767. 3427 0002 83B0 sub sp, sp, #12
  6768. 3428 .LCFI146:
  6769. 3429 .cfi_def_cfa_offset 16
  6770. 3430 0004 00AF add r7, sp, #0
  6771. 3431 .LCFI147:
  6772. 3432 .cfi_def_cfa_register 7
  6773. 3433 0006 7860 str r0, [r7, #4]
  6774. 2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  6775. 2222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  6776. 2223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6777. 2224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  6778. 2225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_TxMailbox2AbortCallback could be implemented in the
  6779. 2226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** user file
  6780. 2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6781. 2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6782. 3434 .loc 1 2228 1
  6783. 3435 0008 00BF nop
  6784. 3436 000a 0C37 adds r7, r7, #12
  6785. 3437 .LCFI148:
  6786. 3438 .cfi_def_cfa_offset 4
  6787. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 118
  6788. 3439 000c BD46 mov sp, r7
  6789. 3440 .LCFI149:
  6790. 3441 .cfi_def_cfa_register 13
  6791. 3442 @ sp needed
  6792. 3443 000e 5DF8047B ldr r7, [sp], #4
  6793. 3444 .LCFI150:
  6794. 3445 .cfi_restore 7
  6795. 3446 .cfi_def_cfa_offset 0
  6796. 3447 0012 7047 bx lr
  6797. 3448 .cfi_endproc
  6798. 3449 .LFE260:
  6799. 3451 .section .text.HAL_CAN_RxFifo0MsgPendingCallback,"ax",%progbits
  6800. 3452 .align 1
  6801. 3453 .weak HAL_CAN_RxFifo0MsgPendingCallback
  6802. 3454 .syntax unified
  6803. 3455 .thumb
  6804. 3456 .thumb_func
  6805. 3458 HAL_CAN_RxFifo0MsgPendingCallback:
  6806. 3459 .LFB261:
  6807. 2229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6808. 2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  6809. 2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Rx FIFO 0 message pending callback.
  6810. 2232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  6811. 2233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  6812. 2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  6813. 2235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6814. 2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
  6815. 2237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6816. 3460 .loc 1 2237 1
  6817. 3461 .cfi_startproc
  6818. 3462 @ args = 0, pretend = 0, frame = 8
  6819. 3463 @ frame_needed = 1, uses_anonymous_args = 0
  6820. 3464 @ link register save eliminated.
  6821. 3465 0000 80B4 push {r7}
  6822. 3466 .LCFI151:
  6823. 3467 .cfi_def_cfa_offset 4
  6824. 3468 .cfi_offset 7, -4
  6825. 3469 0002 83B0 sub sp, sp, #12
  6826. 3470 .LCFI152:
  6827. 3471 .cfi_def_cfa_offset 16
  6828. 3472 0004 00AF add r7, sp, #0
  6829. 3473 .LCFI153:
  6830. 3474 .cfi_def_cfa_register 7
  6831. 3475 0006 7860 str r0, [r7, #4]
  6832. 2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  6833. 2239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  6834. 2240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6835. 2241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  6836. 2242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_RxFifo0MsgPendingCallback could be implemented in the
  6837. 2243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** user file
  6838. 2244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6839. 2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6840. 3476 .loc 1 2245 1
  6841. 3477 0008 00BF nop
  6842. 3478 000a 0C37 adds r7, r7, #12
  6843. 3479 .LCFI154:
  6844. 3480 .cfi_def_cfa_offset 4
  6845. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 119
  6846. 3481 000c BD46 mov sp, r7
  6847. 3482 .LCFI155:
  6848. 3483 .cfi_def_cfa_register 13
  6849. 3484 @ sp needed
  6850. 3485 000e 5DF8047B ldr r7, [sp], #4
  6851. 3486 .LCFI156:
  6852. 3487 .cfi_restore 7
  6853. 3488 .cfi_def_cfa_offset 0
  6854. 3489 0012 7047 bx lr
  6855. 3490 .cfi_endproc
  6856. 3491 .LFE261:
  6857. 3493 .section .text.HAL_CAN_RxFifo0FullCallback,"ax",%progbits
  6858. 3494 .align 1
  6859. 3495 .weak HAL_CAN_RxFifo0FullCallback
  6860. 3496 .syntax unified
  6861. 3497 .thumb
  6862. 3498 .thumb_func
  6863. 3500 HAL_CAN_RxFifo0FullCallback:
  6864. 3501 .LFB262:
  6865. 2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6866. 2247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  6867. 2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Rx FIFO 0 full callback.
  6868. 2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  6869. 2250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  6870. 2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  6871. 2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6872. 2253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_RxFifo0FullCallback(CAN_HandleTypeDef *hcan)
  6873. 2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6874. 3502 .loc 1 2254 1
  6875. 3503 .cfi_startproc
  6876. 3504 @ args = 0, pretend = 0, frame = 8
  6877. 3505 @ frame_needed = 1, uses_anonymous_args = 0
  6878. 3506 @ link register save eliminated.
  6879. 3507 0000 80B4 push {r7}
  6880. 3508 .LCFI157:
  6881. 3509 .cfi_def_cfa_offset 4
  6882. 3510 .cfi_offset 7, -4
  6883. 3511 0002 83B0 sub sp, sp, #12
  6884. 3512 .LCFI158:
  6885. 3513 .cfi_def_cfa_offset 16
  6886. 3514 0004 00AF add r7, sp, #0
  6887. 3515 .LCFI159:
  6888. 3516 .cfi_def_cfa_register 7
  6889. 3517 0006 7860 str r0, [r7, #4]
  6890. 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  6891. 2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  6892. 2257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6893. 2258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  6894. 2259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_RxFifo0FullCallback could be implemented in the user
  6895. 2260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** file
  6896. 2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6897. 2262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6898. 3518 .loc 1 2262 1
  6899. 3519 0008 00BF nop
  6900. 3520 000a 0C37 adds r7, r7, #12
  6901. 3521 .LCFI160:
  6902. 3522 .cfi_def_cfa_offset 4
  6903. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 120
  6904. 3523 000c BD46 mov sp, r7
  6905. 3524 .LCFI161:
  6906. 3525 .cfi_def_cfa_register 13
  6907. 3526 @ sp needed
  6908. 3527 000e 5DF8047B ldr r7, [sp], #4
  6909. 3528 .LCFI162:
  6910. 3529 .cfi_restore 7
  6911. 3530 .cfi_def_cfa_offset 0
  6912. 3531 0012 7047 bx lr
  6913. 3532 .cfi_endproc
  6914. 3533 .LFE262:
  6915. 3535 .section .text.HAL_CAN_RxFifo1MsgPendingCallback,"ax",%progbits
  6916. 3536 .align 1
  6917. 3537 .weak HAL_CAN_RxFifo1MsgPendingCallback
  6918. 3538 .syntax unified
  6919. 3539 .thumb
  6920. 3540 .thumb_func
  6921. 3542 HAL_CAN_RxFifo1MsgPendingCallback:
  6922. 3543 .LFB263:
  6923. 2263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6924. 2264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  6925. 2265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Rx FIFO 1 message pending callback.
  6926. 2266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  6927. 2267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  6928. 2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  6929. 2269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6930. 2270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan)
  6931. 2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6932. 3544 .loc 1 2271 1
  6933. 3545 .cfi_startproc
  6934. 3546 @ args = 0, pretend = 0, frame = 8
  6935. 3547 @ frame_needed = 1, uses_anonymous_args = 0
  6936. 3548 @ link register save eliminated.
  6937. 3549 0000 80B4 push {r7}
  6938. 3550 .LCFI163:
  6939. 3551 .cfi_def_cfa_offset 4
  6940. 3552 .cfi_offset 7, -4
  6941. 3553 0002 83B0 sub sp, sp, #12
  6942. 3554 .LCFI164:
  6943. 3555 .cfi_def_cfa_offset 16
  6944. 3556 0004 00AF add r7, sp, #0
  6945. 3557 .LCFI165:
  6946. 3558 .cfi_def_cfa_register 7
  6947. 3559 0006 7860 str r0, [r7, #4]
  6948. 2272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  6949. 2273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  6950. 2274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6951. 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  6952. 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_RxFifo1MsgPendingCallback could be implemented in the
  6953. 2277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** user file
  6954. 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6955. 2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  6956. 3560 .loc 1 2279 1
  6957. 3561 0008 00BF nop
  6958. 3562 000a 0C37 adds r7, r7, #12
  6959. 3563 .LCFI166:
  6960. 3564 .cfi_def_cfa_offset 4
  6961. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 121
  6962. 3565 000c BD46 mov sp, r7
  6963. 3566 .LCFI167:
  6964. 3567 .cfi_def_cfa_register 13
  6965. 3568 @ sp needed
  6966. 3569 000e 5DF8047B ldr r7, [sp], #4
  6967. 3570 .LCFI168:
  6968. 3571 .cfi_restore 7
  6969. 3572 .cfi_def_cfa_offset 0
  6970. 3573 0012 7047 bx lr
  6971. 3574 .cfi_endproc
  6972. 3575 .LFE263:
  6973. 3577 .section .text.HAL_CAN_RxFifo1FullCallback,"ax",%progbits
  6974. 3578 .align 1
  6975. 3579 .weak HAL_CAN_RxFifo1FullCallback
  6976. 3580 .syntax unified
  6977. 3581 .thumb
  6978. 3582 .thumb_func
  6979. 3584 HAL_CAN_RxFifo1FullCallback:
  6980. 3585 .LFB264:
  6981. 2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  6982. 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  6983. 2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Rx FIFO 1 full callback.
  6984. 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  6985. 2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  6986. 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  6987. 2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  6988. 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_RxFifo1FullCallback(CAN_HandleTypeDef *hcan)
  6989. 2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  6990. 3586 .loc 1 2288 1
  6991. 3587 .cfi_startproc
  6992. 3588 @ args = 0, pretend = 0, frame = 8
  6993. 3589 @ frame_needed = 1, uses_anonymous_args = 0
  6994. 3590 @ link register save eliminated.
  6995. 3591 0000 80B4 push {r7}
  6996. 3592 .LCFI169:
  6997. 3593 .cfi_def_cfa_offset 4
  6998. 3594 .cfi_offset 7, -4
  6999. 3595 0002 83B0 sub sp, sp, #12
  7000. 3596 .LCFI170:
  7001. 3597 .cfi_def_cfa_offset 16
  7002. 3598 0004 00AF add r7, sp, #0
  7003. 3599 .LCFI171:
  7004. 3600 .cfi_def_cfa_register 7
  7005. 3601 0006 7860 str r0, [r7, #4]
  7006. 2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7007. 2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  7008. 2291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7009. 2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7010. 2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_RxFifo1FullCallback could be implemented in the user
  7011. 2294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** file
  7012. 2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  7013. 2296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7014. 3602 .loc 1 2296 1
  7015. 3603 0008 00BF nop
  7016. 3604 000a 0C37 adds r7, r7, #12
  7017. 3605 .LCFI172:
  7018. 3606 .cfi_def_cfa_offset 4
  7019. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 122
  7020. 3607 000c BD46 mov sp, r7
  7021. 3608 .LCFI173:
  7022. 3609 .cfi_def_cfa_register 13
  7023. 3610 @ sp needed
  7024. 3611 000e 5DF8047B ldr r7, [sp], #4
  7025. 3612 .LCFI174:
  7026. 3613 .cfi_restore 7
  7027. 3614 .cfi_def_cfa_offset 0
  7028. 3615 0012 7047 bx lr
  7029. 3616 .cfi_endproc
  7030. 3617 .LFE264:
  7031. 3619 .section .text.HAL_CAN_SleepCallback,"ax",%progbits
  7032. 3620 .align 1
  7033. 3621 .weak HAL_CAN_SleepCallback
  7034. 3622 .syntax unified
  7035. 3623 .thumb
  7036. 3624 .thumb_func
  7037. 3626 HAL_CAN_SleepCallback:
  7038. 3627 .LFB265:
  7039. 2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7040. 2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  7041. 2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Sleep callback.
  7042. 2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7043. 2301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  7044. 2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  7045. 2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  7046. 2304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_SleepCallback(CAN_HandleTypeDef *hcan)
  7047. 2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  7048. 3628 .loc 1 2305 1
  7049. 3629 .cfi_startproc
  7050. 3630 @ args = 0, pretend = 0, frame = 8
  7051. 3631 @ frame_needed = 1, uses_anonymous_args = 0
  7052. 3632 @ link register save eliminated.
  7053. 3633 0000 80B4 push {r7}
  7054. 3634 .LCFI175:
  7055. 3635 .cfi_def_cfa_offset 4
  7056. 3636 .cfi_offset 7, -4
  7057. 3637 0002 83B0 sub sp, sp, #12
  7058. 3638 .LCFI176:
  7059. 3639 .cfi_def_cfa_offset 16
  7060. 3640 0004 00AF add r7, sp, #0
  7061. 3641 .LCFI177:
  7062. 3642 .cfi_def_cfa_register 7
  7063. 3643 0006 7860 str r0, [r7, #4]
  7064. 2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7065. 2307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  7066. 2308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7067. 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7068. 2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_SleepCallback could be implemented in the user file
  7069. 2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  7070. 2312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7071. 3644 .loc 1 2312 1
  7072. 3645 0008 00BF nop
  7073. 3646 000a 0C37 adds r7, r7, #12
  7074. 3647 .LCFI178:
  7075. 3648 .cfi_def_cfa_offset 4
  7076. 3649 000c BD46 mov sp, r7
  7077. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 123
  7078. 3650 .LCFI179:
  7079. 3651 .cfi_def_cfa_register 13
  7080. 3652 @ sp needed
  7081. 3653 000e 5DF8047B ldr r7, [sp], #4
  7082. 3654 .LCFI180:
  7083. 3655 .cfi_restore 7
  7084. 3656 .cfi_def_cfa_offset 0
  7085. 3657 0012 7047 bx lr
  7086. 3658 .cfi_endproc
  7087. 3659 .LFE265:
  7088. 3661 .section .text.HAL_CAN_WakeUpFromRxMsgCallback,"ax",%progbits
  7089. 3662 .align 1
  7090. 3663 .weak HAL_CAN_WakeUpFromRxMsgCallback
  7091. 3664 .syntax unified
  7092. 3665 .thumb
  7093. 3666 .thumb_func
  7094. 3668 HAL_CAN_WakeUpFromRxMsgCallback:
  7095. 3669 .LFB266:
  7096. 2313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7097. 2314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  7098. 2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief WakeUp from Rx message callback.
  7099. 2316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7100. 2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  7101. 2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  7102. 2319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  7103. 2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_WakeUpFromRxMsgCallback(CAN_HandleTypeDef *hcan)
  7104. 2321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  7105. 3670 .loc 1 2321 1
  7106. 3671 .cfi_startproc
  7107. 3672 @ args = 0, pretend = 0, frame = 8
  7108. 3673 @ frame_needed = 1, uses_anonymous_args = 0
  7109. 3674 @ link register save eliminated.
  7110. 3675 0000 80B4 push {r7}
  7111. 3676 .LCFI181:
  7112. 3677 .cfi_def_cfa_offset 4
  7113. 3678 .cfi_offset 7, -4
  7114. 3679 0002 83B0 sub sp, sp, #12
  7115. 3680 .LCFI182:
  7116. 3681 .cfi_def_cfa_offset 16
  7117. 3682 0004 00AF add r7, sp, #0
  7118. 3683 .LCFI183:
  7119. 3684 .cfi_def_cfa_register 7
  7120. 3685 0006 7860 str r0, [r7, #4]
  7121. 2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7122. 2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  7123. 2324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7124. 2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7125. 2326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_WakeUpFromRxMsgCallback could be implemented in the
  7126. 2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** user file
  7127. 2328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  7128. 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7129. 3686 .loc 1 2329 1
  7130. 3687 0008 00BF nop
  7131. 3688 000a 0C37 adds r7, r7, #12
  7132. 3689 .LCFI184:
  7133. 3690 .cfi_def_cfa_offset 4
  7134. 3691 000c BD46 mov sp, r7
  7135. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 124
  7136. 3692 .LCFI185:
  7137. 3693 .cfi_def_cfa_register 13
  7138. 3694 @ sp needed
  7139. 3695 000e 5DF8047B ldr r7, [sp], #4
  7140. 3696 .LCFI186:
  7141. 3697 .cfi_restore 7
  7142. 3698 .cfi_def_cfa_offset 0
  7143. 3699 0012 7047 bx lr
  7144. 3700 .cfi_endproc
  7145. 3701 .LFE266:
  7146. 3703 .section .text.HAL_CAN_ErrorCallback,"ax",%progbits
  7147. 3704 .align 1
  7148. 3705 .weak HAL_CAN_ErrorCallback
  7149. 3706 .syntax unified
  7150. 3707 .thumb
  7151. 3708 .thumb_func
  7152. 3710 HAL_CAN_ErrorCallback:
  7153. 3711 .LFB267:
  7154. 2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7155. 2331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  7156. 2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Error CAN callback.
  7157. 2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7158. 2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  7159. 2335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval None
  7160. 2336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  7161. 2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** __weak void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan)
  7162. 2338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  7163. 3712 .loc 1 2338 1
  7164. 3713 .cfi_startproc
  7165. 3714 @ args = 0, pretend = 0, frame = 8
  7166. 3715 @ frame_needed = 1, uses_anonymous_args = 0
  7167. 3716 @ link register save eliminated.
  7168. 3717 0000 80B4 push {r7}
  7169. 3718 .LCFI187:
  7170. 3719 .cfi_def_cfa_offset 4
  7171. 3720 .cfi_offset 7, -4
  7172. 3721 0002 83B0 sub sp, sp, #12
  7173. 3722 .LCFI188:
  7174. 3723 .cfi_def_cfa_offset 16
  7175. 3724 0004 00AF add r7, sp, #0
  7176. 3725 .LCFI189:
  7177. 3726 .cfi_def_cfa_register 7
  7178. 3727 0006 7860 str r0, [r7, #4]
  7179. 2339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7180. 2340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** UNUSED(hcan);
  7181. 2341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7182. 2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7183. 2343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** the HAL_CAN_ErrorCallback could be implemented in the user file
  7184. 2344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  7185. 2345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7186. 3728 .loc 1 2345 1
  7187. 3729 0008 00BF nop
  7188. 3730 000a 0C37 adds r7, r7, #12
  7189. 3731 .LCFI190:
  7190. 3732 .cfi_def_cfa_offset 4
  7191. 3733 000c BD46 mov sp, r7
  7192. 3734 .LCFI191:
  7193. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 125
  7194. 3735 .cfi_def_cfa_register 13
  7195. 3736 @ sp needed
  7196. 3737 000e 5DF8047B ldr r7, [sp], #4
  7197. 3738 .LCFI192:
  7198. 3739 .cfi_restore 7
  7199. 3740 .cfi_def_cfa_offset 0
  7200. 3741 0012 7047 bx lr
  7201. 3742 .cfi_endproc
  7202. 3743 .LFE267:
  7203. 3745 .section .text.HAL_CAN_GetState,"ax",%progbits
  7204. 3746 .align 1
  7205. 3747 .global HAL_CAN_GetState
  7206. 3748 .syntax unified
  7207. 3749 .thumb
  7208. 3750 .thumb_func
  7209. 3752 HAL_CAN_GetState:
  7210. 3753 .LFB268:
  7211. 2346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7212. 2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  7213. 2348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @}
  7214. 2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  7215. 2350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7216. 2351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group6 Peripheral State and Error functions
  7217. 2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief CAN Peripheral State functions
  7218. 2353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** *
  7219. 2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @verbatim
  7220. 2355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  7221. 2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ##### Peripheral State and Error functions #####
  7222. 2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** ==============================================================================
  7223. 2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** [..]
  7224. 2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** This subsection provides functions allowing to :
  7225. 2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_GetState() : Return the CAN state.
  7226. 2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_GetError() : Return the CAN error codes if any.
  7227. 2362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (+) HAL_CAN_ResetError(): Reset the CAN error codes if any.
  7228. 2363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7229. 2364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** @endverbatim
  7230. 2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @{
  7231. 2366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  7232. 2367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7233. 2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  7234. 2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Return the CAN state.
  7235. 2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7236. 2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  7237. 2372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL state
  7238. 2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  7239. 2374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef HAL_CAN_GetState(CAN_HandleTypeDef *hcan)
  7240. 2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  7241. 3754 .loc 1 2375 1
  7242. 3755 .cfi_startproc
  7243. 3756 @ args = 0, pretend = 0, frame = 16
  7244. 3757 @ frame_needed = 1, uses_anonymous_args = 0
  7245. 3758 @ link register save eliminated.
  7246. 3759 0000 80B4 push {r7}
  7247. 3760 .LCFI193:
  7248. 3761 .cfi_def_cfa_offset 4
  7249. 3762 .cfi_offset 7, -4
  7250. 3763 0002 85B0 sub sp, sp, #20
  7251. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 126
  7252. 3764 .LCFI194:
  7253. 3765 .cfi_def_cfa_offset 24
  7254. 3766 0004 00AF add r7, sp, #0
  7255. 3767 .LCFI195:
  7256. 3768 .cfi_def_cfa_register 7
  7257. 3769 0006 7860 str r0, [r7, #4]
  7258. 2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  7259. 3770 .loc 1 2376 24
  7260. 3771 0008 7B68 ldr r3, [r7, #4]
  7261. 3772 000a 93F82030 ldrb r3, [r3, #32]
  7262. 3773 000e FB73 strb r3, [r7, #15]
  7263. 2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7264. 2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  7265. 3774 .loc 1 2378 6
  7266. 3775 0010 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  7267. 3776 0012 012B cmp r3, #1
  7268. 3777 0014 02D0 beq .L171
  7269. 3778 .loc 1 2378 38 discriminator 1
  7270. 3779 0016 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  7271. 3780 0018 022B cmp r3, #2
  7272. 3781 001a 12D1 bne .L172
  7273. 3782 .L171:
  7274. 2379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  7275. 2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  7276. 2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check sleep mode acknowledge flag */
  7277. 2382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
  7278. 3783 .loc 1 2382 14
  7279. 3784 001c 7B68 ldr r3, [r7, #4]
  7280. 3785 001e 1B68 ldr r3, [r3]
  7281. 3786 .loc 1 2382 24
  7282. 3787 0020 5B68 ldr r3, [r3, #4]
  7283. 3788 .loc 1 2382 30
  7284. 3789 0022 03F00203 and r3, r3, #2
  7285. 3790 .loc 1 2382 8
  7286. 3791 0026 002B cmp r3, #0
  7287. 3792 0028 02D0 beq .L173
  7288. 2383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  7289. 2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Sleep mode is active */
  7290. 2385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** state = HAL_CAN_STATE_SLEEP_ACTIVE;
  7291. 3793 .loc 1 2385 13
  7292. 3794 002a 0423 movs r3, #4
  7293. 3795 002c FB73 strb r3, [r7, #15]
  7294. 3796 002e 08E0 b .L172
  7295. 3797 .L173:
  7296. 2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7297. 2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Check sleep mode request flag */
  7298. 2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else if ((hcan->Instance->MCR & CAN_MCR_SLEEP) != 0U)
  7299. 3798 .loc 1 2388 19
  7300. 3799 0030 7B68 ldr r3, [r7, #4]
  7301. 3800 0032 1B68 ldr r3, [r3]
  7302. 3801 .loc 1 2388 29
  7303. 3802 0034 1B68 ldr r3, [r3]
  7304. 3803 .loc 1 2388 35
  7305. 3804 0036 03F00203 and r3, r3, #2
  7306. 3805 .loc 1 2388 13
  7307. 3806 003a 002B cmp r3, #0
  7308. 3807 003c 01D0 beq .L172
  7309. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 127
  7310. 2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  7311. 2390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Sleep mode request is pending */
  7312. 2391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** state = HAL_CAN_STATE_SLEEP_PENDING;
  7313. 3808 .loc 1 2391 13
  7314. 3809 003e 0323 movs r3, #3
  7315. 3810 0040 FB73 strb r3, [r7, #15]
  7316. 3811 .L172:
  7317. 2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7318. 2393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  7319. 2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  7320. 2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Neither sleep mode request nor sleep mode acknowledge */
  7321. 2396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7322. 2397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7323. 2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7324. 2399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return CAN state */
  7325. 2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return state;
  7326. 3812 .loc 1 2400 10
  7327. 3813 0042 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  7328. 2401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7329. 3814 .loc 1 2401 1
  7330. 3815 0044 1846 mov r0, r3
  7331. 3816 0046 1437 adds r7, r7, #20
  7332. 3817 .LCFI196:
  7333. 3818 .cfi_def_cfa_offset 4
  7334. 3819 0048 BD46 mov sp, r7
  7335. 3820 .LCFI197:
  7336. 3821 .cfi_def_cfa_register 13
  7337. 3822 @ sp needed
  7338. 3823 004a 5DF8047B ldr r7, [sp], #4
  7339. 3824 .LCFI198:
  7340. 3825 .cfi_restore 7
  7341. 3826 .cfi_def_cfa_offset 0
  7342. 3827 004e 7047 bx lr
  7343. 3828 .cfi_endproc
  7344. 3829 .LFE268:
  7345. 3831 .section .text.HAL_CAN_GetError,"ax",%progbits
  7346. 3832 .align 1
  7347. 3833 .global HAL_CAN_GetError
  7348. 3834 .syntax unified
  7349. 3835 .thumb
  7350. 3836 .thumb_func
  7351. 3838 HAL_CAN_GetError:
  7352. 3839 .LFB269:
  7353. 2402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7354. 2403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  7355. 2404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Return the CAN error code.
  7356. 2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7357. 2406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  7358. 2407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval CAN Error Code
  7359. 2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  7360. 2409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** uint32_t HAL_CAN_GetError(CAN_HandleTypeDef *hcan)
  7361. 2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  7362. 3840 .loc 1 2410 1
  7363. 3841 .cfi_startproc
  7364. 3842 @ args = 0, pretend = 0, frame = 8
  7365. 3843 @ frame_needed = 1, uses_anonymous_args = 0
  7366. 3844 @ link register save eliminated.
  7367. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 128
  7368. 3845 0000 80B4 push {r7}
  7369. 3846 .LCFI199:
  7370. 3847 .cfi_def_cfa_offset 4
  7371. 3848 .cfi_offset 7, -4
  7372. 3849 0002 83B0 sub sp, sp, #12
  7373. 3850 .LCFI200:
  7374. 3851 .cfi_def_cfa_offset 16
  7375. 3852 0004 00AF add r7, sp, #0
  7376. 3853 .LCFI201:
  7377. 3854 .cfi_def_cfa_register 7
  7378. 3855 0006 7860 str r0, [r7, #4]
  7379. 2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return CAN error code */
  7380. 2412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return hcan->ErrorCode;
  7381. 3856 .loc 1 2412 14
  7382. 3857 0008 7B68 ldr r3, [r7, #4]
  7383. 3858 000a 5B6A ldr r3, [r3, #36]
  7384. 2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7385. 3859 .loc 1 2413 1
  7386. 3860 000c 1846 mov r0, r3
  7387. 3861 000e 0C37 adds r7, r7, #12
  7388. 3862 .LCFI202:
  7389. 3863 .cfi_def_cfa_offset 4
  7390. 3864 0010 BD46 mov sp, r7
  7391. 3865 .LCFI203:
  7392. 3866 .cfi_def_cfa_register 13
  7393. 3867 @ sp needed
  7394. 3868 0012 5DF8047B ldr r7, [sp], #4
  7395. 3869 .LCFI204:
  7396. 3870 .cfi_restore 7
  7397. 3871 .cfi_def_cfa_offset 0
  7398. 3872 0016 7047 bx lr
  7399. 3873 .cfi_endproc
  7400. 3874 .LFE269:
  7401. 3876 .section .text.HAL_CAN_ResetError,"ax",%progbits
  7402. 3877 .align 1
  7403. 3878 .global HAL_CAN_ResetError
  7404. 3879 .syntax unified
  7405. 3880 .thumb
  7406. 3881 .thumb_func
  7407. 3883 HAL_CAN_ResetError:
  7408. 3884 .LFB270:
  7409. 2414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7410. 2415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /**
  7411. 2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @brief Reset the CAN error code.
  7412. 2417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7413. 2418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * the configuration information for the specified CAN.
  7414. 2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** * @retval HAL status
  7415. 2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** */
  7416. 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ResetError(CAN_HandleTypeDef *hcan)
  7417. 2422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  7418. 3885 .loc 1 2422 1
  7419. 3886 .cfi_startproc
  7420. 3887 @ args = 0, pretend = 0, frame = 16
  7421. 3888 @ frame_needed = 1, uses_anonymous_args = 0
  7422. 3889 @ link register save eliminated.
  7423. 3890 0000 80B4 push {r7}
  7424. 3891 .LCFI205:
  7425. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 129
  7426. 3892 .cfi_def_cfa_offset 4
  7427. 3893 .cfi_offset 7, -4
  7428. 3894 0002 85B0 sub sp, sp, #20
  7429. 3895 .LCFI206:
  7430. 3896 .cfi_def_cfa_offset 24
  7431. 3897 0004 00AF add r7, sp, #0
  7432. 3898 .LCFI207:
  7433. 3899 .cfi_def_cfa_register 7
  7434. 3900 0006 7860 str r0, [r7, #4]
  7435. 2423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
  7436. 3901 .loc 1 2423 21
  7437. 3902 0008 0023 movs r3, #0
  7438. 3903 000a FB73 strb r3, [r7, #15]
  7439. 2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  7440. 3904 .loc 1 2424 24
  7441. 3905 000c 7B68 ldr r3, [r7, #4]
  7442. 3906 000e 93F82030 ldrb r3, [r3, #32]
  7443. 3907 0012 BB73 strb r3, [r7, #14]
  7444. 2425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7445. 2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  7446. 3908 .loc 1 2426 6
  7447. 3909 0014 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
  7448. 3910 0016 012B cmp r3, #1
  7449. 3911 0018 02D0 beq .L178
  7450. 3912 .loc 1 2426 38 discriminator 1
  7451. 3913 001a BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
  7452. 3914 001c 022B cmp r3, #2
  7453. 3915 001e 03D1 bne .L179
  7454. 3916 .L178:
  7455. 2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  7456. 2428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  7457. 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Reset CAN error code */
  7458. 2430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode = 0U;
  7459. 3917 .loc 1 2430 21
  7460. 3918 0020 7B68 ldr r3, [r7, #4]
  7461. 3919 0022 0022 movs r2, #0
  7462. 3920 0024 5A62 str r2, [r3, #36]
  7463. 3921 0026 07E0 b .L180
  7464. 3922 .L179:
  7465. 2431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7466. 2432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** else
  7467. 2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** {
  7468. 2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Update error code */
  7469. 2435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  7470. 3923 .loc 1 2435 21
  7471. 3924 0028 7B68 ldr r3, [r7, #4]
  7472. 3925 002a 5B6A ldr r3, [r3, #36]
  7473. 3926 002c 43F48022 orr r2, r3, #262144
  7474. 3927 0030 7B68 ldr r3, [r7, #4]
  7475. 3928 0032 5A62 str r2, [r3, #36]
  7476. 2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7477. 2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** status = HAL_ERROR;
  7478. 3929 .loc 1 2437 12
  7479. 3930 0034 0123 movs r3, #1
  7480. 3931 0036 FB73 strb r3, [r7, #15]
  7481. 3932 .L180:
  7482. 2438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7483. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 130
  7484. 2439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c ****
  7485. 2440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** /* Return the status */
  7486. 2441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** return status;
  7487. 3933 .loc 1 2441 10
  7488. 3934 0038 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  7489. 2442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c **** }
  7490. 3935 .loc 1 2442 1
  7491. 3936 003a 1846 mov r0, r3
  7492. 3937 003c 1437 adds r7, r7, #20
  7493. 3938 .LCFI208:
  7494. 3939 .cfi_def_cfa_offset 4
  7495. 3940 003e BD46 mov sp, r7
  7496. 3941 .LCFI209:
  7497. 3942 .cfi_def_cfa_register 13
  7498. 3943 @ sp needed
  7499. 3944 0040 5DF8047B ldr r7, [sp], #4
  7500. 3945 .LCFI210:
  7501. 3946 .cfi_restore 7
  7502. 3947 .cfi_def_cfa_offset 0
  7503. 3948 0044 7047 bx lr
  7504. 3949 .cfi_endproc
  7505. 3950 .LFE270:
  7506. 3952 .text
  7507. 3953 .Letext0:
  7508. 3954 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  7509. 3955 .file 4 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  7510. 3956 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h"
  7511. 3957 .file 6 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
  7512. 3958 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
  7513. 3959 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h"
  7514. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 131
  7515. DEFINED SYMBOLS
  7516. *ABS*:00000000 stm32f4xx_hal_can.c
  7517. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:20 .text.HAL_CAN_Init:00000000 $t
  7518. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:26 .text.HAL_CAN_Init:00000000 HAL_CAN_Init
  7519. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:429 .text.HAL_CAN_MspInit:00000000 HAL_CAN_MspInit
  7520. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:352 .text.HAL_CAN_DeInit:00000000 $t
  7521. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:358 .text.HAL_CAN_DeInit:00000000 HAL_CAN_DeInit
  7522. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:921 .text.HAL_CAN_Stop:00000000 HAL_CAN_Stop
  7523. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:471 .text.HAL_CAN_MspDeInit:00000000 HAL_CAN_MspDeInit
  7524. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:423 .text.HAL_CAN_MspInit:00000000 $t
  7525. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:465 .text.HAL_CAN_MspDeInit:00000000 $t
  7526. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:507 .text.HAL_CAN_ConfigFilter:00000000 $t
  7527. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:513 .text.HAL_CAN_ConfigFilter:00000000 HAL_CAN_ConfigFilter
  7528. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:797 .text.HAL_CAN_ConfigFilter:000001bc $d
  7529. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:802 .text.HAL_CAN_Start:00000000 $t
  7530. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:808 .text.HAL_CAN_Start:00000000 HAL_CAN_Start
  7531. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:915 .text.HAL_CAN_Stop:00000000 $t
  7532. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1032 .text.HAL_CAN_RequestSleep:00000000 $t
  7533. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1038 .text.HAL_CAN_RequestSleep:00000000 HAL_CAN_RequestSleep
  7534. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1108 .text.HAL_CAN_WakeUp:00000000 $t
  7535. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1114 .text.HAL_CAN_WakeUp:00000000 HAL_CAN_WakeUp
  7536. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1220 .text.HAL_CAN_WakeUp:00000080 $d
  7537. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1225 .text.HAL_CAN_IsSleepActive:00000000 $t
  7538. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1231 .text.HAL_CAN_IsSleepActive:00000000 HAL_CAN_IsSleepActive
  7539. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1299 .text.HAL_CAN_AddTxMessage:00000000 $t
  7540. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1305 .text.HAL_CAN_AddTxMessage:00000000 HAL_CAN_AddTxMessage
  7541. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1591 .text.HAL_CAN_AbortTxRequest:00000000 $t
  7542. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1597 .text.HAL_CAN_AbortTxRequest:00000000 HAL_CAN_AbortTxRequest
  7543. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1705 .text.HAL_CAN_GetTxMailboxesFreeLevel:00000000 $t
  7544. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1711 .text.HAL_CAN_GetTxMailboxesFreeLevel:00000000 HAL_CAN_GetTxMailboxesFreeLevel
  7545. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1810 .text.HAL_CAN_IsTxMessagePending:00000000 $t
  7546. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1816 .text.HAL_CAN_IsTxMessagePending:00000000 HAL_CAN_IsTxMessagePending
  7547. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1891 .text.HAL_CAN_GetTxTimestamp:00000000 $t
  7548. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1897 .text.HAL_CAN_GetTxTimestamp:00000000 HAL_CAN_GetTxTimestamp
  7549. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1991 .text.HAL_CAN_GetRxMessage:00000000 $t
  7550. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:1997 .text.HAL_CAN_GetRxMessage:00000000 HAL_CAN_GetRxMessage
  7551. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:2381 .text.HAL_CAN_GetRxFifoFillLevel:00000000 $t
  7552. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:2387 .text.HAL_CAN_GetRxFifoFillLevel:00000000 HAL_CAN_GetRxFifoFillLevel
  7553. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:2465 .text.HAL_CAN_ActivateNotification:00000000 $t
  7554. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:2471 .text.HAL_CAN_ActivateNotification:00000000 HAL_CAN_ActivateNotification
  7555. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:2543 .text.HAL_CAN_DeactivateNotification:00000000 $t
  7556. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:2549 .text.HAL_CAN_DeactivateNotification:00000000 HAL_CAN_DeactivateNotification
  7557. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:2622 .text.HAL_CAN_IRQHandler:00000000 $t
  7558. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:2628 .text.HAL_CAN_IRQHandler:00000000 HAL_CAN_IRQHandler
  7559. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3206 .text.HAL_CAN_TxMailbox0CompleteCallback:00000000 HAL_CAN_TxMailbox0CompleteCallback
  7560. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3332 .text.HAL_CAN_TxMailbox0AbortCallback:00000000 HAL_CAN_TxMailbox0AbortCallback
  7561. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3248 .text.HAL_CAN_TxMailbox1CompleteCallback:00000000 HAL_CAN_TxMailbox1CompleteCallback
  7562. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3374 .text.HAL_CAN_TxMailbox1AbortCallback:00000000 HAL_CAN_TxMailbox1AbortCallback
  7563. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3290 .text.HAL_CAN_TxMailbox2CompleteCallback:00000000 HAL_CAN_TxMailbox2CompleteCallback
  7564. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3416 .text.HAL_CAN_TxMailbox2AbortCallback:00000000 HAL_CAN_TxMailbox2AbortCallback
  7565. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3500 .text.HAL_CAN_RxFifo0FullCallback:00000000 HAL_CAN_RxFifo0FullCallback
  7566. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3458 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 HAL_CAN_RxFifo0MsgPendingCallback
  7567. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3584 .text.HAL_CAN_RxFifo1FullCallback:00000000 HAL_CAN_RxFifo1FullCallback
  7568. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3542 .text.HAL_CAN_RxFifo1MsgPendingCallback:00000000 HAL_CAN_RxFifo1MsgPendingCallback
  7569. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3626 .text.HAL_CAN_SleepCallback:00000000 HAL_CAN_SleepCallback
  7570. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3668 .text.HAL_CAN_WakeUpFromRxMsgCallback:00000000 HAL_CAN_WakeUpFromRxMsgCallback
  7571. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3710 .text.HAL_CAN_ErrorCallback:00000000 HAL_CAN_ErrorCallback
  7572. ARM GAS C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s page 132
  7573. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3200 .text.HAL_CAN_TxMailbox0CompleteCallback:00000000 $t
  7574. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3242 .text.HAL_CAN_TxMailbox1CompleteCallback:00000000 $t
  7575. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3284 .text.HAL_CAN_TxMailbox2CompleteCallback:00000000 $t
  7576. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3326 .text.HAL_CAN_TxMailbox0AbortCallback:00000000 $t
  7577. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3368 .text.HAL_CAN_TxMailbox1AbortCallback:00000000 $t
  7578. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3410 .text.HAL_CAN_TxMailbox2AbortCallback:00000000 $t
  7579. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3452 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 $t
  7580. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3494 .text.HAL_CAN_RxFifo0FullCallback:00000000 $t
  7581. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3536 .text.HAL_CAN_RxFifo1MsgPendingCallback:00000000 $t
  7582. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3578 .text.HAL_CAN_RxFifo1FullCallback:00000000 $t
  7583. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3620 .text.HAL_CAN_SleepCallback:00000000 $t
  7584. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3662 .text.HAL_CAN_WakeUpFromRxMsgCallback:00000000 $t
  7585. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3704 .text.HAL_CAN_ErrorCallback:00000000 $t
  7586. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3746 .text.HAL_CAN_GetState:00000000 $t
  7587. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3752 .text.HAL_CAN_GetState:00000000 HAL_CAN_GetState
  7588. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3832 .text.HAL_CAN_GetError:00000000 $t
  7589. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3838 .text.HAL_CAN_GetError:00000000 HAL_CAN_GetError
  7590. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3877 .text.HAL_CAN_ResetError:00000000 $t
  7591. C:\Users\10728\AppData\Local\Temp\cc8XaJQR.s:3883 .text.HAL_CAN_ResetError:00000000 HAL_CAN_ResetError
  7592. UNDEFINED SYMBOLS
  7593. HAL_GetTick