stm32f3xx_hal_can.lst 484 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.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 "stm32f3xx_hal_can.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .section .rodata
  21. 20 .align 2
  22. 21 .LC0:
  23. 22 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can."
  24. 22 6572732F
  25. 22 53544D33
  26. 22 32463378
  27. 22 785F4841
  28. 23 0033 6300 .ascii "c\000"
  29. 24 .section .text.HAL_CAN_Init,"ax",%progbits
  30. 25 .align 1
  31. 26 .global HAL_CAN_Init
  32. 27 .syntax unified
  33. 28 .thumb
  34. 29 .thumb_func
  35. 31 HAL_CAN_Init:
  36. 32 .LFB130:
  37. 33 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c"
  38. 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  39. 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
  40. 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @file stm32f3xx_hal_can.c
  41. 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @author MCD Application Team
  42. 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN HAL module driver.
  43. 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This file provides firmware functions to manage the following
  44. 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * functionalities of the Controller Area Network (CAN) peripheral:
  45. 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Initialization and de-initialization functions
  46. 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Configuration functions
  47. 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Control functions
  48. 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Interrupts management
  49. 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Callbacks functions
  50. 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Peripheral State and Error functions
  51. 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  52. 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
  53. 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @attention
  54. 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  55. 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * Copyright (c) 2016 STMicroelectronics.
  56. 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * All rights reserved.
  57. 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  58. 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This software is licensed under terms that can be found in the LICENSE file
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 2
  60. 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * in the root directory of this software component.
  61. 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  62. 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  63. 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
  64. 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  65. 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  66. 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### How to use this driver #####
  67. 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  68. 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
  69. 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Initialize the CAN low level resources by implementing the
  70. 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_MspInit():
  71. 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Enable the CAN interface clock using __HAL_RCC_CANx_CLK_ENABLE()
  72. 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Configure CAN pins
  73. 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Enable the clock for the CAN GPIOs
  74. 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Configure CAN pins as alternate function
  75. 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) In case of using interrupts (e.g. HAL_CAN_ActivateNotification())
  76. 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Configure the CAN interrupt priority using
  77. 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_NVIC_SetPriority()
  78. 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Enable the CAN IRQ handler using HAL_NVIC_EnableIRQ()
  79. 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) In CAN IRQ handler, call HAL_CAN_IRQHandler()
  80. 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  81. 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Initialize the CAN peripheral using HAL_CAN_Init() function. This
  82. 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** function resorts to HAL_CAN_MspInit() for low-level initialization.
  83. 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  84. 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Configure the reception filters using the following configuration
  85. 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** functions:
  86. 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_ConfigFilter()
  87. 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  88. 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Start the CAN module using HAL_CAN_Start() function. At this level
  89. 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the node is active on the bus: it receive messages, and can send
  90. 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** messages.
  91. 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  92. 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) To manage messages transmission, the following Tx control functions
  93. 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can be used:
  94. 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_AddTxMessage() to request transmission of a new
  95. 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** message.
  96. 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_AbortTxRequest() to abort transmission of a pending
  97. 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** message.
  98. 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_GetTxMailboxesFreeLevel() to get the number of free Tx
  99. 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** mailboxes.
  100. 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_IsTxMessagePending() to check if a message is pending
  101. 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** in a Tx mailbox.
  102. 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_GetTxTimestamp() to get the timestamp of Tx message
  103. 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** sent, if time triggered communication mode is enabled.
  104. 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  105. 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) When a message is received into the CAN Rx FIFOs, it can be retrieved
  106. 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** using the HAL_CAN_GetRxMessage() function. The function
  107. 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_GetRxFifoFillLevel() allows to know how many Rx message are
  108. 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** stored in the Rx Fifo.
  109. 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  110. 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Calling the HAL_CAN_Stop() function stops the CAN module.
  111. 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  112. 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) The deinitialization is achieved with HAL_CAN_DeInit() function.
  113. 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  114. 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  115. 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Polling mode operation ***
  116. 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 3
  118. 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
  119. 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Reception:
  120. 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Monitor reception of message using HAL_CAN_GetRxFifoFillLevel()
  121. 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** until at least one message is received.
  122. 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Then get the message using HAL_CAN_GetRxMessage().
  123. 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  124. 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Transmission:
  125. 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Monitor the Tx mailboxes availability until at least one Tx
  126. 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** mailbox is free, using HAL_CAN_GetTxMailboxesFreeLevel().
  127. 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Then request transmission of a message using
  128. 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_AddTxMessage().
  129. 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  130. 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  131. 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Interrupt mode operation ***
  132. 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ================================
  133. 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
  134. 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Notifications are activated using HAL_CAN_ActivateNotification()
  135. 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** function. Then, the process can be controlled through the
  136. 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** available user callbacks: HAL_CAN_xxxCallback(), using same APIs
  137. 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_GetRxMessage() and HAL_CAN_AddTxMessage().
  138. 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  139. 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Notifications can be deactivated using
  140. 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_DeactivateNotification() function.
  141. 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  142. 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Special care should be taken for CAN_IT_RX_FIFO0_MSG_PENDING and
  143. 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CAN_IT_RX_FIFO1_MSG_PENDING notifications. These notifications trig
  144. 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the callbacks HAL_CAN_RxFIFO0MsgPendingCallback() and
  145. 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFIFO1MsgPendingCallback(). User has two possible options
  146. 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** here.
  147. 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Directly get the Rx message in the callback, using
  148. 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_GetRxMessage().
  149. 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Or deactivate the notification in the callback without
  150. 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** getting the Rx message. The Rx message can then be got later
  151. 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** using HAL_CAN_GetRxMessage(). Once the Rx message have been
  152. 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** read, the notification can be activated again.
  153. 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  154. 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  155. 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Sleep mode ***
  156. 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==================
  157. 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
  158. 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) The CAN peripheral can be put in sleep mode (low power), using
  159. 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RequestSleep(). The sleep mode will be entered as soon as the
  160. 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** current CAN activity (transmission or reception of a CAN frame) will
  161. 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** be completed.
  162. 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  163. 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) A notification can be activated to be informed when the sleep mode
  164. 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** will be entered.
  165. 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  166. 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) It can be checked if the sleep mode is entered using
  167. 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_IsSleepActive().
  168. 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Note that the CAN state (accessible from the API HAL_CAN_GetState())
  169. 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** is HAL_CAN_STATE_SLEEP_PENDING as soon as the sleep mode request is
  170. 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** submitted (the sleep mode is not yet entered), and become
  171. 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_STATE_SLEEP_ACTIVE when the sleep mode is effective.
  172. 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  173. 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) The wake-up from sleep mode can be triggered by two ways:
  174. 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Using HAL_CAN_WakeUp(). When returning from this function,
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 4
  176. 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the sleep mode is exited (if return status is HAL_OK).
  177. 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) When a start of Rx CAN frame is detected by the CAN peripheral,
  178. 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if automatic wake up mode is enabled.
  179. 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  180. 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Callback registration ***
  181. 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** =============================================
  182. 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  183. 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** The compilation define USE_HAL_CAN_REGISTER_CALLBACKS when set to 1
  184. 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** allows the user to configure dynamically the driver callbacks.
  185. 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Use Function HAL_CAN_RegisterCallback() to register an interrupt callback.
  186. 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  187. 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Function HAL_CAN_RegisterCallback() allows to register following callbacks:
  188. 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
  189. 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
  190. 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
  191. 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
  192. 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
  193. 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
  194. 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
  195. 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
  196. 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
  197. 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
  198. 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) SleepCallback : Sleep Callback.
  199. 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
  200. 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) ErrorCallback : Error Callback.
  201. 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspInitCallback : CAN MspInit.
  202. 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspDeInitCallback : CAN MspDeInit.
  203. 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
  204. 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** and a pointer to the user callback function.
  205. 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  206. 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Use function HAL_CAN_UnRegisterCallback() to reset a callback to the default
  207. 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** weak function.
  208. 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_UnRegisterCallback takes as parameters the HAL peripheral handle,
  209. 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** and the Callback ID.
  210. 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This function allows to reset following callbacks:
  211. 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
  212. 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
  213. 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
  214. 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
  215. 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
  216. 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
  217. 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
  218. 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
  219. 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
  220. 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
  221. 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) SleepCallback : Sleep Callback.
  222. 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
  223. 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) ErrorCallback : Error Callback.
  224. 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspInitCallback : CAN MspInit.
  225. 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspDeInitCallback : CAN MspDeInit.
  226. 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  227. 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** By default, after the HAL_CAN_Init() and when the state is HAL_CAN_STATE_RESET,
  228. 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** all callbacks are set to the corresponding weak functions:
  229. 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** example HAL_CAN_ErrorCallback().
  230. 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Exception done for MspInit and MspDeInit functions that are
  231. 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** reset to the legacy weak function in the HAL_CAN_Init()/ HAL_CAN_DeInit() only when
  232. 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** these callbacks are null (not registered beforehand).
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 5
  234. 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if not, MspInit or MspDeInit are not null, the HAL_CAN_Init()/ HAL_CAN_DeInit()
  235. 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand)
  236. 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  237. 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Callbacks can be registered/unregistered in HAL_CAN_STATE_READY state only.
  238. 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
  239. 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** in HAL_CAN_STATE_READY or HAL_CAN_STATE_RESET state,
  240. 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
  241. 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** In that case first register the MspInit/MspDeInit user callbacks
  242. 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** using HAL_CAN_RegisterCallback() before calling HAL_CAN_DeInit()
  243. 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** or HAL_CAN_Init() function.
  244. 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  245. 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** When The compilation define USE_HAL_CAN_REGISTER_CALLBACKS is set to 0 or
  246. 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** not defined, the callback registration feature is not available and all callbacks
  247. 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** are set to the corresponding weak functions.
  248. 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  249. 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  250. 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
  251. 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  252. 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  253. 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Includes ------------------------------------------------------------------*/
  254. 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #include "stm32f3xx_hal.h"
  255. 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  256. 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @addtogroup STM32F3xx_HAL_Driver
  257. 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  258. 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  259. 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  260. 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if defined(CAN)
  261. 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  262. 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN CAN
  263. 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN driver modules
  264. 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  265. 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  266. 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  267. 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #ifdef HAL_CAN_MODULE_ENABLED
  268. 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  269. 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #ifdef HAL_CAN_LEGACY_MODULE_ENABLED
  270. 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #error "The CAN driver cannot be used with its legacy, Please enable only one CAN module at once"
  271. 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* HAL_CAN_LEGACY_MODULE_ENABLED */
  272. 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  273. 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private typedef -----------------------------------------------------------*/
  274. 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private define ------------------------------------------------------------*/
  275. 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Private_Constants CAN Private Constants
  276. 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  277. 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  278. 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #define CAN_TIMEOUT_VALUE 10U
  279. 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #define CAN_WAKEUP_TIMEOUT_COUNTER 1000000U
  280. 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  281. 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
  282. 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  283. 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private macro -------------------------------------------------------------*/
  284. 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private variables ---------------------------------------------------------*/
  285. 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private function prototypes -----------------------------------------------*/
  286. 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exported functions --------------------------------------------------------*/
  287. 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  288. 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions CAN Exported Functions
  289. 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  290. 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 6
  292. 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  293. 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group1 Initialization and de-initialization functions
  294. 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Initialization and Configuration functions
  295. 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  296. 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  297. 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  298. 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Initialization and de-initialization functions #####
  299. 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  300. 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
  301. 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_Init : Initialize and configure the CAN.
  302. 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_DeInit : De-initialize the CAN.
  303. 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_MspInit : Initialize the CAN MSP.
  304. 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_MspDeInit : DeInitialize the CAN MSP.
  305. 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  306. 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  307. 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  308. 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  309. 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  310. 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  311. 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Initializes the CAN peripheral according to the specified
  312. 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * parameters in the CAN_InitStruct.
  313. 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  314. 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  315. 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  316. 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  317. 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef *hcan)
  318. 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  319. 34 .loc 1 276 1
  320. 35 .cfi_startproc
  321. 36 @ args = 0, pretend = 0, frame = 16
  322. 37 @ frame_needed = 1, uses_anonymous_args = 0
  323. 38 0000 80B5 push {r7, lr}
  324. 39 .LCFI0:
  325. 40 .cfi_def_cfa_offset 8
  326. 41 .cfi_offset 7, -8
  327. 42 .cfi_offset 14, -4
  328. 43 0002 84B0 sub sp, sp, #16
  329. 44 .LCFI1:
  330. 45 .cfi_def_cfa_offset 24
  331. 46 0004 00AF add r7, sp, #0
  332. 47 .LCFI2:
  333. 48 .cfi_def_cfa_register 7
  334. 49 0006 7860 str r0, [r7, #4]
  335. 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
  336. 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  337. 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check CAN handle */
  338. 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan == NULL)
  339. 50 .loc 1 280 6
  340. 51 0008 7B68 ldr r3, [r7, #4]
  341. 52 000a 002B cmp r3, #0
  342. 53 000c 01D1 bne .L2
  343. 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  344. 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  345. 54 .loc 1 282 12
  346. 55 000e 0123 movs r3, #1
  347. 56 0010 09E2 b .L3
  348. 57 .L2:
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 7
  350. 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  351. 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  352. 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
  353. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
  354. 58 .loc 1 286 3
  355. 59 0012 7B68 ldr r3, [r7, #4]
  356. 60 0014 1B68 ldr r3, [r3]
  357. 61 0016 8F4A ldr r2, .L34
  358. 62 0018 9342 cmp r3, r2
  359. 63 001a 04D0 beq .L4
  360. 64 .loc 1 286 3 is_stmt 0 discriminator 1
  361. 65 001c 4FF48F71 mov r1, #286
  362. 66 0020 8D48 ldr r0, .L34+4
  363. 67 0022 FFF7FEFF bl assert_failed
  364. 68 .L4:
  365. 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
  366. 69 .loc 1 287 3 is_stmt 1
  367. 70 0026 7B68 ldr r3, [r7, #4]
  368. 71 0028 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
  369. 72 002a 002B cmp r3, #0
  370. 73 002c 08D0 beq .L5
  371. 74 .loc 1 287 3 is_stmt 0 discriminator 1
  372. 75 002e 7B68 ldr r3, [r7, #4]
  373. 76 0030 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
  374. 77 0032 012B cmp r3, #1
  375. 78 0034 04D0 beq .L5
  376. 79 .loc 1 287 3 discriminator 2
  377. 80 0036 40F21F11 movw r1, #287
  378. 81 003a 8748 ldr r0, .L34+4
  379. 82 003c FFF7FEFF bl assert_failed
  380. 83 .L5:
  381. 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff));
  382. 84 .loc 1 288 3 is_stmt 1
  383. 85 0040 7B68 ldr r3, [r7, #4]
  384. 86 0042 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2
  385. 87 0044 002B cmp r3, #0
  386. 88 0046 08D0 beq .L6
  387. 89 .loc 1 288 3 is_stmt 0 discriminator 1
  388. 90 0048 7B68 ldr r3, [r7, #4]
  389. 91 004a 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2
  390. 92 004c 012B cmp r3, #1
  391. 93 004e 04D0 beq .L6
  392. 94 .loc 1 288 3 discriminator 2
  393. 95 0050 4FF49071 mov r1, #288
  394. 96 0054 8048 ldr r0, .L34+4
  395. 97 0056 FFF7FEFF bl assert_failed
  396. 98 .L6:
  397. 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
  398. 99 .loc 1 289 3 is_stmt 1
  399. 100 005a 7B68 ldr r3, [r7, #4]
  400. 101 005c 9B7E ldrb r3, [r3, #26] @ zero_extendqisi2
  401. 102 005e 002B cmp r3, #0
  402. 103 0060 08D0 beq .L7
  403. 104 .loc 1 289 3 is_stmt 0 discriminator 1
  404. 105 0062 7B68 ldr r3, [r7, #4]
  405. 106 0064 9B7E ldrb r3, [r3, #26] @ zero_extendqisi2
  406. 107 0066 012B cmp r3, #1
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 8
  408. 108 0068 04D0 beq .L7
  409. 109 .loc 1 289 3 discriminator 2
  410. 110 006a 40F22111 movw r1, #289
  411. 111 006e 7A48 ldr r0, .L34+4
  412. 112 0070 FFF7FEFF bl assert_failed
  413. 113 .L7:
  414. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
  415. 114 .loc 1 290 3 is_stmt 1
  416. 115 0074 7B68 ldr r3, [r7, #4]
  417. 116 0076 DB7E ldrb r3, [r3, #27] @ zero_extendqisi2
  418. 117 0078 002B cmp r3, #0
  419. 118 007a 08D0 beq .L8
  420. 119 .loc 1 290 3 is_stmt 0 discriminator 1
  421. 120 007c 7B68 ldr r3, [r7, #4]
  422. 121 007e DB7E ldrb r3, [r3, #27] @ zero_extendqisi2
  423. 122 0080 012B cmp r3, #1
  424. 123 0082 04D0 beq .L8
  425. 124 .loc 1 290 3 discriminator 2
  426. 125 0084 4FF49171 mov r1, #290
  427. 126 0088 7348 ldr r0, .L34+4
  428. 127 008a FFF7FEFF bl assert_failed
  429. 128 .L8:
  430. 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
  431. 129 .loc 1 291 3 is_stmt 1
  432. 130 008e 7B68 ldr r3, [r7, #4]
  433. 131 0090 1B7F ldrb r3, [r3, #28] @ zero_extendqisi2
  434. 132 0092 002B cmp r3, #0
  435. 133 0094 08D0 beq .L9
  436. 134 .loc 1 291 3 is_stmt 0 discriminator 1
  437. 135 0096 7B68 ldr r3, [r7, #4]
  438. 136 0098 1B7F ldrb r3, [r3, #28] @ zero_extendqisi2
  439. 137 009a 012B cmp r3, #1
  440. 138 009c 04D0 beq .L9
  441. 139 .loc 1 291 3 discriminator 2
  442. 140 009e 40F22311 movw r1, #291
  443. 141 00a2 6D48 ldr r0, .L34+4
  444. 142 00a4 FFF7FEFF bl assert_failed
  445. 143 .L9:
  446. 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
  447. 144 .loc 1 292 3 is_stmt 1
  448. 145 00a8 7B68 ldr r3, [r7, #4]
  449. 146 00aa 5B7F ldrb r3, [r3, #29] @ zero_extendqisi2
  450. 147 00ac 002B cmp r3, #0
  451. 148 00ae 08D0 beq .L10
  452. 149 .loc 1 292 3 is_stmt 0 discriminator 1
  453. 150 00b0 7B68 ldr r3, [r7, #4]
  454. 151 00b2 5B7F ldrb r3, [r3, #29] @ zero_extendqisi2
  455. 152 00b4 012B cmp r3, #1
  456. 153 00b6 04D0 beq .L10
  457. 154 .loc 1 292 3 discriminator 2
  458. 155 00b8 4FF49271 mov r1, #292
  459. 156 00bc 6648 ldr r0, .L34+4
  460. 157 00be FFF7FEFF bl assert_failed
  461. 158 .L10:
  462. 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_MODE(hcan->Init.Mode));
  463. 159 .loc 1 293 3 is_stmt 1
  464. 160 00c2 7B68 ldr r3, [r7, #4]
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 9
  466. 161 00c4 9B68 ldr r3, [r3, #8]
  467. 162 00c6 002B cmp r3, #0
  468. 163 00c8 13D0 beq .L11
  469. 164 .loc 1 293 3 is_stmt 0 discriminator 1
  470. 165 00ca 7B68 ldr r3, [r7, #4]
  471. 166 00cc 9B68 ldr r3, [r3, #8]
  472. 167 00ce B3F1804F cmp r3, #1073741824
  473. 168 00d2 0ED0 beq .L11
  474. 169 .loc 1 293 3 discriminator 2
  475. 170 00d4 7B68 ldr r3, [r7, #4]
  476. 171 00d6 9B68 ldr r3, [r3, #8]
  477. 172 00d8 B3F1004F cmp r3, #-2147483648
  478. 173 00dc 09D0 beq .L11
  479. 174 .loc 1 293 3 discriminator 3
  480. 175 00de 7B68 ldr r3, [r7, #4]
  481. 176 00e0 9B68 ldr r3, [r3, #8]
  482. 177 00e2 B3F1404F cmp r3, #-1073741824
  483. 178 00e6 04D0 beq .L11
  484. 179 .loc 1 293 3 discriminator 4
  485. 180 00e8 40F22511 movw r1, #293
  486. 181 00ec 5A48 ldr r0, .L34+4
  487. 182 00ee FFF7FEFF bl assert_failed
  488. 183 .L11:
  489. 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
  490. 184 .loc 1 294 3 is_stmt 1
  491. 185 00f2 7B68 ldr r3, [r7, #4]
  492. 186 00f4 DB68 ldr r3, [r3, #12]
  493. 187 00f6 002B cmp r3, #0
  494. 188 00f8 13D0 beq .L12
  495. 189 .loc 1 294 3 is_stmt 0 discriminator 1
  496. 190 00fa 7B68 ldr r3, [r7, #4]
  497. 191 00fc DB68 ldr r3, [r3, #12]
  498. 192 00fe B3F1807F cmp r3, #16777216
  499. 193 0102 0ED0 beq .L12
  500. 194 .loc 1 294 3 discriminator 2
  501. 195 0104 7B68 ldr r3, [r7, #4]
  502. 196 0106 DB68 ldr r3, [r3, #12]
  503. 197 0108 B3F1007F cmp r3, #33554432
  504. 198 010c 09D0 beq .L12
  505. 199 .loc 1 294 3 discriminator 3
  506. 200 010e 7B68 ldr r3, [r7, #4]
  507. 201 0110 DB68 ldr r3, [r3, #12]
  508. 202 0112 B3F1407F cmp r3, #50331648
  509. 203 0116 04D0 beq .L12
  510. 204 .loc 1 294 3 discriminator 4
  511. 205 0118 4FF49371 mov r1, #294
  512. 206 011c 4E48 ldr r0, .L34+4
  513. 207 011e FFF7FEFF bl assert_failed
  514. 208 .L12:
  515. 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1));
  516. 209 .loc 1 295 3 is_stmt 1
  517. 210 0122 7B68 ldr r3, [r7, #4]
  518. 211 0124 1B69 ldr r3, [r3, #16]
  519. 212 0126 002B cmp r3, #0
  520. 213 0128 4FD0 beq .L13
  521. 214 .loc 1 295 3 is_stmt 0 discriminator 1
  522. 215 012a 7B68 ldr r3, [r7, #4]
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 10
  524. 216 012c 1B69 ldr r3, [r3, #16]
  525. 217 012e B3F5803F cmp r3, #65536
  526. 218 0132 4AD0 beq .L13
  527. 219 .loc 1 295 3 discriminator 2
  528. 220 0134 7B68 ldr r3, [r7, #4]
  529. 221 0136 1B69 ldr r3, [r3, #16]
  530. 222 0138 B3F5003F cmp r3, #131072
  531. 223 013c 45D0 beq .L13
  532. 224 .loc 1 295 3 discriminator 3
  533. 225 013e 7B68 ldr r3, [r7, #4]
  534. 226 0140 1B69 ldr r3, [r3, #16]
  535. 227 0142 B3F5403F cmp r3, #196608
  536. 228 0146 40D0 beq .L13
  537. 229 .loc 1 295 3 discriminator 4
  538. 230 0148 7B68 ldr r3, [r7, #4]
  539. 231 014a 1B69 ldr r3, [r3, #16]
  540. 232 014c B3F5802F cmp r3, #262144
  541. 233 0150 3BD0 beq .L13
  542. 234 .loc 1 295 3 discriminator 5
  543. 235 0152 7B68 ldr r3, [r7, #4]
  544. 236 0154 1B69 ldr r3, [r3, #16]
  545. 237 0156 B3F5A02F cmp r3, #327680
  546. 238 015a 36D0 beq .L13
  547. 239 .loc 1 295 3 discriminator 6
  548. 240 015c 7B68 ldr r3, [r7, #4]
  549. 241 015e 1B69 ldr r3, [r3, #16]
  550. 242 0160 B3F5C02F cmp r3, #393216
  551. 243 0164 31D0 beq .L13
  552. 244 .loc 1 295 3 discriminator 7
  553. 245 0166 7B68 ldr r3, [r7, #4]
  554. 246 0168 1B69 ldr r3, [r3, #16]
  555. 247 016a B3F5E02F cmp r3, #458752
  556. 248 016e 2CD0 beq .L13
  557. 249 .loc 1 295 3 discriminator 8
  558. 250 0170 7B68 ldr r3, [r7, #4]
  559. 251 0172 1B69 ldr r3, [r3, #16]
  560. 252 0174 B3F5002F cmp r3, #524288
  561. 253 0178 27D0 beq .L13
  562. 254 .loc 1 295 3 discriminator 9
  563. 255 017a 7B68 ldr r3, [r7, #4]
  564. 256 017c 1B69 ldr r3, [r3, #16]
  565. 257 017e B3F5102F cmp r3, #589824
  566. 258 0182 22D0 beq .L13
  567. 259 .loc 1 295 3 discriminator 10
  568. 260 0184 7B68 ldr r3, [r7, #4]
  569. 261 0186 1B69 ldr r3, [r3, #16]
  570. 262 0188 B3F5202F cmp r3, #655360
  571. 263 018c 1DD0 beq .L13
  572. 264 .loc 1 295 3 discriminator 11
  573. 265 018e 7B68 ldr r3, [r7, #4]
  574. 266 0190 1B69 ldr r3, [r3, #16]
  575. 267 0192 B3F5302F cmp r3, #720896
  576. 268 0196 18D0 beq .L13
  577. 269 .loc 1 295 3 discriminator 12
  578. 270 0198 7B68 ldr r3, [r7, #4]
  579. 271 019a 1B69 ldr r3, [r3, #16]
  580. 272 019c B3F5402F cmp r3, #786432
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 11
  582. 273 01a0 13D0 beq .L13
  583. 274 .loc 1 295 3 discriminator 13
  584. 275 01a2 7B68 ldr r3, [r7, #4]
  585. 276 01a4 1B69 ldr r3, [r3, #16]
  586. 277 01a6 B3F5502F cmp r3, #851968
  587. 278 01aa 0ED0 beq .L13
  588. 279 .loc 1 295 3 discriminator 14
  589. 280 01ac 7B68 ldr r3, [r7, #4]
  590. 281 01ae 1B69 ldr r3, [r3, #16]
  591. 282 01b0 B3F5602F cmp r3, #917504
  592. 283 01b4 09D0 beq .L13
  593. 284 .loc 1 295 3 discriminator 15
  594. 285 01b6 7B68 ldr r3, [r7, #4]
  595. 286 01b8 1B69 ldr r3, [r3, #16]
  596. 287 01ba B3F5702F cmp r3, #983040
  597. 288 01be 04D0 beq .L13
  598. 289 .loc 1 295 3 discriminator 16
  599. 290 01c0 40F22711 movw r1, #295
  600. 291 01c4 2448 ldr r0, .L34+4
  601. 292 01c6 FFF7FEFF bl assert_failed
  602. 293 .L13:
  603. 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
  604. 294 .loc 1 296 3 is_stmt 1
  605. 295 01ca 7B68 ldr r3, [r7, #4]
  606. 296 01cc 5B69 ldr r3, [r3, #20]
  607. 297 01ce 002B cmp r3, #0
  608. 298 01d0 27D0 beq .L14
  609. 299 .loc 1 296 3 is_stmt 0 discriminator 1
  610. 300 01d2 7B68 ldr r3, [r7, #4]
  611. 301 01d4 5B69 ldr r3, [r3, #20]
  612. 302 01d6 B3F5801F cmp r3, #1048576
  613. 303 01da 22D0 beq .L14
  614. 304 .loc 1 296 3 discriminator 2
  615. 305 01dc 7B68 ldr r3, [r7, #4]
  616. 306 01de 5B69 ldr r3, [r3, #20]
  617. 307 01e0 B3F5001F cmp r3, #2097152
  618. 308 01e4 1DD0 beq .L14
  619. 309 .loc 1 296 3 discriminator 3
  620. 310 01e6 7B68 ldr r3, [r7, #4]
  621. 311 01e8 5B69 ldr r3, [r3, #20]
  622. 312 01ea B3F5401F cmp r3, #3145728
  623. 313 01ee 18D0 beq .L14
  624. 314 .loc 1 296 3 discriminator 4
  625. 315 01f0 7B68 ldr r3, [r7, #4]
  626. 316 01f2 5B69 ldr r3, [r3, #20]
  627. 317 01f4 B3F5800F cmp r3, #4194304
  628. 318 01f8 13D0 beq .L14
  629. 319 .loc 1 296 3 discriminator 5
  630. 320 01fa 7B68 ldr r3, [r7, #4]
  631. 321 01fc 5B69 ldr r3, [r3, #20]
  632. 322 01fe B3F5A00F cmp r3, #5242880
  633. 323 0202 0ED0 beq .L14
  634. 324 .loc 1 296 3 discriminator 6
  635. 325 0204 7B68 ldr r3, [r7, #4]
  636. 326 0206 5B69 ldr r3, [r3, #20]
  637. 327 0208 B3F5C00F cmp r3, #6291456
  638. 328 020c 09D0 beq .L14
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 12
  640. 329 .loc 1 296 3 discriminator 7
  641. 330 020e 7B68 ldr r3, [r7, #4]
  642. 331 0210 5B69 ldr r3, [r3, #20]
  643. 332 0212 B3F5E00F cmp r3, #7340032
  644. 333 0216 04D0 beq .L14
  645. 334 .loc 1 296 3 discriminator 8
  646. 335 0218 4FF49471 mov r1, #296
  647. 336 021c 0E48 ldr r0, .L34+4
  648. 337 021e FFF7FEFF bl assert_failed
  649. 338 .L14:
  650. 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
  651. 339 .loc 1 297 3 is_stmt 1
  652. 340 0222 7B68 ldr r3, [r7, #4]
  653. 341 0224 5B68 ldr r3, [r3, #4]
  654. 342 0226 002B cmp r3, #0
  655. 343 0228 04D0 beq .L15
  656. 344 .loc 1 297 3 is_stmt 0 discriminator 2
  657. 345 022a 7B68 ldr r3, [r7, #4]
  658. 346 022c 5B68 ldr r3, [r3, #4]
  659. 347 022e B3F5806F cmp r3, #1024
  660. 348 0232 04D9 bls .L16
  661. 349 .L15:
  662. 350 .loc 1 297 3 discriminator 3
  663. 351 0234 40F22911 movw r1, #297
  664. 352 0238 0748 ldr r0, .L34+4
  665. 353 023a FFF7FEFF bl assert_failed
  666. 354 .L16:
  667. 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  668. 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  669. 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_RESET)
  670. 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  671. 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset callbacks to legacy functions */
  672. 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback; /* Legacy weak RxFifo0M
  673. 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback; /* Legacy weak RxFifo0F
  674. 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback; /* Legacy weak RxFifo1M
  675. 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback; /* Legacy weak RxFifo1F
  676. 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback; /* Legacy weak TxMailbo
  677. 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback; /* Legacy weak TxMailbo
  678. 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback; /* Legacy weak TxMailbo
  679. 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback; /* Legacy weak TxMailbo
  680. 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback; /* Legacy weak TxMailbo
  681. 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback; /* Legacy weak TxMailbo
  682. 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback = HAL_CAN_SleepCallback; /* Legacy weak SleepCal
  683. 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback; /* Legacy weak WakeUpFr
  684. 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback = HAL_CAN_ErrorCallback; /* Legacy weak ErrorCal
  685. 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  686. 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->MspInitCallback == NULL)
  687. 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  688. 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit; /* Legacy weak MspInit */
  689. 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  690. 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  691. 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Init the low level hardware: CLOCK, NVIC */
  692. 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback(hcan);
  693. 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  694. 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  695. 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  696. 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_RESET)
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 13
  698. 355 .loc 1 327 11 is_stmt 1
  699. 356 023e 7B68 ldr r3, [r7, #4]
  700. 357 0240 93F82030 ldrb r3, [r3, #32]
  701. 358 0244 DBB2 uxtb r3, r3
  702. 359 .loc 1 327 6
  703. 360 0246 002B cmp r3, #0
  704. 361 0248 08D1 bne .L17
  705. 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  706. 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Init the low level hardware: CLOCK, NVIC */
  707. 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_MspInit(hcan);
  708. 362 .loc 1 330 5
  709. 363 024a 7868 ldr r0, [r7, #4]
  710. 364 024c FFF7FEFF bl HAL_CAN_MspInit
  711. 365 0250 04E0 b .L35
  712. 366 .L36:
  713. 367 0252 00BF .align 2
  714. 368 .L34:
  715. 369 0254 00640040 .word 1073767424
  716. 370 0258 00000000 .word .LC0
  717. 371 .L35:
  718. 372 .L17:
  719. 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  720. 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  721. 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  722. 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request initialisation */
  723. 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
  724. 373 .loc 1 335 3
  725. 374 025c 7B68 ldr r3, [r7, #4]
  726. 375 025e 1B68 ldr r3, [r3]
  727. 376 0260 1A68 ldr r2, [r3]
  728. 377 0262 7B68 ldr r3, [r7, #4]
  729. 378 0264 1B68 ldr r3, [r3]
  730. 379 0266 42F00102 orr r2, r2, #1
  731. 380 026a 1A60 str r2, [r3]
  732. 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  733. 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
  734. 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
  735. 381 .loc 1 338 15
  736. 382 026c FFF7FEFF bl HAL_GetTick
  737. 383 0270 F860 str r0, [r7, #12]
  738. 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  739. 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait initialisation acknowledge */
  740. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
  741. 384 .loc 1 341 9
  742. 385 0272 12E0 b .L18
  743. 386 .L19:
  744. 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  745. 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
  746. 387 .loc 1 343 10
  747. 388 0274 FFF7FEFF bl HAL_GetTick
  748. 389 0278 0246 mov r2, r0
  749. 390 .loc 1 343 24
  750. 391 027a FB68 ldr r3, [r7, #12]
  751. 392 027c D31A subs r3, r2, r3
  752. 393 .loc 1 343 8
  753. 394 027e 0A2B cmp r3, #10
  754. 395 0280 0BD9 bls .L18
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 14
  756. 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  757. 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  758. 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  759. 396 .loc 1 346 23
  760. 397 0282 7B68 ldr r3, [r7, #4]
  761. 398 0284 5B6A ldr r3, [r3, #36]
  762. 399 0286 43F40032 orr r2, r3, #131072
  763. 400 028a 7B68 ldr r3, [r7, #4]
  764. 401 028c 5A62 str r2, [r3, #36]
  765. 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  766. 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
  767. 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
  768. 402 .loc 1 349 19
  769. 403 028e 7B68 ldr r3, [r7, #4]
  770. 404 0290 0522 movs r2, #5
  771. 405 0292 83F82020 strb r2, [r3, #32]
  772. 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  773. 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  774. 406 .loc 1 351 14
  775. 407 0296 0123 movs r3, #1
  776. 408 0298 C5E0 b .L3
  777. 409 .L18:
  778. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  779. 410 .loc 1 341 15
  780. 411 029a 7B68 ldr r3, [r7, #4]
  781. 412 029c 1B68 ldr r3, [r3]
  782. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  783. 413 .loc 1 341 25
  784. 414 029e 5B68 ldr r3, [r3, #4]
  785. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  786. 415 .loc 1 341 31
  787. 416 02a0 03F00103 and r3, r3, #1
  788. 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  789. 417 .loc 1 341 9
  790. 418 02a4 002B cmp r3, #0
  791. 419 02a6 E5D0 beq .L19
  792. 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  793. 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  794. 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  795. 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exit from sleep mode */
  796. 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
  797. 420 .loc 1 356 3
  798. 421 02a8 7B68 ldr r3, [r7, #4]
  799. 422 02aa 1B68 ldr r3, [r3]
  800. 423 02ac 1A68 ldr r2, [r3]
  801. 424 02ae 7B68 ldr r3, [r7, #4]
  802. 425 02b0 1B68 ldr r3, [r3]
  803. 426 02b2 22F00202 bic r2, r2, #2
  804. 427 02b6 1A60 str r2, [r3]
  805. 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  806. 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
  807. 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
  808. 428 .loc 1 359 15
  809. 429 02b8 FFF7FEFF bl HAL_GetTick
  810. 430 02bc F860 str r0, [r7, #12]
  811. 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  812. 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Sleep mode leave acknowledge */
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 15
  814. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
  815. 431 .loc 1 362 9
  816. 432 02be 12E0 b .L20
  817. 433 .L21:
  818. 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  819. 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
  820. 434 .loc 1 364 10
  821. 435 02c0 FFF7FEFF bl HAL_GetTick
  822. 436 02c4 0246 mov r2, r0
  823. 437 .loc 1 364 24
  824. 438 02c6 FB68 ldr r3, [r7, #12]
  825. 439 02c8 D31A subs r3, r2, r3
  826. 440 .loc 1 364 8
  827. 441 02ca 0A2B cmp r3, #10
  828. 442 02cc 0BD9 bls .L20
  829. 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  830. 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  831. 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  832. 443 .loc 1 367 23
  833. 444 02ce 7B68 ldr r3, [r7, #4]
  834. 445 02d0 5B6A ldr r3, [r3, #36]
  835. 446 02d2 43F40032 orr r2, r3, #131072
  836. 447 02d6 7B68 ldr r3, [r7, #4]
  837. 448 02d8 5A62 str r2, [r3, #36]
  838. 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  839. 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
  840. 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
  841. 449 .loc 1 370 19
  842. 450 02da 7B68 ldr r3, [r7, #4]
  843. 451 02dc 0522 movs r2, #5
  844. 452 02de 83F82020 strb r2, [r3, #32]
  845. 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  846. 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  847. 453 .loc 1 372 14
  848. 454 02e2 0123 movs r3, #1
  849. 455 02e4 9FE0 b .L3
  850. 456 .L20:
  851. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  852. 457 .loc 1 362 15
  853. 458 02e6 7B68 ldr r3, [r7, #4]
  854. 459 02e8 1B68 ldr r3, [r3]
  855. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  856. 460 .loc 1 362 25
  857. 461 02ea 5B68 ldr r3, [r3, #4]
  858. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  859. 462 .loc 1 362 31
  860. 463 02ec 03F00203 and r3, r3, #2
  861. 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  862. 464 .loc 1 362 9
  863. 465 02f0 002B cmp r3, #0
  864. 466 02f2 E5D1 bne .L21
  865. 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  866. 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  867. 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  868. 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the time triggered communication mode */
  869. 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.TimeTriggeredMode == ENABLE)
  870. 467 .loc 1 377 17
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 16
  872. 468 02f4 7B68 ldr r3, [r7, #4]
  873. 469 02f6 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2
  874. 470 .loc 1 377 6
  875. 471 02f8 012B cmp r3, #1
  876. 472 02fa 08D1 bne .L22
  877. 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  878. 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
  879. 473 .loc 1 379 5
  880. 474 02fc 7B68 ldr r3, [r7, #4]
  881. 475 02fe 1B68 ldr r3, [r3]
  882. 476 0300 1A68 ldr r2, [r3]
  883. 477 0302 7B68 ldr r3, [r7, #4]
  884. 478 0304 1B68 ldr r3, [r3]
  885. 479 0306 42F08002 orr r2, r2, #128
  886. 480 030a 1A60 str r2, [r3]
  887. 481 030c 07E0 b .L23
  888. 482 .L22:
  889. 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  890. 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  891. 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  892. 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
  893. 483 .loc 1 383 5
  894. 484 030e 7B68 ldr r3, [r7, #4]
  895. 485 0310 1B68 ldr r3, [r3]
  896. 486 0312 1A68 ldr r2, [r3]
  897. 487 0314 7B68 ldr r3, [r7, #4]
  898. 488 0316 1B68 ldr r3, [r3]
  899. 489 0318 22F08002 bic r2, r2, #128
  900. 490 031c 1A60 str r2, [r3]
  901. 491 .L23:
  902. 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  903. 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  904. 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the automatic bus-off management */
  905. 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.AutoBusOff == ENABLE)
  906. 492 .loc 1 387 17
  907. 493 031e 7B68 ldr r3, [r7, #4]
  908. 494 0320 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2
  909. 495 .loc 1 387 6
  910. 496 0322 012B cmp r3, #1
  911. 497 0324 08D1 bne .L24
  912. 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  913. 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
  914. 498 .loc 1 389 5
  915. 499 0326 7B68 ldr r3, [r7, #4]
  916. 500 0328 1B68 ldr r3, [r3]
  917. 501 032a 1A68 ldr r2, [r3]
  918. 502 032c 7B68 ldr r3, [r7, #4]
  919. 503 032e 1B68 ldr r3, [r3]
  920. 504 0330 42F04002 orr r2, r2, #64
  921. 505 0334 1A60 str r2, [r3]
  922. 506 0336 07E0 b .L25
  923. 507 .L24:
  924. 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  925. 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  926. 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  927. 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
  928. 508 .loc 1 393 5
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 17
  930. 509 0338 7B68 ldr r3, [r7, #4]
  931. 510 033a 1B68 ldr r3, [r3]
  932. 511 033c 1A68 ldr r2, [r3]
  933. 512 033e 7B68 ldr r3, [r7, #4]
  934. 513 0340 1B68 ldr r3, [r3]
  935. 514 0342 22F04002 bic r2, r2, #64
  936. 515 0346 1A60 str r2, [r3]
  937. 516 .L25:
  938. 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  939. 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  940. 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the automatic wake-up mode */
  941. 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.AutoWakeUp == ENABLE)
  942. 517 .loc 1 397 17
  943. 518 0348 7B68 ldr r3, [r7, #4]
  944. 519 034a 9B7E ldrb r3, [r3, #26] @ zero_extendqisi2
  945. 520 .loc 1 397 6
  946. 521 034c 012B cmp r3, #1
  947. 522 034e 08D1 bne .L26
  948. 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  949. 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
  950. 523 .loc 1 399 5
  951. 524 0350 7B68 ldr r3, [r7, #4]
  952. 525 0352 1B68 ldr r3, [r3]
  953. 526 0354 1A68 ldr r2, [r3]
  954. 527 0356 7B68 ldr r3, [r7, #4]
  955. 528 0358 1B68 ldr r3, [r3]
  956. 529 035a 42F02002 orr r2, r2, #32
  957. 530 035e 1A60 str r2, [r3]
  958. 531 0360 07E0 b .L27
  959. 532 .L26:
  960. 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  961. 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  962. 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  963. 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
  964. 533 .loc 1 403 5
  965. 534 0362 7B68 ldr r3, [r7, #4]
  966. 535 0364 1B68 ldr r3, [r3]
  967. 536 0366 1A68 ldr r2, [r3]
  968. 537 0368 7B68 ldr r3, [r7, #4]
  969. 538 036a 1B68 ldr r3, [r3]
  970. 539 036c 22F02002 bic r2, r2, #32
  971. 540 0370 1A60 str r2, [r3]
  972. 541 .L27:
  973. 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  974. 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  975. 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the automatic retransmission */
  976. 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.AutoRetransmission == ENABLE)
  977. 542 .loc 1 407 17
  978. 543 0372 7B68 ldr r3, [r7, #4]
  979. 544 0374 DB7E ldrb r3, [r3, #27] @ zero_extendqisi2
  980. 545 .loc 1 407 6
  981. 546 0376 012B cmp r3, #1
  982. 547 0378 08D1 bne .L28
  983. 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  984. 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_NART);
  985. 548 .loc 1 409 5
  986. 549 037a 7B68 ldr r3, [r7, #4]
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 18
  988. 550 037c 1B68 ldr r3, [r3]
  989. 551 037e 1A68 ldr r2, [r3]
  990. 552 0380 7B68 ldr r3, [r7, #4]
  991. 553 0382 1B68 ldr r3, [r3]
  992. 554 0384 22F01002 bic r2, r2, #16
  993. 555 0388 1A60 str r2, [r3]
  994. 556 038a 07E0 b .L29
  995. 557 .L28:
  996. 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  997. 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  998. 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  999. 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_NART);
  1000. 558 .loc 1 413 5
  1001. 559 038c 7B68 ldr r3, [r7, #4]
  1002. 560 038e 1B68 ldr r3, [r3]
  1003. 561 0390 1A68 ldr r2, [r3]
  1004. 562 0392 7B68 ldr r3, [r7, #4]
  1005. 563 0394 1B68 ldr r3, [r3]
  1006. 564 0396 42F01002 orr r2, r2, #16
  1007. 565 039a 1A60 str r2, [r3]
  1008. 566 .L29:
  1009. 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1010. 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1011. 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the receive FIFO locked mode */
  1012. 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.ReceiveFifoLocked == ENABLE)
  1013. 567 .loc 1 417 17
  1014. 568 039c 7B68 ldr r3, [r7, #4]
  1015. 569 039e 1B7F ldrb r3, [r3, #28] @ zero_extendqisi2
  1016. 570 .loc 1 417 6
  1017. 571 03a0 012B cmp r3, #1
  1018. 572 03a2 08D1 bne .L30
  1019. 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1020. 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
  1021. 573 .loc 1 419 5
  1022. 574 03a4 7B68 ldr r3, [r7, #4]
  1023. 575 03a6 1B68 ldr r3, [r3]
  1024. 576 03a8 1A68 ldr r2, [r3]
  1025. 577 03aa 7B68 ldr r3, [r7, #4]
  1026. 578 03ac 1B68 ldr r3, [r3]
  1027. 579 03ae 42F00802 orr r2, r2, #8
  1028. 580 03b2 1A60 str r2, [r3]
  1029. 581 03b4 07E0 b .L31
  1030. 582 .L30:
  1031. 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1032. 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  1033. 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1034. 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
  1035. 583 .loc 1 423 5
  1036. 584 03b6 7B68 ldr r3, [r7, #4]
  1037. 585 03b8 1B68 ldr r3, [r3]
  1038. 586 03ba 1A68 ldr r2, [r3]
  1039. 587 03bc 7B68 ldr r3, [r7, #4]
  1040. 588 03be 1B68 ldr r3, [r3]
  1041. 589 03c0 22F00802 bic r2, r2, #8
  1042. 590 03c4 1A60 str r2, [r3]
  1043. 591 .L31:
  1044. 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 19
  1046. 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1047. 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the transmit FIFO priority */
  1048. 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.TransmitFifoPriority == ENABLE)
  1049. 592 .loc 1 427 17
  1050. 593 03c6 7B68 ldr r3, [r7, #4]
  1051. 594 03c8 5B7F ldrb r3, [r3, #29] @ zero_extendqisi2
  1052. 595 .loc 1 427 6
  1053. 596 03ca 012B cmp r3, #1
  1054. 597 03cc 08D1 bne .L32
  1055. 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1056. 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
  1057. 598 .loc 1 429 5
  1058. 599 03ce 7B68 ldr r3, [r7, #4]
  1059. 600 03d0 1B68 ldr r3, [r3]
  1060. 601 03d2 1A68 ldr r2, [r3]
  1061. 602 03d4 7B68 ldr r3, [r7, #4]
  1062. 603 03d6 1B68 ldr r3, [r3]
  1063. 604 03d8 42F00402 orr r2, r2, #4
  1064. 605 03dc 1A60 str r2, [r3]
  1065. 606 03de 07E0 b .L33
  1066. 607 .L32:
  1067. 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1068. 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  1069. 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1070. 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
  1071. 608 .loc 1 433 5
  1072. 609 03e0 7B68 ldr r3, [r7, #4]
  1073. 610 03e2 1B68 ldr r3, [r3]
  1074. 611 03e4 1A68 ldr r2, [r3]
  1075. 612 03e6 7B68 ldr r3, [r7, #4]
  1076. 613 03e8 1B68 ldr r3, [r3]
  1077. 614 03ea 22F00402 bic r2, r2, #4
  1078. 615 03ee 1A60 str r2, [r3]
  1079. 616 .L33:
  1080. 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1081. 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1082. 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the bit timing register */
  1083. 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** WRITE_REG(hcan->Instance->BTR, (uint32_t)(hcan->Init.Mode |
  1084. 617 .loc 1 437 3
  1085. 618 03f0 7B68 ldr r3, [r7, #4]
  1086. 619 03f2 9A68 ldr r2, [r3, #8]
  1087. 620 03f4 7B68 ldr r3, [r7, #4]
  1088. 621 03f6 DB68 ldr r3, [r3, #12]
  1089. 622 03f8 1A43 orrs r2, r2, r3
  1090. 623 03fa 7B68 ldr r3, [r7, #4]
  1091. 624 03fc 1B69 ldr r3, [r3, #16]
  1092. 625 03fe 1A43 orrs r2, r2, r3
  1093. 626 0400 7B68 ldr r3, [r7, #4]
  1094. 627 0402 5B69 ldr r3, [r3, #20]
  1095. 628 0404 42EA0301 orr r1, r2, r3
  1096. 629 0408 7B68 ldr r3, [r7, #4]
  1097. 630 040a 5B68 ldr r3, [r3, #4]
  1098. 631 040c 5A1E subs r2, r3, #1
  1099. 632 040e 7B68 ldr r3, [r7, #4]
  1100. 633 0410 1B68 ldr r3, [r3]
  1101. 634 0412 0A43 orrs r2, r2, r1
  1102. 635 0414 DA61 str r2, [r3, #28]
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 20
  1104. 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.SyncJumpWidth |
  1105. 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.TimeSeg1 |
  1106. 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.TimeSeg2 |
  1107. 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (hcan->Init.Prescaler - 1U)));
  1108. 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1109. 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Initialize the error code */
  1110. 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
  1111. 636 .loc 1 444 19
  1112. 637 0416 7B68 ldr r3, [r7, #4]
  1113. 638 0418 0022 movs r2, #0
  1114. 639 041a 5A62 str r2, [r3, #36]
  1115. 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1116. 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Initialize the CAN state */
  1117. 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_READY;
  1118. 640 .loc 1 447 15
  1119. 641 041c 7B68 ldr r3, [r7, #4]
  1120. 642 041e 0122 movs r2, #1
  1121. 643 0420 83F82020 strb r2, [r3, #32]
  1122. 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1123. 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  1124. 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  1125. 644 .loc 1 450 10
  1126. 645 0424 0023 movs r3, #0
  1127. 646 .L3:
  1128. 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1129. 647 .loc 1 451 1
  1130. 648 0426 1846 mov r0, r3
  1131. 649 0428 1037 adds r7, r7, #16
  1132. 650 .LCFI3:
  1133. 651 .cfi_def_cfa_offset 8
  1134. 652 042a BD46 mov sp, r7
  1135. 653 .LCFI4:
  1136. 654 .cfi_def_cfa_register 13
  1137. 655 @ sp needed
  1138. 656 042c 80BD pop {r7, pc}
  1139. 657 .cfi_endproc
  1140. 658 .LFE130:
  1141. 660 042e 00BF .section .text.HAL_CAN_DeInit,"ax",%progbits
  1142. 661 .align 1
  1143. 662 .global HAL_CAN_DeInit
  1144. 663 .syntax unified
  1145. 664 .thumb
  1146. 665 .thumb_func
  1147. 667 HAL_CAN_DeInit:
  1148. 668 .LFB131:
  1149. 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1150. 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1151. 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Deinitializes the CAN peripheral registers to their default
  1152. 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * reset values.
  1153. 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1154. 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  1155. 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  1156. 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1157. 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeInit(CAN_HandleTypeDef *hcan)
  1158. 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1159. 669 .loc 1 461 1
  1160. 670 .cfi_startproc
  1161. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 21
  1162. 671 @ args = 0, pretend = 0, frame = 8
  1163. 672 @ frame_needed = 1, uses_anonymous_args = 0
  1164. 673 0000 80B5 push {r7, lr}
  1165. 674 .LCFI5:
  1166. 675 .cfi_def_cfa_offset 8
  1167. 676 .cfi_offset 7, -8
  1168. 677 .cfi_offset 14, -4
  1169. 678 0002 82B0 sub sp, sp, #8
  1170. 679 .LCFI6:
  1171. 680 .cfi_def_cfa_offset 16
  1172. 681 0004 00AF add r7, sp, #0
  1173. 682 .LCFI7:
  1174. 683 .cfi_def_cfa_register 7
  1175. 684 0006 7860 str r0, [r7, #4]
  1176. 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check CAN handle */
  1177. 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan == NULL)
  1178. 685 .loc 1 463 6
  1179. 686 0008 7B68 ldr r3, [r7, #4]
  1180. 687 000a 002B cmp r3, #0
  1181. 688 000c 01D1 bne .L38
  1182. 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1183. 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  1184. 689 .loc 1 465 12
  1185. 690 000e 0123 movs r3, #1
  1186. 691 0010 1FE0 b .L39
  1187. 692 .L38:
  1188. 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1189. 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1190. 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
  1191. 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
  1192. 693 .loc 1 469 3
  1193. 694 0012 7B68 ldr r3, [r7, #4]
  1194. 695 0014 1B68 ldr r3, [r3]
  1195. 696 0016 114A ldr r2, .L41
  1196. 697 0018 9342 cmp r3, r2
  1197. 698 001a 04D0 beq .L40
  1198. 699 .loc 1 469 3 is_stmt 0 discriminator 1
  1199. 700 001c 40F2D511 movw r1, #469
  1200. 701 0020 0F48 ldr r0, .L41+4
  1201. 702 0022 FFF7FEFF bl assert_failed
  1202. 703 .L40:
  1203. 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1204. 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Stop the CAN module */
  1205. 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (void)HAL_CAN_Stop(hcan);
  1206. 704 .loc 1 472 9 is_stmt 1
  1207. 705 0026 7868 ldr r0, [r7, #4]
  1208. 706 0028 FFF7FEFF bl HAL_CAN_Stop
  1209. 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1210. 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  1211. 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->MspDeInitCallback == NULL)
  1212. 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1213. 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit; /* Legacy weak MspDeInit */
  1214. 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1215. 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1216. 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* DeInit the low level hardware: CLOCK, NVIC */
  1217. 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback(hcan);
  1218. 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1219. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 22
  1220. 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  1221. 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* DeInit the low level hardware: CLOCK, NVIC */
  1222. 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_MspDeInit(hcan);
  1223. 707 .loc 1 485 3
  1224. 708 002c 7868 ldr r0, [r7, #4]
  1225. 709 002e FFF7FEFF bl HAL_CAN_MspDeInit
  1226. 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  1227. 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1228. 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset the CAN peripheral */
  1229. 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_RESET);
  1230. 710 .loc 1 489 3
  1231. 711 0032 7B68 ldr r3, [r7, #4]
  1232. 712 0034 1B68 ldr r3, [r3]
  1233. 713 0036 1A68 ldr r2, [r3]
  1234. 714 0038 7B68 ldr r3, [r7, #4]
  1235. 715 003a 1B68 ldr r3, [r3]
  1236. 716 003c 42F40042 orr r2, r2, #32768
  1237. 717 0040 1A60 str r2, [r3]
  1238. 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1239. 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset the CAN ErrorCode */
  1240. 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
  1241. 718 .loc 1 492 19
  1242. 719 0042 7B68 ldr r3, [r7, #4]
  1243. 720 0044 0022 movs r2, #0
  1244. 721 0046 5A62 str r2, [r3, #36]
  1245. 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1246. 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
  1247. 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_RESET;
  1248. 722 .loc 1 495 15
  1249. 723 0048 7B68 ldr r3, [r7, #4]
  1250. 724 004a 0022 movs r2, #0
  1251. 725 004c 83F82020 strb r2, [r3, #32]
  1252. 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1253. 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  1254. 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  1255. 726 .loc 1 498 10
  1256. 727 0050 0023 movs r3, #0
  1257. 728 .L39:
  1258. 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1259. 729 .loc 1 499 1
  1260. 730 0052 1846 mov r0, r3
  1261. 731 0054 0837 adds r7, r7, #8
  1262. 732 .LCFI8:
  1263. 733 .cfi_def_cfa_offset 8
  1264. 734 0056 BD46 mov sp, r7
  1265. 735 .LCFI9:
  1266. 736 .cfi_def_cfa_register 13
  1267. 737 @ sp needed
  1268. 738 0058 80BD pop {r7, pc}
  1269. 739 .L42:
  1270. 740 005a 00BF .align 2
  1271. 741 .L41:
  1272. 742 005c 00640040 .word 1073767424
  1273. 743 0060 00000000 .word .LC0
  1274. 744 .cfi_endproc
  1275. 745 .LFE131:
  1276. 747 .section .text.HAL_CAN_MspInit,"ax",%progbits
  1277. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 23
  1278. 748 .align 1
  1279. 749 .weak HAL_CAN_MspInit
  1280. 750 .syntax unified
  1281. 751 .thumb
  1282. 752 .thumb_func
  1283. 754 HAL_CAN_MspInit:
  1284. 755 .LFB132:
  1285. 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1286. 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1287. 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Initializes the CAN MSP.
  1288. 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1289. 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  1290. 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  1291. 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1292. 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_MspInit(CAN_HandleTypeDef *hcan)
  1293. 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1294. 756 .loc 1 508 1
  1295. 757 .cfi_startproc
  1296. 758 @ args = 0, pretend = 0, frame = 8
  1297. 759 @ frame_needed = 1, uses_anonymous_args = 0
  1298. 760 @ link register save eliminated.
  1299. 761 0000 80B4 push {r7}
  1300. 762 .LCFI10:
  1301. 763 .cfi_def_cfa_offset 4
  1302. 764 .cfi_offset 7, -4
  1303. 765 0002 83B0 sub sp, sp, #12
  1304. 766 .LCFI11:
  1305. 767 .cfi_def_cfa_offset 16
  1306. 768 0004 00AF add r7, sp, #0
  1307. 769 .LCFI12:
  1308. 770 .cfi_def_cfa_register 7
  1309. 771 0006 7860 str r0, [r7, #4]
  1310. 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  1311. 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  1312. 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1313. 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  1314. 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_MspInit could be implemented in the user file
  1315. 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1316. 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1317. 772 .loc 1 515 1
  1318. 773 0008 00BF nop
  1319. 774 000a 0C37 adds r7, r7, #12
  1320. 775 .LCFI13:
  1321. 776 .cfi_def_cfa_offset 4
  1322. 777 000c BD46 mov sp, r7
  1323. 778 .LCFI14:
  1324. 779 .cfi_def_cfa_register 13
  1325. 780 @ sp needed
  1326. 781 000e 5DF8047B ldr r7, [sp], #4
  1327. 782 .LCFI15:
  1328. 783 .cfi_restore 7
  1329. 784 .cfi_def_cfa_offset 0
  1330. 785 0012 7047 bx lr
  1331. 786 .cfi_endproc
  1332. 787 .LFE132:
  1333. 789 .section .text.HAL_CAN_MspDeInit,"ax",%progbits
  1334. 790 .align 1
  1335. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 24
  1336. 791 .weak HAL_CAN_MspDeInit
  1337. 792 .syntax unified
  1338. 793 .thumb
  1339. 794 .thumb_func
  1340. 796 HAL_CAN_MspDeInit:
  1341. 797 .LFB133:
  1342. 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1343. 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1344. 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief DeInitializes the CAN MSP.
  1345. 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1346. 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  1347. 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  1348. 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1349. 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_MspDeInit(CAN_HandleTypeDef *hcan)
  1350. 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1351. 798 .loc 1 524 1
  1352. 799 .cfi_startproc
  1353. 800 @ args = 0, pretend = 0, frame = 8
  1354. 801 @ frame_needed = 1, uses_anonymous_args = 0
  1355. 802 @ link register save eliminated.
  1356. 803 0000 80B4 push {r7}
  1357. 804 .LCFI16:
  1358. 805 .cfi_def_cfa_offset 4
  1359. 806 .cfi_offset 7, -4
  1360. 807 0002 83B0 sub sp, sp, #12
  1361. 808 .LCFI17:
  1362. 809 .cfi_def_cfa_offset 16
  1363. 810 0004 00AF add r7, sp, #0
  1364. 811 .LCFI18:
  1365. 812 .cfi_def_cfa_register 7
  1366. 813 0006 7860 str r0, [r7, #4]
  1367. 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  1368. 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  1369. 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1370. 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  1371. 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_MspDeInit could be implemented in the user file
  1372. 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1373. 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1374. 814 .loc 1 531 1
  1375. 815 0008 00BF nop
  1376. 816 000a 0C37 adds r7, r7, #12
  1377. 817 .LCFI19:
  1378. 818 .cfi_def_cfa_offset 4
  1379. 819 000c BD46 mov sp, r7
  1380. 820 .LCFI20:
  1381. 821 .cfi_def_cfa_register 13
  1382. 822 @ sp needed
  1383. 823 000e 5DF8047B ldr r7, [sp], #4
  1384. 824 .LCFI21:
  1385. 825 .cfi_restore 7
  1386. 826 .cfi_def_cfa_offset 0
  1387. 827 0012 7047 bx lr
  1388. 828 .cfi_endproc
  1389. 829 .LFE133:
  1390. 831 .section .text.HAL_CAN_ConfigFilter,"ax",%progbits
  1391. 832 .align 1
  1392. 833 .global HAL_CAN_ConfigFilter
  1393. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 25
  1394. 834 .syntax unified
  1395. 835 .thumb
  1396. 836 .thumb_func
  1397. 838 HAL_CAN_ConfigFilter:
  1398. 839 .LFB134:
  1399. 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1400. 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  1401. 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1402. 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Register a CAN CallBack.
  1403. 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * To be used instead of the weak predefined callback
  1404. 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1405. 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for CAN module
  1406. 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param CallbackID ID of the callback to be registered
  1407. 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be one of the following values:
  1408. 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID Tx Mailbox 0 Complete callback ID
  1409. 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID Tx Mailbox 1 Complete callback ID
  1410. 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID Tx Mailbox 2 Complete callback ID
  1411. 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_ABORT_CB_ID Tx Mailbox 0 Abort callback ID
  1412. 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_ABORT_CB_ID Tx Mailbox 1 Abort callback ID
  1413. 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_ABORT_CB_ID Tx Mailbox 2 Abort callback ID
  1414. 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID Rx Fifo 0 message pending callback ID
  1415. 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_FULL_CB_ID Rx Fifo 0 full callback ID
  1416. 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID Rx Fifo 1 message pending callback ID
  1417. 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_FULL_CB_ID Rx Fifo 1 full callback ID
  1418. 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
  1419. 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID Wake Up from Rx message callback ID
  1420. 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
  1421. 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
  1422. 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
  1423. 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pCallback pointer to the Callback function
  1424. 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  1425. 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1426. 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Callb
  1427. 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** void (* pCallback)(CAN_HandleTypeDef *_hcan))
  1428. 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1429. 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
  1430. 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1431. 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pCallback == NULL)
  1432. 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1433. 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1434. 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1435. 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1436. 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  1437. 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1438. 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1439. 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
  1440. 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1441. 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
  1442. 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1443. 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
  1444. 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = pCallback;
  1445. 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1446. 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1447. 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
  1448. 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = pCallback;
  1449. 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1450. 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1451. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 26
  1452. 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
  1453. 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = pCallback;
  1454. 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1455. 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1456. 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
  1457. 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback = pCallback;
  1458. 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1459. 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1460. 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
  1461. 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback = pCallback;
  1462. 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1463. 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1464. 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
  1465. 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback = pCallback;
  1466. 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1467. 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1468. 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
  1469. 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = pCallback;
  1470. 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1471. 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1472. 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_FULL_CB_ID :
  1473. 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback = pCallback;
  1474. 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1475. 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1476. 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
  1477. 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = pCallback;
  1478. 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1479. 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1480. 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_FULL_CB_ID :
  1481. 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback = pCallback;
  1482. 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1483. 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1484. 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_SLEEP_CB_ID :
  1485. 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback = pCallback;
  1486. 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1487. 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1488. 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
  1489. 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = pCallback;
  1490. 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1491. 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1492. 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_ERROR_CB_ID :
  1493. 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback = pCallback;
  1494. 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1495. 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1496. 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
  1497. 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = pCallback;
  1498. 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1499. 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1500. 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
  1501. 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = pCallback;
  1502. 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1503. 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1504. 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
  1505. 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1506. 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1507. 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1508. 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
  1509. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 27
  1510. 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  1511. 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1512. 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1513. 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1514. 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if (hcan->State == HAL_CAN_STATE_RESET)
  1515. 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1516. 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
  1517. 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1518. 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
  1519. 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = pCallback;
  1520. 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1521. 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1522. 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
  1523. 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = pCallback;
  1524. 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1525. 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1526. 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
  1527. 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1528. 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1529. 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1530. 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
  1531. 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  1532. 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1533. 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1534. 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1535. 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  1536. 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1537. 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1538. 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1539. 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1540. 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
  1541. 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  1542. 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1543. 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1544. 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
  1545. 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1546. 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1547. 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1548. 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Unregister a CAN CallBack.
  1549. 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * CAN callback is redirected to the weak predefined callback
  1550. 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1551. 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for CAN module
  1552. 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param CallbackID ID of the callback to be unregistered
  1553. 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be one of the following values:
  1554. 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID Tx Mailbox 0 Complete callback ID
  1555. 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID Tx Mailbox 1 Complete callback ID
  1556. 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID Tx Mailbox 2 Complete callback ID
  1557. 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_ABORT_CB_ID Tx Mailbox 0 Abort callback ID
  1558. 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_ABORT_CB_ID Tx Mailbox 1 Abort callback ID
  1559. 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_ABORT_CB_ID Tx Mailbox 2 Abort callback ID
  1560. 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID Rx Fifo 0 message pending callback ID
  1561. 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_FULL_CB_ID Rx Fifo 0 full callback ID
  1562. 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID Rx Fifo 1 message pending callback ID
  1563. 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_FULL_CB_ID Rx Fifo 1 full callback ID
  1564. 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
  1565. 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID Wake Up from Rx message callback ID
  1566. 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
  1567. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 28
  1568. 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
  1569. 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
  1570. 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  1571. 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1572. 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_UnRegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Cal
  1573. 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1574. 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
  1575. 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1576. 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
  1577. 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1578. 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
  1579. 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1580. 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
  1581. 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback;
  1582. 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1583. 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1584. 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
  1585. 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback;
  1586. 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1587. 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1588. 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
  1589. 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback;
  1590. 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1591. 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1592. 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
  1593. 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback;
  1594. 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1595. 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1596. 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
  1597. 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback;
  1598. 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1599. 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1600. 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
  1601. 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback;
  1602. 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1603. 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1604. 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
  1605. 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback;
  1606. 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1607. 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1608. 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_FULL_CB_ID :
  1609. 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback;
  1610. 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1611. 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1612. 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
  1613. 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback;
  1614. 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1615. 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1616. 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_FULL_CB_ID :
  1617. 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback;
  1618. 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1619. 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1620. 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_SLEEP_CB_ID :
  1621. 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback = HAL_CAN_SleepCallback;
  1622. 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1623. 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1624. 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
  1625. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 29
  1626. 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback;
  1627. 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1628. 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1629. 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_ERROR_CB_ID :
  1630. 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback = HAL_CAN_ErrorCallback;
  1631. 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1632. 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1633. 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
  1634. 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit;
  1635. 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1636. 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1637. 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
  1638. 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
  1639. 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1640. 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1641. 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
  1642. 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1643. 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1644. 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1645. 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
  1646. 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  1647. 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1648. 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1649. 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1650. 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if (hcan->State == HAL_CAN_STATE_RESET)
  1651. 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1652. 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
  1653. 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1654. 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
  1655. 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit;
  1656. 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1657. 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1658. 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
  1659. 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
  1660. 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1661. 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1662. 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
  1663. 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1664. 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1665. 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1666. 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
  1667. 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  1668. 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  1669. 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1670. 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1671. 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  1672. 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1673. 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
  1674. 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
  1675. 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1676. 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
  1677. 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  1678. 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1679. 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1680. 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
  1681. 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1682. 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  1683. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 30
  1684. 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1685. 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1686. 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
  1687. 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1688. 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1689. 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group2 Configuration functions
  1690. 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Configuration functions.
  1691. 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  1692. 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  1693. 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  1694. 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Configuration functions #####
  1695. 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  1696. 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
  1697. 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ConfigFilter : Configure the CAN reception filters
  1698. 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1699. 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  1700. 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  1701. 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1702. 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1703. 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  1704. 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Configures the CAN reception filter according to the specified
  1705. 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * parameters in the CAN_FilterInitStruct.
  1706. 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  1707. 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  1708. 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param sFilterConfig pointer to a CAN_FilterTypeDef structure that
  1709. 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * contains the filter configuration information.
  1710. 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  1711. 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  1712. 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ConfigFilter(CAN_HandleTypeDef *hcan, const CAN_FilterTypeDef *sFilterCon
  1713. 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1714. 840 .loc 1 841 1
  1715. 841 .cfi_startproc
  1716. 842 @ args = 0, pretend = 0, frame = 24
  1717. 843 @ frame_needed = 1, uses_anonymous_args = 0
  1718. 844 0000 80B5 push {r7, lr}
  1719. 845 .LCFI22:
  1720. 846 .cfi_def_cfa_offset 8
  1721. 847 .cfi_offset 7, -8
  1722. 848 .cfi_offset 14, -4
  1723. 849 0002 86B0 sub sp, sp, #24
  1724. 850 .LCFI23:
  1725. 851 .cfi_def_cfa_offset 32
  1726. 852 0004 00AF add r7, sp, #0
  1727. 853 .LCFI24:
  1728. 854 .cfi_def_cfa_register 7
  1729. 855 0006 7860 str r0, [r7, #4]
  1730. 856 0008 3960 str r1, [r7]
  1731. 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filternbrbitpos;
  1732. 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CAN_TypeDef *can_ip = hcan->Instance;
  1733. 857 .loc 1 843 16
  1734. 858 000a 7B68 ldr r3, [r7, #4]
  1735. 859 000c 1B68 ldr r3, [r3]
  1736. 860 000e 7B61 str r3, [r7, #20]
  1737. 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  1738. 861 .loc 1 844 24
  1739. 862 0010 7B68 ldr r3, [r7, #4]
  1740. 863 0012 93F82030 ldrb r3, [r3, #32]
  1741. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 31
  1742. 864 0016 FB74 strb r3, [r7, #19]
  1743. 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1744. 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  1745. 865 .loc 1 846 6
  1746. 866 0018 FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
  1747. 867 001a 012B cmp r3, #1
  1748. 868 001c 03D0 beq .L46
  1749. 869 .loc 1 846 38 discriminator 1
  1750. 870 001e FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
  1751. 871 0020 022B cmp r3, #2
  1752. 872 0022 40F00F81 bne .L47
  1753. 873 .L46:
  1754. 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  1755. 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1756. 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
  1757. 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdHigh));
  1758. 874 .loc 1 850 5
  1759. 875 0026 3B68 ldr r3, [r7]
  1760. 876 0028 1B68 ldr r3, [r3]
  1761. 877 002a B3F5803F cmp r3, #65536
  1762. 878 002e 04D3 bcc .L48
  1763. 879 .loc 1 850 5 is_stmt 0 discriminator 1
  1764. 880 0030 40F25231 movw r1, #850
  1765. 881 0034 8948 ldr r0, .L65
  1766. 882 0036 FFF7FEFF bl assert_failed
  1767. 883 .L48:
  1768. 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
  1769. 884 .loc 1 851 5 is_stmt 1
  1770. 885 003a 3B68 ldr r3, [r7]
  1771. 886 003c 5B68 ldr r3, [r3, #4]
  1772. 887 003e B3F5803F cmp r3, #65536
  1773. 888 0042 04D3 bcc .L49
  1774. 889 .loc 1 851 5 is_stmt 0 discriminator 1
  1775. 890 0044 40F25331 movw r1, #851
  1776. 891 0048 8448 ldr r0, .L65
  1777. 892 004a FFF7FEFF bl assert_failed
  1778. 893 .L49:
  1779. 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdHigh));
  1780. 894 .loc 1 852 5 is_stmt 1
  1781. 895 004e 3B68 ldr r3, [r7]
  1782. 896 0050 9B68 ldr r3, [r3, #8]
  1783. 897 0052 B3F5803F cmp r3, #65536
  1784. 898 0056 04D3 bcc .L50
  1785. 899 .loc 1 852 5 is_stmt 0 discriminator 1
  1786. 900 0058 4FF45571 mov r1, #852
  1787. 901 005c 7F48 ldr r0, .L65
  1788. 902 005e FFF7FEFF bl assert_failed
  1789. 903 .L50:
  1790. 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdLow));
  1791. 904 .loc 1 853 5 is_stmt 1
  1792. 905 0062 3B68 ldr r3, [r7]
  1793. 906 0064 DB68 ldr r3, [r3, #12]
  1794. 907 0066 B3F5803F cmp r3, #65536
  1795. 908 006a 04D3 bcc .L51
  1796. 909 .loc 1 853 5 is_stmt 0 discriminator 1
  1797. 910 006c 40F25531 movw r1, #853
  1798. 911 0070 7A48 ldr r0, .L65
  1799. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 32
  1800. 912 0072 FFF7FEFF bl assert_failed
  1801. 913 .L51:
  1802. 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_MODE(sFilterConfig->FilterMode));
  1803. 914 .loc 1 854 5 is_stmt 1
  1804. 915 0076 3B68 ldr r3, [r7]
  1805. 916 0078 9B69 ldr r3, [r3, #24]
  1806. 917 007a 002B cmp r3, #0
  1807. 918 007c 08D0 beq .L52
  1808. 919 .loc 1 854 5 is_stmt 0 discriminator 1
  1809. 920 007e 3B68 ldr r3, [r7]
  1810. 921 0080 9B69 ldr r3, [r3, #24]
  1811. 922 0082 012B cmp r3, #1
  1812. 923 0084 04D0 beq .L52
  1813. 924 .loc 1 854 5 discriminator 2
  1814. 925 0086 40F25631 movw r1, #854
  1815. 926 008a 7448 ldr r0, .L65
  1816. 927 008c FFF7FEFF bl assert_failed
  1817. 928 .L52:
  1818. 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_SCALE(sFilterConfig->FilterScale));
  1819. 929 .loc 1 855 5 is_stmt 1
  1820. 930 0090 3B68 ldr r3, [r7]
  1821. 931 0092 DB69 ldr r3, [r3, #28]
  1822. 932 0094 002B cmp r3, #0
  1823. 933 0096 08D0 beq .L53
  1824. 934 .loc 1 855 5 is_stmt 0 discriminator 1
  1825. 935 0098 3B68 ldr r3, [r7]
  1826. 936 009a DB69 ldr r3, [r3, #28]
  1827. 937 009c 012B cmp r3, #1
  1828. 938 009e 04D0 beq .L53
  1829. 939 .loc 1 855 5 discriminator 2
  1830. 940 00a0 40F25731 movw r1, #855
  1831. 941 00a4 6D48 ldr r0, .L65
  1832. 942 00a6 FFF7FEFF bl assert_failed
  1833. 943 .L53:
  1834. 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_FIFO(sFilterConfig->FilterFIFOAssignment));
  1835. 944 .loc 1 856 5 is_stmt 1
  1836. 945 00aa 3B68 ldr r3, [r7]
  1837. 946 00ac 1B69 ldr r3, [r3, #16]
  1838. 947 00ae 002B cmp r3, #0
  1839. 948 00b0 08D0 beq .L54
  1840. 949 .loc 1 856 5 is_stmt 0 discriminator 1
  1841. 950 00b2 3B68 ldr r3, [r7]
  1842. 951 00b4 1B69 ldr r3, [r3, #16]
  1843. 952 00b6 012B cmp r3, #1
  1844. 953 00b8 04D0 beq .L54
  1845. 954 .loc 1 856 5 discriminator 2
  1846. 955 00ba 4FF45671 mov r1, #856
  1847. 956 00be 6748 ldr r0, .L65
  1848. 957 00c0 FFF7FEFF bl assert_failed
  1849. 958 .L54:
  1850. 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ACTIVATION(sFilterConfig->FilterActivation));
  1851. 959 .loc 1 857 5 is_stmt 1
  1852. 960 00c4 3B68 ldr r3, [r7]
  1853. 961 00c6 1B6A ldr r3, [r3, #32]
  1854. 962 00c8 002B cmp r3, #0
  1855. 963 00ca 08D0 beq .L55
  1856. 964 .loc 1 857 5 is_stmt 0 discriminator 1
  1857. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 33
  1858. 965 00cc 3B68 ldr r3, [r7]
  1859. 966 00ce 1B6A ldr r3, [r3, #32]
  1860. 967 00d0 012B cmp r3, #1
  1861. 968 00d2 04D0 beq .L55
  1862. 969 .loc 1 857 5 discriminator 2
  1863. 970 00d4 40F25931 movw r1, #857
  1864. 971 00d8 6048 ldr r0, .L65
  1865. 972 00da FFF7FEFF bl assert_failed
  1866. 973 .L55:
  1867. 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1868. 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* CAN is single instance with 14 dedicated filters banks */
  1869. 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1870. 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
  1871. 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_BANK_SINGLE(sFilterConfig->FilterBank));
  1872. 974 .loc 1 862 5 is_stmt 1
  1873. 975 00de 3B68 ldr r3, [r7]
  1874. 976 00e0 5B69 ldr r3, [r3, #20]
  1875. 977 00e2 0D2B cmp r3, #13
  1876. 978 00e4 04D9 bls .L56
  1877. 979 .loc 1 862 5 is_stmt 0 discriminator 1
  1878. 980 00e6 40F25E31 movw r1, #862
  1879. 981 00ea 5C48 ldr r0, .L65
  1880. 982 00ec FFF7FEFF bl assert_failed
  1881. 983 .L56:
  1882. 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1883. 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Initialisation mode for the filter */
  1884. 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FMR, CAN_FMR_FINIT);
  1885. 984 .loc 1 865 5 is_stmt 1
  1886. 985 00f0 7B69 ldr r3, [r7, #20]
  1887. 986 00f2 D3F80032 ldr r3, [r3, #512]
  1888. 987 00f6 43F00102 orr r2, r3, #1
  1889. 988 00fa 7B69 ldr r3, [r7, #20]
  1890. 989 00fc C3F80022 str r2, [r3, #512]
  1891. 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1892. 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Convert filter number into bit position */
  1893. 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** filternbrbitpos = (uint32_t)1 << (sFilterConfig->FilterBank & 0x1FU);
  1894. 990 .loc 1 868 52
  1895. 991 0100 3B68 ldr r3, [r7]
  1896. 992 0102 5B69 ldr r3, [r3, #20]
  1897. 993 .loc 1 868 65
  1898. 994 0104 03F01F03 and r3, r3, #31
  1899. 995 .loc 1 868 21
  1900. 996 0108 0122 movs r2, #1
  1901. 997 010a 02FA03F3 lsl r3, r2, r3
  1902. 998 010e FB60 str r3, [r7, #12]
  1903. 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1904. 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter Deactivation */
  1905. 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FA1R, filternbrbitpos);
  1906. 999 .loc 1 871 5
  1907. 1000 0110 7B69 ldr r3, [r7, #20]
  1908. 1001 0112 D3F81C22 ldr r2, [r3, #540]
  1909. 1002 0116 FB68 ldr r3, [r7, #12]
  1910. 1003 0118 DB43 mvns r3, r3
  1911. 1004 011a 1A40 ands r2, r2, r3
  1912. 1005 011c 7B69 ldr r3, [r7, #20]
  1913. 1006 011e C3F81C22 str r2, [r3, #540]
  1914. 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1915. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 34
  1916. 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter Scale */
  1917. 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterScale == CAN_FILTERSCALE_16BIT)
  1918. 1007 .loc 1 874 22
  1919. 1008 0122 3B68 ldr r3, [r7]
  1920. 1009 0124 DB69 ldr r3, [r3, #28]
  1921. 1010 .loc 1 874 8
  1922. 1011 0126 002B cmp r3, #0
  1923. 1012 0128 23D1 bne .L57
  1924. 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  1925. 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 16-bit scale for the filter */
  1926. 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FS1R, filternbrbitpos);
  1927. 1013 .loc 1 877 7
  1928. 1014 012a 7B69 ldr r3, [r7, #20]
  1929. 1015 012c D3F80C22 ldr r2, [r3, #524]
  1930. 1016 0130 FB68 ldr r3, [r7, #12]
  1931. 1017 0132 DB43 mvns r3, r3
  1932. 1018 0134 1A40 ands r2, r2, r3
  1933. 1019 0136 7B69 ldr r3, [r7, #20]
  1934. 1020 0138 C3F80C22 str r2, [r3, #524]
  1935. 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1936. 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* First 16-bit identifier and First 16-bit mask */
  1937. 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Or First 16-bit identifier and Second 16-bit identifier */
  1938. 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
  1939. 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
  1940. 1021 .loc 1 882 48
  1941. 1022 013c 3B68 ldr r3, [r7]
  1942. 1023 013e DB68 ldr r3, [r3, #12]
  1943. 1024 .loc 1 882 67
  1944. 1025 0140 1904 lsls r1, r3, #16
  1945. 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  1946. 1026 .loc 1 883 47
  1947. 1027 0142 3B68 ldr r3, [r7]
  1948. 1028 0144 5B68 ldr r3, [r3, #4]
  1949. 1029 .loc 1 883 22
  1950. 1030 0146 9BB2 uxth r3, r3
  1951. 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
  1952. 1031 .loc 1 881 44
  1953. 1032 0148 3A68 ldr r2, [r7]
  1954. 1033 014a 5269 ldr r2, [r2, #20]
  1955. 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  1956. 1034 .loc 1 882 75
  1957. 1035 014c 1943 orrs r1, r1, r3
  1958. 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
  1959. 1036 .loc 1 881 62
  1960. 1037 014e 7B69 ldr r3, [r7, #20]
  1961. 1038 0150 4832 adds r2, r2, #72
  1962. 1039 0152 43F83210 str r1, [r3, r2, lsl #3]
  1963. 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1964. 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Second 16-bit identifier and Second 16-bit mask */
  1965. 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Or Third 16-bit identifier and Fourth 16-bit identifier */
  1966. 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
  1967. 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1968. 1040 .loc 1 888 48
  1969. 1041 0156 3B68 ldr r3, [r7]
  1970. 1042 0158 9B68 ldr r3, [r3, #8]
  1971. 1043 .loc 1 888 68
  1972. 1044 015a 1904 lsls r1, r3, #16
  1973. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 35
  1974. 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
  1975. 1045 .loc 1 889 47
  1976. 1046 015c 3B68 ldr r3, [r7]
  1977. 1047 015e 1B68 ldr r3, [r3]
  1978. 1048 .loc 1 889 22
  1979. 1049 0160 9AB2 uxth r2, r3
  1980. 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1981. 1050 .loc 1 887 44
  1982. 1051 0162 3B68 ldr r3, [r7]
  1983. 1052 0164 5B69 ldr r3, [r3, #20]
  1984. 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
  1985. 1053 .loc 1 888 76
  1986. 1054 0166 0A43 orrs r2, r2, r1
  1987. 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  1988. 1055 .loc 1 887 62
  1989. 1056 0168 7969 ldr r1, [r7, #20]
  1990. 1057 016a 4833 adds r3, r3, #72
  1991. 1058 016c DB00 lsls r3, r3, #3
  1992. 1059 016e 0B44 add r3, r3, r1
  1993. 1060 0170 5A60 str r2, [r3, #4]
  1994. 1061 .L57:
  1995. 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  1996. 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  1997. 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterScale == CAN_FILTERSCALE_32BIT)
  1998. 1062 .loc 1 892 22
  1999. 1063 0172 3B68 ldr r3, [r7]
  2000. 1064 0174 DB69 ldr r3, [r3, #28]
  2001. 1065 .loc 1 892 8
  2002. 1066 0176 012B cmp r3, #1
  2003. 1067 0178 22D1 bne .L58
  2004. 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2005. 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 32-bit scale for the filter */
  2006. 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FS1R, filternbrbitpos);
  2007. 1068 .loc 1 895 7
  2008. 1069 017a 7B69 ldr r3, [r7, #20]
  2009. 1070 017c D3F80C22 ldr r2, [r3, #524]
  2010. 1071 0180 FB68 ldr r3, [r7, #12]
  2011. 1072 0182 1A43 orrs r2, r2, r3
  2012. 1073 0184 7B69 ldr r3, [r7, #20]
  2013. 1074 0186 C3F80C22 str r2, [r3, #524]
  2014. 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2015. 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 32-bit identifier or First 32-bit identifier */
  2016. 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
  2017. 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
  2018. 1075 .loc 1 899 48
  2019. 1076 018a 3B68 ldr r3, [r7]
  2020. 1077 018c 1B68 ldr r3, [r3]
  2021. 1078 .loc 1 899 64
  2022. 1079 018e 1904 lsls r1, r3, #16
  2023. 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  2024. 1080 .loc 1 900 47
  2025. 1081 0190 3B68 ldr r3, [r7]
  2026. 1082 0192 5B68 ldr r3, [r3, #4]
  2027. 1083 .loc 1 900 22
  2028. 1084 0194 9BB2 uxth r3, r3
  2029. 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
  2030. 1085 .loc 1 898 44
  2031. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 36
  2032. 1086 0196 3A68 ldr r2, [r7]
  2033. 1087 0198 5269 ldr r2, [r2, #20]
  2034. 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
  2035. 1088 .loc 1 899 72
  2036. 1089 019a 1943 orrs r1, r1, r3
  2037. 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
  2038. 1090 .loc 1 898 62
  2039. 1091 019c 7B69 ldr r3, [r7, #20]
  2040. 1092 019e 4832 adds r2, r2, #72
  2041. 1093 01a0 43F83210 str r1, [r3, r2, lsl #3]
  2042. 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2043. 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 32-bit mask or Second 32-bit identifier */
  2044. 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
  2045. 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  2046. 1094 .loc 1 904 48
  2047. 1095 01a4 3B68 ldr r3, [r7]
  2048. 1096 01a6 9B68 ldr r3, [r3, #8]
  2049. 1097 .loc 1 904 68
  2050. 1098 01a8 1904 lsls r1, r3, #16
  2051. 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
  2052. 1099 .loc 1 905 47
  2053. 1100 01aa 3B68 ldr r3, [r7]
  2054. 1101 01ac DB68 ldr r3, [r3, #12]
  2055. 1102 .loc 1 905 22
  2056. 1103 01ae 9AB2 uxth r2, r3
  2057. 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  2058. 1104 .loc 1 903 44
  2059. 1105 01b0 3B68 ldr r3, [r7]
  2060. 1106 01b2 5B69 ldr r3, [r3, #20]
  2061. 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
  2062. 1107 .loc 1 904 76
  2063. 1108 01b4 0A43 orrs r2, r2, r1
  2064. 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
  2065. 1109 .loc 1 903 62
  2066. 1110 01b6 7969 ldr r1, [r7, #20]
  2067. 1111 01b8 4833 adds r3, r3, #72
  2068. 1112 01ba DB00 lsls r3, r3, #3
  2069. 1113 01bc 0B44 add r3, r3, r1
  2070. 1114 01be 5A60 str r2, [r3, #4]
  2071. 1115 .L58:
  2072. 906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2073. 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2074. 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter Mode */
  2075. 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterMode == CAN_FILTERMODE_IDMASK)
  2076. 1116 .loc 1 909 22
  2077. 1117 01c0 3B68 ldr r3, [r7]
  2078. 1118 01c2 9B69 ldr r3, [r3, #24]
  2079. 1119 .loc 1 909 8
  2080. 1120 01c4 002B cmp r3, #0
  2081. 1121 01c6 09D1 bne .L59
  2082. 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2083. 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Id/Mask mode for the filter*/
  2084. 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FM1R, filternbrbitpos);
  2085. 1122 .loc 1 912 7
  2086. 1123 01c8 7B69 ldr r3, [r7, #20]
  2087. 1124 01ca D3F80422 ldr r2, [r3, #516]
  2088. 1125 01ce FB68 ldr r3, [r7, #12]
  2089. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 37
  2090. 1126 01d0 DB43 mvns r3, r3
  2091. 1127 01d2 1A40 ands r2, r2, r3
  2092. 1128 01d4 7B69 ldr r3, [r7, #20]
  2093. 1129 01d6 C3F80422 str r2, [r3, #516]
  2094. 1130 01da 07E0 b .L60
  2095. 1131 .L59:
  2096. 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2097. 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* CAN_FilterInitStruct->CAN_FilterMode == CAN_FilterMode_IdList */
  2098. 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2099. 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Identifier list mode for the filter*/
  2100. 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FM1R, filternbrbitpos);
  2101. 1132 .loc 1 917 7
  2102. 1133 01dc 7B69 ldr r3, [r7, #20]
  2103. 1134 01de D3F80422 ldr r2, [r3, #516]
  2104. 1135 01e2 FB68 ldr r3, [r7, #12]
  2105. 1136 01e4 1A43 orrs r2, r2, r3
  2106. 1137 01e6 7B69 ldr r3, [r7, #20]
  2107. 1138 01e8 C3F80422 str r2, [r3, #516]
  2108. 1139 .L60:
  2109. 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2110. 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2111. 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter FIFO assignment */
  2112. 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterFIFOAssignment == CAN_FILTER_FIFO0)
  2113. 1140 .loc 1 921 22
  2114. 1141 01ec 3B68 ldr r3, [r7]
  2115. 1142 01ee 1B69 ldr r3, [r3, #16]
  2116. 1143 .loc 1 921 8
  2117. 1144 01f0 002B cmp r3, #0
  2118. 1145 01f2 09D1 bne .L61
  2119. 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2120. 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* FIFO 0 assignation for the filter */
  2121. 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FFA1R, filternbrbitpos);
  2122. 1146 .loc 1 924 7
  2123. 1147 01f4 7B69 ldr r3, [r7, #20]
  2124. 1148 01f6 D3F81422 ldr r2, [r3, #532]
  2125. 1149 01fa FB68 ldr r3, [r7, #12]
  2126. 1150 01fc DB43 mvns r3, r3
  2127. 1151 01fe 1A40 ands r2, r2, r3
  2128. 1152 0200 7B69 ldr r3, [r7, #20]
  2129. 1153 0202 C3F81422 str r2, [r3, #532]
  2130. 1154 0206 07E0 b .L62
  2131. 1155 .L61:
  2132. 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2133. 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  2134. 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2135. 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* FIFO 1 assignation for the filter */
  2136. 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FFA1R, filternbrbitpos);
  2137. 1156 .loc 1 929 7
  2138. 1157 0208 7B69 ldr r3, [r7, #20]
  2139. 1158 020a D3F81422 ldr r2, [r3, #532]
  2140. 1159 020e FB68 ldr r3, [r7, #12]
  2141. 1160 0210 1A43 orrs r2, r2, r3
  2142. 1161 0212 7B69 ldr r3, [r7, #20]
  2143. 1162 0214 C3F81422 str r2, [r3, #532]
  2144. 1163 .L62:
  2145. 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2146. 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2147. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 38
  2148. 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter activation */
  2149. 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterActivation == CAN_FILTER_ENABLE)
  2150. 1164 .loc 1 933 22
  2151. 1165 0218 3B68 ldr r3, [r7]
  2152. 1166 021a 1B6A ldr r3, [r3, #32]
  2153. 1167 .loc 1 933 8
  2154. 1168 021c 012B cmp r3, #1
  2155. 1169 021e 07D1 bne .L63
  2156. 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2157. 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FA1R, filternbrbitpos);
  2158. 1170 .loc 1 935 7
  2159. 1171 0220 7B69 ldr r3, [r7, #20]
  2160. 1172 0222 D3F81C22 ldr r2, [r3, #540]
  2161. 1173 0226 FB68 ldr r3, [r7, #12]
  2162. 1174 0228 1A43 orrs r2, r2, r3
  2163. 1175 022a 7B69 ldr r3, [r7, #20]
  2164. 1176 022c C3F81C22 str r2, [r3, #540]
  2165. 1177 .L63:
  2166. 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2167. 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2168. 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Leave the initialisation mode for the filter */
  2169. 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FMR, CAN_FMR_FINIT);
  2170. 1178 .loc 1 939 5
  2171. 1179 0230 7B69 ldr r3, [r7, #20]
  2172. 1180 0232 D3F80032 ldr r3, [r3, #512]
  2173. 1181 0236 23F00102 bic r2, r3, #1
  2174. 1182 023a 7B69 ldr r3, [r7, #20]
  2175. 1183 023c C3F80022 str r2, [r3, #512]
  2176. 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2177. 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2178. 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  2179. 1184 .loc 1 942 12
  2180. 1185 0240 0023 movs r3, #0
  2181. 1186 0242 06E0 b .L64
  2182. 1187 .L47:
  2183. 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2184. 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  2185. 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2186. 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2187. 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  2188. 1188 .loc 1 947 21
  2189. 1189 0244 7B68 ldr r3, [r7, #4]
  2190. 1190 0246 5B6A ldr r3, [r3, #36]
  2191. 1191 0248 43F48022 orr r2, r3, #262144
  2192. 1192 024c 7B68 ldr r3, [r7, #4]
  2193. 1193 024e 5A62 str r2, [r3, #36]
  2194. 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2195. 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2196. 1194 .loc 1 949 12
  2197. 1195 0250 0123 movs r3, #1
  2198. 1196 .L64:
  2199. 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2200. 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2201. 1197 .loc 1 951 1
  2202. 1198 0252 1846 mov r0, r3
  2203. 1199 0254 1837 adds r7, r7, #24
  2204. 1200 .LCFI25:
  2205. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 39
  2206. 1201 .cfi_def_cfa_offset 8
  2207. 1202 0256 BD46 mov sp, r7
  2208. 1203 .LCFI26:
  2209. 1204 .cfi_def_cfa_register 13
  2210. 1205 @ sp needed
  2211. 1206 0258 80BD pop {r7, pc}
  2212. 1207 .L66:
  2213. 1208 025a 00BF .align 2
  2214. 1209 .L65:
  2215. 1210 025c 00000000 .word .LC0
  2216. 1211 .cfi_endproc
  2217. 1212 .LFE134:
  2218. 1214 .section .text.HAL_CAN_Start,"ax",%progbits
  2219. 1215 .align 1
  2220. 1216 .global HAL_CAN_Start
  2221. 1217 .syntax unified
  2222. 1218 .thumb
  2223. 1219 .thumb_func
  2224. 1221 HAL_CAN_Start:
  2225. 1222 .LFB135:
  2226. 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2227. 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2228. 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
  2229. 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2230. 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2231. 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group3 Control functions
  2232. 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Control functions
  2233. 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  2234. 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  2235. 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  2236. 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Control functions #####
  2237. 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  2238. 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
  2239. 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_Start : Start the CAN module
  2240. 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_Stop : Stop the CAN module
  2241. 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RequestSleep : Request sleep mode entry.
  2242. 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_WakeUp : Wake up from sleep mode.
  2243. 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_IsSleepActive : Check is sleep mode is active.
  2244. 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_AddTxMessage : Add a message to the Tx mailboxes
  2245. 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** and activate the corresponding
  2246. 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** transmission request
  2247. 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_AbortTxRequest : Abort transmission request
  2248. 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetTxMailboxesFreeLevel : Return Tx mailboxes free level
  2249. 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_IsTxMessagePending : Check if a transmission request is
  2250. 976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pending on the selected Tx mailbox
  2251. 977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetRxMessage : Get a CAN frame from the Rx FIFO
  2252. 978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetRxFifoFillLevel : Return Rx FIFO fill level
  2253. 979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2254. 980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  2255. 981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  2256. 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2257. 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2258. 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2259. 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Start the CAN module.
  2260. 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  2261. 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  2262. 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  2263. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 40
  2264. 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2265. 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Start(CAN_HandleTypeDef *hcan)
  2266. 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2267. 1223 .loc 1 991 1
  2268. 1224 .cfi_startproc
  2269. 1225 @ args = 0, pretend = 0, frame = 16
  2270. 1226 @ frame_needed = 1, uses_anonymous_args = 0
  2271. 1227 0000 80B5 push {r7, lr}
  2272. 1228 .LCFI27:
  2273. 1229 .cfi_def_cfa_offset 8
  2274. 1230 .cfi_offset 7, -8
  2275. 1231 .cfi_offset 14, -4
  2276. 1232 0002 84B0 sub sp, sp, #16
  2277. 1233 .LCFI28:
  2278. 1234 .cfi_def_cfa_offset 24
  2279. 1235 0004 00AF add r7, sp, #0
  2280. 1236 .LCFI29:
  2281. 1237 .cfi_def_cfa_register 7
  2282. 1238 0006 7860 str r0, [r7, #4]
  2283. 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
  2284. 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2285. 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
  2286. 1239 .loc 1 994 11
  2287. 1240 0008 7B68 ldr r3, [r7, #4]
  2288. 1241 000a 93F82030 ldrb r3, [r3, #32]
  2289. 1242 000e DBB2 uxtb r3, r3
  2290. 1243 .loc 1 994 6
  2291. 1244 0010 012B cmp r3, #1
  2292. 1245 0012 2ED1 bne .L68
  2293. 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2294. 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN peripheral state */
  2295. 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_LISTENING;
  2296. 1246 .loc 1 997 17
  2297. 1247 0014 7B68 ldr r3, [r7, #4]
  2298. 1248 0016 0222 movs r2, #2
  2299. 1249 0018 83F82020 strb r2, [r3, #32]
  2300. 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2301. 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request leave initialisation */
  2302. 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
  2303. 1250 .loc 1 1000 5
  2304. 1251 001c 7B68 ldr r3, [r7, #4]
  2305. 1252 001e 1B68 ldr r3, [r3]
  2306. 1253 0020 1A68 ldr r2, [r3]
  2307. 1254 0022 7B68 ldr r3, [r7, #4]
  2308. 1255 0024 1B68 ldr r3, [r3]
  2309. 1256 0026 22F00102 bic r2, r2, #1
  2310. 1257 002a 1A60 str r2, [r3]
  2311. 1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2312. 1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
  2313. 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
  2314. 1258 .loc 1 1003 17
  2315. 1259 002c FFF7FEFF bl HAL_GetTick
  2316. 1260 0030 F860 str r0, [r7, #12]
  2317. 1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2318. 1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait the acknowledge */
  2319. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) != 0U)
  2320. 1261 .loc 1 1006 11
  2321. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 41
  2322. 1262 0032 12E0 b .L69
  2323. 1263 .L71:
  2324. 1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2325. 1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check for the Timeout */
  2326. 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
  2327. 1264 .loc 1 1009 12
  2328. 1265 0034 FFF7FEFF bl HAL_GetTick
  2329. 1266 0038 0246 mov r2, r0
  2330. 1267 .loc 1 1009 26
  2331. 1268 003a FB68 ldr r3, [r7, #12]
  2332. 1269 003c D31A subs r3, r2, r3
  2333. 1270 .loc 1 1009 10
  2334. 1271 003e 0A2B cmp r3, #10
  2335. 1272 0040 0BD9 bls .L69
  2336. 1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2337. 1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2338. 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  2339. 1273 .loc 1 1012 25
  2340. 1274 0042 7B68 ldr r3, [r7, #4]
  2341. 1275 0044 5B6A ldr r3, [r3, #36]
  2342. 1276 0046 43F40032 orr r2, r3, #131072
  2343. 1277 004a 7B68 ldr r3, [r7, #4]
  2344. 1278 004c 5A62 str r2, [r3, #36]
  2345. 1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2346. 1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
  2347. 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
  2348. 1279 .loc 1 1015 21
  2349. 1280 004e 7B68 ldr r3, [r7, #4]
  2350. 1281 0050 0522 movs r2, #5
  2351. 1282 0052 83F82020 strb r2, [r3, #32]
  2352. 1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2353. 1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2354. 1283 .loc 1 1017 16
  2355. 1284 0056 0123 movs r3, #1
  2356. 1285 0058 12E0 b .L70
  2357. 1286 .L69:
  2358. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2359. 1287 .loc 1 1006 17
  2360. 1288 005a 7B68 ldr r3, [r7, #4]
  2361. 1289 005c 1B68 ldr r3, [r3]
  2362. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2363. 1290 .loc 1 1006 27
  2364. 1291 005e 5B68 ldr r3, [r3, #4]
  2365. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2366. 1292 .loc 1 1006 33
  2367. 1293 0060 03F00103 and r3, r3, #1
  2368. 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2369. 1294 .loc 1 1006 11
  2370. 1295 0064 002B cmp r3, #0
  2371. 1296 0066 E5D1 bne .L71
  2372. 1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2373. 1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2374. 1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2375. 1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset the CAN ErrorCode */
  2376. 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
  2377. 1297 .loc 1 1022 21
  2378. 1298 0068 7B68 ldr r3, [r7, #4]
  2379. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 42
  2380. 1299 006a 0022 movs r2, #0
  2381. 1300 006c 5A62 str r2, [r3, #36]
  2382. 1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2383. 1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2384. 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  2385. 1301 .loc 1 1025 12
  2386. 1302 006e 0023 movs r3, #0
  2387. 1303 0070 06E0 b .L70
  2388. 1304 .L68:
  2389. 1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2390. 1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  2391. 1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2392. 1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2393. 1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_READY;
  2394. 1305 .loc 1 1030 21
  2395. 1306 0072 7B68 ldr r3, [r7, #4]
  2396. 1307 0074 5B6A ldr r3, [r3, #36]
  2397. 1308 0076 43F40022 orr r2, r3, #524288
  2398. 1309 007a 7B68 ldr r3, [r7, #4]
  2399. 1310 007c 5A62 str r2, [r3, #36]
  2400. 1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2401. 1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2402. 1311 .loc 1 1032 12
  2403. 1312 007e 0123 movs r3, #1
  2404. 1313 .L70:
  2405. 1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2406. 1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2407. 1314 .loc 1 1034 1
  2408. 1315 0080 1846 mov r0, r3
  2409. 1316 0082 1037 adds r7, r7, #16
  2410. 1317 .LCFI30:
  2411. 1318 .cfi_def_cfa_offset 8
  2412. 1319 0084 BD46 mov sp, r7
  2413. 1320 .LCFI31:
  2414. 1321 .cfi_def_cfa_register 13
  2415. 1322 @ sp needed
  2416. 1323 0086 80BD pop {r7, pc}
  2417. 1324 .cfi_endproc
  2418. 1325 .LFE135:
  2419. 1327 .section .text.HAL_CAN_Stop,"ax",%progbits
  2420. 1328 .align 1
  2421. 1329 .global HAL_CAN_Stop
  2422. 1330 .syntax unified
  2423. 1331 .thumb
  2424. 1332 .thumb_func
  2425. 1334 HAL_CAN_Stop:
  2426. 1335 .LFB136:
  2427. 1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2428. 1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2429. 1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Stop the CAN module and enable access to configuration registers.
  2430. 1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  2431. 1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  2432. 1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  2433. 1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2434. 1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Stop(CAN_HandleTypeDef *hcan)
  2435. 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2436. 1336 .loc 1 1043 1
  2437. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 43
  2438. 1337 .cfi_startproc
  2439. 1338 @ args = 0, pretend = 0, frame = 16
  2440. 1339 @ frame_needed = 1, uses_anonymous_args = 0
  2441. 1340 0000 80B5 push {r7, lr}
  2442. 1341 .LCFI32:
  2443. 1342 .cfi_def_cfa_offset 8
  2444. 1343 .cfi_offset 7, -8
  2445. 1344 .cfi_offset 14, -4
  2446. 1345 0002 84B0 sub sp, sp, #16
  2447. 1346 .LCFI33:
  2448. 1347 .cfi_def_cfa_offset 24
  2449. 1348 0004 00AF add r7, sp, #0
  2450. 1349 .LCFI34:
  2451. 1350 .cfi_def_cfa_register 7
  2452. 1351 0006 7860 str r0, [r7, #4]
  2453. 1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
  2454. 1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2455. 1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_LISTENING)
  2456. 1352 .loc 1 1046 11
  2457. 1353 0008 7B68 ldr r3, [r7, #4]
  2458. 1354 000a 93F82030 ldrb r3, [r3, #32]
  2459. 1355 000e DBB2 uxtb r3, r3
  2460. 1356 .loc 1 1046 6
  2461. 1357 0010 022B cmp r3, #2
  2462. 1358 0012 33D1 bne .L73
  2463. 1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2464. 1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request initialisation */
  2465. 1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
  2466. 1359 .loc 1 1049 5
  2467. 1360 0014 7B68 ldr r3, [r7, #4]
  2468. 1361 0016 1B68 ldr r3, [r3]
  2469. 1362 0018 1A68 ldr r2, [r3]
  2470. 1363 001a 7B68 ldr r3, [r7, #4]
  2471. 1364 001c 1B68 ldr r3, [r3]
  2472. 1365 001e 42F00102 orr r2, r2, #1
  2473. 1366 0022 1A60 str r2, [r3]
  2474. 1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2475. 1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
  2476. 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
  2477. 1367 .loc 1 1052 17
  2478. 1368 0024 FFF7FEFF bl HAL_GetTick
  2479. 1369 0028 F860 str r0, [r7, #12]
  2480. 1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2481. 1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait the acknowledge */
  2482. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
  2483. 1370 .loc 1 1055 11
  2484. 1371 002a 12E0 b .L74
  2485. 1372 .L76:
  2486. 1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2487. 1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check for the Timeout */
  2488. 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
  2489. 1373 .loc 1 1058 12
  2490. 1374 002c FFF7FEFF bl HAL_GetTick
  2491. 1375 0030 0246 mov r2, r0
  2492. 1376 .loc 1 1058 26
  2493. 1377 0032 FB68 ldr r3, [r7, #12]
  2494. 1378 0034 D31A subs r3, r2, r3
  2495. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 44
  2496. 1379 .loc 1 1058 10
  2497. 1380 0036 0A2B cmp r3, #10
  2498. 1381 0038 0BD9 bls .L74
  2499. 1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2500. 1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2501. 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  2502. 1382 .loc 1 1061 25
  2503. 1383 003a 7B68 ldr r3, [r7, #4]
  2504. 1384 003c 5B6A ldr r3, [r3, #36]
  2505. 1385 003e 43F40032 orr r2, r3, #131072
  2506. 1386 0042 7B68 ldr r3, [r7, #4]
  2507. 1387 0044 5A62 str r2, [r3, #36]
  2508. 1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2509. 1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
  2510. 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
  2511. 1388 .loc 1 1064 21
  2512. 1389 0046 7B68 ldr r3, [r7, #4]
  2513. 1390 0048 0522 movs r2, #5
  2514. 1391 004a 83F82020 strb r2, [r3, #32]
  2515. 1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2516. 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2517. 1392 .loc 1 1066 16
  2518. 1393 004e 0123 movs r3, #1
  2519. 1394 0050 1BE0 b .L75
  2520. 1395 .L74:
  2521. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2522. 1396 .loc 1 1055 17
  2523. 1397 0052 7B68 ldr r3, [r7, #4]
  2524. 1398 0054 1B68 ldr r3, [r3]
  2525. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2526. 1399 .loc 1 1055 27
  2527. 1400 0056 5B68 ldr r3, [r3, #4]
  2528. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2529. 1401 .loc 1 1055 33
  2530. 1402 0058 03F00103 and r3, r3, #1
  2531. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2532. 1403 .loc 1 1055 11
  2533. 1404 005c 002B cmp r3, #0
  2534. 1405 005e E5D0 beq .L76
  2535. 1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2536. 1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2537. 1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2538. 1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exit from sleep mode */
  2539. 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
  2540. 1406 .loc 1 1071 5
  2541. 1407 0060 7B68 ldr r3, [r7, #4]
  2542. 1408 0062 1B68 ldr r3, [r3]
  2543. 1409 0064 1A68 ldr r2, [r3]
  2544. 1410 0066 7B68 ldr r3, [r7, #4]
  2545. 1411 0068 1B68 ldr r3, [r3]
  2546. 1412 006a 22F00202 bic r2, r2, #2
  2547. 1413 006e 1A60 str r2, [r3]
  2548. 1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2549. 1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN peripheral state */
  2550. 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_READY;
  2551. 1414 .loc 1 1074 17
  2552. 1415 0070 7B68 ldr r3, [r7, #4]
  2553. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 45
  2554. 1416 0072 0122 movs r2, #1
  2555. 1417 0074 83F82020 strb r2, [r3, #32]
  2556. 1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2557. 1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2558. 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  2559. 1418 .loc 1 1077 12
  2560. 1419 0078 0023 movs r3, #0
  2561. 1420 007a 06E0 b .L75
  2562. 1421 .L73:
  2563. 1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2564. 1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  2565. 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2566. 1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2567. 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_STARTED;
  2568. 1422 .loc 1 1082 21
  2569. 1423 007c 7B68 ldr r3, [r7, #4]
  2570. 1424 007e 5B6A ldr r3, [r3, #36]
  2571. 1425 0080 43F48012 orr r2, r3, #1048576
  2572. 1426 0084 7B68 ldr r3, [r7, #4]
  2573. 1427 0086 5A62 str r2, [r3, #36]
  2574. 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2575. 1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2576. 1428 .loc 1 1084 12
  2577. 1429 0088 0123 movs r3, #1
  2578. 1430 .L75:
  2579. 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2580. 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2581. 1431 .loc 1 1086 1
  2582. 1432 008a 1846 mov r0, r3
  2583. 1433 008c 1037 adds r7, r7, #16
  2584. 1434 .LCFI35:
  2585. 1435 .cfi_def_cfa_offset 8
  2586. 1436 008e BD46 mov sp, r7
  2587. 1437 .LCFI36:
  2588. 1438 .cfi_def_cfa_register 13
  2589. 1439 @ sp needed
  2590. 1440 0090 80BD pop {r7, pc}
  2591. 1441 .cfi_endproc
  2592. 1442 .LFE136:
  2593. 1444 .section .text.HAL_CAN_RequestSleep,"ax",%progbits
  2594. 1445 .align 1
  2595. 1446 .global HAL_CAN_RequestSleep
  2596. 1447 .syntax unified
  2597. 1448 .thumb
  2598. 1449 .thumb_func
  2599. 1451 HAL_CAN_RequestSleep:
  2600. 1452 .LFB137:
  2601. 1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2602. 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2603. 1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Request the sleep mode (low power) entry.
  2604. 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * When returning from this function, Sleep mode will be entered
  2605. 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * as soon as the current CAN activity (transmission or reception
  2606. 1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * of a CAN frame) has been completed.
  2607. 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  2608. 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  2609. 1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status.
  2610. 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2611. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 46
  2612. 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RequestSleep(CAN_HandleTypeDef *hcan)
  2613. 1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2614. 1453 .loc 1 1098 1
  2615. 1454 .cfi_startproc
  2616. 1455 @ args = 0, pretend = 0, frame = 16
  2617. 1456 @ frame_needed = 1, uses_anonymous_args = 0
  2618. 1457 @ link register save eliminated.
  2619. 1458 0000 80B4 push {r7}
  2620. 1459 .LCFI37:
  2621. 1460 .cfi_def_cfa_offset 4
  2622. 1461 .cfi_offset 7, -4
  2623. 1462 0002 85B0 sub sp, sp, #20
  2624. 1463 .LCFI38:
  2625. 1464 .cfi_def_cfa_offset 24
  2626. 1465 0004 00AF add r7, sp, #0
  2627. 1466 .LCFI39:
  2628. 1467 .cfi_def_cfa_register 7
  2629. 1468 0006 7860 str r0, [r7, #4]
  2630. 1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2631. 1469 .loc 1 1099 24
  2632. 1470 0008 7B68 ldr r3, [r7, #4]
  2633. 1471 000a 93F82030 ldrb r3, [r3, #32]
  2634. 1472 000e FB73 strb r3, [r7, #15]
  2635. 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2636. 1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  2637. 1473 .loc 1 1101 6
  2638. 1474 0010 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  2639. 1475 0012 012B cmp r3, #1
  2640. 1476 0014 02D0 beq .L78
  2641. 1477 .loc 1 1101 38 discriminator 1
  2642. 1478 0016 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  2643. 1479 0018 022B cmp r3, #2
  2644. 1480 001a 09D1 bne .L79
  2645. 1481 .L78:
  2646. 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  2647. 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2648. 1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request Sleep mode */
  2649. 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
  2650. 1482 .loc 1 1105 5
  2651. 1483 001c 7B68 ldr r3, [r7, #4]
  2652. 1484 001e 1B68 ldr r3, [r3]
  2653. 1485 0020 1A68 ldr r2, [r3]
  2654. 1486 0022 7B68 ldr r3, [r7, #4]
  2655. 1487 0024 1B68 ldr r3, [r3]
  2656. 1488 0026 42F00202 orr r2, r2, #2
  2657. 1489 002a 1A60 str r2, [r3]
  2658. 1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2659. 1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2660. 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  2661. 1490 .loc 1 1108 12
  2662. 1491 002c 0023 movs r3, #0
  2663. 1492 002e 06E0 b .L80
  2664. 1493 .L79:
  2665. 1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2666. 1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  2667. 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2668. 1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2669. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 47
  2670. 1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  2671. 1494 .loc 1 1113 21
  2672. 1495 0030 7B68 ldr r3, [r7, #4]
  2673. 1496 0032 5B6A ldr r3, [r3, #36]
  2674. 1497 0034 43F48022 orr r2, r3, #262144
  2675. 1498 0038 7B68 ldr r3, [r7, #4]
  2676. 1499 003a 5A62 str r2, [r3, #36]
  2677. 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2678. 1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2679. 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2680. 1500 .loc 1 1116 12
  2681. 1501 003c 0123 movs r3, #1
  2682. 1502 .L80:
  2683. 1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2684. 1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2685. 1503 .loc 1 1118 1
  2686. 1504 003e 1846 mov r0, r3
  2687. 1505 0040 1437 adds r7, r7, #20
  2688. 1506 .LCFI40:
  2689. 1507 .cfi_def_cfa_offset 4
  2690. 1508 0042 BD46 mov sp, r7
  2691. 1509 .LCFI41:
  2692. 1510 .cfi_def_cfa_register 13
  2693. 1511 @ sp needed
  2694. 1512 0044 5DF8047B ldr r7, [sp], #4
  2695. 1513 .LCFI42:
  2696. 1514 .cfi_restore 7
  2697. 1515 .cfi_def_cfa_offset 0
  2698. 1516 0048 7047 bx lr
  2699. 1517 .cfi_endproc
  2700. 1518 .LFE137:
  2701. 1520 .section .text.HAL_CAN_WakeUp,"ax",%progbits
  2702. 1521 .align 1
  2703. 1522 .global HAL_CAN_WakeUp
  2704. 1523 .syntax unified
  2705. 1524 .thumb
  2706. 1525 .thumb_func
  2707. 1527 HAL_CAN_WakeUp:
  2708. 1528 .LFB138:
  2709. 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2710. 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2711. 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Wake up from sleep mode.
  2712. 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * When returning with HAL_OK status from this function, Sleep mode
  2713. 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * is exited.
  2714. 1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  2715. 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  2716. 1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status.
  2717. 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2718. 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_WakeUp(CAN_HandleTypeDef *hcan)
  2719. 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2720. 1529 .loc 1 1129 1
  2721. 1530 .cfi_startproc
  2722. 1531 @ args = 0, pretend = 0, frame = 16
  2723. 1532 @ frame_needed = 1, uses_anonymous_args = 0
  2724. 1533 @ link register save eliminated.
  2725. 1534 0000 80B4 push {r7}
  2726. 1535 .LCFI43:
  2727. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 48
  2728. 1536 .cfi_def_cfa_offset 4
  2729. 1537 .cfi_offset 7, -4
  2730. 1538 0002 85B0 sub sp, sp, #20
  2731. 1539 .LCFI44:
  2732. 1540 .cfi_def_cfa_offset 24
  2733. 1541 0004 00AF add r7, sp, #0
  2734. 1542 .LCFI45:
  2735. 1543 .cfi_def_cfa_register 7
  2736. 1544 0006 7860 str r0, [r7, #4]
  2737. 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __IO uint32_t count = 0;
  2738. 1545 .loc 1 1130 17
  2739. 1546 0008 0023 movs r3, #0
  2740. 1547 000a BB60 str r3, [r7, #8]
  2741. 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2742. 1548 .loc 1 1131 24
  2743. 1549 000c 7B68 ldr r3, [r7, #4]
  2744. 1550 000e 93F82030 ldrb r3, [r3, #32]
  2745. 1551 0012 FB73 strb r3, [r7, #15]
  2746. 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2747. 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  2748. 1552 .loc 1 1133 6
  2749. 1553 0014 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  2750. 1554 0016 012B cmp r3, #1
  2751. 1555 0018 02D0 beq .L82
  2752. 1556 .loc 1 1133 38 discriminator 1
  2753. 1557 001a FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  2754. 1558 001c 022B cmp r3, #2
  2755. 1559 001e 1FD1 bne .L83
  2756. 1560 .L82:
  2757. 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  2758. 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2759. 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wake up request */
  2760. 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
  2761. 1561 .loc 1 1137 5
  2762. 1562 0020 7B68 ldr r3, [r7, #4]
  2763. 1563 0022 1B68 ldr r3, [r3]
  2764. 1564 0024 1A68 ldr r2, [r3]
  2765. 1565 0026 7B68 ldr r3, [r7, #4]
  2766. 1566 0028 1B68 ldr r3, [r3]
  2767. 1567 002a 22F00202 bic r2, r2, #2
  2768. 1568 002e 1A60 str r2, [r3]
  2769. 1569 .L86:
  2770. 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2771. 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait sleep mode is exited */
  2772. 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** do
  2773. 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2774. 1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Increment counter */
  2775. 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** count++;
  2776. 1570 .loc 1 1143 12
  2777. 1571 0030 BB68 ldr r3, [r7, #8]
  2778. 1572 0032 0133 adds r3, r3, #1
  2779. 1573 0034 BB60 str r3, [r7, #8]
  2780. 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2781. 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check if timeout is reached */
  2782. 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (count > CAN_WAKEUP_TIMEOUT_COUNTER)
  2783. 1574 .loc 1 1146 17
  2784. 1575 0036 BB68 ldr r3, [r7, #8]
  2785. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 49
  2786. 1576 .loc 1 1146 10
  2787. 1577 0038 104A ldr r2, .L87
  2788. 1578 003a 9342 cmp r3, r2
  2789. 1579 003c 07D9 bls .L84
  2790. 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2791. 1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2792. 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
  2793. 1580 .loc 1 1149 25
  2794. 1581 003e 7B68 ldr r3, [r7, #4]
  2795. 1582 0040 5B6A ldr r3, [r3, #36]
  2796. 1583 0042 43F40032 orr r2, r3, #131072
  2797. 1584 0046 7B68 ldr r3, [r7, #4]
  2798. 1585 0048 5A62 str r2, [r3, #36]
  2799. 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2800. 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2801. 1586 .loc 1 1151 16
  2802. 1587 004a 0123 movs r3, #1
  2803. 1588 004c 0FE0 b .L85
  2804. 1589 .L84:
  2805. 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2806. 1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** } while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U);
  2807. 1590 .loc 1 1153 19
  2808. 1591 004e 7B68 ldr r3, [r7, #4]
  2809. 1592 0050 1B68 ldr r3, [r3]
  2810. 1593 .loc 1 1153 29
  2811. 1594 0052 5B68 ldr r3, [r3, #4]
  2812. 1595 .loc 1 1153 35
  2813. 1596 0054 03F00203 and r3, r3, #2
  2814. 1597 .loc 1 1153 5
  2815. 1598 0058 002B cmp r3, #0
  2816. 1599 005a E9D1 bne .L86
  2817. 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2818. 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2819. 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  2820. 1600 .loc 1 1156 12
  2821. 1601 005c 0023 movs r3, #0
  2822. 1602 005e 06E0 b .L85
  2823. 1603 .L83:
  2824. 1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2825. 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  2826. 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2827. 1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  2828. 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  2829. 1604 .loc 1 1161 21
  2830. 1605 0060 7B68 ldr r3, [r7, #4]
  2831. 1606 0062 5B6A ldr r3, [r3, #36]
  2832. 1607 0064 43F48022 orr r2, r3, #262144
  2833. 1608 0068 7B68 ldr r3, [r7, #4]
  2834. 1609 006a 5A62 str r2, [r3, #36]
  2835. 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2836. 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  2837. 1610 .loc 1 1163 12
  2838. 1611 006c 0123 movs r3, #1
  2839. 1612 .L85:
  2840. 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2841. 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2842. 1613 .loc 1 1165 1
  2843. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 50
  2844. 1614 006e 1846 mov r0, r3
  2845. 1615 0070 1437 adds r7, r7, #20
  2846. 1616 .LCFI46:
  2847. 1617 .cfi_def_cfa_offset 4
  2848. 1618 0072 BD46 mov sp, r7
  2849. 1619 .LCFI47:
  2850. 1620 .cfi_def_cfa_register 13
  2851. 1621 @ sp needed
  2852. 1622 0074 5DF8047B ldr r7, [sp], #4
  2853. 1623 .LCFI48:
  2854. 1624 .cfi_restore 7
  2855. 1625 .cfi_def_cfa_offset 0
  2856. 1626 0078 7047 bx lr
  2857. 1627 .L88:
  2858. 1628 007a 00BF .align 2
  2859. 1629 .L87:
  2860. 1630 007c 40420F00 .word 1000000
  2861. 1631 .cfi_endproc
  2862. 1632 .LFE138:
  2863. 1634 .section .text.HAL_CAN_IsSleepActive,"ax",%progbits
  2864. 1635 .align 1
  2865. 1636 .global HAL_CAN_IsSleepActive
  2866. 1637 .syntax unified
  2867. 1638 .thumb
  2868. 1639 .thumb_func
  2869. 1641 HAL_CAN_IsSleepActive:
  2870. 1642 .LFB139:
  2871. 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2872. 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2873. 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Check is sleep mode is active.
  2874. 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  2875. 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  2876. 1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Status
  2877. 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 0 : Sleep mode is not active.
  2878. 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 1 : Sleep mode is active.
  2879. 1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2880. 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_IsSleepActive(const CAN_HandleTypeDef *hcan)
  2881. 1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2882. 1643 .loc 1 1176 1
  2883. 1644 .cfi_startproc
  2884. 1645 @ args = 0, pretend = 0, frame = 16
  2885. 1646 @ frame_needed = 1, uses_anonymous_args = 0
  2886. 1647 @ link register save eliminated.
  2887. 1648 0000 80B4 push {r7}
  2888. 1649 .LCFI49:
  2889. 1650 .cfi_def_cfa_offset 4
  2890. 1651 .cfi_offset 7, -4
  2891. 1652 0002 85B0 sub sp, sp, #20
  2892. 1653 .LCFI50:
  2893. 1654 .cfi_def_cfa_offset 24
  2894. 1655 0004 00AF add r7, sp, #0
  2895. 1656 .LCFI51:
  2896. 1657 .cfi_def_cfa_register 7
  2897. 1658 0006 7860 str r0, [r7, #4]
  2898. 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t status = 0U;
  2899. 1659 .loc 1 1177 12
  2900. 1660 0008 0023 movs r3, #0
  2901. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 51
  2902. 1661 000a FB60 str r3, [r7, #12]
  2903. 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  2904. 1662 .loc 1 1178 24
  2905. 1663 000c 7B68 ldr r3, [r7, #4]
  2906. 1664 000e 93F82030 ldrb r3, [r3, #32]
  2907. 1665 0012 FB72 strb r3, [r7, #11]
  2908. 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2909. 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  2910. 1666 .loc 1 1180 6
  2911. 1667 0014 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  2912. 1668 0016 012B cmp r3, #1
  2913. 1669 0018 02D0 beq .L90
  2914. 1670 .loc 1 1180 38 discriminator 1
  2915. 1671 001a FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  2916. 1672 001c 022B cmp r3, #2
  2917. 1673 001e 08D1 bne .L91
  2918. 1674 .L90:
  2919. 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  2920. 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2921. 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Sleep mode */
  2922. 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
  2923. 1675 .loc 1 1184 14
  2924. 1676 0020 7B68 ldr r3, [r7, #4]
  2925. 1677 0022 1B68 ldr r3, [r3]
  2926. 1678 .loc 1 1184 24
  2927. 1679 0024 5B68 ldr r3, [r3, #4]
  2928. 1680 .loc 1 1184 30
  2929. 1681 0026 03F00203 and r3, r3, #2
  2930. 1682 .loc 1 1184 8
  2931. 1683 002a 002B cmp r3, #0
  2932. 1684 002c 01D0 beq .L91
  2933. 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2934. 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = 1U;
  2935. 1685 .loc 1 1186 14
  2936. 1686 002e 0123 movs r3, #1
  2937. 1687 0030 FB60 str r3, [r7, #12]
  2938. 1688 .L91:
  2939. 1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2940. 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2941. 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2942. 1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  2943. 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
  2944. 1689 .loc 1 1191 10
  2945. 1690 0032 FB68 ldr r3, [r7, #12]
  2946. 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  2947. 1691 .loc 1 1192 1
  2948. 1692 0034 1846 mov r0, r3
  2949. 1693 0036 1437 adds r7, r7, #20
  2950. 1694 .LCFI52:
  2951. 1695 .cfi_def_cfa_offset 4
  2952. 1696 0038 BD46 mov sp, r7
  2953. 1697 .LCFI53:
  2954. 1698 .cfi_def_cfa_register 13
  2955. 1699 @ sp needed
  2956. 1700 003a 5DF8047B ldr r7, [sp], #4
  2957. 1701 .LCFI54:
  2958. 1702 .cfi_restore 7
  2959. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 52
  2960. 1703 .cfi_def_cfa_offset 0
  2961. 1704 003e 7047 bx lr
  2962. 1705 .cfi_endproc
  2963. 1706 .LFE139:
  2964. 1708 .section .text.HAL_CAN_AddTxMessage,"ax",%progbits
  2965. 1709 .align 1
  2966. 1710 .global HAL_CAN_AddTxMessage
  2967. 1711 .syntax unified
  2968. 1712 .thumb
  2969. 1713 .thumb_func
  2970. 1715 HAL_CAN_AddTxMessage:
  2971. 1716 .LFB140:
  2972. 1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  2973. 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  2974. 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Add a message to the first free Tx mailbox and activate the
  2975. 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * corresponding transmission request.
  2976. 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  2977. 1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  2978. 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pHeader pointer to a CAN_TxHeaderTypeDef structure.
  2979. 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param aData array containing the payload of the Tx frame.
  2980. 1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pTxMailbox pointer to a variable where the function will return
  2981. 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the TxMailbox used to store the Tx message.
  2982. 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be a value of @arg CAN_Tx_Mailboxes.
  2983. 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  2984. 1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  2985. 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AddTxMessage(CAN_HandleTypeDef *hcan, const CAN_TxHeaderTypeDef *pHeader,
  2986. 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** const uint8_t aData[], uint32_t *pTxMailbox)
  2987. 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  2988. 1717 .loc 1 1208 1
  2989. 1718 .cfi_startproc
  2990. 1719 @ args = 0, pretend = 0, frame = 32
  2991. 1720 @ frame_needed = 1, uses_anonymous_args = 0
  2992. 1721 0000 80B5 push {r7, lr}
  2993. 1722 .LCFI55:
  2994. 1723 .cfi_def_cfa_offset 8
  2995. 1724 .cfi_offset 7, -8
  2996. 1725 .cfi_offset 14, -4
  2997. 1726 0002 88B0 sub sp, sp, #32
  2998. 1727 .LCFI56:
  2999. 1728 .cfi_def_cfa_offset 40
  3000. 1729 0004 00AF add r7, sp, #0
  3001. 1730 .LCFI57:
  3002. 1731 .cfi_def_cfa_register 7
  3003. 1732 0006 F860 str r0, [r7, #12]
  3004. 1733 0008 B960 str r1, [r7, #8]
  3005. 1734 000a 7A60 str r2, [r7, #4]
  3006. 1735 000c 3B60 str r3, [r7]
  3007. 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
  3008. 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3009. 1736 .loc 1 1210 24
  3010. 1737 000e FB68 ldr r3, [r7, #12]
  3011. 1738 0010 93F82030 ldrb r3, [r3, #32]
  3012. 1739 0014 FB77 strb r3, [r7, #31]
  3013. 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tsr = READ_REG(hcan->Instance->TSR);
  3014. 1740 .loc 1 1211 18
  3015. 1741 0016 FB68 ldr r3, [r7, #12]
  3016. 1742 0018 1B68 ldr r3, [r3]
  3017. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 53
  3018. 1743 .loc 1 1211 12
  3019. 1744 001a 9B68 ldr r3, [r3, #8]
  3020. 1745 001c BB61 str r3, [r7, #24]
  3021. 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3022. 1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
  3023. 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_IDTYPE(pHeader->IDE));
  3024. 1746 .loc 1 1214 3
  3025. 1747 001e BB68 ldr r3, [r7, #8]
  3026. 1748 0020 9B68 ldr r3, [r3, #8]
  3027. 1749 0022 002B cmp r3, #0
  3028. 1750 0024 08D0 beq .L94
  3029. 1751 .loc 1 1214 3 is_stmt 0 discriminator 1
  3030. 1752 0026 BB68 ldr r3, [r7, #8]
  3031. 1753 0028 9B68 ldr r3, [r3, #8]
  3032. 1754 002a 042B cmp r3, #4
  3033. 1755 002c 04D0 beq .L94
  3034. 1756 .loc 1 1214 3 discriminator 2
  3035. 1757 002e 40F2BE41 movw r1, #1214
  3036. 1758 0032 7F48 ldr r0, .L108
  3037. 1759 0034 FFF7FEFF bl assert_failed
  3038. 1760 .L94:
  3039. 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_RTR(pHeader->RTR));
  3040. 1761 .loc 1 1215 3 is_stmt 1
  3041. 1762 0038 BB68 ldr r3, [r7, #8]
  3042. 1763 003a DB68 ldr r3, [r3, #12]
  3043. 1764 003c 002B cmp r3, #0
  3044. 1765 003e 08D0 beq .L95
  3045. 1766 .loc 1 1215 3 is_stmt 0 discriminator 1
  3046. 1767 0040 BB68 ldr r3, [r7, #8]
  3047. 1768 0042 DB68 ldr r3, [r3, #12]
  3048. 1769 0044 022B cmp r3, #2
  3049. 1770 0046 04D0 beq .L95
  3050. 1771 .loc 1 1215 3 discriminator 2
  3051. 1772 0048 40F2BF41 movw r1, #1215
  3052. 1773 004c 7848 ldr r0, .L108
  3053. 1774 004e FFF7FEFF bl assert_failed
  3054. 1775 .L95:
  3055. 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_DLC(pHeader->DLC));
  3056. 1776 .loc 1 1216 3 is_stmt 1
  3057. 1777 0052 BB68 ldr r3, [r7, #8]
  3058. 1778 0054 1B69 ldr r3, [r3, #16]
  3059. 1779 0056 082B cmp r3, #8
  3060. 1780 0058 04D9 bls .L96
  3061. 1781 .loc 1 1216 3 is_stmt 0 discriminator 1
  3062. 1782 005a 4FF49861 mov r1, #1216
  3063. 1783 005e 7448 ldr r0, .L108
  3064. 1784 0060 FFF7FEFF bl assert_failed
  3065. 1785 .L96:
  3066. 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  3067. 1786 .loc 1 1217 14 is_stmt 1
  3068. 1787 0064 BB68 ldr r3, [r7, #8]
  3069. 1788 0066 9B68 ldr r3, [r3, #8]
  3070. 1789 .loc 1 1217 6
  3071. 1790 0068 002B cmp r3, #0
  3072. 1791 006a 0AD1 bne .L97
  3073. 1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3074. 1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_STDID(pHeader->StdId));
  3075. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 54
  3076. 1792 .loc 1 1219 5
  3077. 1793 006c BB68 ldr r3, [r7, #8]
  3078. 1794 006e 1B68 ldr r3, [r3]
  3079. 1795 0070 B3F5006F cmp r3, #2048
  3080. 1796 0074 0FD3 bcc .L98
  3081. 1797 .loc 1 1219 5 is_stmt 0 discriminator 1
  3082. 1798 0076 40F2C341 movw r1, #1219
  3083. 1799 007a 6D48 ldr r0, .L108
  3084. 1800 007c FFF7FEFF bl assert_failed
  3085. 1801 0080 09E0 b .L98
  3086. 1802 .L97:
  3087. 1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3088. 1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  3089. 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3090. 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_EXTID(pHeader->ExtId));
  3091. 1803 .loc 1 1223 5 is_stmt 1
  3092. 1804 0082 BB68 ldr r3, [r7, #8]
  3093. 1805 0084 5B68 ldr r3, [r3, #4]
  3094. 1806 0086 B3F1005F cmp r3, #536870912
  3095. 1807 008a 04D3 bcc .L98
  3096. 1808 .loc 1 1223 5 is_stmt 0 discriminator 1
  3097. 1809 008c 40F2C741 movw r1, #1223
  3098. 1810 0090 6748 ldr r0, .L108
  3099. 1811 0092 FFF7FEFF bl assert_failed
  3100. 1812 .L98:
  3101. 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3102. 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(pHeader->TransmitGlobalTime));
  3103. 1813 .loc 1 1225 3 is_stmt 1
  3104. 1814 0096 BB68 ldr r3, [r7, #8]
  3105. 1815 0098 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2
  3106. 1816 009a 002B cmp r3, #0
  3107. 1817 009c 08D0 beq .L99
  3108. 1818 .loc 1 1225 3 is_stmt 0 discriminator 1
  3109. 1819 009e BB68 ldr r3, [r7, #8]
  3110. 1820 00a0 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2
  3111. 1821 00a2 012B cmp r3, #1
  3112. 1822 00a4 04D0 beq .L99
  3113. 1823 .loc 1 1225 3 discriminator 2
  3114. 1824 00a6 40F2C941 movw r1, #1225
  3115. 1825 00aa 6148 ldr r0, .L108
  3116. 1826 00ac FFF7FEFF bl assert_failed
  3117. 1827 .L99:
  3118. 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3119. 1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3120. 1828 .loc 1 1227 6 is_stmt 1
  3121. 1829 00b0 FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
  3122. 1830 00b2 012B cmp r3, #1
  3123. 1831 00b4 03D0 beq .L100
  3124. 1832 .loc 1 1227 38 discriminator 1
  3125. 1833 00b6 FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
  3126. 1834 00b8 022B cmp r3, #2
  3127. 1835 00ba 40F0AD80 bne .L101
  3128. 1836 .L100:
  3129. 1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3130. 1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3131. 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check that all the Tx mailboxes are not full */
  3132. 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((tsr & CAN_TSR_TME0) != 0U) ||
  3133. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 55
  3134. 1837 .loc 1 1231 15
  3135. 1838 00be BB69 ldr r3, [r7, #24]
  3136. 1839 00c0 03F08063 and r3, r3, #67108864
  3137. 1840 .loc 1 1231 8
  3138. 1841 00c4 002B cmp r3, #0
  3139. 1842 00c6 0AD1 bne .L102
  3140. 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
  3141. 1843 .loc 1 1232 15 discriminator 1
  3142. 1844 00c8 BB69 ldr r3, [r7, #24]
  3143. 1845 00ca 03F00063 and r3, r3, #134217728
  3144. 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
  3145. 1846 .loc 1 1231 38 discriminator 1
  3146. 1847 00ce 002B cmp r3, #0
  3147. 1848 00d0 05D1 bne .L102
  3148. 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((tsr & CAN_TSR_TME2) != 0U))
  3149. 1849 .loc 1 1233 15
  3150. 1850 00d2 BB69 ldr r3, [r7, #24]
  3151. 1851 00d4 03F08053 and r3, r3, #268435456
  3152. 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
  3153. 1852 .loc 1 1232 38
  3154. 1853 00d8 002B cmp r3, #0
  3155. 1854 00da 00F09580 beq .L103
  3156. 1855 .L102:
  3157. 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3158. 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Select an empty transmit mailbox */
  3159. 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** transmitmailbox = (tsr & CAN_TSR_CODE) >> CAN_TSR_CODE_Pos;
  3160. 1856 .loc 1 1236 46
  3161. 1857 00de BB69 ldr r3, [r7, #24]
  3162. 1858 00e0 1B0E lsrs r3, r3, #24
  3163. 1859 .loc 1 1236 23
  3164. 1860 00e2 03F00303 and r3, r3, #3
  3165. 1861 00e6 7B61 str r3, [r7, #20]
  3166. 1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3167. 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Store the Tx mailbox */
  3168. 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *pTxMailbox = (uint32_t)1 << transmitmailbox;
  3169. 1862 .loc 1 1239 33
  3170. 1863 00e8 0122 movs r2, #1
  3171. 1864 00ea 7B69 ldr r3, [r7, #20]
  3172. 1865 00ec 9A40 lsls r2, r2, r3
  3173. 1866 .loc 1 1239 19
  3174. 1867 00ee 3B68 ldr r3, [r7]
  3175. 1868 00f0 1A60 str r2, [r3]
  3176. 1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3177. 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the Id */
  3178. 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  3179. 1869 .loc 1 1242 18
  3180. 1870 00f2 BB68 ldr r3, [r7, #8]
  3181. 1871 00f4 9B68 ldr r3, [r3, #8]
  3182. 1872 .loc 1 1242 10
  3183. 1873 00f6 002B cmp r3, #0
  3184. 1874 00f8 0DD1 bne .L104
  3185. 1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3186. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->StdId << CAN_TI0R_STID_Pos) |
  3187. 1875 .loc 1 1244 68
  3188. 1876 00fa BB68 ldr r3, [r7, #8]
  3189. 1877 00fc 1B68 ldr r3, [r3]
  3190. 1878 .loc 1 1244 76
  3191. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 56
  3192. 1879 00fe 5A05 lsls r2, r3, #21
  3193. 1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3194. 1880 .loc 1 1245 67
  3195. 1881 0100 BB68 ldr r3, [r7, #8]
  3196. 1882 0102 DB68 ldr r3, [r3, #12]
  3197. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3198. 1883 .loc 1 1244 13
  3199. 1884 0104 F968 ldr r1, [r7, #12]
  3200. 1885 0106 0968 ldr r1, [r1]
  3201. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3202. 1886 .loc 1 1244 98
  3203. 1887 0108 1A43 orrs r2, r2, r3
  3204. 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3205. 1888 .loc 1 1244 57
  3206. 1889 010a 7B69 ldr r3, [r7, #20]
  3207. 1890 010c 1833 adds r3, r3, #24
  3208. 1891 010e 1B01 lsls r3, r3, #4
  3209. 1892 0110 0B44 add r3, r3, r1
  3210. 1893 0112 1A60 str r2, [r3]
  3211. 1894 0114 0FE0 b .L105
  3212. 1895 .L104:
  3213. 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3214. 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  3215. 1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3216. 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->ExtId << CAN_TI0R_EXID_Pos) |
  3217. 1896 .loc 1 1249 68
  3218. 1897 0116 BB68 ldr r3, [r7, #8]
  3219. 1898 0118 5B68 ldr r3, [r3, #4]
  3220. 1899 .loc 1 1249 76
  3221. 1900 011a DA00 lsls r2, r3, #3
  3222. 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
  3223. 1901 .loc 1 1250 67
  3224. 1902 011c BB68 ldr r3, [r7, #8]
  3225. 1903 011e 9B68 ldr r3, [r3, #8]
  3226. 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
  3227. 1904 .loc 1 1249 98
  3228. 1905 0120 1A43 orrs r2, r2, r3
  3229. 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
  3230. 1906 .loc 1 1251 67
  3231. 1907 0122 BB68 ldr r3, [r7, #8]
  3232. 1908 0124 DB68 ldr r3, [r3, #12]
  3233. 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
  3234. 1909 .loc 1 1249 13
  3235. 1910 0126 F968 ldr r1, [r7, #12]
  3236. 1911 0128 0968 ldr r1, [r1]
  3237. 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
  3238. 1912 .loc 1 1250 73
  3239. 1913 012a 1A43 orrs r2, r2, r3
  3240. 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
  3241. 1914 .loc 1 1249 57
  3242. 1915 012c 7B69 ldr r3, [r7, #20]
  3243. 1916 012e 1833 adds r3, r3, #24
  3244. 1917 0130 1B01 lsls r3, r3, #4
  3245. 1918 0132 0B44 add r3, r3, r1
  3246. 1919 0134 1A60 str r2, [r3]
  3247. 1920 .L105:
  3248. 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3249. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 57
  3250. 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3251. 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the DLC */
  3252. 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TDTR = (pHeader->DLC);
  3253. 1921 .loc 1 1255 11
  3254. 1922 0136 FB68 ldr r3, [r7, #12]
  3255. 1923 0138 1968 ldr r1, [r3]
  3256. 1924 .loc 1 1255 66
  3257. 1925 013a BB68 ldr r3, [r7, #8]
  3258. 1926 013c 1A69 ldr r2, [r3, #16]
  3259. 1927 .loc 1 1255 56
  3260. 1928 013e 7B69 ldr r3, [r7, #20]
  3261. 1929 0140 1833 adds r3, r3, #24
  3262. 1930 0142 1B01 lsls r3, r3, #4
  3263. 1931 0144 0B44 add r3, r3, r1
  3264. 1932 0146 0433 adds r3, r3, #4
  3265. 1933 0148 1A60 str r2, [r3]
  3266. 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3267. 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the Transmit Global Time mode */
  3268. 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->TransmitGlobalTime == ENABLE)
  3269. 1934 .loc 1 1258 18
  3270. 1935 014a BB68 ldr r3, [r7, #8]
  3271. 1936 014c 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2
  3272. 1937 .loc 1 1258 10
  3273. 1938 014e 012B cmp r3, #1
  3274. 1939 0150 11D1 bne .L106
  3275. 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3276. 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TDTR, CAN_TDT0R_TGT);
  3277. 1940 .loc 1 1260 9
  3278. 1941 0152 FB68 ldr r3, [r7, #12]
  3279. 1942 0154 1A68 ldr r2, [r3]
  3280. 1943 0156 7B69 ldr r3, [r7, #20]
  3281. 1944 0158 1833 adds r3, r3, #24
  3282. 1945 015a 1B01 lsls r3, r3, #4
  3283. 1946 015c 1344 add r3, r3, r2
  3284. 1947 015e 0433 adds r3, r3, #4
  3285. 1948 0160 1B68 ldr r3, [r3]
  3286. 1949 0162 FA68 ldr r2, [r7, #12]
  3287. 1950 0164 1168 ldr r1, [r2]
  3288. 1951 0166 43F48072 orr r2, r3, #256
  3289. 1952 016a 7B69 ldr r3, [r7, #20]
  3290. 1953 016c 1833 adds r3, r3, #24
  3291. 1954 016e 1B01 lsls r3, r3, #4
  3292. 1955 0170 0B44 add r3, r3, r1
  3293. 1956 0172 0433 adds r3, r3, #4
  3294. 1957 0174 1A60 str r2, [r3]
  3295. 1958 .L106:
  3296. 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3297. 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3298. 1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the data field */
  3299. 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDHR,
  3300. 1959 .loc 1 1264 7
  3301. 1960 0176 7B68 ldr r3, [r7, #4]
  3302. 1961 0178 0733 adds r3, r3, #7
  3303. 1962 017a 1B78 ldrb r3, [r3] @ zero_extendqisi2
  3304. 1963 017c 1A06 lsls r2, r3, #24
  3305. 1964 017e 7B68 ldr r3, [r7, #4]
  3306. 1965 0180 0633 adds r3, r3, #6
  3307. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 58
  3308. 1966 0182 1B78 ldrb r3, [r3] @ zero_extendqisi2
  3309. 1967 0184 1B04 lsls r3, r3, #16
  3310. 1968 0186 1A43 orrs r2, r2, r3
  3311. 1969 0188 7B68 ldr r3, [r7, #4]
  3312. 1970 018a 0533 adds r3, r3, #5
  3313. 1971 018c 1B78 ldrb r3, [r3] @ zero_extendqisi2
  3314. 1972 018e 1B02 lsls r3, r3, #8
  3315. 1973 0190 1343 orrs r3, r3, r2
  3316. 1974 0192 7A68 ldr r2, [r7, #4]
  3317. 1975 0194 0432 adds r2, r2, #4
  3318. 1976 0196 1278 ldrb r2, [r2] @ zero_extendqisi2
  3319. 1977 0198 1046 mov r0, r2
  3320. 1978 019a FA68 ldr r2, [r7, #12]
  3321. 1979 019c 1168 ldr r1, [r2]
  3322. 1980 019e 43EA0002 orr r2, r3, r0
  3323. 1981 01a2 7B69 ldr r3, [r7, #20]
  3324. 1982 01a4 1B01 lsls r3, r3, #4
  3325. 1983 01a6 0B44 add r3, r3, r1
  3326. 1984 01a8 03F5C673 add r3, r3, #396
  3327. 1985 01ac 1A60 str r2, [r3]
  3328. 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[7] << CAN_TDH0R_DATA7_Pos) |
  3329. 1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[6] << CAN_TDH0R_DATA6_Pos) |
  3330. 1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[5] << CAN_TDH0R_DATA5_Pos) |
  3331. 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[4] << CAN_TDH0R_DATA4_Pos));
  3332. 1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDLR,
  3333. 1986 .loc 1 1269 7
  3334. 1987 01ae 7B68 ldr r3, [r7, #4]
  3335. 1988 01b0 0333 adds r3, r3, #3
  3336. 1989 01b2 1B78 ldrb r3, [r3] @ zero_extendqisi2
  3337. 1990 01b4 1A06 lsls r2, r3, #24
  3338. 1991 01b6 7B68 ldr r3, [r7, #4]
  3339. 1992 01b8 0233 adds r3, r3, #2
  3340. 1993 01ba 1B78 ldrb r3, [r3] @ zero_extendqisi2
  3341. 1994 01bc 1B04 lsls r3, r3, #16
  3342. 1995 01be 1A43 orrs r2, r2, r3
  3343. 1996 01c0 7B68 ldr r3, [r7, #4]
  3344. 1997 01c2 0133 adds r3, r3, #1
  3345. 1998 01c4 1B78 ldrb r3, [r3] @ zero_extendqisi2
  3346. 1999 01c6 1B02 lsls r3, r3, #8
  3347. 2000 01c8 1343 orrs r3, r3, r2
  3348. 2001 01ca 7A68 ldr r2, [r7, #4]
  3349. 2002 01cc 1278 ldrb r2, [r2] @ zero_extendqisi2
  3350. 2003 01ce 1046 mov r0, r2
  3351. 2004 01d0 FA68 ldr r2, [r7, #12]
  3352. 2005 01d2 1168 ldr r1, [r2]
  3353. 2006 01d4 43EA0002 orr r2, r3, r0
  3354. 2007 01d8 7B69 ldr r3, [r7, #20]
  3355. 2008 01da 1B01 lsls r3, r3, #4
  3356. 2009 01dc 0B44 add r3, r3, r1
  3357. 2010 01de 03F5C473 add r3, r3, #392
  3358. 2011 01e2 1A60 str r2, [r3]
  3359. 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[3] << CAN_TDL0R_DATA3_Pos) |
  3360. 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[2] << CAN_TDL0R_DATA2_Pos) |
  3361. 1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[1] << CAN_TDL0R_DATA1_Pos) |
  3362. 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[0] << CAN_TDL0R_DATA0_Pos));
  3363. 1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3364. 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request transmission */
  3365. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 59
  3366. 1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TIR, CAN_TI0R_TXRQ);
  3367. 2012 .loc 1 1276 7
  3368. 2013 01e4 FB68 ldr r3, [r7, #12]
  3369. 2014 01e6 1A68 ldr r2, [r3]
  3370. 2015 01e8 7B69 ldr r3, [r7, #20]
  3371. 2016 01ea 1833 adds r3, r3, #24
  3372. 2017 01ec 1B01 lsls r3, r3, #4
  3373. 2018 01ee 1344 add r3, r3, r2
  3374. 2019 01f0 1B68 ldr r3, [r3]
  3375. 2020 01f2 FA68 ldr r2, [r7, #12]
  3376. 2021 01f4 1168 ldr r1, [r2]
  3377. 2022 01f6 43F00102 orr r2, r3, #1
  3378. 2023 01fa 7B69 ldr r3, [r7, #20]
  3379. 2024 01fc 1833 adds r3, r3, #24
  3380. 2025 01fe 1B01 lsls r3, r3, #4
  3381. 2026 0200 0B44 add r3, r3, r1
  3382. 2027 0202 1A60 str r2, [r3]
  3383. 1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3384. 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  3385. 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  3386. 2028 .loc 1 1279 14
  3387. 2029 0204 0023 movs r3, #0
  3388. 2030 0206 0EE0 b .L107
  3389. 2031 .L103:
  3390. 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3391. 1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  3392. 1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3393. 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  3394. 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
  3395. 2032 .loc 1 1284 23
  3396. 2033 0208 FB68 ldr r3, [r7, #12]
  3397. 2034 020a 5B6A ldr r3, [r3, #36]
  3398. 2035 020c 43F40012 orr r2, r3, #2097152
  3399. 2036 0210 FB68 ldr r3, [r7, #12]
  3400. 2037 0212 5A62 str r2, [r3, #36]
  3401. 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3402. 1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  3403. 2038 .loc 1 1286 14
  3404. 2039 0214 0123 movs r3, #1
  3405. 2040 0216 06E0 b .L107
  3406. 2041 .L101:
  3407. 1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3408. 1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3409. 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  3410. 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3411. 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  3412. 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  3413. 2042 .loc 1 1292 21
  3414. 2043 0218 FB68 ldr r3, [r7, #12]
  3415. 2044 021a 5B6A ldr r3, [r3, #36]
  3416. 2045 021c 43F48022 orr r2, r3, #262144
  3417. 2046 0220 FB68 ldr r3, [r7, #12]
  3418. 2047 0222 5A62 str r2, [r3, #36]
  3419. 1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3420. 1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  3421. 2048 .loc 1 1294 12
  3422. 2049 0224 0123 movs r3, #1
  3423. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 60
  3424. 2050 .L107:
  3425. 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3426. 1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3427. 2051 .loc 1 1296 1
  3428. 2052 0226 1846 mov r0, r3
  3429. 2053 0228 2037 adds r7, r7, #32
  3430. 2054 .LCFI58:
  3431. 2055 .cfi_def_cfa_offset 8
  3432. 2056 022a BD46 mov sp, r7
  3433. 2057 .LCFI59:
  3434. 2058 .cfi_def_cfa_register 13
  3435. 2059 @ sp needed
  3436. 2060 022c 80BD pop {r7, pc}
  3437. 2061 .L109:
  3438. 2062 022e 00BF .align 2
  3439. 2063 .L108:
  3440. 2064 0230 00000000 .word .LC0
  3441. 2065 .cfi_endproc
  3442. 2066 .LFE140:
  3443. 2068 .section .text.HAL_CAN_AbortTxRequest,"ax",%progbits
  3444. 2069 .align 1
  3445. 2070 .global HAL_CAN_AbortTxRequest
  3446. 2071 .syntax unified
  3447. 2072 .thumb
  3448. 2073 .thumb_func
  3449. 2075 HAL_CAN_AbortTxRequest:
  3450. 2076 .LFB141:
  3451. 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3452. 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  3453. 1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Abort transmission requests
  3454. 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  3455. 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  3456. 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param TxMailboxes List of the Tx Mailboxes to abort.
  3457. 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Tx_Mailboxes.
  3458. 1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  3459. 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  3460. 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AbortTxRequest(CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
  3461. 1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3462. 2077 .loc 1 1307 1
  3463. 2078 .cfi_startproc
  3464. 2079 @ args = 0, pretend = 0, frame = 16
  3465. 2080 @ frame_needed = 1, uses_anonymous_args = 0
  3466. 2081 0000 80B5 push {r7, lr}
  3467. 2082 .LCFI60:
  3468. 2083 .cfi_def_cfa_offset 8
  3469. 2084 .cfi_offset 7, -8
  3470. 2085 .cfi_offset 14, -4
  3471. 2086 0002 84B0 sub sp, sp, #16
  3472. 2087 .LCFI61:
  3473. 2088 .cfi_def_cfa_offset 24
  3474. 2089 0004 00AF add r7, sp, #0
  3475. 2090 .LCFI62:
  3476. 2091 .cfi_def_cfa_register 7
  3477. 2092 0006 7860 str r0, [r7, #4]
  3478. 2093 0008 3960 str r1, [r7]
  3479. 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3480. 2094 .loc 1 1308 24
  3481. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 61
  3482. 2095 000a 7B68 ldr r3, [r7, #4]
  3483. 2096 000c 93F82030 ldrb r3, [r3, #32]
  3484. 2097 0010 FB73 strb r3, [r7, #15]
  3485. 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3486. 1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
  3487. 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
  3488. 2098 .loc 1 1311 3
  3489. 2099 0012 3B68 ldr r3, [r7]
  3490. 2100 0014 072B cmp r3, #7
  3491. 2101 0016 04D9 bls .L111
  3492. 2102 .loc 1 1311 3 is_stmt 0 discriminator 1
  3493. 2103 0018 40F21F51 movw r1, #1311
  3494. 2104 001c 1E48 ldr r0, .L118
  3495. 2105 001e FFF7FEFF bl assert_failed
  3496. 2106 .L111:
  3497. 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3498. 1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3499. 2107 .loc 1 1313 6 is_stmt 1
  3500. 2108 0022 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  3501. 2109 0024 012B cmp r3, #1
  3502. 2110 0026 02D0 beq .L112
  3503. 2111 .loc 1 1313 38 discriminator 1
  3504. 2112 0028 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  3505. 2113 002a 022B cmp r3, #2
  3506. 2114 002c 28D1 bne .L113
  3507. 2115 .L112:
  3508. 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3509. 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3510. 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 0 */
  3511. 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX0) != 0U)
  3512. 2116 .loc 1 1317 22
  3513. 2117 002e 3B68 ldr r3, [r7]
  3514. 2118 0030 03F00103 and r3, r3, #1
  3515. 2119 .loc 1 1317 8
  3516. 2120 0034 002B cmp r3, #0
  3517. 2121 0036 07D0 beq .L114
  3518. 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3519. 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 0 */
  3520. 1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ0);
  3521. 2122 .loc 1 1320 7
  3522. 2123 0038 7B68 ldr r3, [r7, #4]
  3523. 2124 003a 1B68 ldr r3, [r3]
  3524. 2125 003c 9A68 ldr r2, [r3, #8]
  3525. 2126 003e 7B68 ldr r3, [r7, #4]
  3526. 2127 0040 1B68 ldr r3, [r3]
  3527. 2128 0042 42F08002 orr r2, r2, #128
  3528. 2129 0046 9A60 str r2, [r3, #8]
  3529. 2130 .L114:
  3530. 1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3531. 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3532. 1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 1 */
  3533. 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX1) != 0U)
  3534. 2131 .loc 1 1324 22
  3535. 2132 0048 3B68 ldr r3, [r7]
  3536. 2133 004a 03F00203 and r3, r3, #2
  3537. 2134 .loc 1 1324 8
  3538. 2135 004e 002B cmp r3, #0
  3539. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 62
  3540. 2136 0050 07D0 beq .L115
  3541. 1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3542. 1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 1 */
  3543. 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ1);
  3544. 2137 .loc 1 1327 7
  3545. 2138 0052 7B68 ldr r3, [r7, #4]
  3546. 2139 0054 1B68 ldr r3, [r3]
  3547. 2140 0056 9A68 ldr r2, [r3, #8]
  3548. 2141 0058 7B68 ldr r3, [r7, #4]
  3549. 2142 005a 1B68 ldr r3, [r3]
  3550. 2143 005c 42F40042 orr r2, r2, #32768
  3551. 2144 0060 9A60 str r2, [r3, #8]
  3552. 2145 .L115:
  3553. 1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3554. 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3555. 1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 2 */
  3556. 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX2) != 0U)
  3557. 2146 .loc 1 1331 22
  3558. 2147 0062 3B68 ldr r3, [r7]
  3559. 2148 0064 03F00403 and r3, r3, #4
  3560. 2149 .loc 1 1331 8
  3561. 2150 0068 002B cmp r3, #0
  3562. 2151 006a 07D0 beq .L116
  3563. 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3564. 1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 2 */
  3565. 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ2);
  3566. 2152 .loc 1 1334 7
  3567. 2153 006c 7B68 ldr r3, [r7, #4]
  3568. 2154 006e 1B68 ldr r3, [r3]
  3569. 2155 0070 9A68 ldr r2, [r3, #8]
  3570. 2156 0072 7B68 ldr r3, [r7, #4]
  3571. 2157 0074 1B68 ldr r3, [r3]
  3572. 2158 0076 42F40002 orr r2, r2, #8388608
  3573. 2159 007a 9A60 str r2, [r3, #8]
  3574. 2160 .L116:
  3575. 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3576. 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3577. 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  3578. 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  3579. 2161 .loc 1 1338 12
  3580. 2162 007c 0023 movs r3, #0
  3581. 2163 007e 06E0 b .L117
  3582. 2164 .L113:
  3583. 1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3584. 1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  3585. 1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3586. 1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  3587. 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  3588. 2165 .loc 1 1343 21
  3589. 2166 0080 7B68 ldr r3, [r7, #4]
  3590. 2167 0082 5B6A ldr r3, [r3, #36]
  3591. 2168 0084 43F48022 orr r2, r3, #262144
  3592. 2169 0088 7B68 ldr r3, [r7, #4]
  3593. 2170 008a 5A62 str r2, [r3, #36]
  3594. 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3595. 1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  3596. 2171 .loc 1 1345 12
  3597. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 63
  3598. 2172 008c 0123 movs r3, #1
  3599. 2173 .L117:
  3600. 1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3601. 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3602. 2174 .loc 1 1347 1
  3603. 2175 008e 1846 mov r0, r3
  3604. 2176 0090 1037 adds r7, r7, #16
  3605. 2177 .LCFI63:
  3606. 2178 .cfi_def_cfa_offset 8
  3607. 2179 0092 BD46 mov sp, r7
  3608. 2180 .LCFI64:
  3609. 2181 .cfi_def_cfa_register 13
  3610. 2182 @ sp needed
  3611. 2183 0094 80BD pop {r7, pc}
  3612. 2184 .L119:
  3613. 2185 0096 00BF .align 2
  3614. 2186 .L118:
  3615. 2187 0098 00000000 .word .LC0
  3616. 2188 .cfi_endproc
  3617. 2189 .LFE141:
  3618. 2191 .section .text.HAL_CAN_GetTxMailboxesFreeLevel,"ax",%progbits
  3619. 2192 .align 1
  3620. 2193 .global HAL_CAN_GetTxMailboxesFreeLevel
  3621. 2194 .syntax unified
  3622. 2195 .thumb
  3623. 2196 .thumb_func
  3624. 2198 HAL_CAN_GetTxMailboxesFreeLevel:
  3625. 2199 .LFB142:
  3626. 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3627. 1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  3628. 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return Tx Mailboxes free level: number of free Tx Mailboxes.
  3629. 1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  3630. 1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  3631. 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Number of free Tx Mailboxes.
  3632. 1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  3633. 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetTxMailboxesFreeLevel(const CAN_HandleTypeDef *hcan)
  3634. 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3635. 2200 .loc 1 1356 1
  3636. 2201 .cfi_startproc
  3637. 2202 @ args = 0, pretend = 0, frame = 16
  3638. 2203 @ frame_needed = 1, uses_anonymous_args = 0
  3639. 2204 @ link register save eliminated.
  3640. 2205 0000 80B4 push {r7}
  3641. 2206 .LCFI65:
  3642. 2207 .cfi_def_cfa_offset 4
  3643. 2208 .cfi_offset 7, -4
  3644. 2209 0002 85B0 sub sp, sp, #20
  3645. 2210 .LCFI66:
  3646. 2211 .cfi_def_cfa_offset 24
  3647. 2212 0004 00AF add r7, sp, #0
  3648. 2213 .LCFI67:
  3649. 2214 .cfi_def_cfa_register 7
  3650. 2215 0006 7860 str r0, [r7, #4]
  3651. 1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t freelevel = 0U;
  3652. 2216 .loc 1 1357 12
  3653. 2217 0008 0023 movs r3, #0
  3654. 2218 000a FB60 str r3, [r7, #12]
  3655. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 64
  3656. 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3657. 2219 .loc 1 1358 24
  3658. 2220 000c 7B68 ldr r3, [r7, #4]
  3659. 2221 000e 93F82030 ldrb r3, [r3, #32]
  3660. 2222 0012 FB72 strb r3, [r7, #11]
  3661. 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3662. 1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3663. 2223 .loc 1 1360 6
  3664. 2224 0014 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  3665. 2225 0016 012B cmp r3, #1
  3666. 2226 0018 02D0 beq .L121
  3667. 2227 .loc 1 1360 38 discriminator 1
  3668. 2228 001a FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  3669. 2229 001c 022B cmp r3, #2
  3670. 2230 001e 1DD1 bne .L122
  3671. 2231 .L121:
  3672. 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3673. 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3674. 1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 0 status */
  3675. 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME0) != 0U)
  3676. 2232 .loc 1 1364 14
  3677. 2233 0020 7B68 ldr r3, [r7, #4]
  3678. 2234 0022 1B68 ldr r3, [r3]
  3679. 2235 .loc 1 1364 24
  3680. 2236 0024 9B68 ldr r3, [r3, #8]
  3681. 2237 .loc 1 1364 30
  3682. 2238 0026 03F08063 and r3, r3, #67108864
  3683. 2239 .loc 1 1364 8
  3684. 2240 002a 002B cmp r3, #0
  3685. 2241 002c 02D0 beq .L123
  3686. 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3687. 1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** freelevel++;
  3688. 2242 .loc 1 1366 16
  3689. 2243 002e FB68 ldr r3, [r7, #12]
  3690. 2244 0030 0133 adds r3, r3, #1
  3691. 2245 0032 FB60 str r3, [r7, #12]
  3692. 2246 .L123:
  3693. 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3694. 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3695. 1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 1 status */
  3696. 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME1) != 0U)
  3697. 2247 .loc 1 1370 14
  3698. 2248 0034 7B68 ldr r3, [r7, #4]
  3699. 2249 0036 1B68 ldr r3, [r3]
  3700. 2250 .loc 1 1370 24
  3701. 2251 0038 9B68 ldr r3, [r3, #8]
  3702. 2252 .loc 1 1370 30
  3703. 2253 003a 03F00063 and r3, r3, #134217728
  3704. 2254 .loc 1 1370 8
  3705. 2255 003e 002B cmp r3, #0
  3706. 2256 0040 02D0 beq .L124
  3707. 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3708. 1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** freelevel++;
  3709. 2257 .loc 1 1372 16
  3710. 2258 0042 FB68 ldr r3, [r7, #12]
  3711. 2259 0044 0133 adds r3, r3, #1
  3712. 2260 0046 FB60 str r3, [r7, #12]
  3713. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 65
  3714. 2261 .L124:
  3715. 1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3716. 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3717. 1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 2 status */
  3718. 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME2) != 0U)
  3719. 2262 .loc 1 1376 14
  3720. 2263 0048 7B68 ldr r3, [r7, #4]
  3721. 2264 004a 1B68 ldr r3, [r3]
  3722. 2265 .loc 1 1376 24
  3723. 2266 004c 9B68 ldr r3, [r3, #8]
  3724. 2267 .loc 1 1376 30
  3725. 2268 004e 03F08053 and r3, r3, #268435456
  3726. 2269 .loc 1 1376 8
  3727. 2270 0052 002B cmp r3, #0
  3728. 2271 0054 02D0 beq .L122
  3729. 1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3730. 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** freelevel++;
  3731. 2272 .loc 1 1378 16
  3732. 2273 0056 FB68 ldr r3, [r7, #12]
  3733. 2274 0058 0133 adds r3, r3, #1
  3734. 2275 005a FB60 str r3, [r7, #12]
  3735. 2276 .L122:
  3736. 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3737. 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3738. 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3739. 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return Tx Mailboxes free level */
  3740. 1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return freelevel;
  3741. 2277 .loc 1 1383 10
  3742. 2278 005c FB68 ldr r3, [r7, #12]
  3743. 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3744. 2279 .loc 1 1384 1
  3745. 2280 005e 1846 mov r0, r3
  3746. 2281 0060 1437 adds r7, r7, #20
  3747. 2282 .LCFI68:
  3748. 2283 .cfi_def_cfa_offset 4
  3749. 2284 0062 BD46 mov sp, r7
  3750. 2285 .LCFI69:
  3751. 2286 .cfi_def_cfa_register 13
  3752. 2287 @ sp needed
  3753. 2288 0064 5DF8047B ldr r7, [sp], #4
  3754. 2289 .LCFI70:
  3755. 2290 .cfi_restore 7
  3756. 2291 .cfi_def_cfa_offset 0
  3757. 2292 0068 7047 bx lr
  3758. 2293 .cfi_endproc
  3759. 2294 .LFE142:
  3760. 2296 .section .text.HAL_CAN_IsTxMessagePending,"ax",%progbits
  3761. 2297 .align 1
  3762. 2298 .global HAL_CAN_IsTxMessagePending
  3763. 2299 .syntax unified
  3764. 2300 .thumb
  3765. 2301 .thumb_func
  3766. 2303 HAL_CAN_IsTxMessagePending:
  3767. 2304 .LFB143:
  3768. 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3769. 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  3770. 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Check if a transmission request is pending on the selected Tx
  3771. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 66
  3772. 1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * Mailboxes.
  3773. 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  3774. 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  3775. 1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param TxMailboxes List of Tx Mailboxes to check.
  3776. 1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Tx_Mailboxes.
  3777. 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Status
  3778. 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 0 : No pending transmission request on any selected Tx Mailboxes.
  3779. 1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 1 : Pending transmission request on at least one of the selected
  3780. 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * Tx Mailbox.
  3781. 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  3782. 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_IsTxMessagePending(const CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
  3783. 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3784. 2305 .loc 1 1399 1
  3785. 2306 .cfi_startproc
  3786. 2307 @ args = 0, pretend = 0, frame = 16
  3787. 2308 @ frame_needed = 1, uses_anonymous_args = 0
  3788. 2309 0000 80B5 push {r7, lr}
  3789. 2310 .LCFI71:
  3790. 2311 .cfi_def_cfa_offset 8
  3791. 2312 .cfi_offset 7, -8
  3792. 2313 .cfi_offset 14, -4
  3793. 2314 0002 84B0 sub sp, sp, #16
  3794. 2315 .LCFI72:
  3795. 2316 .cfi_def_cfa_offset 24
  3796. 2317 0004 00AF add r7, sp, #0
  3797. 2318 .LCFI73:
  3798. 2319 .cfi_def_cfa_register 7
  3799. 2320 0006 7860 str r0, [r7, #4]
  3800. 2321 0008 3960 str r1, [r7]
  3801. 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t status = 0U;
  3802. 2322 .loc 1 1400 12
  3803. 2323 000a 0023 movs r3, #0
  3804. 2324 000c FB60 str r3, [r7, #12]
  3805. 1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3806. 2325 .loc 1 1401 24
  3807. 2326 000e 7B68 ldr r3, [r7, #4]
  3808. 2327 0010 93F82030 ldrb r3, [r3, #32]
  3809. 2328 0014 FB72 strb r3, [r7, #11]
  3810. 1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3811. 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
  3812. 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
  3813. 2329 .loc 1 1404 3
  3814. 2330 0016 3B68 ldr r3, [r7]
  3815. 2331 0018 072B cmp r3, #7
  3816. 2332 001a 04D9 bls .L127
  3817. 2333 .loc 1 1404 3 is_stmt 0 discriminator 1
  3818. 2334 001c 40F27C51 movw r1, #1404
  3819. 2335 0020 0C48 ldr r0, .L131
  3820. 2336 0022 FFF7FEFF bl assert_failed
  3821. 2337 .L127:
  3822. 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3823. 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3824. 2338 .loc 1 1406 6 is_stmt 1
  3825. 2339 0026 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  3826. 2340 0028 012B cmp r3, #1
  3827. 2341 002a 02D0 beq .L128
  3828. 2342 .loc 1 1406 38 discriminator 1
  3829. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 67
  3830. 2343 002c FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  3831. 2344 002e 022B cmp r3, #2
  3832. 2345 0030 0BD1 bne .L129
  3833. 2346 .L128:
  3834. 1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  3835. 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3836. 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check pending transmission request on the selected Tx Mailboxes */
  3837. 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & (TxMailboxes << CAN_TSR_TME0_Pos)) != (TxMailboxes << CAN_TSR_TME0_P
  3838. 2347 .loc 1 1410 14
  3839. 2348 0032 7B68 ldr r3, [r7, #4]
  3840. 2349 0034 1B68 ldr r3, [r3]
  3841. 2350 .loc 1 1410 24
  3842. 2351 0036 9A68 ldr r2, [r3, #8]
  3843. 2352 .loc 1 1410 45
  3844. 2353 0038 3B68 ldr r3, [r7]
  3845. 2354 003a 9B06 lsls r3, r3, #26
  3846. 2355 .loc 1 1410 30
  3847. 2356 003c 1A40 ands r2, r2, r3
  3848. 2357 .loc 1 1410 83
  3849. 2358 003e 3B68 ldr r3, [r7]
  3850. 2359 0040 9B06 lsls r3, r3, #26
  3851. 2360 .loc 1 1410 8
  3852. 2361 0042 9A42 cmp r2, r3
  3853. 2362 0044 01D0 beq .L129
  3854. 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3855. 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = 1U;
  3856. 2363 .loc 1 1412 14
  3857. 2364 0046 0123 movs r3, #1
  3858. 2365 0048 FB60 str r3, [r7, #12]
  3859. 2366 .L129:
  3860. 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3861. 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3862. 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3863. 1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return status */
  3864. 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
  3865. 2367 .loc 1 1417 10
  3866. 2368 004a FB68 ldr r3, [r7, #12]
  3867. 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  3868. 2369 .loc 1 1418 1
  3869. 2370 004c 1846 mov r0, r3
  3870. 2371 004e 1037 adds r7, r7, #16
  3871. 2372 .LCFI74:
  3872. 2373 .cfi_def_cfa_offset 8
  3873. 2374 0050 BD46 mov sp, r7
  3874. 2375 .LCFI75:
  3875. 2376 .cfi_def_cfa_register 13
  3876. 2377 @ sp needed
  3877. 2378 0052 80BD pop {r7, pc}
  3878. 2379 .L132:
  3879. 2380 .align 2
  3880. 2381 .L131:
  3881. 2382 0054 00000000 .word .LC0
  3882. 2383 .cfi_endproc
  3883. 2384 .LFE143:
  3884. 2386 .section .text.HAL_CAN_GetTxTimestamp,"ax",%progbits
  3885. 2387 .align 1
  3886. 2388 .global HAL_CAN_GetTxTimestamp
  3887. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 68
  3888. 2389 .syntax unified
  3889. 2390 .thumb
  3890. 2391 .thumb_func
  3891. 2393 HAL_CAN_GetTxTimestamp:
  3892. 2394 .LFB144:
  3893. 1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3894. 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  3895. 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return timestamp of Tx message sent, if time triggered communication
  3896. 1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** mode is enabled.
  3897. 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  3898. 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  3899. 1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param TxMailbox Tx Mailbox where the timestamp of message sent will be
  3900. 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * read.
  3901. 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be one value of @arg CAN_Tx_Mailboxes.
  3902. 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Timestamp of message sent from Tx Mailbox.
  3903. 1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  3904. 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetTxTimestamp(const CAN_HandleTypeDef *hcan, uint32_t TxMailbox)
  3905. 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  3906. 2395 .loc 1 1431 1
  3907. 2396 .cfi_startproc
  3908. 2397 @ args = 0, pretend = 0, frame = 32
  3909. 2398 @ frame_needed = 1, uses_anonymous_args = 0
  3910. 2399 0000 80B5 push {r7, lr}
  3911. 2400 .LCFI76:
  3912. 2401 .cfi_def_cfa_offset 8
  3913. 2402 .cfi_offset 7, -8
  3914. 2403 .cfi_offset 14, -4
  3915. 2404 0002 88B0 sub sp, sp, #32
  3916. 2405 .LCFI77:
  3917. 2406 .cfi_def_cfa_offset 40
  3918. 2407 0004 00AF add r7, sp, #0
  3919. 2408 .LCFI78:
  3920. 2409 .cfi_def_cfa_register 7
  3921. 2410 0006 7860 str r0, [r7, #4]
  3922. 2411 0008 3960 str r1, [r7]
  3923. 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t timestamp = 0U;
  3924. 2412 .loc 1 1432 12
  3925. 2413 000a 0023 movs r3, #0
  3926. 2414 000c FB61 str r3, [r7, #28]
  3927. 1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
  3928. 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  3929. 2415 .loc 1 1434 24
  3930. 2416 000e 7B68 ldr r3, [r7, #4]
  3931. 2417 0010 93F82030 ldrb r3, [r3, #32]
  3932. 2418 0014 FB76 strb r3, [r7, #27]
  3933. 1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3934. 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
  3935. 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX(TxMailbox));
  3936. 2419 .loc 1 1437 3
  3937. 2420 0016 3B68 ldr r3, [r7]
  3938. 2421 0018 012B cmp r3, #1
  3939. 2422 001a 0AD0 beq .L134
  3940. 2423 .loc 1 1437 3 is_stmt 0 discriminator 1
  3941. 2424 001c 3B68 ldr r3, [r7]
  3942. 2425 001e 022B cmp r3, #2
  3943. 2426 0020 07D0 beq .L134
  3944. 2427 .loc 1 1437 3 discriminator 2
  3945. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 69
  3946. 2428 0022 3B68 ldr r3, [r7]
  3947. 2429 0024 042B cmp r3, #4
  3948. 2430 0026 04D0 beq .L134
  3949. 2431 .loc 1 1437 3 discriminator 3
  3950. 2432 0028 40F29D51 movw r1, #1437
  3951. 2433 002c 1148 ldr r0, .L139
  3952. 2434 002e FFF7FEFF bl assert_failed
  3953. 2435 .L134:
  3954. 1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  3955. 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  3956. 2436 .loc 1 1439 6 is_stmt 1
  3957. 2437 0032 FB7E ldrb r3, [r7, #27] @ zero_extendqisi2
  3958. 2438 0034 012B cmp r3, #1
  3959. 2439 0036 02D0 beq .L135
  3960. 2440 .loc 1 1439 38 discriminator 1
  3961. 2441 0038 FB7E ldrb r3, [r7, #27] @ zero_extendqisi2
  3962. 2442 003a 022B cmp r3, #2
  3963. 2443 003c 15D1 bne .L136
  3964. 2444 .L135:
  3965. 2445 003e 3B68 ldr r3, [r7]
  3966. 2446 0040 3B61 str r3, [r7, #16]
  3967. 2447 .LBB4:
  3968. 2448 .LBB5:
  3969. 2449 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
  3970. 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
  3971. 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
  3972. 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
  3973. 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
  3974. 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
  3975. 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
  3976. 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
  3977. 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
  3978. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3979. 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
  3980. 11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3981. 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
  3982. 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
  3983. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
  3984. 15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3985. 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
  3986. 17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
  3987. 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
  3988. 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  3989. 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  3990. 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
  3991. 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
  3992. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  3993. 24:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3994. 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  3995. 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
  3996. 27:Drivers/CMSIS/Include/cmsis_gcc.h ****
  3997. 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
  3998. 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  3999. 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  4000. 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  4001. 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  4002. 33:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4003. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 70
  4004. 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
  4005. 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
  4006. 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
  4007. 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4008. 38:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4009. 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
  4010. 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
  4011. 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
  4012. 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4013. 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
  4014. 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
  4015. 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4016. 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
  4017. 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
  4018. 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4019. 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
  4020. 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
  4021. 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4022. 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
  4023. 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
  4024. 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4025. 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
  4026. 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
  4027. 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4028. 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
  4029. 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
  4030. 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4031. 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
  4032. 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
  4033. 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4034. 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
  4035. 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
  4036. 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4037. 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
  4038. 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
  4039. 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4040. 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
  4041. 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  4042. 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  4043. 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  4044. 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
  4045. 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  4046. 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
  4047. 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4048. 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
  4049. 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  4050. 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  4051. 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  4052. 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
  4053. 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  4054. 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
  4055. 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4056. 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
  4057. 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  4058. 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  4059. 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  4060. 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
  4061. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 71
  4062. 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  4063. 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
  4064. 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4065. 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
  4066. 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  4067. 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  4068. 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  4069. 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
  4070. 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  4071. 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
  4072. 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4073. 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
  4074. 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  4075. 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
  4076. 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
  4077. 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
  4078. 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
  4079. 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
  4080. 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4081. 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
  4082. 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
  4083. 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4084. 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
  4085. 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
  4086. 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4087. 116:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4088. 117:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4089. 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
  4090. 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
  4091. 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
  4092. 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  4093. 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4094. 123:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4095. 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4096. 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
  4097. 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
  4098. 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  4099. 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4100. 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
  4101. 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4102. 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
  4103. 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4104. 133:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4105. 134:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4106. 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4107. 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
  4108. 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
  4109. 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  4110. 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4111. 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
  4112. 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4113. 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
  4114. 143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4115. 144:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4116. 145:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4117. 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4118. 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
  4119. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 72
  4120. 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
  4121. 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
  4122. 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4123. 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
  4124. 152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4125. 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4126. 154:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4127. 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
  4128. 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4129. 157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4130. 158:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4131. 159:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4132. 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4133. 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4134. 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
  4135. 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
  4136. 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
  4137. 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4138. 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
  4139. 167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4140. 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4141. 169:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4142. 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
  4143. 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4144. 172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4145. 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4146. 174:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4147. 175:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4148. 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4149. 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
  4150. 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
  4151. 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
  4152. 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4153. 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
  4154. 182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4155. 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
  4156. 184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4157. 185:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4158. 186:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4159. 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4160. 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4161. 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
  4162. 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
  4163. 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
  4164. 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4165. 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
  4166. 194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4167. 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
  4168. 196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4169. 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4170. 198:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4171. 199:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4172. 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4173. 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
  4174. 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
  4175. 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
  4176. 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4177. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 73
  4178. 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
  4179. 206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4180. 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4181. 208:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4182. 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
  4183. 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4184. 211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4185. 212:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4186. 213:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4187. 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4188. 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
  4189. 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
  4190. 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
  4191. 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4192. 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
  4193. 220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4194. 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4195. 222:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4196. 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
  4197. 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4198. 225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4199. 226:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4200. 227:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4201. 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4202. 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
  4203. 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
  4204. 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
  4205. 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4206. 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
  4207. 234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4208. 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4209. 236:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4210. 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
  4211. 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4212. 239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4213. 240:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4214. 241:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4215. 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4216. 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
  4217. 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
  4218. 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
  4219. 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4220. 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
  4221. 248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4222. 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4223. 250:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4224. 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
  4225. 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4226. 253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4227. 254:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4228. 255:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4229. 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4230. 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4231. 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
  4232. 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
  4233. 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
  4234. 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4235. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 74
  4236. 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
  4237. 263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4238. 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4239. 265:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4240. 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
  4241. 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4242. 268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4243. 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4244. 270:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4245. 271:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4246. 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4247. 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
  4248. 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
  4249. 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
  4250. 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4251. 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
  4252. 278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4253. 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
  4254. 280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4255. 281:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4256. 282:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4257. 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4258. 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4259. 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
  4260. 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
  4261. 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
  4262. 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4263. 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
  4264. 290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4265. 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
  4266. 292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4267. 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4268. 294:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4269. 295:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4270. 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4271. 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
  4272. 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
  4273. 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
  4274. 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4275. 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
  4276. 302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4277. 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4278. 304:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4279. 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
  4280. 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4281. 307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4282. 308:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4283. 309:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4284. 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4285. 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4286. 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
  4287. 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
  4288. 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
  4289. 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4290. 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
  4291. 317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4292. 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4293. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 75
  4294. 319:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4295. 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
  4296. 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4297. 322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4298. 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4299. 324:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4300. 325:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4301. 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4302. 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
  4303. 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
  4304. 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
  4305. 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4306. 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
  4307. 332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4308. 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
  4309. 334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4310. 335:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4311. 336:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4312. 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4313. 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4314. 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure)
  4315. 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
  4316. 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
  4317. 342:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4318. 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
  4319. 344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4320. 345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
  4321. 346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4322. 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4323. 348:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4324. 349:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4325. 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4326. 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4327. 352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure)
  4328. 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
  4329. 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value
  4330. 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4331. 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
  4332. 357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4333. 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4334. 359:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4335. 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
  4336. 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4337. 362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4338. 363:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4339. 364:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4340. 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4341. 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure)
  4342. 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
  4343. 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set
  4344. 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4345. 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
  4346. 371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4347. 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
  4348. 373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4349. 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4350. 375:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4351. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 76
  4352. 376:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4353. 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4354. 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask
  4355. 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register.
  4356. 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
  4357. 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4358. 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
  4359. 383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4360. 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4361. 385:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4362. 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
  4363. 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4364. 388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4365. 389:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4366. 390:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4367. 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4368. 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4369. 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure)
  4370. 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
  4371. 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
  4372. 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4373. 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
  4374. 398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4375. 399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4376. 400:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4377. 401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
  4378. 402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4379. 403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4380. 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4381. 405:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4382. 406:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4383. 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4384. 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask
  4385. 409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register.
  4386. 410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
  4387. 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4388. 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
  4389. 413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4390. 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
  4391. 415:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4392. 416:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4393. 417:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4394. 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4395. 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4396. 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure)
  4397. 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
  4398. 422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
  4399. 423:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4400. 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
  4401. 425:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4402. 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
  4403. 427:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4404. 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4405. 429:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4406. 430:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4407. 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  4408. 432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  4409. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 77
  4410. 433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  4411. 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4412. 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ
  4413. 436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
  4414. 437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  4415. 438:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4416. 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
  4417. 440:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4418. 441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory");
  4419. 442:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4420. 443:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4421. 444:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4422. 445:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4423. 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ
  4424. 447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR.
  4425. 448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
  4426. 449:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4427. 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
  4428. 451:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4429. 452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory");
  4430. 453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4431. 454:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4432. 455:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4433. 456:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4434. 457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority
  4435. 458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register.
  4436. 459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
  4437. 460:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4438. 461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
  4439. 462:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4440. 463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4441. 464:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4442. 465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) );
  4443. 466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4444. 467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4445. 468:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4446. 469:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4447. 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4448. 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4449. 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure)
  4450. 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state.
  4451. 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
  4452. 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4453. 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
  4454. 477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4455. 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4456. 479:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4457. 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
  4458. 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4459. 482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4460. 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4461. 484:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4462. 485:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4463. 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4464. 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority
  4465. 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register.
  4466. 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  4467. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 78
  4468. 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4469. 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
  4470. 492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4471. 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
  4472. 494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4473. 495:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4474. 496:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4475. 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4476. 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4477. 499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure)
  4478. 500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state.
  4479. 501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  4480. 502:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4481. 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
  4482. 504:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4483. 505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
  4484. 506:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4485. 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4486. 508:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4487. 509:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4488. 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4489. 511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition
  4490. 512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
  4491. 513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level.
  4492. 514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
  4493. 515:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4494. 516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
  4495. 517:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4496. 518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
  4497. 519:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4498. 520:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4499. 521:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4500. 522:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4501. 523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask
  4502. 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register.
  4503. 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
  4504. 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4505. 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
  4506. 528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4507. 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4508. 530:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4509. 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
  4510. 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4511. 533:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4512. 534:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4513. 535:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4514. 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4515. 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4516. 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure)
  4517. 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state.
  4518. 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
  4519. 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4520. 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
  4521. 543:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4522. 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4523. 545:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4524. 546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
  4525. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 79
  4526. 547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4527. 548:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4528. 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4529. 550:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4530. 551:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4531. 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4532. 553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask
  4533. 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register.
  4534. 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
  4535. 556:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4536. 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
  4537. 558:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4538. 559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
  4539. 560:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4540. 561:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4541. 562:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4542. 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4543. 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4544. 565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure)
  4545. 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state.
  4546. 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
  4547. 568:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4548. 569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
  4549. 570:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4550. 571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
  4551. 572:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4552. 573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4553. 574:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4554. 575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  4555. 576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  4556. 577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
  4557. 578:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4558. 579:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4559. 580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  4560. 581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
  4561. 582:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4562. 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4563. 584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit
  4564. 585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4565. 586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
  4566. 587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  4567. 588:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4568. 589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
  4569. 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
  4570. 591:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4571. 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
  4572. 593:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4573. 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  4574. 595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  4575. 596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  4576. 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  4577. 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4578. 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4579. 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) );
  4580. 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4581. 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4582. 603:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4583. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 80
  4584. 604:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4585. 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
  4586. 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4587. 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure)
  4588. 608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4589. 609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
  4590. 610:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4591. 611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
  4592. 612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
  4593. 613:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4594. 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
  4595. 615:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4596. 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  4597. 617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  4598. 618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  4599. 619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4600. 620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4601. 621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) );
  4602. 622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4603. 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4604. 624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4605. 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4606. 626:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4607. 627:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4608. 628:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4609. 629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit
  4610. 630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4611. 631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
  4612. 632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  4613. 633:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4614. 634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
  4615. 635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
  4616. 636:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4617. 637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
  4618. 638:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4619. 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  4620. 640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  4621. 641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  4622. 642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
  4623. 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4624. 644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
  4625. 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4626. 646:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4627. 647:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4628. 648:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4629. 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4630. 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4631. 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
  4632. 652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4633. 653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
  4634. 654:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4635. 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
  4636. 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
  4637. 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4638. 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
  4639. 659:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4640. 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  4641. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 81
  4642. 661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
  4643. 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
  4644. 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4645. 664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
  4646. 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4647. 666:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4648. 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4649. 668:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4650. 669:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4651. 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4652. 671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit
  4653. 672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4654. 673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
  4655. 674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  4656. 675:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4657. 676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
  4658. 677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
  4659. 678:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4660. 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
  4661. 680:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4662. 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  4663. 682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  4664. 683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  4665. 684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  4666. 685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4667. 686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4668. 687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) );
  4669. 688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4670. 689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4671. 690:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4672. 691:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4673. 692:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4674. 693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4675. 694:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4676. 695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure)
  4677. 696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4678. 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
  4679. 698:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4680. 699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
  4681. 700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
  4682. 701:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4683. 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
  4684. 703:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4685. 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  4686. 705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  4687. 706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
  4688. 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4689. 708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4690. 709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
  4691. 710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4692. 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4693. 712:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4694. 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4695. 714:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4696. 715:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4697. 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4698. 717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit
  4699. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 82
  4700. 718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4701. 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
  4702. 720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
  4703. 721:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4704. 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
  4705. 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set
  4706. 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4707. 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
  4708. 726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4709. 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
  4710. 728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
  4711. 729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  4712. 730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
  4713. 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4714. 732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
  4715. 733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4716. 734:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4717. 735:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4718. 736:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4719. 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
  4720. 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4721. 739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure)
  4722. 740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
  4723. 741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
  4724. 742:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4725. 743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
  4726. 744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set
  4727. 745:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4728. 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
  4729. 747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4730. 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
  4731. 749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
  4732. 750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
  4733. 751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4734. 752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
  4735. 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4736. 754:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4737. 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4738. 756:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4739. 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  4740. 758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
  4741. 759:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4742. 760:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4743. 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4744. 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR
  4745. 763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register.
  4746. 764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value
  4747. 765:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4748. 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
  4749. 767:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4750. 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
  4751. 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
  4752. 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr)
  4753. 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
  4754. 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
  4755. 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
  4756. 774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr();
  4757. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 83
  4758. 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4759. 776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4760. 777:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4761. 778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
  4762. 779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
  4763. 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4764. 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4765. 782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U);
  4766. 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4767. 784:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4768. 785:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4769. 786:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4770. 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4771. 788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR
  4772. 789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register.
  4773. 790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set
  4774. 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4775. 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
  4776. 793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4777. 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
  4778. 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
  4779. 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
  4780. 797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
  4781. 798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
  4782. 799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
  4783. 800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr);
  4784. 801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4785. 802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
  4786. 803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4787. 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4788. 805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr;
  4789. 806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4790. 807:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4791. 808:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4792. 809:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4793. 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
  4794. 811:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4795. 812:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4796. 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */
  4797. 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
  4798. 815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions
  4799. 816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
  4800. 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4801. 818:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4802. 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
  4803. 820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l"
  4804. 821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */
  4805. 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
  4806. 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
  4807. 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
  4808. 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
  4809. 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4810. 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
  4811. 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
  4812. 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
  4813. 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4814. 831:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4815. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 84
  4816. 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4817. 833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation
  4818. 834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes.
  4819. 835:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4820. 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop")
  4821. 837:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4822. 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4823. 839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt
  4824. 840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
  4825. 841:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4826. 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi")
  4827. 843:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4828. 844:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4829. 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4830. 846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event
  4831. 847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter
  4832. 848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs.
  4833. 849:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4834. 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe")
  4835. 851:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4836. 852:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4837. 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4838. 854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
  4839. 855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
  4840. 856:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4841. 857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev")
  4842. 858:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4843. 859:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4844. 860:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4845. 861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier
  4846. 862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor,
  4847. 863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory,
  4848. 864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed.
  4849. 865:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4850. 866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
  4851. 867:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4852. 868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory");
  4853. 869:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4854. 870:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4855. 871:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4856. 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4857. 873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier
  4858. 874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier.
  4859. 875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete.
  4860. 876:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4861. 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
  4862. 878:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4863. 879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory");
  4864. 880:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4865. 881:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4866. 882:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4867. 883:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4868. 884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier
  4869. 885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before
  4870. 886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion.
  4871. 887:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4872. 888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
  4873. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 85
  4874. 889:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4875. 890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory");
  4876. 891:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4877. 892:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4878. 893:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4879. 894:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4880. 895:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit)
  4881. 896:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785
  4882. 897:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4883. 898:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4884. 899:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4885. 900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
  4886. 901:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4887. 902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
  4888. 903:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value);
  4889. 904:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4890. 905:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4891. 906:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4892. 907:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  4893. 908:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4894. 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4895. 910:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4896. 911:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4897. 912:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4898. 913:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4899. 914:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
  4900. 915:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes
  4901. 916:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4902. 917:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4903. 918:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4904. 919:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
  4905. 920:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4906. 921:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4907. 922:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4908. 923:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  4909. 924:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4910. 925:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4911. 926:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4912. 927:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4913. 928:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4914. 929:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
  4915. 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
  4916. 931:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4917. 932:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4918. 933:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4919. 934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
  4920. 935:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4921. 936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
  4922. 937:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value);
  4923. 938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4924. 939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result;
  4925. 940:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4926. 941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
  4927. 942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4928. 943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4929. 944:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4930. 945:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4931. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 86
  4932. 946:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4933. 947:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4934. 948:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit)
  4935. 949:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v
  4936. 950:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate
  4937. 951:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate
  4938. 952:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value
  4939. 953:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4940. 954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
  4941. 955:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4942. 956:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U;
  4943. 957:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U)
  4944. 958:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4945. 959:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1;
  4946. 960:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4947. 961:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2));
  4948. 962:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4949. 963:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4950. 964:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4951. 965:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4952. 966:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint
  4953. 967:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state.
  4954. 968:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula
  4955. 969:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor.
  4956. 970:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break
  4957. 971:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4958. 972:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value)
  4959. 973:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4960. 974:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4961. 975:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
  4962. 976:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value
  4963. 977:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value.
  4964. 978:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
  4965. 979:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
  4966. 980:Drivers/CMSIS/Include/cmsis_gcc.h **** */
  4967. 981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
  4968. 982:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4969. 983:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
  4970. 984:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4971. 985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  4972. 986:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  4973. 987:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  4974. 988:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
  4975. 2450 .loc 2 988 4
  4976. 2451 0042 3B69 ldr r3, [r7, #16]
  4977. 2452 .syntax unified
  4978. 2453 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
  4979. 2454 0044 93FAA3F3 rbit r3, r3
  4980. 2455 @ 0 "" 2
  4981. 2456 .thumb
  4982. 2457 .syntax unified
  4983. 2458 0048 FB60 str r3, [r7, #12]
  4984. 989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
  4985. 990:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
  4986. 991:Drivers/CMSIS/Include/cmsis_gcc.h ****
  4987. 992:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */
  4988. 993:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U)
  4989. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 87
  4990. 994:Drivers/CMSIS/Include/cmsis_gcc.h **** {
  4991. 995:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U;
  4992. 996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U;
  4993. 997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--;
  4994. 998:Drivers/CMSIS/Include/cmsis_gcc.h **** }
  4995. 999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */
  4996. 1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  4997. 1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
  4998. 2459 .loc 2 1001 10
  4999. 2460 004a FB68 ldr r3, [r7, #12]
  5000. 2461 .LBE5:
  5001. 2462 .LBE4:
  5002. 1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5003. 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5004. 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Select the Tx mailbox */
  5005. 1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** transmitmailbox = POSITION_VAL(TxMailbox);
  5006. 2463 .loc 1 1443 23
  5007. 2464 004c B3FA83F3 clz r3, r3
  5008. 2465 0050 DBB2 uxtb r3, r3
  5009. 2466 .loc 1 1443 21
  5010. 2467 0052 7B61 str r3, [r7, #20]
  5011. 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5012. 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get timestamp */
  5013. 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** timestamp = (hcan->Instance->sTxMailBox[transmitmailbox].TDTR & CAN_TDT0R_TIME) >> CAN_TDT0R_TI
  5014. 2468 .loc 1 1446 22
  5015. 2469 0054 7B68 ldr r3, [r7, #4]
  5016. 2470 0056 1A68 ldr r2, [r3]
  5017. 2471 .loc 1 1446 61
  5018. 2472 0058 7B69 ldr r3, [r7, #20]
  5019. 2473 005a 1833 adds r3, r3, #24
  5020. 2474 005c 1B01 lsls r3, r3, #4
  5021. 2475 005e 1344 add r3, r3, r2
  5022. 2476 0060 0433 adds r3, r3, #4
  5023. 2477 0062 1B68 ldr r3, [r3]
  5024. 2478 .loc 1 1446 85
  5025. 2479 0064 1B0C lsrs r3, r3, #16
  5026. 2480 .loc 1 1446 15
  5027. 2481 0066 9BB2 uxth r3, r3
  5028. 2482 0068 FB61 str r3, [r7, #28]
  5029. 2483 .L136:
  5030. 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5031. 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5032. 1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return the timestamp */
  5033. 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return timestamp;
  5034. 2484 .loc 1 1450 10
  5035. 2485 006a FB69 ldr r3, [r7, #28]
  5036. 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5037. 2486 .loc 1 1451 1
  5038. 2487 006c 1846 mov r0, r3
  5039. 2488 006e 2037 adds r7, r7, #32
  5040. 2489 .LCFI79:
  5041. 2490 .cfi_def_cfa_offset 8
  5042. 2491 0070 BD46 mov sp, r7
  5043. 2492 .LCFI80:
  5044. 2493 .cfi_def_cfa_register 13
  5045. 2494 @ sp needed
  5046. 2495 0072 80BD pop {r7, pc}
  5047. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 88
  5048. 2496 .L140:
  5049. 2497 .align 2
  5050. 2498 .L139:
  5051. 2499 0074 00000000 .word .LC0
  5052. 2500 .cfi_endproc
  5053. 2501 .LFE144:
  5054. 2503 .section .text.HAL_CAN_GetRxMessage,"ax",%progbits
  5055. 2504 .align 1
  5056. 2505 .global HAL_CAN_GetRxMessage
  5057. 2506 .syntax unified
  5058. 2507 .thumb
  5059. 2508 .thumb_func
  5060. 2510 HAL_CAN_GetRxMessage:
  5061. 2511 .LFB145:
  5062. 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5063. 1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  5064. 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Get an CAN frame from the Rx FIFO zone into the message RAM.
  5065. 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  5066. 1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  5067. 1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param RxFifo Fifo number of the received message to be read.
  5068. 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be a value of @arg CAN_receive_FIFO_number.
  5069. 1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pHeader pointer to a CAN_RxHeaderTypeDef structure where the header
  5070. 1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * of the Rx frame will be stored.
  5071. 1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param aData array where the payload of the Rx frame will be stored.
  5072. 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  5073. 1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  5074. 1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_GetRxMessage(CAN_HandleTypeDef *hcan, uint32_t RxFifo,
  5075. 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CAN_RxHeaderTypeDef *pHeader, uint8_t aData[])
  5076. 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5077. 2512 .loc 1 1466 1
  5078. 2513 .cfi_startproc
  5079. 2514 @ args = 0, pretend = 0, frame = 24
  5080. 2515 @ frame_needed = 1, uses_anonymous_args = 0
  5081. 2516 0000 80B5 push {r7, lr}
  5082. 2517 .LCFI81:
  5083. 2518 .cfi_def_cfa_offset 8
  5084. 2519 .cfi_offset 7, -8
  5085. 2520 .cfi_offset 14, -4
  5086. 2521 0002 86B0 sub sp, sp, #24
  5087. 2522 .LCFI82:
  5088. 2523 .cfi_def_cfa_offset 32
  5089. 2524 0004 00AF add r7, sp, #0
  5090. 2525 .LCFI83:
  5091. 2526 .cfi_def_cfa_register 7
  5092. 2527 0006 F860 str r0, [r7, #12]
  5093. 2528 0008 B960 str r1, [r7, #8]
  5094. 2529 000a 7A60 str r2, [r7, #4]
  5095. 2530 000c 3B60 str r3, [r7]
  5096. 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5097. 2531 .loc 1 1467 24
  5098. 2532 000e FB68 ldr r3, [r7, #12]
  5099. 2533 0010 93F82030 ldrb r3, [r3, #32]
  5100. 2534 0014 FB75 strb r3, [r7, #23]
  5101. 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5102. 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_RX_FIFO(RxFifo));
  5103. 2535 .loc 1 1469 3
  5104. 2536 0016 BB68 ldr r3, [r7, #8]
  5105. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 89
  5106. 2537 0018 002B cmp r3, #0
  5107. 2538 001a 07D0 beq .L142
  5108. 2539 .loc 1 1469 3 is_stmt 0 discriminator 1
  5109. 2540 001c BB68 ldr r3, [r7, #8]
  5110. 2541 001e 012B cmp r3, #1
  5111. 2542 0020 04D0 beq .L142
  5112. 2543 .loc 1 1469 3 discriminator 2
  5113. 2544 0022 40F2BD51 movw r1, #1469
  5114. 2545 0026 8C48 ldr r0, .L154
  5115. 2546 0028 FFF7FEFF bl assert_failed
  5116. 2547 .L142:
  5117. 1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5118. 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  5119. 2548 .loc 1 1471 6 is_stmt 1
  5120. 2549 002c FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  5121. 2550 002e 012B cmp r3, #1
  5122. 2551 0030 03D0 beq .L143
  5123. 2552 .loc 1 1471 38 discriminator 1
  5124. 2553 0032 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  5125. 2554 0034 022B cmp r3, #2
  5126. 2555 0036 40F00381 bne .L144
  5127. 2556 .L143:
  5128. 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5129. 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5130. 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the Rx FIFO */
  5131. 1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
  5132. 2557 .loc 1 1475 8
  5133. 2558 003a BB68 ldr r3, [r7, #8]
  5134. 2559 003c 002B cmp r3, #0
  5135. 2560 003e 0ED1 bne .L145
  5136. 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5137. 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check that the Rx FIFO 0 is not empty */
  5138. 1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) == 0U)
  5139. 2561 .loc 1 1478 16
  5140. 2562 0040 FB68 ldr r3, [r7, #12]
  5141. 2563 0042 1B68 ldr r3, [r3]
  5142. 2564 .loc 1 1478 26
  5143. 2565 0044 DB68 ldr r3, [r3, #12]
  5144. 2566 .loc 1 1478 33
  5145. 2567 0046 03F00303 and r3, r3, #3
  5146. 2568 .loc 1 1478 10
  5147. 2569 004a 002B cmp r3, #0
  5148. 2570 004c 16D1 bne .L146
  5149. 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5150. 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  5151. 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
  5152. 2571 .loc 1 1481 25
  5153. 2572 004e FB68 ldr r3, [r7, #12]
  5154. 2573 0050 5B6A ldr r3, [r3, #36]
  5155. 2574 0052 43F40012 orr r2, r3, #2097152
  5156. 2575 0056 FB68 ldr r3, [r7, #12]
  5157. 2576 0058 5A62 str r2, [r3, #36]
  5158. 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5159. 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  5160. 2577 .loc 1 1483 16
  5161. 2578 005a 0123 movs r3, #1
  5162. 2579 005c F7E0 b .L147
  5163. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 90
  5164. 2580 .L145:
  5165. 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5166. 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5167. 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* Rx element is assigned to Rx FIFO 1 */
  5168. 1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5169. 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check that the Rx FIFO 1 is not empty */
  5170. 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) == 0U)
  5171. 2581 .loc 1 1489 16
  5172. 2582 005e FB68 ldr r3, [r7, #12]
  5173. 2583 0060 1B68 ldr r3, [r3]
  5174. 2584 .loc 1 1489 26
  5175. 2585 0062 1B69 ldr r3, [r3, #16]
  5176. 2586 .loc 1 1489 33
  5177. 2587 0064 03F00303 and r3, r3, #3
  5178. 2588 .loc 1 1489 10
  5179. 2589 0068 002B cmp r3, #0
  5180. 2590 006a 07D1 bne .L146
  5181. 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5182. 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  5183. 1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
  5184. 2591 .loc 1 1492 25
  5185. 2592 006c FB68 ldr r3, [r7, #12]
  5186. 2593 006e 5B6A ldr r3, [r3, #36]
  5187. 2594 0070 43F40012 orr r2, r3, #2097152
  5188. 2595 0074 FB68 ldr r3, [r7, #12]
  5189. 2596 0076 5A62 str r2, [r3, #36]
  5190. 1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5191. 1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  5192. 2597 .loc 1 1494 16
  5193. 2598 0078 0123 movs r3, #1
  5194. 2599 007a E8E0 b .L147
  5195. 2600 .L146:
  5196. 1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5197. 1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5198. 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5199. 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get the header */
  5200. 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE = CAN_RI0R_IDE & hcan->Instance->sFIFOMailBox[RxFifo].RIR;
  5201. 2601 .loc 1 1499 39
  5202. 2602 007c FB68 ldr r3, [r7, #12]
  5203. 2603 007e 1A68 ldr r2, [r3]
  5204. 2604 .loc 1 1499 71
  5205. 2605 0080 BB68 ldr r3, [r7, #8]
  5206. 2606 0082 1B33 adds r3, r3, #27
  5207. 2607 0084 1B01 lsls r3, r3, #4
  5208. 2608 0086 1344 add r3, r3, r2
  5209. 2609 0088 1B68 ldr r3, [r3]
  5210. 2610 .loc 1 1499 33
  5211. 2611 008a 03F00402 and r2, r3, #4
  5212. 2612 .loc 1 1499 18
  5213. 2613 008e 7B68 ldr r3, [r7, #4]
  5214. 2614 0090 9A60 str r2, [r3, #8]
  5215. 1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
  5216. 2615 .loc 1 1500 16
  5217. 2616 0092 7B68 ldr r3, [r7, #4]
  5218. 2617 0094 9B68 ldr r3, [r3, #8]
  5219. 2618 .loc 1 1500 8
  5220. 2619 0096 002B cmp r3, #0
  5221. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 91
  5222. 2620 0098 0CD1 bne .L148
  5223. 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5224. 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->StdId = (CAN_RI0R_STID & hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_TI0R_STID_
  5225. 2621 .loc 1 1502 45
  5226. 2622 009a FB68 ldr r3, [r7, #12]
  5227. 2623 009c 1A68 ldr r2, [r3]
  5228. 2624 .loc 1 1502 77
  5229. 2625 009e BB68 ldr r3, [r7, #8]
  5230. 2626 00a0 1B33 adds r3, r3, #27
  5231. 2627 00a2 1B01 lsls r3, r3, #4
  5232. 2628 00a4 1344 add r3, r3, r2
  5233. 2629 00a6 1B68 ldr r3, [r3]
  5234. 2630 .loc 1 1502 83
  5235. 2631 00a8 5B0D lsrs r3, r3, #21
  5236. 2632 00aa C3F30A02 ubfx r2, r3, #0, #11
  5237. 2633 .loc 1 1502 22
  5238. 2634 00ae 7B68 ldr r3, [r7, #4]
  5239. 2635 00b0 1A60 str r2, [r3]
  5240. 2636 00b2 0BE0 b .L149
  5241. 2637 .L148:
  5242. 1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5243. 1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  5244. 1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5245. 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->ExtId = ((CAN_RI0R_EXID | CAN_RI0R_STID) &
  5246. 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
  5247. 2638 .loc 1 1507 29
  5248. 2639 00b4 FB68 ldr r3, [r7, #12]
  5249. 2640 00b6 1A68 ldr r2, [r3]
  5250. 2641 .loc 1 1507 61
  5251. 2642 00b8 BB68 ldr r3, [r7, #8]
  5252. 2643 00ba 1B33 adds r3, r3, #27
  5253. 2644 00bc 1B01 lsls r3, r3, #4
  5254. 2645 00be 1344 add r3, r3, r2
  5255. 2646 00c0 1B68 ldr r3, [r3]
  5256. 2647 .loc 1 1507 67
  5257. 2648 00c2 DB08 lsrs r3, r3, #3
  5258. 2649 00c4 23F06042 bic r2, r3, #-536870912
  5259. 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
  5260. 2650 .loc 1 1506 22
  5261. 2651 00c8 7B68 ldr r3, [r7, #4]
  5262. 2652 00ca 5A60 str r2, [r3, #4]
  5263. 2653 .L149:
  5264. 1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5265. 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR = (CAN_RI0R_RTR & hcan->Instance->sFIFOMailBox[RxFifo].RIR);
  5266. 2654 .loc 1 1509 40
  5267. 2655 00cc FB68 ldr r3, [r7, #12]
  5268. 2656 00ce 1A68 ldr r2, [r3]
  5269. 2657 .loc 1 1509 72
  5270. 2658 00d0 BB68 ldr r3, [r7, #8]
  5271. 2659 00d2 1B33 adds r3, r3, #27
  5272. 2660 00d4 1B01 lsls r3, r3, #4
  5273. 2661 00d6 1344 add r3, r3, r2
  5274. 2662 00d8 1B68 ldr r3, [r3]
  5275. 2663 .loc 1 1509 34
  5276. 2664 00da 03F00202 and r2, r3, #2
  5277. 2665 .loc 1 1509 18
  5278. 2666 00de 7B68 ldr r3, [r7, #4]
  5279. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 92
  5280. 2667 00e0 DA60 str r2, [r3, #12]
  5281. 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos) >= 8U)
  5282. 2668 .loc 1 1510 31
  5283. 2669 00e2 FB68 ldr r3, [r7, #12]
  5284. 2670 00e4 1A68 ldr r2, [r3]
  5285. 2671 .loc 1 1510 63
  5286. 2672 00e6 BB68 ldr r3, [r7, #8]
  5287. 2673 00e8 1B33 adds r3, r3, #27
  5288. 2674 00ea 1B01 lsls r3, r3, #4
  5289. 2675 00ec 1344 add r3, r3, r2
  5290. 2676 00ee 0433 adds r3, r3, #4
  5291. 2677 00f0 1B68 ldr r3, [r3]
  5292. 2678 .loc 1 1510 92
  5293. 2679 00f2 03F00803 and r3, r3, #8
  5294. 2680 .loc 1 1510 8
  5295. 2681 00f6 002B cmp r3, #0
  5296. 2682 00f8 03D0 beq .L150
  5297. 1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5298. 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Truncate DLC to 8 if received field is over range */
  5299. 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->DLC = 8U;
  5300. 2683 .loc 1 1513 20
  5301. 2684 00fa 7B68 ldr r3, [r7, #4]
  5302. 2685 00fc 0822 movs r2, #8
  5303. 2686 00fe 1A61 str r2, [r3, #16]
  5304. 2687 0100 0BE0 b .L151
  5305. 2688 .L150:
  5306. 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5307. 1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  5308. 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5309. 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->DLC = (CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_P
  5310. 2689 .loc 1 1517 43
  5311. 2690 0102 FB68 ldr r3, [r7, #12]
  5312. 2691 0104 1A68 ldr r2, [r3]
  5313. 2692 .loc 1 1517 75
  5314. 2693 0106 BB68 ldr r3, [r7, #8]
  5315. 2694 0108 1B33 adds r3, r3, #27
  5316. 2695 010a 1B01 lsls r3, r3, #4
  5317. 2696 010c 1344 add r3, r3, r2
  5318. 2697 010e 0433 adds r3, r3, #4
  5319. 2698 0110 1B68 ldr r3, [r3]
  5320. 2699 .loc 1 1517 82
  5321. 2700 0112 03F00F02 and r2, r3, #15
  5322. 2701 .loc 1 1517 20
  5323. 2702 0116 7B68 ldr r3, [r7, #4]
  5324. 2703 0118 1A61 str r2, [r3, #16]
  5325. 2704 .L151:
  5326. 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5327. 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->FilterMatchIndex = (CAN_RDT0R_FMI & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_
  5328. 2705 .loc 1 1519 54
  5329. 2706 011a FB68 ldr r3, [r7, #12]
  5330. 2707 011c 1A68 ldr r2, [r3]
  5331. 2708 .loc 1 1519 86
  5332. 2709 011e BB68 ldr r3, [r7, #8]
  5333. 2710 0120 1B33 adds r3, r3, #27
  5334. 2711 0122 1B01 lsls r3, r3, #4
  5335. 2712 0124 1344 add r3, r3, r2
  5336. 2713 0126 0433 adds r3, r3, #4
  5337. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 93
  5338. 2714 0128 1B68 ldr r3, [r3]
  5339. 2715 .loc 1 1519 93
  5340. 2716 012a 1B0A lsrs r3, r3, #8
  5341. 2717 012c DAB2 uxtb r2, r3
  5342. 2718 .loc 1 1519 31
  5343. 2719 012e 7B68 ldr r3, [r7, #4]
  5344. 2720 0130 9A61 str r2, [r3, #24]
  5345. 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->Timestamp = (CAN_RDT0R_TIME & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_
  5346. 2721 .loc 1 1520 48
  5347. 2722 0132 FB68 ldr r3, [r7, #12]
  5348. 2723 0134 1A68 ldr r2, [r3]
  5349. 2724 .loc 1 1520 80
  5350. 2725 0136 BB68 ldr r3, [r7, #8]
  5351. 2726 0138 1B33 adds r3, r3, #27
  5352. 2727 013a 1B01 lsls r3, r3, #4
  5353. 2728 013c 1344 add r3, r3, r2
  5354. 2729 013e 0433 adds r3, r3, #4
  5355. 2730 0140 1B68 ldr r3, [r3]
  5356. 2731 .loc 1 1520 87
  5357. 2732 0142 1B0C lsrs r3, r3, #16
  5358. 2733 0144 9AB2 uxth r2, r3
  5359. 2734 .loc 1 1520 24
  5360. 2735 0146 7B68 ldr r3, [r7, #4]
  5361. 2736 0148 5A61 str r2, [r3, #20]
  5362. 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5363. 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get the data */
  5364. 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[0] = (uint8_t)((CAN_RDL0R_DATA0 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5365. 2737 .loc 1 1523 49
  5366. 2738 014a FB68 ldr r3, [r7, #12]
  5367. 2739 014c 1A68 ldr r2, [r3]
  5368. 2740 .loc 1 1523 81
  5369. 2741 014e BB68 ldr r3, [r7, #8]
  5370. 2742 0150 1B01 lsls r3, r3, #4
  5371. 2743 0152 1344 add r3, r3, r2
  5372. 2744 0154 03F5DC73 add r3, r3, #440
  5373. 2745 0158 1B68 ldr r3, [r3]
  5374. 2746 .loc 1 1523 16
  5375. 2747 015a DAB2 uxtb r2, r3
  5376. 2748 .loc 1 1523 14
  5377. 2749 015c 3B68 ldr r3, [r7]
  5378. 2750 015e 1A70 strb r2, [r3]
  5379. 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[1] = (uint8_t)((CAN_RDL0R_DATA1 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5380. 2751 .loc 1 1524 49
  5381. 2752 0160 FB68 ldr r3, [r7, #12]
  5382. 2753 0162 1A68 ldr r2, [r3]
  5383. 2754 .loc 1 1524 81
  5384. 2755 0164 BB68 ldr r3, [r7, #8]
  5385. 2756 0166 1B01 lsls r3, r3, #4
  5386. 2757 0168 1344 add r3, r3, r2
  5387. 2758 016a 03F5DC73 add r3, r3, #440
  5388. 2759 016e 1B68 ldr r3, [r3]
  5389. 2760 .loc 1 1524 88
  5390. 2761 0170 1A0A lsrs r2, r3, #8
  5391. 2762 .loc 1 1524 10
  5392. 2763 0172 3B68 ldr r3, [r7]
  5393. 2764 0174 0133 adds r3, r3, #1
  5394. 2765 .loc 1 1524 16
  5395. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 94
  5396. 2766 0176 D2B2 uxtb r2, r2
  5397. 2767 .loc 1 1524 14
  5398. 2768 0178 1A70 strb r2, [r3]
  5399. 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5400. 2769 .loc 1 1525 49
  5401. 2770 017a FB68 ldr r3, [r7, #12]
  5402. 2771 017c 1A68 ldr r2, [r3]
  5403. 2772 .loc 1 1525 81
  5404. 2773 017e BB68 ldr r3, [r7, #8]
  5405. 2774 0180 1B01 lsls r3, r3, #4
  5406. 2775 0182 1344 add r3, r3, r2
  5407. 2776 0184 03F5DC73 add r3, r3, #440
  5408. 2777 0188 1B68 ldr r3, [r3]
  5409. 2778 .loc 1 1525 88
  5410. 2779 018a 1A0C lsrs r2, r3, #16
  5411. 2780 .loc 1 1525 10
  5412. 2781 018c 3B68 ldr r3, [r7]
  5413. 2782 018e 0233 adds r3, r3, #2
  5414. 2783 .loc 1 1525 16
  5415. 2784 0190 D2B2 uxtb r2, r2
  5416. 2785 .loc 1 1525 14
  5417. 2786 0192 1A70 strb r2, [r3]
  5418. 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
  5419. 2787 .loc 1 1526 49
  5420. 2788 0194 FB68 ldr r3, [r7, #12]
  5421. 2789 0196 1A68 ldr r2, [r3]
  5422. 2790 .loc 1 1526 81
  5423. 2791 0198 BB68 ldr r3, [r7, #8]
  5424. 2792 019a 1B01 lsls r3, r3, #4
  5425. 2793 019c 1344 add r3, r3, r2
  5426. 2794 019e 03F5DC73 add r3, r3, #440
  5427. 2795 01a2 1B68 ldr r3, [r3]
  5428. 2796 .loc 1 1526 88
  5429. 2797 01a4 1A0E lsrs r2, r3, #24
  5430. 2798 .loc 1 1526 10
  5431. 2799 01a6 3B68 ldr r3, [r7]
  5432. 2800 01a8 0333 adds r3, r3, #3
  5433. 2801 .loc 1 1526 16
  5434. 2802 01aa D2B2 uxtb r2, r2
  5435. 2803 .loc 1 1526 14
  5436. 2804 01ac 1A70 strb r2, [r3]
  5437. 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5438. 2805 .loc 1 1527 49
  5439. 2806 01ae FB68 ldr r3, [r7, #12]
  5440. 2807 01b0 1A68 ldr r2, [r3]
  5441. 2808 .loc 1 1527 81
  5442. 2809 01b2 BB68 ldr r3, [r7, #8]
  5443. 2810 01b4 1B01 lsls r3, r3, #4
  5444. 2811 01b6 1344 add r3, r3, r2
  5445. 2812 01b8 03F5DE73 add r3, r3, #444
  5446. 2813 01bc 1A68 ldr r2, [r3]
  5447. 2814 .loc 1 1527 10
  5448. 2815 01be 3B68 ldr r3, [r7]
  5449. 2816 01c0 0433 adds r3, r3, #4
  5450. 2817 .loc 1 1527 16
  5451. 2818 01c2 D2B2 uxtb r2, r2
  5452. 2819 .loc 1 1527 14
  5453. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 95
  5454. 2820 01c4 1A70 strb r2, [r3]
  5455. 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[5] = (uint8_t)((CAN_RDH0R_DATA5 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5456. 2821 .loc 1 1528 49
  5457. 2822 01c6 FB68 ldr r3, [r7, #12]
  5458. 2823 01c8 1A68 ldr r2, [r3]
  5459. 2824 .loc 1 1528 81
  5460. 2825 01ca BB68 ldr r3, [r7, #8]
  5461. 2826 01cc 1B01 lsls r3, r3, #4
  5462. 2827 01ce 1344 add r3, r3, r2
  5463. 2828 01d0 03F5DE73 add r3, r3, #444
  5464. 2829 01d4 1B68 ldr r3, [r3]
  5465. 2830 .loc 1 1528 88
  5466. 2831 01d6 1A0A lsrs r2, r3, #8
  5467. 2832 .loc 1 1528 10
  5468. 2833 01d8 3B68 ldr r3, [r7]
  5469. 2834 01da 0533 adds r3, r3, #5
  5470. 2835 .loc 1 1528 16
  5471. 2836 01dc D2B2 uxtb r2, r2
  5472. 2837 .loc 1 1528 14
  5473. 2838 01de 1A70 strb r2, [r3]
  5474. 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5475. 2839 .loc 1 1529 49
  5476. 2840 01e0 FB68 ldr r3, [r7, #12]
  5477. 2841 01e2 1A68 ldr r2, [r3]
  5478. 2842 .loc 1 1529 81
  5479. 2843 01e4 BB68 ldr r3, [r7, #8]
  5480. 2844 01e6 1B01 lsls r3, r3, #4
  5481. 2845 01e8 1344 add r3, r3, r2
  5482. 2846 01ea 03F5DE73 add r3, r3, #444
  5483. 2847 01ee 1B68 ldr r3, [r3]
  5484. 2848 .loc 1 1529 88
  5485. 2849 01f0 1A0C lsrs r2, r3, #16
  5486. 2850 .loc 1 1529 10
  5487. 2851 01f2 3B68 ldr r3, [r7]
  5488. 2852 01f4 0633 adds r3, r3, #6
  5489. 2853 .loc 1 1529 16
  5490. 2854 01f6 D2B2 uxtb r2, r2
  5491. 2855 .loc 1 1529 14
  5492. 2856 01f8 1A70 strb r2, [r3]
  5493. 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
  5494. 2857 .loc 1 1530 49
  5495. 2858 01fa FB68 ldr r3, [r7, #12]
  5496. 2859 01fc 1A68 ldr r2, [r3]
  5497. 2860 .loc 1 1530 81
  5498. 2861 01fe BB68 ldr r3, [r7, #8]
  5499. 2862 0200 1B01 lsls r3, r3, #4
  5500. 2863 0202 1344 add r3, r3, r2
  5501. 2864 0204 03F5DE73 add r3, r3, #444
  5502. 2865 0208 1B68 ldr r3, [r3]
  5503. 2866 .loc 1 1530 88
  5504. 2867 020a 1A0E lsrs r2, r3, #24
  5505. 2868 .loc 1 1530 10
  5506. 2869 020c 3B68 ldr r3, [r7]
  5507. 2870 020e 0733 adds r3, r3, #7
  5508. 2871 .loc 1 1530 16
  5509. 2872 0210 D2B2 uxtb r2, r2
  5510. 2873 .loc 1 1530 14
  5511. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 96
  5512. 2874 0212 1A70 strb r2, [r3]
  5513. 1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5514. 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Release the FIFO */
  5515. 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
  5516. 2875 .loc 1 1533 8
  5517. 2876 0214 BB68 ldr r3, [r7, #8]
  5518. 2877 0216 002B cmp r3, #0
  5519. 2878 0218 08D1 bne .L152
  5520. 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5521. 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Release RX FIFO 0 */
  5522. 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->RF0R, CAN_RF0R_RFOM0);
  5523. 2879 .loc 1 1536 7
  5524. 2880 021a FB68 ldr r3, [r7, #12]
  5525. 2881 021c 1B68 ldr r3, [r3]
  5526. 2882 021e DA68 ldr r2, [r3, #12]
  5527. 2883 0220 FB68 ldr r3, [r7, #12]
  5528. 2884 0222 1B68 ldr r3, [r3]
  5529. 2885 0224 42F02002 orr r2, r2, #32
  5530. 2886 0228 DA60 str r2, [r3, #12]
  5531. 2887 022a 07E0 b .L153
  5532. 2888 .L152:
  5533. 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5534. 1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* Rx element is assigned to Rx FIFO 1 */
  5535. 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5536. 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Release RX FIFO 1 */
  5537. 1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->RF1R, CAN_RF1R_RFOM1);
  5538. 2889 .loc 1 1541 7
  5539. 2890 022c FB68 ldr r3, [r7, #12]
  5540. 2891 022e 1B68 ldr r3, [r3]
  5541. 2892 0230 1A69 ldr r2, [r3, #16]
  5542. 2893 0232 FB68 ldr r3, [r7, #12]
  5543. 2894 0234 1B68 ldr r3, [r3]
  5544. 2895 0236 42F02002 orr r2, r2, #32
  5545. 2896 023a 1A61 str r2, [r3, #16]
  5546. 2897 .L153:
  5547. 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5548. 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5549. 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  5550. 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  5551. 2898 .loc 1 1545 12
  5552. 2899 023c 0023 movs r3, #0
  5553. 2900 023e 06E0 b .L147
  5554. 2901 .L144:
  5555. 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5556. 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  5557. 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5558. 1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  5559. 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  5560. 2902 .loc 1 1550 21
  5561. 2903 0240 FB68 ldr r3, [r7, #12]
  5562. 2904 0242 5B6A ldr r3, [r3, #36]
  5563. 2905 0244 43F48022 orr r2, r3, #262144
  5564. 2906 0248 FB68 ldr r3, [r7, #12]
  5565. 2907 024a 5A62 str r2, [r3, #36]
  5566. 1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5567. 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  5568. 2908 .loc 1 1552 12
  5569. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 97
  5570. 2909 024c 0123 movs r3, #1
  5571. 2910 .L147:
  5572. 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5573. 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5574. 2911 .loc 1 1554 1
  5575. 2912 024e 1846 mov r0, r3
  5576. 2913 0250 1837 adds r7, r7, #24
  5577. 2914 .LCFI84:
  5578. 2915 .cfi_def_cfa_offset 8
  5579. 2916 0252 BD46 mov sp, r7
  5580. 2917 .LCFI85:
  5581. 2918 .cfi_def_cfa_register 13
  5582. 2919 @ sp needed
  5583. 2920 0254 80BD pop {r7, pc}
  5584. 2921 .L155:
  5585. 2922 0256 00BF .align 2
  5586. 2923 .L154:
  5587. 2924 0258 00000000 .word .LC0
  5588. 2925 .cfi_endproc
  5589. 2926 .LFE145:
  5590. 2928 .section .text.HAL_CAN_GetRxFifoFillLevel,"ax",%progbits
  5591. 2929 .align 1
  5592. 2930 .global HAL_CAN_GetRxFifoFillLevel
  5593. 2931 .syntax unified
  5594. 2932 .thumb
  5595. 2933 .thumb_func
  5596. 2935 HAL_CAN_GetRxFifoFillLevel:
  5597. 2936 .LFB146:
  5598. 1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5599. 1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  5600. 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return Rx FIFO fill level.
  5601. 1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  5602. 1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  5603. 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param RxFifo Rx FIFO.
  5604. 1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be a value of @arg CAN_receive_FIFO_number.
  5605. 1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Number of messages available in Rx FIFO.
  5606. 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  5607. 1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetRxFifoFillLevel(const CAN_HandleTypeDef *hcan, uint32_t RxFifo)
  5608. 1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5609. 2937 .loc 1 1565 1
  5610. 2938 .cfi_startproc
  5611. 2939 @ args = 0, pretend = 0, frame = 16
  5612. 2940 @ frame_needed = 1, uses_anonymous_args = 0
  5613. 2941 0000 80B5 push {r7, lr}
  5614. 2942 .LCFI86:
  5615. 2943 .cfi_def_cfa_offset 8
  5616. 2944 .cfi_offset 7, -8
  5617. 2945 .cfi_offset 14, -4
  5618. 2946 0002 84B0 sub sp, sp, #16
  5619. 2947 .LCFI87:
  5620. 2948 .cfi_def_cfa_offset 24
  5621. 2949 0004 00AF add r7, sp, #0
  5622. 2950 .LCFI88:
  5623. 2951 .cfi_def_cfa_register 7
  5624. 2952 0006 7860 str r0, [r7, #4]
  5625. 2953 0008 3960 str r1, [r7]
  5626. 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filllevel = 0U;
  5627. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 98
  5628. 2954 .loc 1 1566 12
  5629. 2955 000a 0023 movs r3, #0
  5630. 2956 000c FB60 str r3, [r7, #12]
  5631. 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5632. 2957 .loc 1 1567 24
  5633. 2958 000e 7B68 ldr r3, [r7, #4]
  5634. 2959 0010 93F82030 ldrb r3, [r3, #32]
  5635. 2960 0014 FB72 strb r3, [r7, #11]
  5636. 1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5637. 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
  5638. 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_RX_FIFO(RxFifo));
  5639. 2961 .loc 1 1570 3
  5640. 2962 0016 3B68 ldr r3, [r7]
  5641. 2963 0018 002B cmp r3, #0
  5642. 2964 001a 07D0 beq .L157
  5643. 2965 .loc 1 1570 3 is_stmt 0 discriminator 1
  5644. 2966 001c 3B68 ldr r3, [r7]
  5645. 2967 001e 012B cmp r3, #1
  5646. 2968 0020 04D0 beq .L157
  5647. 2969 .loc 1 1570 3 discriminator 2
  5648. 2970 0022 40F22261 movw r1, #1570
  5649. 2971 0026 0F48 ldr r0, .L162
  5650. 2972 0028 FFF7FEFF bl assert_failed
  5651. 2973 .L157:
  5652. 1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5653. 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  5654. 2974 .loc 1 1572 6 is_stmt 1
  5655. 2975 002c FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  5656. 2976 002e 012B cmp r3, #1
  5657. 2977 0030 02D0 beq .L158
  5658. 2978 .loc 1 1572 38 discriminator 1
  5659. 2979 0032 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  5660. 2980 0034 022B cmp r3, #2
  5661. 2981 0036 0FD1 bne .L159
  5662. 2982 .L158:
  5663. 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5664. 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5665. 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0)
  5666. 2983 .loc 1 1575 8
  5667. 2984 0038 3B68 ldr r3, [r7]
  5668. 2985 003a 002B cmp r3, #0
  5669. 2986 003c 06D1 bne .L160
  5670. 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5671. 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** filllevel = hcan->Instance->RF0R & CAN_RF0R_FMP0;
  5672. 2987 .loc 1 1577 23
  5673. 2988 003e 7B68 ldr r3, [r7, #4]
  5674. 2989 0040 1B68 ldr r3, [r3]
  5675. 2990 .loc 1 1577 33
  5676. 2991 0042 DB68 ldr r3, [r3, #12]
  5677. 2992 .loc 1 1577 17
  5678. 2993 0044 03F00303 and r3, r3, #3
  5679. 2994 0048 FB60 str r3, [r7, #12]
  5680. 2995 004a 05E0 b .L159
  5681. 2996 .L160:
  5682. 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5683. 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* RxFifo == CAN_RX_FIFO1 */
  5684. 1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5685. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 99
  5686. 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** filllevel = hcan->Instance->RF1R & CAN_RF1R_FMP1;
  5687. 2997 .loc 1 1581 23
  5688. 2998 004c 7B68 ldr r3, [r7, #4]
  5689. 2999 004e 1B68 ldr r3, [r3]
  5690. 3000 .loc 1 1581 33
  5691. 3001 0050 1B69 ldr r3, [r3, #16]
  5692. 3002 .loc 1 1581 17
  5693. 3003 0052 03F00303 and r3, r3, #3
  5694. 3004 0056 FB60 str r3, [r7, #12]
  5695. 3005 .L159:
  5696. 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5697. 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5698. 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5699. 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return Rx FIFO fill level */
  5700. 1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return filllevel;
  5701. 3006 .loc 1 1586 10
  5702. 3007 0058 FB68 ldr r3, [r7, #12]
  5703. 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5704. 3008 .loc 1 1587 1
  5705. 3009 005a 1846 mov r0, r3
  5706. 3010 005c 1037 adds r7, r7, #16
  5707. 3011 .LCFI89:
  5708. 3012 .cfi_def_cfa_offset 8
  5709. 3013 005e BD46 mov sp, r7
  5710. 3014 .LCFI90:
  5711. 3015 .cfi_def_cfa_register 13
  5712. 3016 @ sp needed
  5713. 3017 0060 80BD pop {r7, pc}
  5714. 3018 .L163:
  5715. 3019 0062 00BF .align 2
  5716. 3020 .L162:
  5717. 3021 0064 00000000 .word .LC0
  5718. 3022 .cfi_endproc
  5719. 3023 .LFE146:
  5720. 3025 .section .text.HAL_CAN_ActivateNotification,"ax",%progbits
  5721. 3026 .align 1
  5722. 3027 .global HAL_CAN_ActivateNotification
  5723. 3028 .syntax unified
  5724. 3029 .thumb
  5725. 3030 .thumb_func
  5726. 3032 HAL_CAN_ActivateNotification:
  5727. 3033 .LFB147:
  5728. 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5729. 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  5730. 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
  5731. 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  5732. 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5733. 1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group4 Interrupts management
  5734. 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Interrupts management
  5735. 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  5736. 1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  5737. 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  5738. 1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Interrupts management #####
  5739. 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  5740. 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
  5741. 1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ActivateNotification : Enable interrupts
  5742. 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_DeactivateNotification : Disable interrupts
  5743. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 100
  5744. 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_IRQHandler : Handles CAN interrupt request
  5745. 1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5746. 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  5747. 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  5748. 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  5749. 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5750. 1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  5751. 1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Enable interrupts.
  5752. 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  5753. 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  5754. 1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param ActiveITs indicates which interrupts will be enabled.
  5755. 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Interrupts.
  5756. 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  5757. 1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  5758. 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ActivateNotification(CAN_HandleTypeDef *hcan, uint32_t ActiveITs)
  5759. 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5760. 3034 .loc 1 1618 1
  5761. 3035 .cfi_startproc
  5762. 3036 @ args = 0, pretend = 0, frame = 16
  5763. 3037 @ frame_needed = 1, uses_anonymous_args = 0
  5764. 3038 0000 80B5 push {r7, lr}
  5765. 3039 .LCFI91:
  5766. 3040 .cfi_def_cfa_offset 8
  5767. 3041 .cfi_offset 7, -8
  5768. 3042 .cfi_offset 14, -4
  5769. 3043 0002 84B0 sub sp, sp, #16
  5770. 3044 .LCFI92:
  5771. 3045 .cfi_def_cfa_offset 24
  5772. 3046 0004 00AF add r7, sp, #0
  5773. 3047 .LCFI93:
  5774. 3048 .cfi_def_cfa_register 7
  5775. 3049 0006 7860 str r0, [r7, #4]
  5776. 3050 0008 3960 str r1, [r7]
  5777. 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5778. 3051 .loc 1 1619 24
  5779. 3052 000a 7B68 ldr r3, [r7, #4]
  5780. 3053 000c 93F82030 ldrb r3, [r3, #32]
  5781. 3054 0010 FB73 strb r3, [r7, #15]
  5782. 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5783. 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
  5784. 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_IT(ActiveITs));
  5785. 3055 .loc 1 1622 3
  5786. 3056 0012 3B68 ldr r3, [r7]
  5787. 3057 0014 114A ldr r2, .L169
  5788. 3058 0016 9342 cmp r3, r2
  5789. 3059 0018 04D9 bls .L165
  5790. 3060 .loc 1 1622 3 is_stmt 0 discriminator 1
  5791. 3061 001a 40F25661 movw r1, #1622
  5792. 3062 001e 1048 ldr r0, .L169+4
  5793. 3063 0020 FFF7FEFF bl assert_failed
  5794. 3064 .L165:
  5795. 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5796. 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  5797. 3065 .loc 1 1624 6 is_stmt 1
  5798. 3066 0024 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  5799. 3067 0026 012B cmp r3, #1
  5800. 3068 0028 02D0 beq .L166
  5801. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 101
  5802. 3069 .loc 1 1624 38 discriminator 1
  5803. 3070 002a FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  5804. 3071 002c 022B cmp r3, #2
  5805. 3072 002e 09D1 bne .L167
  5806. 3073 .L166:
  5807. 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5808. 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5809. 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Enable the selected interrupts */
  5810. 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_ENABLE_IT(hcan, ActiveITs);
  5811. 3074 .loc 1 1628 5
  5812. 3075 0030 7B68 ldr r3, [r7, #4]
  5813. 3076 0032 1B68 ldr r3, [r3]
  5814. 3077 0034 5969 ldr r1, [r3, #20]
  5815. 3078 0036 7B68 ldr r3, [r7, #4]
  5816. 3079 0038 1B68 ldr r3, [r3]
  5817. 3080 003a 3A68 ldr r2, [r7]
  5818. 3081 003c 0A43 orrs r2, r2, r1
  5819. 3082 003e 5A61 str r2, [r3, #20]
  5820. 1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5821. 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  5822. 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  5823. 3083 .loc 1 1631 12
  5824. 3084 0040 0023 movs r3, #0
  5825. 3085 0042 06E0 b .L168
  5826. 3086 .L167:
  5827. 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5828. 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  5829. 1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5830. 1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  5831. 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  5832. 3087 .loc 1 1636 21
  5833. 3088 0044 7B68 ldr r3, [r7, #4]
  5834. 3089 0046 5B6A ldr r3, [r3, #36]
  5835. 3090 0048 43F48022 orr r2, r3, #262144
  5836. 3091 004c 7B68 ldr r3, [r7, #4]
  5837. 3092 004e 5A62 str r2, [r3, #36]
  5838. 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5839. 1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  5840. 3093 .loc 1 1638 12
  5841. 3094 0050 0123 movs r3, #1
  5842. 3095 .L168:
  5843. 1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5844. 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5845. 3096 .loc 1 1640 1
  5846. 3097 0052 1846 mov r0, r3
  5847. 3098 0054 1037 adds r7, r7, #16
  5848. 3099 .LCFI94:
  5849. 3100 .cfi_def_cfa_offset 8
  5850. 3101 0056 BD46 mov sp, r7
  5851. 3102 .LCFI95:
  5852. 3103 .cfi_def_cfa_register 13
  5853. 3104 @ sp needed
  5854. 3105 0058 80BD pop {r7, pc}
  5855. 3106 .L170:
  5856. 3107 005a 00BF .align 2
  5857. 3108 .L169:
  5858. 3109 005c 7F8F0300 .word 233343
  5859. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 102
  5860. 3110 0060 00000000 .word .LC0
  5861. 3111 .cfi_endproc
  5862. 3112 .LFE147:
  5863. 3114 .section .text.HAL_CAN_DeactivateNotification,"ax",%progbits
  5864. 3115 .align 1
  5865. 3116 .global HAL_CAN_DeactivateNotification
  5866. 3117 .syntax unified
  5867. 3118 .thumb
  5868. 3119 .thumb_func
  5869. 3121 HAL_CAN_DeactivateNotification:
  5870. 3122 .LFB148:
  5871. 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5872. 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  5873. 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Disable interrupts.
  5874. 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  5875. 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  5876. 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param InactiveITs indicates which interrupts will be disabled.
  5877. 1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Interrupts.
  5878. 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  5879. 1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  5880. 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeactivateNotification(CAN_HandleTypeDef *hcan, uint32_t InactiveITs)
  5881. 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5882. 3123 .loc 1 1651 1
  5883. 3124 .cfi_startproc
  5884. 3125 @ args = 0, pretend = 0, frame = 16
  5885. 3126 @ frame_needed = 1, uses_anonymous_args = 0
  5886. 3127 0000 80B5 push {r7, lr}
  5887. 3128 .LCFI96:
  5888. 3129 .cfi_def_cfa_offset 8
  5889. 3130 .cfi_offset 7, -8
  5890. 3131 .cfi_offset 14, -4
  5891. 3132 0002 84B0 sub sp, sp, #16
  5892. 3133 .LCFI97:
  5893. 3134 .cfi_def_cfa_offset 24
  5894. 3135 0004 00AF add r7, sp, #0
  5895. 3136 .LCFI98:
  5896. 3137 .cfi_def_cfa_register 7
  5897. 3138 0006 7860 str r0, [r7, #4]
  5898. 3139 0008 3960 str r1, [r7]
  5899. 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  5900. 3140 .loc 1 1652 24
  5901. 3141 000a 7B68 ldr r3, [r7, #4]
  5902. 3142 000c 93F82030 ldrb r3, [r3, #32]
  5903. 3143 0010 FB73 strb r3, [r7, #15]
  5904. 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5905. 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
  5906. 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_IT(InactiveITs));
  5907. 3144 .loc 1 1655 3
  5908. 3145 0012 3B68 ldr r3, [r7]
  5909. 3146 0014 114A ldr r2, .L176
  5910. 3147 0016 9342 cmp r3, r2
  5911. 3148 0018 04D9 bls .L172
  5912. 3149 .loc 1 1655 3 is_stmt 0 discriminator 1
  5913. 3150 001a 40F27761 movw r1, #1655
  5914. 3151 001e 1048 ldr r0, .L176+4
  5915. 3152 0020 FFF7FEFF bl assert_failed
  5916. 3153 .L172:
  5917. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 103
  5918. 1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5919. 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  5920. 3154 .loc 1 1657 6 is_stmt 1
  5921. 3155 0024 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  5922. 3156 0026 012B cmp r3, #1
  5923. 3157 0028 02D0 beq .L173
  5924. 3158 .loc 1 1657 38 discriminator 1
  5925. 3159 002a FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  5926. 3160 002c 022B cmp r3, #2
  5927. 3161 002e 0AD1 bne .L174
  5928. 3162 .L173:
  5929. 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  5930. 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5931. 1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Disable the selected interrupts */
  5932. 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_DISABLE_IT(hcan, InactiveITs);
  5933. 3163 .loc 1 1661 5
  5934. 3164 0030 7B68 ldr r3, [r7, #4]
  5935. 3165 0032 1B68 ldr r3, [r3]
  5936. 3166 0034 5969 ldr r1, [r3, #20]
  5937. 3167 0036 3B68 ldr r3, [r7]
  5938. 3168 0038 DA43 mvns r2, r3
  5939. 3169 003a 7B68 ldr r3, [r7, #4]
  5940. 3170 003c 1B68 ldr r3, [r3]
  5941. 3171 003e 0A40 ands r2, r2, r1
  5942. 3172 0040 5A61 str r2, [r3, #20]
  5943. 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5944. 1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
  5945. 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
  5946. 3173 .loc 1 1664 12
  5947. 3174 0042 0023 movs r3, #0
  5948. 3175 0044 06E0 b .L175
  5949. 3176 .L174:
  5950. 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5951. 1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  5952. 1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  5953. 1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  5954. 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  5955. 3177 .loc 1 1669 21
  5956. 3178 0046 7B68 ldr r3, [r7, #4]
  5957. 3179 0048 5B6A ldr r3, [r3, #36]
  5958. 3180 004a 43F48022 orr r2, r3, #262144
  5959. 3181 004e 7B68 ldr r3, [r7, #4]
  5960. 3182 0050 5A62 str r2, [r3, #36]
  5961. 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5962. 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
  5963. 3183 .loc 1 1671 12
  5964. 3184 0052 0123 movs r3, #1
  5965. 3185 .L175:
  5966. 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5967. 1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  5968. 3186 .loc 1 1673 1
  5969. 3187 0054 1846 mov r0, r3
  5970. 3188 0056 1037 adds r7, r7, #16
  5971. 3189 .LCFI99:
  5972. 3190 .cfi_def_cfa_offset 8
  5973. 3191 0058 BD46 mov sp, r7
  5974. 3192 .LCFI100:
  5975. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 104
  5976. 3193 .cfi_def_cfa_register 13
  5977. 3194 @ sp needed
  5978. 3195 005a 80BD pop {r7, pc}
  5979. 3196 .L177:
  5980. 3197 .align 2
  5981. 3198 .L176:
  5982. 3199 005c 7F8F0300 .word 233343
  5983. 3200 0060 00000000 .word .LC0
  5984. 3201 .cfi_endproc
  5985. 3202 .LFE148:
  5986. 3204 .section .text.HAL_CAN_IRQHandler,"ax",%progbits
  5987. 3205 .align 1
  5988. 3206 .global HAL_CAN_IRQHandler
  5989. 3207 .syntax unified
  5990. 3208 .thumb
  5991. 3209 .thumb_func
  5992. 3211 HAL_CAN_IRQHandler:
  5993. 3212 .LFB149:
  5994. 1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  5995. 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  5996. 1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Handles CAN interrupt request
  5997. 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  5998. 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  5999. 1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  6000. 1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  6001. 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** void HAL_CAN_IRQHandler(CAN_HandleTypeDef *hcan)
  6002. 1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6003. 3213 .loc 1 1682 1
  6004. 3214 .cfi_startproc
  6005. 3215 @ args = 0, pretend = 0, frame = 40
  6006. 3216 @ frame_needed = 1, uses_anonymous_args = 0
  6007. 3217 0000 80B5 push {r7, lr}
  6008. 3218 .LCFI101:
  6009. 3219 .cfi_def_cfa_offset 8
  6010. 3220 .cfi_offset 7, -8
  6011. 3221 .cfi_offset 14, -4
  6012. 3222 0002 8AB0 sub sp, sp, #40
  6013. 3223 .LCFI102:
  6014. 3224 .cfi_def_cfa_offset 48
  6015. 3225 0004 00AF add r7, sp, #0
  6016. 3226 .LCFI103:
  6017. 3227 .cfi_def_cfa_register 7
  6018. 3228 0006 7860 str r0, [r7, #4]
  6019. 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t errorcode = HAL_CAN_ERROR_NONE;
  6020. 3229 .loc 1 1683 12
  6021. 3230 0008 0023 movs r3, #0
  6022. 3231 000a 7B62 str r3, [r7, #36]
  6023. 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t interrupts = READ_REG(hcan->Instance->IER);
  6024. 3232 .loc 1 1684 25
  6025. 3233 000c 7B68 ldr r3, [r7, #4]
  6026. 3234 000e 1B68 ldr r3, [r3]
  6027. 3235 .loc 1 1684 12
  6028. 3236 0010 5B69 ldr r3, [r3, #20]
  6029. 3237 0012 3B62 str r3, [r7, #32]
  6030. 1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t msrflags = READ_REG(hcan->Instance->MSR);
  6031. 3238 .loc 1 1685 23
  6032. 3239 0014 7B68 ldr r3, [r7, #4]
  6033. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 105
  6034. 3240 0016 1B68 ldr r3, [r3]
  6035. 3241 .loc 1 1685 12
  6036. 3242 0018 5B68 ldr r3, [r3, #4]
  6037. 3243 001a FB61 str r3, [r7, #28]
  6038. 1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
  6039. 3244 .loc 1 1686 23
  6040. 3245 001c 7B68 ldr r3, [r7, #4]
  6041. 3246 001e 1B68 ldr r3, [r3]
  6042. 3247 .loc 1 1686 12
  6043. 3248 0020 9B68 ldr r3, [r3, #8]
  6044. 3249 0022 BB61 str r3, [r7, #24]
  6045. 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
  6046. 3250 .loc 1 1687 24
  6047. 3251 0024 7B68 ldr r3, [r7, #4]
  6048. 3252 0026 1B68 ldr r3, [r3]
  6049. 3253 .loc 1 1687 12
  6050. 3254 0028 DB68 ldr r3, [r3, #12]
  6051. 3255 002a 7B61 str r3, [r7, #20]
  6052. 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
  6053. 3256 .loc 1 1688 24
  6054. 3257 002c 7B68 ldr r3, [r7, #4]
  6055. 3258 002e 1B68 ldr r3, [r3]
  6056. 3259 .loc 1 1688 12
  6057. 3260 0030 1B69 ldr r3, [r3, #16]
  6058. 3261 0032 3B61 str r3, [r7, #16]
  6059. 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t esrflags = READ_REG(hcan->Instance->ESR);
  6060. 3262 .loc 1 1689 23
  6061. 3263 0034 7B68 ldr r3, [r7, #4]
  6062. 3264 0036 1B68 ldr r3, [r3]
  6063. 3265 .loc 1 1689 12
  6064. 3266 0038 9B69 ldr r3, [r3, #24]
  6065. 3267 003a FB60 str r3, [r7, #12]
  6066. 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6067. 1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox empty interrupt management *****************************/
  6068. 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_TX_MAILBOX_EMPTY) != 0U)
  6069. 3268 .loc 1 1692 19
  6070. 3269 003c 3B6A ldr r3, [r7, #32]
  6071. 3270 003e 03F00103 and r3, r3, #1
  6072. 3271 .loc 1 1692 6
  6073. 3272 0042 002B cmp r3, #0
  6074. 3273 0044 7CD0 beq .L179
  6075. 1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6076. 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox 0 management *****************************************/
  6077. 1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP0) != 0U)
  6078. 3274 .loc 1 1695 19
  6079. 3275 0046 BB69 ldr r3, [r7, #24]
  6080. 3276 0048 03F00103 and r3, r3, #1
  6081. 3277 .loc 1 1695 8
  6082. 3278 004c 002B cmp r3, #0
  6083. 3279 004e 23D0 beq .L180
  6084. 1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6085. 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK0,ALST0,TERR0 bits) */
  6086. 1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP0);
  6087. 3280 .loc 1 1698 7
  6088. 3281 0050 7B68 ldr r3, [r7, #4]
  6089. 3282 0052 1B68 ldr r3, [r3]
  6090. 3283 0054 0122 movs r2, #1
  6091. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 106
  6092. 3284 0056 9A60 str r2, [r3, #8]
  6093. 1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6094. 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK0) != 0U)
  6095. 3285 .loc 1 1700 21
  6096. 3286 0058 BB69 ldr r3, [r7, #24]
  6097. 3287 005a 03F00203 and r3, r3, #2
  6098. 3288 .loc 1 1700 10
  6099. 3289 005e 002B cmp r3, #0
  6100. 3290 0060 03D0 beq .L181
  6101. 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6102. 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 0 complete callback */
  6103. 1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6104. 1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6105. 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback(hcan);
  6106. 1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6107. 1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6108. 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox0CompleteCallback(hcan);
  6109. 3291 .loc 1 1708 9
  6110. 3292 0062 7868 ldr r0, [r7, #4]
  6111. 3293 0064 FFF7FEFF bl HAL_CAN_TxMailbox0CompleteCallback
  6112. 3294 0068 16E0 b .L180
  6113. 3295 .L181:
  6114. 1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6115. 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6116. 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  6117. 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6118. 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST0) != 0U)
  6119. 3296 .loc 1 1713 23
  6120. 3297 006a BB69 ldr r3, [r7, #24]
  6121. 3298 006c 03F00403 and r3, r3, #4
  6122. 3299 .loc 1 1713 12
  6123. 3300 0070 002B cmp r3, #0
  6124. 3301 0072 04D0 beq .L182
  6125. 1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6126. 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  6127. 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST0;
  6128. 3302 .loc 1 1716 21
  6129. 3303 0074 7B6A ldr r3, [r7, #36]
  6130. 3304 0076 43F40063 orr r3, r3, #2048
  6131. 3305 007a 7B62 str r3, [r7, #36]
  6132. 3306 007c 0CE0 b .L180
  6133. 3307 .L182:
  6134. 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6135. 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR0) != 0U)
  6136. 3308 .loc 1 1718 28
  6137. 3309 007e BB69 ldr r3, [r7, #24]
  6138. 3310 0080 03F00803 and r3, r3, #8
  6139. 3311 .loc 1 1718 17
  6140. 3312 0084 002B cmp r3, #0
  6141. 3313 0086 04D0 beq .L183
  6142. 1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6143. 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  6144. 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR0;
  6145. 3314 .loc 1 1721 21
  6146. 3315 0088 7B6A ldr r3, [r7, #36]
  6147. 3316 008a 43F48053 orr r3, r3, #4096
  6148. 3317 008e 7B62 str r3, [r7, #36]
  6149. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 107
  6150. 3318 0090 02E0 b .L180
  6151. 3319 .L183:
  6152. 1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6153. 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  6154. 1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6155. 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 0 abort callback */
  6156. 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6157. 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6158. 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback(hcan);
  6159. 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6160. 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6161. 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox0AbortCallback(hcan);
  6162. 3320 .loc 1 1731 11
  6163. 3321 0092 7868 ldr r0, [r7, #4]
  6164. 3322 0094 FFF7FEFF bl HAL_CAN_TxMailbox0AbortCallback
  6165. 3323 .L180:
  6166. 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6167. 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6168. 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6169. 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6170. 1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6171. 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox 1 management *****************************************/
  6172. 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP1) != 0U)
  6173. 3324 .loc 1 1738 19
  6174. 3325 0098 BB69 ldr r3, [r7, #24]
  6175. 3326 009a 03F48073 and r3, r3, #256
  6176. 3327 .loc 1 1738 8
  6177. 3328 009e 002B cmp r3, #0
  6178. 3329 00a0 24D0 beq .L184
  6179. 1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6180. 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK1,ALST1,TERR1 bits) */
  6181. 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP1);
  6182. 3330 .loc 1 1741 7
  6183. 3331 00a2 7B68 ldr r3, [r7, #4]
  6184. 3332 00a4 1B68 ldr r3, [r3]
  6185. 3333 00a6 4FF48072 mov r2, #256
  6186. 3334 00aa 9A60 str r2, [r3, #8]
  6187. 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6188. 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK1) != 0U)
  6189. 3335 .loc 1 1743 21
  6190. 3336 00ac BB69 ldr r3, [r7, #24]
  6191. 3337 00ae 03F40073 and r3, r3, #512
  6192. 3338 .loc 1 1743 10
  6193. 3339 00b2 002B cmp r3, #0
  6194. 3340 00b4 03D0 beq .L185
  6195. 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6196. 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 1 complete callback */
  6197. 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6198. 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6199. 1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback(hcan);
  6200. 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6201. 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6202. 1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox1CompleteCallback(hcan);
  6203. 3341 .loc 1 1751 9
  6204. 3342 00b6 7868 ldr r0, [r7, #4]
  6205. 3343 00b8 FFF7FEFF bl HAL_CAN_TxMailbox1CompleteCallback
  6206. 3344 00bc 16E0 b .L184
  6207. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 108
  6208. 3345 .L185:
  6209. 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6210. 1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6211. 1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  6212. 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6213. 1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST1) != 0U)
  6214. 3346 .loc 1 1756 23
  6215. 3347 00be BB69 ldr r3, [r7, #24]
  6216. 3348 00c0 03F48063 and r3, r3, #1024
  6217. 3349 .loc 1 1756 12
  6218. 3350 00c4 002B cmp r3, #0
  6219. 3351 00c6 04D0 beq .L186
  6220. 1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6221. 1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  6222. 1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST1;
  6223. 3352 .loc 1 1759 21
  6224. 3353 00c8 7B6A ldr r3, [r7, #36]
  6225. 3354 00ca 43F40053 orr r3, r3, #8192
  6226. 3355 00ce 7B62 str r3, [r7, #36]
  6227. 3356 00d0 0CE0 b .L184
  6228. 3357 .L186:
  6229. 1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6230. 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR1) != 0U)
  6231. 3358 .loc 1 1761 28
  6232. 3359 00d2 BB69 ldr r3, [r7, #24]
  6233. 3360 00d4 03F40063 and r3, r3, #2048
  6234. 3361 .loc 1 1761 17
  6235. 3362 00d8 002B cmp r3, #0
  6236. 3363 00da 04D0 beq .L187
  6237. 1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6238. 1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  6239. 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR1;
  6240. 3364 .loc 1 1764 21
  6241. 3365 00dc 7B6A ldr r3, [r7, #36]
  6242. 3366 00de 43F48043 orr r3, r3, #16384
  6243. 3367 00e2 7B62 str r3, [r7, #36]
  6244. 3368 00e4 02E0 b .L184
  6245. 3369 .L187:
  6246. 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6247. 1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  6248. 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6249. 1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 1 abort callback */
  6250. 1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6251. 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6252. 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback(hcan);
  6253. 1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6254. 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6255. 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox1AbortCallback(hcan);
  6256. 3370 .loc 1 1774 11
  6257. 3371 00e6 7868 ldr r0, [r7, #4]
  6258. 3372 00e8 FFF7FEFF bl HAL_CAN_TxMailbox1AbortCallback
  6259. 3373 .L184:
  6260. 1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6261. 1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6262. 1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6263. 1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6264. 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6265. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 109
  6266. 1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox 2 management *****************************************/
  6267. 1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP2) != 0U)
  6268. 3374 .loc 1 1781 19
  6269. 3375 00ec BB69 ldr r3, [r7, #24]
  6270. 3376 00ee 03F48033 and r3, r3, #65536
  6271. 3377 .loc 1 1781 8
  6272. 3378 00f2 002B cmp r3, #0
  6273. 3379 00f4 24D0 beq .L179
  6274. 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6275. 1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK2,ALST2,TERR2 bits) */
  6276. 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP2);
  6277. 3380 .loc 1 1784 7
  6278. 3381 00f6 7B68 ldr r3, [r7, #4]
  6279. 3382 00f8 1B68 ldr r3, [r3]
  6280. 3383 00fa 4FF48032 mov r2, #65536
  6281. 3384 00fe 9A60 str r2, [r3, #8]
  6282. 1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6283. 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK2) != 0U)
  6284. 3385 .loc 1 1786 21
  6285. 3386 0100 BB69 ldr r3, [r7, #24]
  6286. 3387 0102 03F40033 and r3, r3, #131072
  6287. 3388 .loc 1 1786 10
  6288. 3389 0106 002B cmp r3, #0
  6289. 3390 0108 03D0 beq .L188
  6290. 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6291. 1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 2 complete callback */
  6292. 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6293. 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6294. 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback(hcan);
  6295. 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6296. 1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6297. 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox2CompleteCallback(hcan);
  6298. 3391 .loc 1 1794 9
  6299. 3392 010a 7868 ldr r0, [r7, #4]
  6300. 3393 010c FFF7FEFF bl HAL_CAN_TxMailbox2CompleteCallback
  6301. 3394 0110 16E0 b .L179
  6302. 3395 .L188:
  6303. 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6304. 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6305. 1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  6306. 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6307. 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST2) != 0U)
  6308. 3396 .loc 1 1799 23
  6309. 3397 0112 BB69 ldr r3, [r7, #24]
  6310. 3398 0114 03F48023 and r3, r3, #262144
  6311. 3399 .loc 1 1799 12
  6312. 3400 0118 002B cmp r3, #0
  6313. 3401 011a 04D0 beq .L189
  6314. 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6315. 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  6316. 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST2;
  6317. 3402 .loc 1 1802 21
  6318. 3403 011c 7B6A ldr r3, [r7, #36]
  6319. 3404 011e 43F40043 orr r3, r3, #32768
  6320. 3405 0122 7B62 str r3, [r7, #36]
  6321. 3406 0124 0CE0 b .L179
  6322. 3407 .L189:
  6323. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 110
  6324. 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6325. 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR2) != 0U)
  6326. 3408 .loc 1 1804 28
  6327. 3409 0126 BB69 ldr r3, [r7, #24]
  6328. 3410 0128 03F40023 and r3, r3, #524288
  6329. 3411 .loc 1 1804 17
  6330. 3412 012c 002B cmp r3, #0
  6331. 3413 012e 04D0 beq .L190
  6332. 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6333. 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  6334. 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR2;
  6335. 3414 .loc 1 1807 21
  6336. 3415 0130 7B6A ldr r3, [r7, #36]
  6337. 3416 0132 43F48033 orr r3, r3, #65536
  6338. 3417 0136 7B62 str r3, [r7, #36]
  6339. 3418 0138 02E0 b .L179
  6340. 3419 .L190:
  6341. 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6342. 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  6343. 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6344. 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 2 abort callback */
  6345. 1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6346. 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6347. 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback(hcan);
  6348. 1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6349. 1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6350. 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox2AbortCallback(hcan);
  6351. 3420 .loc 1 1817 11
  6352. 3421 013a 7868 ldr r0, [r7, #4]
  6353. 3422 013c FFF7FEFF bl HAL_CAN_TxMailbox2AbortCallback
  6354. 3423 .L179:
  6355. 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6356. 1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6357. 1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6358. 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6359. 1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6360. 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6361. 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 overrun interrupt management *****************************/
  6362. 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_OVERRUN) != 0U)
  6363. 3424 .loc 1 1825 19
  6364. 3425 0140 3B6A ldr r3, [r7, #32]
  6365. 3426 0142 03F00803 and r3, r3, #8
  6366. 3427 .loc 1 1825 6
  6367. 3428 0146 002B cmp r3, #0
  6368. 3429 0148 0CD0 beq .L191
  6369. 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6370. 1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf0rflags & CAN_RF0R_FOVR0) != 0U)
  6371. 3430 .loc 1 1827 20
  6372. 3431 014a 7B69 ldr r3, [r7, #20]
  6373. 3432 014c 03F01003 and r3, r3, #16
  6374. 3433 .loc 1 1827 8
  6375. 3434 0150 002B cmp r3, #0
  6376. 3435 0152 07D0 beq .L191
  6377. 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6378. 1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Rx Fifo 0 overrun error */
  6379. 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_RX_FOV0;
  6380. 3436 .loc 1 1830 17
  6381. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 111
  6382. 3437 0154 7B6A ldr r3, [r7, #36]
  6383. 3438 0156 43F40073 orr r3, r3, #512
  6384. 3439 015a 7B62 str r3, [r7, #36]
  6385. 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6386. 1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO0 Overrun Flag */
  6387. 1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV0);
  6388. 3440 .loc 1 1833 7
  6389. 3441 015c 7B68 ldr r3, [r7, #4]
  6390. 3442 015e 1B68 ldr r3, [r3]
  6391. 3443 0160 1022 movs r2, #16
  6392. 3444 0162 DA60 str r2, [r3, #12]
  6393. 3445 .L191:
  6394. 1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6395. 1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6396. 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6397. 1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 full interrupt management ********************************/
  6398. 1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_FULL) != 0U)
  6399. 3446 .loc 1 1838 19
  6400. 3447 0164 3B6A ldr r3, [r7, #32]
  6401. 3448 0166 03F00403 and r3, r3, #4
  6402. 3449 .loc 1 1838 6
  6403. 3450 016a 002B cmp r3, #0
  6404. 3451 016c 0BD0 beq .L192
  6405. 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6406. 1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf0rflags & CAN_RF0R_FULL0) != 0U)
  6407. 3452 .loc 1 1840 20
  6408. 3453 016e 7B69 ldr r3, [r7, #20]
  6409. 3454 0170 03F00803 and r3, r3, #8
  6410. 3455 .loc 1 1840 8
  6411. 3456 0174 002B cmp r3, #0
  6412. 3457 0176 06D0 beq .L192
  6413. 1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6414. 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO 0 full Flag */
  6415. 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF0);
  6416. 3458 .loc 1 1843 7
  6417. 3459 0178 7B68 ldr r3, [r7, #4]
  6418. 3460 017a 1B68 ldr r3, [r3]
  6419. 3461 017c 0822 movs r2, #8
  6420. 3462 017e DA60 str r2, [r3, #12]
  6421. 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6422. 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 full Callback */
  6423. 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6424. 1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6425. 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback(hcan);
  6426. 1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6427. 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6428. 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo0FullCallback(hcan);
  6429. 3463 .loc 1 1851 7
  6430. 3464 0180 7868 ldr r0, [r7, #4]
  6431. 3465 0182 FFF7FEFF bl HAL_CAN_RxFifo0FullCallback
  6432. 3466 .L192:
  6433. 1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6434. 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6435. 1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6436. 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6437. 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 message pending interrupt management *********************/
  6438. 1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_MSG_PENDING) != 0U)
  6439. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 112
  6440. 3467 .loc 1 1857 19
  6441. 3468 0186 3B6A ldr r3, [r7, #32]
  6442. 3469 0188 03F00203 and r3, r3, #2
  6443. 3470 .loc 1 1857 6
  6444. 3471 018c 002B cmp r3, #0
  6445. 3472 018e 09D0 beq .L193
  6446. 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6447. 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check if message is still pending */
  6448. 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) != 0U)
  6449. 3473 .loc 1 1860 14
  6450. 3474 0190 7B68 ldr r3, [r7, #4]
  6451. 3475 0192 1B68 ldr r3, [r3]
  6452. 3476 .loc 1 1860 24
  6453. 3477 0194 DB68 ldr r3, [r3, #12]
  6454. 3478 .loc 1 1860 31
  6455. 3479 0196 03F00303 and r3, r3, #3
  6456. 3480 .loc 1 1860 8
  6457. 3481 019a 002B cmp r3, #0
  6458. 3482 019c 02D0 beq .L193
  6459. 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6460. 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 message pending Callback */
  6461. 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6462. 1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6463. 1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback(hcan);
  6464. 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6465. 1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6466. 1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo0MsgPendingCallback(hcan);
  6467. 3483 .loc 1 1868 7
  6468. 3484 019e 7868 ldr r0, [r7, #4]
  6469. 3485 01a0 FFF7FEFF bl HAL_CAN_RxFifo0MsgPendingCallback
  6470. 3486 .L193:
  6471. 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6472. 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6473. 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6474. 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6475. 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 overrun interrupt management *****************************/
  6476. 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_OVERRUN) != 0U)
  6477. 3487 .loc 1 1874 19
  6478. 3488 01a4 3B6A ldr r3, [r7, #32]
  6479. 3489 01a6 03F04003 and r3, r3, #64
  6480. 3490 .loc 1 1874 6
  6481. 3491 01aa 002B cmp r3, #0
  6482. 3492 01ac 0CD0 beq .L194
  6483. 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6484. 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf1rflags & CAN_RF1R_FOVR1) != 0U)
  6485. 3493 .loc 1 1876 20
  6486. 3494 01ae 3B69 ldr r3, [r7, #16]
  6487. 3495 01b0 03F01003 and r3, r3, #16
  6488. 3496 .loc 1 1876 8
  6489. 3497 01b4 002B cmp r3, #0
  6490. 3498 01b6 07D0 beq .L194
  6491. 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6492. 1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Rx Fifo 1 overrun error */
  6493. 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_RX_FOV1;
  6494. 3499 .loc 1 1879 17
  6495. 3500 01b8 7B6A ldr r3, [r7, #36]
  6496. 3501 01ba 43F48063 orr r3, r3, #1024
  6497. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 113
  6498. 3502 01be 7B62 str r3, [r7, #36]
  6499. 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6500. 1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO1 Overrun Flag */
  6501. 1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV1);
  6502. 3503 .loc 1 1882 7
  6503. 3504 01c0 7B68 ldr r3, [r7, #4]
  6504. 3505 01c2 1B68 ldr r3, [r3]
  6505. 3506 01c4 1022 movs r2, #16
  6506. 3507 01c6 1A61 str r2, [r3, #16]
  6507. 3508 .L194:
  6508. 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6509. 1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6510. 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6511. 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 full interrupt management ********************************/
  6512. 1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_FULL) != 0U)
  6513. 3509 .loc 1 1887 19
  6514. 3510 01c8 3B6A ldr r3, [r7, #32]
  6515. 3511 01ca 03F02003 and r3, r3, #32
  6516. 3512 .loc 1 1887 6
  6517. 3513 01ce 002B cmp r3, #0
  6518. 3514 01d0 0BD0 beq .L195
  6519. 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6520. 1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf1rflags & CAN_RF1R_FULL1) != 0U)
  6521. 3515 .loc 1 1889 20
  6522. 3516 01d2 3B69 ldr r3, [r7, #16]
  6523. 3517 01d4 03F00803 and r3, r3, #8
  6524. 3518 .loc 1 1889 8
  6525. 3519 01d8 002B cmp r3, #0
  6526. 3520 01da 06D0 beq .L195
  6527. 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6528. 1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO 1 full Flag */
  6529. 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF1);
  6530. 3521 .loc 1 1892 7
  6531. 3522 01dc 7B68 ldr r3, [r7, #4]
  6532. 3523 01de 1B68 ldr r3, [r3]
  6533. 3524 01e0 0822 movs r2, #8
  6534. 3525 01e2 1A61 str r2, [r3, #16]
  6535. 1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6536. 1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 full Callback */
  6537. 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6538. 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6539. 1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback(hcan);
  6540. 1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6541. 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6542. 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo1FullCallback(hcan);
  6543. 3526 .loc 1 1900 7
  6544. 3527 01e4 7868 ldr r0, [r7, #4]
  6545. 3528 01e6 FFF7FEFF bl HAL_CAN_RxFifo1FullCallback
  6546. 3529 .L195:
  6547. 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6548. 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6549. 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6550. 1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6551. 1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 message pending interrupt management *********************/
  6552. 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_MSG_PENDING) != 0U)
  6553. 3530 .loc 1 1906 19
  6554. 3531 01ea 3B6A ldr r3, [r7, #32]
  6555. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 114
  6556. 3532 01ec 03F01003 and r3, r3, #16
  6557. 3533 .loc 1 1906 6
  6558. 3534 01f0 002B cmp r3, #0
  6559. 3535 01f2 09D0 beq .L196
  6560. 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6561. 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check if message is still pending */
  6562. 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) != 0U)
  6563. 3536 .loc 1 1909 14
  6564. 3537 01f4 7B68 ldr r3, [r7, #4]
  6565. 3538 01f6 1B68 ldr r3, [r3]
  6566. 3539 .loc 1 1909 24
  6567. 3540 01f8 1B69 ldr r3, [r3, #16]
  6568. 3541 .loc 1 1909 31
  6569. 3542 01fa 03F00303 and r3, r3, #3
  6570. 3543 .loc 1 1909 8
  6571. 3544 01fe 002B cmp r3, #0
  6572. 3545 0200 02D0 beq .L196
  6573. 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6574. 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 message pending Callback */
  6575. 1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6576. 1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6577. 1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback(hcan);
  6578. 1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6579. 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6580. 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo1MsgPendingCallback(hcan);
  6581. 3546 .loc 1 1917 7
  6582. 3547 0202 7868 ldr r0, [r7, #4]
  6583. 3548 0204 FFF7FEFF bl HAL_CAN_RxFifo1MsgPendingCallback
  6584. 3549 .L196:
  6585. 1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6586. 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6587. 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6588. 1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6589. 1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep interrupt management *********************************************/
  6590. 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_SLEEP_ACK) != 0U)
  6591. 3550 .loc 1 1923 19
  6592. 3551 0208 3B6A ldr r3, [r7, #32]
  6593. 3552 020a 03F40033 and r3, r3, #131072
  6594. 3553 .loc 1 1923 6
  6595. 3554 020e 002B cmp r3, #0
  6596. 3555 0210 0BD0 beq .L197
  6597. 1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6598. 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((msrflags & CAN_MSR_SLAKI) != 0U)
  6599. 3556 .loc 1 1925 19
  6600. 3557 0212 FB69 ldr r3, [r7, #28]
  6601. 3558 0214 03F01003 and r3, r3, #16
  6602. 3559 .loc 1 1925 8
  6603. 3560 0218 002B cmp r3, #0
  6604. 3561 021a 06D0 beq .L197
  6605. 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6606. 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear Sleep interrupt Flag */
  6607. 1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_SLAKI);
  6608. 3562 .loc 1 1928 7
  6609. 3563 021c 7B68 ldr r3, [r7, #4]
  6610. 3564 021e 1B68 ldr r3, [r3]
  6611. 3565 0220 1022 movs r2, #16
  6612. 3566 0222 5A60 str r2, [r3, #4]
  6613. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 115
  6614. 1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6615. 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep Callback */
  6616. 1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6617. 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6618. 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback(hcan);
  6619. 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6620. 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6621. 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_SleepCallback(hcan);
  6622. 3567 .loc 1 1936 7
  6623. 3568 0224 7868 ldr r0, [r7, #4]
  6624. 3569 0226 FFF7FEFF bl HAL_CAN_SleepCallback
  6625. 3570 .L197:
  6626. 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6627. 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6628. 1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6629. 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6630. 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* WakeUp interrupt management *********************************************/
  6631. 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_WAKEUP) != 0U)
  6632. 3571 .loc 1 1942 19
  6633. 3572 022a 3B6A ldr r3, [r7, #32]
  6634. 3573 022c 03F48033 and r3, r3, #65536
  6635. 3574 .loc 1 1942 6
  6636. 3575 0230 002B cmp r3, #0
  6637. 3576 0232 0BD0 beq .L198
  6638. 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6639. 1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((msrflags & CAN_MSR_WKUI) != 0U)
  6640. 3577 .loc 1 1944 19
  6641. 3578 0234 FB69 ldr r3, [r7, #28]
  6642. 3579 0236 03F00803 and r3, r3, #8
  6643. 3580 .loc 1 1944 8
  6644. 3581 023a 002B cmp r3, #0
  6645. 3582 023c 06D0 beq .L198
  6646. 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6647. 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear WakeUp Flag */
  6648. 1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_WKU);
  6649. 3583 .loc 1 1947 7
  6650. 3584 023e 7B68 ldr r3, [r7, #4]
  6651. 3585 0240 1B68 ldr r3, [r3]
  6652. 3586 0242 0822 movs r2, #8
  6653. 3587 0244 5A60 str r2, [r3, #4]
  6654. 1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6655. 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* WakeUp Callback */
  6656. 1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6657. 1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6658. 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback(hcan);
  6659. 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6660. 1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6661. 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_WakeUpFromRxMsgCallback(hcan);
  6662. 3588 .loc 1 1955 7
  6663. 3589 0246 7868 ldr r0, [r7, #4]
  6664. 3590 0248 FFF7FEFF bl HAL_CAN_WakeUpFromRxMsgCallback
  6665. 3591 .L198:
  6666. 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6667. 1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6668. 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6669. 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6670. 1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Error interrupts management *********************************************/
  6671. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 116
  6672. 1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_ERROR) != 0U)
  6673. 3592 .loc 1 1961 19
  6674. 3593 024c 3B6A ldr r3, [r7, #32]
  6675. 3594 024e 03F40043 and r3, r3, #32768
  6676. 3595 .loc 1 1961 6
  6677. 3596 0252 002B cmp r3, #0
  6678. 3597 0254 7BD0 beq .L199
  6679. 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6680. 1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((msrflags & CAN_MSR_ERRI) != 0U)
  6681. 3598 .loc 1 1963 19
  6682. 3599 0256 FB69 ldr r3, [r7, #28]
  6683. 3600 0258 03F00403 and r3, r3, #4
  6684. 3601 .loc 1 1963 8
  6685. 3602 025c 002B cmp r3, #0
  6686. 3603 025e 72D0 beq .L200
  6687. 1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6688. 1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Error Warning Flag */
  6689. 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_ERROR_WARNING) != 0U) &&
  6690. 3604 .loc 1 1966 24
  6691. 3605 0260 3B6A ldr r3, [r7, #32]
  6692. 3606 0262 03F48073 and r3, r3, #256
  6693. 3607 .loc 1 1966 10
  6694. 3608 0266 002B cmp r3, #0
  6695. 3609 0268 08D0 beq .L201
  6696. 1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
  6697. 3610 .loc 1 1967 22 discriminator 1
  6698. 3611 026a FB68 ldr r3, [r7, #12]
  6699. 3612 026c 03F00103 and r3, r3, #1
  6700. 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
  6701. 3613 .loc 1 1966 55 discriminator 1
  6702. 3614 0270 002B cmp r3, #0
  6703. 3615 0272 03D0 beq .L201
  6704. 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6705. 1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Error Warning */
  6706. 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_EWG;
  6707. 3616 .loc 1 1970 19
  6708. 3617 0274 7B6A ldr r3, [r7, #36]
  6709. 3618 0276 43F00103 orr r3, r3, #1
  6710. 3619 027a 7B62 str r3, [r7, #36]
  6711. 3620 .L201:
  6712. 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6713. 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* No need for clear of Error Warning Flag as read-only */
  6714. 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6715. 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6716. 1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Error Passive Flag */
  6717. 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_ERROR_PASSIVE) != 0U) &&
  6718. 3621 .loc 1 1976 24
  6719. 3622 027c 3B6A ldr r3, [r7, #32]
  6720. 3623 027e 03F40073 and r3, r3, #512
  6721. 3624 .loc 1 1976 10
  6722. 3625 0282 002B cmp r3, #0
  6723. 3626 0284 08D0 beq .L202
  6724. 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
  6725. 3627 .loc 1 1977 22 discriminator 1
  6726. 3628 0286 FB68 ldr r3, [r7, #12]
  6727. 3629 0288 03F00203 and r3, r3, #2
  6728. 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
  6729. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 117
  6730. 3630 .loc 1 1976 55 discriminator 1
  6731. 3631 028c 002B cmp r3, #0
  6732. 3632 028e 03D0 beq .L202
  6733. 1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6734. 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Error Passive */
  6735. 1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_EPV;
  6736. 3633 .loc 1 1980 19
  6737. 3634 0290 7B6A ldr r3, [r7, #36]
  6738. 3635 0292 43F00203 orr r3, r3, #2
  6739. 3636 0296 7B62 str r3, [r7, #36]
  6740. 3637 .L202:
  6741. 1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6742. 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* No need for clear of Error Passive Flag as read-only */
  6743. 1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6744. 1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6745. 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Bus-off Flag */
  6746. 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_BUSOFF) != 0U) &&
  6747. 3638 .loc 1 1986 24
  6748. 3639 0298 3B6A ldr r3, [r7, #32]
  6749. 3640 029a 03F48063 and r3, r3, #1024
  6750. 3641 .loc 1 1986 10
  6751. 3642 029e 002B cmp r3, #0
  6752. 3643 02a0 08D0 beq .L203
  6753. 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
  6754. 3644 .loc 1 1987 22 discriminator 1
  6755. 3645 02a2 FB68 ldr r3, [r7, #12]
  6756. 3646 02a4 03F00403 and r3, r3, #4
  6757. 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
  6758. 3647 .loc 1 1986 48 discriminator 1
  6759. 3648 02a8 002B cmp r3, #0
  6760. 3649 02aa 03D0 beq .L203
  6761. 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6762. 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Bus-Off */
  6763. 1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BOF;
  6764. 3650 .loc 1 1990 19
  6765. 3651 02ac 7B6A ldr r3, [r7, #36]
  6766. 3652 02ae 43F00403 orr r3, r3, #4
  6767. 3653 02b2 7B62 str r3, [r7, #36]
  6768. 3654 .L203:
  6769. 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6770. 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* No need for clear of Error Bus-Off as read-only */
  6771. 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6772. 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6773. 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Last Error Code Flag */
  6774. 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_LAST_ERROR_CODE) != 0U) &&
  6775. 3655 .loc 1 1996 24
  6776. 3656 02b4 3B6A ldr r3, [r7, #32]
  6777. 3657 02b6 03F40063 and r3, r3, #2048
  6778. 3658 .loc 1 1996 10
  6779. 3659 02ba 002B cmp r3, #0
  6780. 3660 02bc 43D0 beq .L200
  6781. 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
  6782. 3661 .loc 1 1997 22 discriminator 1
  6783. 3662 02be FB68 ldr r3, [r7, #12]
  6784. 3663 02c0 03F07003 and r3, r3, #112
  6785. 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
  6786. 3664 .loc 1 1996 57 discriminator 1
  6787. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 118
  6788. 3665 02c4 002B cmp r3, #0
  6789. 3666 02c6 3ED0 beq .L200
  6790. 1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6791. 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (esrflags & CAN_ESR_LEC)
  6792. 3667 .loc 1 1999 26
  6793. 3668 02c8 FB68 ldr r3, [r7, #12]
  6794. 3669 02ca 03F07003 and r3, r3, #112
  6795. 3670 .loc 1 1999 9
  6796. 3671 02ce 602B cmp r3, #96
  6797. 3672 02d0 2BD0 beq .L204
  6798. 3673 02d2 602B cmp r3, #96
  6799. 3674 02d4 2ED8 bhi .L213
  6800. 3675 02d6 502B cmp r3, #80
  6801. 3676 02d8 22D0 beq .L206
  6802. 3677 02da 502B cmp r3, #80
  6803. 3678 02dc 2AD8 bhi .L213
  6804. 3679 02de 402B cmp r3, #64
  6805. 3680 02e0 19D0 beq .L207
  6806. 3681 02e2 402B cmp r3, #64
  6807. 3682 02e4 26D8 bhi .L213
  6808. 3683 02e6 302B cmp r3, #48
  6809. 3684 02e8 10D0 beq .L208
  6810. 3685 02ea 302B cmp r3, #48
  6811. 3686 02ec 22D8 bhi .L213
  6812. 3687 02ee 102B cmp r3, #16
  6813. 3688 02f0 02D0 beq .L209
  6814. 3689 02f2 202B cmp r3, #32
  6815. 3690 02f4 05D0 beq .L210
  6816. 2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6817. 2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_0):
  6818. 2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Stuff error */
  6819. 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_STF;
  6820. 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6821. 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1):
  6822. 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Form error */
  6823. 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_FOR;
  6824. 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6825. 2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
  6826. 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Acknowledgement error */
  6827. 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_ACK;
  6828. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6829. 2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2):
  6830. 2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Bit recessive error */
  6831. 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BR;
  6832. 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6833. 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
  6834. 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Bit Dominant error */
  6835. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BD;
  6836. 2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6837. 2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
  6838. 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to CRC error */
  6839. 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_CRC;
  6840. 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6841. 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default:
  6842. 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6843. 3691 .loc 1 2026 13
  6844. 3692 02f6 1DE0 b .L213
  6845. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 119
  6846. 3693 .L209:
  6847. 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6848. 3694 .loc 1 2003 23
  6849. 3695 02f8 7B6A ldr r3, [r7, #36]
  6850. 3696 02fa 43F00803 orr r3, r3, #8
  6851. 3697 02fe 7B62 str r3, [r7, #36]
  6852. 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1):
  6853. 3698 .loc 1 2004 13
  6854. 3699 0300 19E0 b .L211
  6855. 3700 .L210:
  6856. 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6857. 3701 .loc 1 2007 23
  6858. 3702 0302 7B6A ldr r3, [r7, #36]
  6859. 3703 0304 43F01003 orr r3, r3, #16
  6860. 3704 0308 7B62 str r3, [r7, #36]
  6861. 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
  6862. 3705 .loc 1 2008 13
  6863. 3706 030a 14E0 b .L211
  6864. 3707 .L208:
  6865. 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6866. 3708 .loc 1 2011 23
  6867. 3709 030c 7B6A ldr r3, [r7, #36]
  6868. 3710 030e 43F02003 orr r3, r3, #32
  6869. 3711 0312 7B62 str r3, [r7, #36]
  6870. 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2):
  6871. 3712 .loc 1 2012 13
  6872. 3713 0314 0FE0 b .L211
  6873. 3714 .L207:
  6874. 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6875. 3715 .loc 1 2015 23
  6876. 3716 0316 7B6A ldr r3, [r7, #36]
  6877. 3717 0318 43F04003 orr r3, r3, #64
  6878. 3718 031c 7B62 str r3, [r7, #36]
  6879. 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
  6880. 3719 .loc 1 2016 13
  6881. 3720 031e 0AE0 b .L211
  6882. 3721 .L206:
  6883. 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6884. 3722 .loc 1 2019 23
  6885. 3723 0320 7B6A ldr r3, [r7, #36]
  6886. 3724 0322 43F08003 orr r3, r3, #128
  6887. 3725 0326 7B62 str r3, [r7, #36]
  6888. 2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
  6889. 3726 .loc 1 2020 13
  6890. 3727 0328 05E0 b .L211
  6891. 3728 .L204:
  6892. 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
  6893. 3729 .loc 1 2023 23
  6894. 3730 032a 7B6A ldr r3, [r7, #36]
  6895. 3731 032c 43F48073 orr r3, r3, #256
  6896. 3732 0330 7B62 str r3, [r7, #36]
  6897. 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default:
  6898. 3733 .loc 1 2024 13
  6899. 3734 0332 00E0 b .L211
  6900. 3735 .L213:
  6901. 3736 .loc 1 2026 13
  6902. 3737 0334 00BF nop
  6903. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 120
  6904. 3738 .L211:
  6905. 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6906. 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6907. 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear Last error code Flag */
  6908. 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->ESR, CAN_ESR_LEC);
  6909. 3739 .loc 1 2030 9
  6910. 3740 0336 7B68 ldr r3, [r7, #4]
  6911. 3741 0338 1B68 ldr r3, [r3]
  6912. 3742 033a 9A69 ldr r2, [r3, #24]
  6913. 3743 033c 7B68 ldr r3, [r7, #4]
  6914. 3744 033e 1B68 ldr r3, [r3]
  6915. 3745 0340 22F07002 bic r2, r2, #112
  6916. 3746 0344 9A61 str r2, [r3, #24]
  6917. 3747 .L200:
  6918. 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6919. 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6920. 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6921. 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear ERRI Flag */
  6922. 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_ERRI);
  6923. 3748 .loc 1 2035 5
  6924. 3749 0346 7B68 ldr r3, [r7, #4]
  6925. 3750 0348 1B68 ldr r3, [r3]
  6926. 3751 034a 0422 movs r2, #4
  6927. 3752 034c 5A60 str r2, [r3, #4]
  6928. 3753 .L199:
  6929. 2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6930. 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6931. 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call the Error call Back in case of Errors */
  6932. 2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (errorcode != HAL_CAN_ERROR_NONE)
  6933. 3754 .loc 1 2039 6
  6934. 3755 034e 7B6A ldr r3, [r7, #36]
  6935. 3756 0350 002B cmp r3, #0
  6936. 3757 0352 08D0 beq .L214
  6937. 2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  6938. 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code in handle */
  6939. 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= errorcode;
  6940. 3758 .loc 1 2042 21
  6941. 3759 0354 7B68 ldr r3, [r7, #4]
  6942. 3760 0356 5A6A ldr r2, [r3, #36]
  6943. 3761 0358 7B6A ldr r3, [r7, #36]
  6944. 3762 035a 1A43 orrs r2, r2, r3
  6945. 3763 035c 7B68 ldr r3, [r7, #4]
  6946. 3764 035e 5A62 str r2, [r3, #36]
  6947. 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6948. 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call Error callback function */
  6949. 2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
  6950. 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
  6951. 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback(hcan);
  6952. 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
  6953. 2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
  6954. 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_ErrorCallback(hcan);
  6955. 3765 .loc 1 2050 5
  6956. 3766 0360 7868 ldr r0, [r7, #4]
  6957. 3767 0362 FFF7FEFF bl HAL_CAN_ErrorCallback
  6958. 3768 .L214:
  6959. 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
  6960. 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6961. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 121
  6962. 2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  6963. 3769 .loc 1 2053 1
  6964. 3770 0366 00BF nop
  6965. 3771 0368 2837 adds r7, r7, #40
  6966. 3772 .LCFI104:
  6967. 3773 .cfi_def_cfa_offset 8
  6968. 3774 036a BD46 mov sp, r7
  6969. 3775 .LCFI105:
  6970. 3776 .cfi_def_cfa_register 13
  6971. 3777 @ sp needed
  6972. 3778 036c 80BD pop {r7, pc}
  6973. 3779 .cfi_endproc
  6974. 3780 .LFE149:
  6975. 3782 .section .text.HAL_CAN_TxMailbox0CompleteCallback,"ax",%progbits
  6976. 3783 .align 1
  6977. 3784 .weak HAL_CAN_TxMailbox0CompleteCallback
  6978. 3785 .syntax unified
  6979. 3786 .thumb
  6980. 3787 .thumb_func
  6981. 3789 HAL_CAN_TxMailbox0CompleteCallback:
  6982. 3790 .LFB150:
  6983. 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6984. 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  6985. 2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
  6986. 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  6987. 2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  6988. 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group5 Callback functions
  6989. 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN Callback functions
  6990. 2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  6991. 2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  6992. 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  6993. 2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Callback functions #####
  6994. 2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  6995. 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
  6996. 2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This subsection provides the following callback functions:
  6997. 2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox0CompleteCallback
  6998. 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox1CompleteCallback
  6999. 2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox2CompleteCallback
  7000. 2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox0AbortCallback
  7001. 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox1AbortCallback
  7002. 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox2AbortCallback
  7003. 2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo0MsgPendingCallback
  7004. 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo0FullCallback
  7005. 2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo1MsgPendingCallback
  7006. 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo1FullCallback
  7007. 2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_SleepCallback
  7008. 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_WakeUpFromRxMsgCallback
  7009. 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ErrorCallback
  7010. 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7011. 2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  7012. 2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  7013. 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7014. 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7015. 2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7016. 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 0 complete callback.
  7017. 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7018. 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7019. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 122
  7020. 2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7021. 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7022. 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan)
  7023. 2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7024. 3791 .loc 1 2093 1
  7025. 3792 .cfi_startproc
  7026. 3793 @ args = 0, pretend = 0, frame = 8
  7027. 3794 @ frame_needed = 1, uses_anonymous_args = 0
  7028. 3795 @ link register save eliminated.
  7029. 3796 0000 80B4 push {r7}
  7030. 3797 .LCFI106:
  7031. 3798 .cfi_def_cfa_offset 4
  7032. 3799 .cfi_offset 7, -4
  7033. 3800 0002 83B0 sub sp, sp, #12
  7034. 3801 .LCFI107:
  7035. 3802 .cfi_def_cfa_offset 16
  7036. 3803 0004 00AF add r7, sp, #0
  7037. 3804 .LCFI108:
  7038. 3805 .cfi_def_cfa_register 7
  7039. 3806 0006 7860 str r0, [r7, #4]
  7040. 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7041. 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7042. 2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7043. 2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7044. 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox0CompleteCallback could be implemented in the
  7045. 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7046. 2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7047. 2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7048. 3807 .loc 1 2101 1
  7049. 3808 0008 00BF nop
  7050. 3809 000a 0C37 adds r7, r7, #12
  7051. 3810 .LCFI109:
  7052. 3811 .cfi_def_cfa_offset 4
  7053. 3812 000c BD46 mov sp, r7
  7054. 3813 .LCFI110:
  7055. 3814 .cfi_def_cfa_register 13
  7056. 3815 @ sp needed
  7057. 3816 000e 5DF8047B ldr r7, [sp], #4
  7058. 3817 .LCFI111:
  7059. 3818 .cfi_restore 7
  7060. 3819 .cfi_def_cfa_offset 0
  7061. 3820 0012 7047 bx lr
  7062. 3821 .cfi_endproc
  7063. 3822 .LFE150:
  7064. 3824 .section .text.HAL_CAN_TxMailbox1CompleteCallback,"ax",%progbits
  7065. 3825 .align 1
  7066. 3826 .weak HAL_CAN_TxMailbox1CompleteCallback
  7067. 3827 .syntax unified
  7068. 3828 .thumb
  7069. 3829 .thumb_func
  7070. 3831 HAL_CAN_TxMailbox1CompleteCallback:
  7071. 3832 .LFB151:
  7072. 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7073. 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7074. 2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 1 complete callback.
  7075. 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7076. 2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7077. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 123
  7078. 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7079. 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7080. 2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan)
  7081. 2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7082. 3833 .loc 1 2110 1
  7083. 3834 .cfi_startproc
  7084. 3835 @ args = 0, pretend = 0, frame = 8
  7085. 3836 @ frame_needed = 1, uses_anonymous_args = 0
  7086. 3837 @ link register save eliminated.
  7087. 3838 0000 80B4 push {r7}
  7088. 3839 .LCFI112:
  7089. 3840 .cfi_def_cfa_offset 4
  7090. 3841 .cfi_offset 7, -4
  7091. 3842 0002 83B0 sub sp, sp, #12
  7092. 3843 .LCFI113:
  7093. 3844 .cfi_def_cfa_offset 16
  7094. 3845 0004 00AF add r7, sp, #0
  7095. 3846 .LCFI114:
  7096. 3847 .cfi_def_cfa_register 7
  7097. 3848 0006 7860 str r0, [r7, #4]
  7098. 2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7099. 2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7100. 2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7101. 2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7102. 2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox1CompleteCallback could be implemented in the
  7103. 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7104. 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7105. 2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7106. 3849 .loc 1 2118 1
  7107. 3850 0008 00BF nop
  7108. 3851 000a 0C37 adds r7, r7, #12
  7109. 3852 .LCFI115:
  7110. 3853 .cfi_def_cfa_offset 4
  7111. 3854 000c BD46 mov sp, r7
  7112. 3855 .LCFI116:
  7113. 3856 .cfi_def_cfa_register 13
  7114. 3857 @ sp needed
  7115. 3858 000e 5DF8047B ldr r7, [sp], #4
  7116. 3859 .LCFI117:
  7117. 3860 .cfi_restore 7
  7118. 3861 .cfi_def_cfa_offset 0
  7119. 3862 0012 7047 bx lr
  7120. 3863 .cfi_endproc
  7121. 3864 .LFE151:
  7122. 3866 .section .text.HAL_CAN_TxMailbox2CompleteCallback,"ax",%progbits
  7123. 3867 .align 1
  7124. 3868 .weak HAL_CAN_TxMailbox2CompleteCallback
  7125. 3869 .syntax unified
  7126. 3870 .thumb
  7127. 3871 .thumb_func
  7128. 3873 HAL_CAN_TxMailbox2CompleteCallback:
  7129. 3874 .LFB152:
  7130. 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7131. 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7132. 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 2 complete callback.
  7133. 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7134. 2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7135. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 124
  7136. 2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7137. 2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7138. 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan)
  7139. 2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7140. 3875 .loc 1 2127 1
  7141. 3876 .cfi_startproc
  7142. 3877 @ args = 0, pretend = 0, frame = 8
  7143. 3878 @ frame_needed = 1, uses_anonymous_args = 0
  7144. 3879 @ link register save eliminated.
  7145. 3880 0000 80B4 push {r7}
  7146. 3881 .LCFI118:
  7147. 3882 .cfi_def_cfa_offset 4
  7148. 3883 .cfi_offset 7, -4
  7149. 3884 0002 83B0 sub sp, sp, #12
  7150. 3885 .LCFI119:
  7151. 3886 .cfi_def_cfa_offset 16
  7152. 3887 0004 00AF add r7, sp, #0
  7153. 3888 .LCFI120:
  7154. 3889 .cfi_def_cfa_register 7
  7155. 3890 0006 7860 str r0, [r7, #4]
  7156. 2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7157. 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7158. 2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7159. 2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7160. 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox2CompleteCallback could be implemented in the
  7161. 2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7162. 2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7163. 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7164. 3891 .loc 1 2135 1
  7165. 3892 0008 00BF nop
  7166. 3893 000a 0C37 adds r7, r7, #12
  7167. 3894 .LCFI121:
  7168. 3895 .cfi_def_cfa_offset 4
  7169. 3896 000c BD46 mov sp, r7
  7170. 3897 .LCFI122:
  7171. 3898 .cfi_def_cfa_register 13
  7172. 3899 @ sp needed
  7173. 3900 000e 5DF8047B ldr r7, [sp], #4
  7174. 3901 .LCFI123:
  7175. 3902 .cfi_restore 7
  7176. 3903 .cfi_def_cfa_offset 0
  7177. 3904 0012 7047 bx lr
  7178. 3905 .cfi_endproc
  7179. 3906 .LFE152:
  7180. 3908 .section .text.HAL_CAN_TxMailbox0AbortCallback,"ax",%progbits
  7181. 3909 .align 1
  7182. 3910 .weak HAL_CAN_TxMailbox0AbortCallback
  7183. 3911 .syntax unified
  7184. 3912 .thumb
  7185. 3913 .thumb_func
  7186. 3915 HAL_CAN_TxMailbox0AbortCallback:
  7187. 3916 .LFB153:
  7188. 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7189. 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7190. 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 0 Cancellation callback.
  7191. 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  7192. 2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7193. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 125
  7194. 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7195. 2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7196. 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0AbortCallback(CAN_HandleTypeDef *hcan)
  7197. 2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7198. 3917 .loc 1 2144 1
  7199. 3918 .cfi_startproc
  7200. 3919 @ args = 0, pretend = 0, frame = 8
  7201. 3920 @ frame_needed = 1, uses_anonymous_args = 0
  7202. 3921 @ link register save eliminated.
  7203. 3922 0000 80B4 push {r7}
  7204. 3923 .LCFI124:
  7205. 3924 .cfi_def_cfa_offset 4
  7206. 3925 .cfi_offset 7, -4
  7207. 3926 0002 83B0 sub sp, sp, #12
  7208. 3927 .LCFI125:
  7209. 3928 .cfi_def_cfa_offset 16
  7210. 3929 0004 00AF add r7, sp, #0
  7211. 3930 .LCFI126:
  7212. 3931 .cfi_def_cfa_register 7
  7213. 3932 0006 7860 str r0, [r7, #4]
  7214. 2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7215. 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7216. 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7217. 2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7218. 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox0AbortCallback could be implemented in the
  7219. 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7220. 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7221. 2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7222. 3933 .loc 1 2152 1
  7223. 3934 0008 00BF nop
  7224. 3935 000a 0C37 adds r7, r7, #12
  7225. 3936 .LCFI127:
  7226. 3937 .cfi_def_cfa_offset 4
  7227. 3938 000c BD46 mov sp, r7
  7228. 3939 .LCFI128:
  7229. 3940 .cfi_def_cfa_register 13
  7230. 3941 @ sp needed
  7231. 3942 000e 5DF8047B ldr r7, [sp], #4
  7232. 3943 .LCFI129:
  7233. 3944 .cfi_restore 7
  7234. 3945 .cfi_def_cfa_offset 0
  7235. 3946 0012 7047 bx lr
  7236. 3947 .cfi_endproc
  7237. 3948 .LFE153:
  7238. 3950 .section .text.HAL_CAN_TxMailbox1AbortCallback,"ax",%progbits
  7239. 3951 .align 1
  7240. 3952 .weak HAL_CAN_TxMailbox1AbortCallback
  7241. 3953 .syntax unified
  7242. 3954 .thumb
  7243. 3955 .thumb_func
  7244. 3957 HAL_CAN_TxMailbox1AbortCallback:
  7245. 3958 .LFB154:
  7246. 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7247. 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7248. 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 1 Cancellation callback.
  7249. 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  7250. 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7251. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 126
  7252. 2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7253. 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7254. 2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1AbortCallback(CAN_HandleTypeDef *hcan)
  7255. 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7256. 3959 .loc 1 2161 1
  7257. 3960 .cfi_startproc
  7258. 3961 @ args = 0, pretend = 0, frame = 8
  7259. 3962 @ frame_needed = 1, uses_anonymous_args = 0
  7260. 3963 @ link register save eliminated.
  7261. 3964 0000 80B4 push {r7}
  7262. 3965 .LCFI130:
  7263. 3966 .cfi_def_cfa_offset 4
  7264. 3967 .cfi_offset 7, -4
  7265. 3968 0002 83B0 sub sp, sp, #12
  7266. 3969 .LCFI131:
  7267. 3970 .cfi_def_cfa_offset 16
  7268. 3971 0004 00AF add r7, sp, #0
  7269. 3972 .LCFI132:
  7270. 3973 .cfi_def_cfa_register 7
  7271. 3974 0006 7860 str r0, [r7, #4]
  7272. 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7273. 2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7274. 2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7275. 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7276. 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox1AbortCallback could be implemented in the
  7277. 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7278. 2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7279. 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7280. 3975 .loc 1 2169 1
  7281. 3976 0008 00BF nop
  7282. 3977 000a 0C37 adds r7, r7, #12
  7283. 3978 .LCFI133:
  7284. 3979 .cfi_def_cfa_offset 4
  7285. 3980 000c BD46 mov sp, r7
  7286. 3981 .LCFI134:
  7287. 3982 .cfi_def_cfa_register 13
  7288. 3983 @ sp needed
  7289. 3984 000e 5DF8047B ldr r7, [sp], #4
  7290. 3985 .LCFI135:
  7291. 3986 .cfi_restore 7
  7292. 3987 .cfi_def_cfa_offset 0
  7293. 3988 0012 7047 bx lr
  7294. 3989 .cfi_endproc
  7295. 3990 .LFE154:
  7296. 3992 .section .text.HAL_CAN_TxMailbox2AbortCallback,"ax",%progbits
  7297. 3993 .align 1
  7298. 3994 .weak HAL_CAN_TxMailbox2AbortCallback
  7299. 3995 .syntax unified
  7300. 3996 .thumb
  7301. 3997 .thumb_func
  7302. 3999 HAL_CAN_TxMailbox2AbortCallback:
  7303. 4000 .LFB155:
  7304. 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7305. 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7306. 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 2 Cancellation callback.
  7307. 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
  7308. 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7309. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 127
  7310. 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7311. 2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7312. 2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2AbortCallback(CAN_HandleTypeDef *hcan)
  7313. 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7314. 4001 .loc 1 2178 1
  7315. 4002 .cfi_startproc
  7316. 4003 @ args = 0, pretend = 0, frame = 8
  7317. 4004 @ frame_needed = 1, uses_anonymous_args = 0
  7318. 4005 @ link register save eliminated.
  7319. 4006 0000 80B4 push {r7}
  7320. 4007 .LCFI136:
  7321. 4008 .cfi_def_cfa_offset 4
  7322. 4009 .cfi_offset 7, -4
  7323. 4010 0002 83B0 sub sp, sp, #12
  7324. 4011 .LCFI137:
  7325. 4012 .cfi_def_cfa_offset 16
  7326. 4013 0004 00AF add r7, sp, #0
  7327. 4014 .LCFI138:
  7328. 4015 .cfi_def_cfa_register 7
  7329. 4016 0006 7860 str r0, [r7, #4]
  7330. 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7331. 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7332. 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7333. 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7334. 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox2AbortCallback could be implemented in the
  7335. 2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7336. 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7337. 2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7338. 4017 .loc 1 2186 1
  7339. 4018 0008 00BF nop
  7340. 4019 000a 0C37 adds r7, r7, #12
  7341. 4020 .LCFI139:
  7342. 4021 .cfi_def_cfa_offset 4
  7343. 4022 000c BD46 mov sp, r7
  7344. 4023 .LCFI140:
  7345. 4024 .cfi_def_cfa_register 13
  7346. 4025 @ sp needed
  7347. 4026 000e 5DF8047B ldr r7, [sp], #4
  7348. 4027 .LCFI141:
  7349. 4028 .cfi_restore 7
  7350. 4029 .cfi_def_cfa_offset 0
  7351. 4030 0012 7047 bx lr
  7352. 4031 .cfi_endproc
  7353. 4032 .LFE155:
  7354. 4034 .section .text.HAL_CAN_RxFifo0MsgPendingCallback,"ax",%progbits
  7355. 4035 .align 1
  7356. 4036 .weak HAL_CAN_RxFifo0MsgPendingCallback
  7357. 4037 .syntax unified
  7358. 4038 .thumb
  7359. 4039 .thumb_func
  7360. 4041 HAL_CAN_RxFifo0MsgPendingCallback:
  7361. 4042 .LFB156:
  7362. 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7363. 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7364. 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 0 message pending callback.
  7365. 2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7366. 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7367. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 128
  7368. 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7369. 2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7370. 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
  7371. 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7372. 4043 .loc 1 2195 1
  7373. 4044 .cfi_startproc
  7374. 4045 @ args = 0, pretend = 0, frame = 8
  7375. 4046 @ frame_needed = 1, uses_anonymous_args = 0
  7376. 4047 @ link register save eliminated.
  7377. 4048 0000 80B4 push {r7}
  7378. 4049 .LCFI142:
  7379. 4050 .cfi_def_cfa_offset 4
  7380. 4051 .cfi_offset 7, -4
  7381. 4052 0002 83B0 sub sp, sp, #12
  7382. 4053 .LCFI143:
  7383. 4054 .cfi_def_cfa_offset 16
  7384. 4055 0004 00AF add r7, sp, #0
  7385. 4056 .LCFI144:
  7386. 4057 .cfi_def_cfa_register 7
  7387. 4058 0006 7860 str r0, [r7, #4]
  7388. 2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7389. 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7390. 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7391. 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7392. 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo0MsgPendingCallback could be implemented in the
  7393. 2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7394. 2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7395. 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7396. 4059 .loc 1 2203 1
  7397. 4060 0008 00BF nop
  7398. 4061 000a 0C37 adds r7, r7, #12
  7399. 4062 .LCFI145:
  7400. 4063 .cfi_def_cfa_offset 4
  7401. 4064 000c BD46 mov sp, r7
  7402. 4065 .LCFI146:
  7403. 4066 .cfi_def_cfa_register 13
  7404. 4067 @ sp needed
  7405. 4068 000e 5DF8047B ldr r7, [sp], #4
  7406. 4069 .LCFI147:
  7407. 4070 .cfi_restore 7
  7408. 4071 .cfi_def_cfa_offset 0
  7409. 4072 0012 7047 bx lr
  7410. 4073 .cfi_endproc
  7411. 4074 .LFE156:
  7412. 4076 .section .text.HAL_CAN_RxFifo0FullCallback,"ax",%progbits
  7413. 4077 .align 1
  7414. 4078 .weak HAL_CAN_RxFifo0FullCallback
  7415. 4079 .syntax unified
  7416. 4080 .thumb
  7417. 4081 .thumb_func
  7418. 4083 HAL_CAN_RxFifo0FullCallback:
  7419. 4084 .LFB157:
  7420. 2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7421. 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7422. 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 0 full callback.
  7423. 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7424. 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7425. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 129
  7426. 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7427. 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7428. 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo0FullCallback(CAN_HandleTypeDef *hcan)
  7429. 2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7430. 4085 .loc 1 2212 1
  7431. 4086 .cfi_startproc
  7432. 4087 @ args = 0, pretend = 0, frame = 8
  7433. 4088 @ frame_needed = 1, uses_anonymous_args = 0
  7434. 4089 @ link register save eliminated.
  7435. 4090 0000 80B4 push {r7}
  7436. 4091 .LCFI148:
  7437. 4092 .cfi_def_cfa_offset 4
  7438. 4093 .cfi_offset 7, -4
  7439. 4094 0002 83B0 sub sp, sp, #12
  7440. 4095 .LCFI149:
  7441. 4096 .cfi_def_cfa_offset 16
  7442. 4097 0004 00AF add r7, sp, #0
  7443. 4098 .LCFI150:
  7444. 4099 .cfi_def_cfa_register 7
  7445. 4100 0006 7860 str r0, [r7, #4]
  7446. 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7447. 2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7448. 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7449. 2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7450. 2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo0FullCallback could be implemented in the user
  7451. 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** file
  7452. 2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7453. 2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7454. 4101 .loc 1 2220 1
  7455. 4102 0008 00BF nop
  7456. 4103 000a 0C37 adds r7, r7, #12
  7457. 4104 .LCFI151:
  7458. 4105 .cfi_def_cfa_offset 4
  7459. 4106 000c BD46 mov sp, r7
  7460. 4107 .LCFI152:
  7461. 4108 .cfi_def_cfa_register 13
  7462. 4109 @ sp needed
  7463. 4110 000e 5DF8047B ldr r7, [sp], #4
  7464. 4111 .LCFI153:
  7465. 4112 .cfi_restore 7
  7466. 4113 .cfi_def_cfa_offset 0
  7467. 4114 0012 7047 bx lr
  7468. 4115 .cfi_endproc
  7469. 4116 .LFE157:
  7470. 4118 .section .text.HAL_CAN_RxFifo1MsgPendingCallback,"ax",%progbits
  7471. 4119 .align 1
  7472. 4120 .weak HAL_CAN_RxFifo1MsgPendingCallback
  7473. 4121 .syntax unified
  7474. 4122 .thumb
  7475. 4123 .thumb_func
  7476. 4125 HAL_CAN_RxFifo1MsgPendingCallback:
  7477. 4126 .LFB158:
  7478. 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7479. 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7480. 2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 1 message pending callback.
  7481. 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7482. 2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7483. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 130
  7484. 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7485. 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7486. 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan)
  7487. 2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7488. 4127 .loc 1 2229 1
  7489. 4128 .cfi_startproc
  7490. 4129 @ args = 0, pretend = 0, frame = 8
  7491. 4130 @ frame_needed = 1, uses_anonymous_args = 0
  7492. 4131 @ link register save eliminated.
  7493. 4132 0000 80B4 push {r7}
  7494. 4133 .LCFI154:
  7495. 4134 .cfi_def_cfa_offset 4
  7496. 4135 .cfi_offset 7, -4
  7497. 4136 0002 83B0 sub sp, sp, #12
  7498. 4137 .LCFI155:
  7499. 4138 .cfi_def_cfa_offset 16
  7500. 4139 0004 00AF add r7, sp, #0
  7501. 4140 .LCFI156:
  7502. 4141 .cfi_def_cfa_register 7
  7503. 4142 0006 7860 str r0, [r7, #4]
  7504. 2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7505. 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7506. 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7507. 2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7508. 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo1MsgPendingCallback could be implemented in the
  7509. 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7510. 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7511. 2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7512. 4143 .loc 1 2237 1
  7513. 4144 0008 00BF nop
  7514. 4145 000a 0C37 adds r7, r7, #12
  7515. 4146 .LCFI157:
  7516. 4147 .cfi_def_cfa_offset 4
  7517. 4148 000c BD46 mov sp, r7
  7518. 4149 .LCFI158:
  7519. 4150 .cfi_def_cfa_register 13
  7520. 4151 @ sp needed
  7521. 4152 000e 5DF8047B ldr r7, [sp], #4
  7522. 4153 .LCFI159:
  7523. 4154 .cfi_restore 7
  7524. 4155 .cfi_def_cfa_offset 0
  7525. 4156 0012 7047 bx lr
  7526. 4157 .cfi_endproc
  7527. 4158 .LFE158:
  7528. 4160 .section .text.HAL_CAN_RxFifo1FullCallback,"ax",%progbits
  7529. 4161 .align 1
  7530. 4162 .weak HAL_CAN_RxFifo1FullCallback
  7531. 4163 .syntax unified
  7532. 4164 .thumb
  7533. 4165 .thumb_func
  7534. 4167 HAL_CAN_RxFifo1FullCallback:
  7535. 4168 .LFB159:
  7536. 2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7537. 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7538. 2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 1 full callback.
  7539. 2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7540. 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7541. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 131
  7542. 2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7543. 2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7544. 2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo1FullCallback(CAN_HandleTypeDef *hcan)
  7545. 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7546. 4169 .loc 1 2246 1
  7547. 4170 .cfi_startproc
  7548. 4171 @ args = 0, pretend = 0, frame = 8
  7549. 4172 @ frame_needed = 1, uses_anonymous_args = 0
  7550. 4173 @ link register save eliminated.
  7551. 4174 0000 80B4 push {r7}
  7552. 4175 .LCFI160:
  7553. 4176 .cfi_def_cfa_offset 4
  7554. 4177 .cfi_offset 7, -4
  7555. 4178 0002 83B0 sub sp, sp, #12
  7556. 4179 .LCFI161:
  7557. 4180 .cfi_def_cfa_offset 16
  7558. 4181 0004 00AF add r7, sp, #0
  7559. 4182 .LCFI162:
  7560. 4183 .cfi_def_cfa_register 7
  7561. 4184 0006 7860 str r0, [r7, #4]
  7562. 2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7563. 2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7564. 2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7565. 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7566. 2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo1FullCallback could be implemented in the user
  7567. 2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** file
  7568. 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7569. 2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7570. 4185 .loc 1 2254 1
  7571. 4186 0008 00BF nop
  7572. 4187 000a 0C37 adds r7, r7, #12
  7573. 4188 .LCFI163:
  7574. 4189 .cfi_def_cfa_offset 4
  7575. 4190 000c BD46 mov sp, r7
  7576. 4191 .LCFI164:
  7577. 4192 .cfi_def_cfa_register 13
  7578. 4193 @ sp needed
  7579. 4194 000e 5DF8047B ldr r7, [sp], #4
  7580. 4195 .LCFI165:
  7581. 4196 .cfi_restore 7
  7582. 4197 .cfi_def_cfa_offset 0
  7583. 4198 0012 7047 bx lr
  7584. 4199 .cfi_endproc
  7585. 4200 .LFE159:
  7586. 4202 .section .text.HAL_CAN_SleepCallback,"ax",%progbits
  7587. 4203 .align 1
  7588. 4204 .weak HAL_CAN_SleepCallback
  7589. 4205 .syntax unified
  7590. 4206 .thumb
  7591. 4207 .thumb_func
  7592. 4209 HAL_CAN_SleepCallback:
  7593. 4210 .LFB160:
  7594. 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7595. 2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7596. 2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Sleep callback.
  7597. 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7598. 2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7599. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 132
  7600. 2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7601. 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7602. 2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_SleepCallback(CAN_HandleTypeDef *hcan)
  7603. 2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7604. 4211 .loc 1 2263 1
  7605. 4212 .cfi_startproc
  7606. 4213 @ args = 0, pretend = 0, frame = 8
  7607. 4214 @ frame_needed = 1, uses_anonymous_args = 0
  7608. 4215 @ link register save eliminated.
  7609. 4216 0000 80B4 push {r7}
  7610. 4217 .LCFI166:
  7611. 4218 .cfi_def_cfa_offset 4
  7612. 4219 .cfi_offset 7, -4
  7613. 4220 0002 83B0 sub sp, sp, #12
  7614. 4221 .LCFI167:
  7615. 4222 .cfi_def_cfa_offset 16
  7616. 4223 0004 00AF add r7, sp, #0
  7617. 4224 .LCFI168:
  7618. 4225 .cfi_def_cfa_register 7
  7619. 4226 0006 7860 str r0, [r7, #4]
  7620. 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7621. 2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7622. 2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7623. 2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7624. 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_SleepCallback could be implemented in the user file
  7625. 2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7626. 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7627. 4227 .loc 1 2270 1
  7628. 4228 0008 00BF nop
  7629. 4229 000a 0C37 adds r7, r7, #12
  7630. 4230 .LCFI169:
  7631. 4231 .cfi_def_cfa_offset 4
  7632. 4232 000c BD46 mov sp, r7
  7633. 4233 .LCFI170:
  7634. 4234 .cfi_def_cfa_register 13
  7635. 4235 @ sp needed
  7636. 4236 000e 5DF8047B ldr r7, [sp], #4
  7637. 4237 .LCFI171:
  7638. 4238 .cfi_restore 7
  7639. 4239 .cfi_def_cfa_offset 0
  7640. 4240 0012 7047 bx lr
  7641. 4241 .cfi_endproc
  7642. 4242 .LFE160:
  7643. 4244 .section .text.HAL_CAN_WakeUpFromRxMsgCallback,"ax",%progbits
  7644. 4245 .align 1
  7645. 4246 .weak HAL_CAN_WakeUpFromRxMsgCallback
  7646. 4247 .syntax unified
  7647. 4248 .thumb
  7648. 4249 .thumb_func
  7649. 4251 HAL_CAN_WakeUpFromRxMsgCallback:
  7650. 4252 .LFB161:
  7651. 2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7652. 2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7653. 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief WakeUp from Rx message callback.
  7654. 2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7655. 2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7656. 2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7657. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 133
  7658. 2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7659. 2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_WakeUpFromRxMsgCallback(CAN_HandleTypeDef *hcan)
  7660. 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7661. 4253 .loc 1 2279 1
  7662. 4254 .cfi_startproc
  7663. 4255 @ args = 0, pretend = 0, frame = 8
  7664. 4256 @ frame_needed = 1, uses_anonymous_args = 0
  7665. 4257 @ link register save eliminated.
  7666. 4258 0000 80B4 push {r7}
  7667. 4259 .LCFI172:
  7668. 4260 .cfi_def_cfa_offset 4
  7669. 4261 .cfi_offset 7, -4
  7670. 4262 0002 83B0 sub sp, sp, #12
  7671. 4263 .LCFI173:
  7672. 4264 .cfi_def_cfa_offset 16
  7673. 4265 0004 00AF add r7, sp, #0
  7674. 4266 .LCFI174:
  7675. 4267 .cfi_def_cfa_register 7
  7676. 4268 0006 7860 str r0, [r7, #4]
  7677. 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7678. 2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7679. 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7680. 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7681. 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_WakeUpFromRxMsgCallback could be implemented in the
  7682. 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
  7683. 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7684. 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7685. 4269 .loc 1 2287 1
  7686. 4270 0008 00BF nop
  7687. 4271 000a 0C37 adds r7, r7, #12
  7688. 4272 .LCFI175:
  7689. 4273 .cfi_def_cfa_offset 4
  7690. 4274 000c BD46 mov sp, r7
  7691. 4275 .LCFI176:
  7692. 4276 .cfi_def_cfa_register 13
  7693. 4277 @ sp needed
  7694. 4278 000e 5DF8047B ldr r7, [sp], #4
  7695. 4279 .LCFI177:
  7696. 4280 .cfi_restore 7
  7697. 4281 .cfi_def_cfa_offset 0
  7698. 4282 0012 7047 bx lr
  7699. 4283 .cfi_endproc
  7700. 4284 .LFE161:
  7701. 4286 .section .text.HAL_CAN_ErrorCallback,"ax",%progbits
  7702. 4287 .align 1
  7703. 4288 .weak HAL_CAN_ErrorCallback
  7704. 4289 .syntax unified
  7705. 4290 .thumb
  7706. 4291 .thumb_func
  7707. 4293 HAL_CAN_ErrorCallback:
  7708. 4294 .LFB162:
  7709. 2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7710. 2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7711. 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Error CAN callback.
  7712. 2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7713. 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7714. 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
  7715. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 134
  7716. 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7717. 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan)
  7718. 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7719. 4295 .loc 1 2296 1
  7720. 4296 .cfi_startproc
  7721. 4297 @ args = 0, pretend = 0, frame = 8
  7722. 4298 @ frame_needed = 1, uses_anonymous_args = 0
  7723. 4299 @ link register save eliminated.
  7724. 4300 0000 80B4 push {r7}
  7725. 4301 .LCFI178:
  7726. 4302 .cfi_def_cfa_offset 4
  7727. 4303 .cfi_offset 7, -4
  7728. 4304 0002 83B0 sub sp, sp, #12
  7729. 4305 .LCFI179:
  7730. 4306 .cfi_def_cfa_offset 16
  7731. 4307 0004 00AF add r7, sp, #0
  7732. 4308 .LCFI180:
  7733. 4309 .cfi_def_cfa_register 7
  7734. 4310 0006 7860 str r0, [r7, #4]
  7735. 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
  7736. 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
  7737. 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7738. 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  7739. 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_ErrorCallback could be implemented in the user file
  7740. 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7741. 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7742. 4311 .loc 1 2303 1
  7743. 4312 0008 00BF nop
  7744. 4313 000a 0C37 adds r7, r7, #12
  7745. 4314 .LCFI181:
  7746. 4315 .cfi_def_cfa_offset 4
  7747. 4316 000c BD46 mov sp, r7
  7748. 4317 .LCFI182:
  7749. 4318 .cfi_def_cfa_register 13
  7750. 4319 @ sp needed
  7751. 4320 000e 5DF8047B ldr r7, [sp], #4
  7752. 4321 .LCFI183:
  7753. 4322 .cfi_restore 7
  7754. 4323 .cfi_def_cfa_offset 0
  7755. 4324 0012 7047 bx lr
  7756. 4325 .cfi_endproc
  7757. 4326 .LFE162:
  7758. 4328 .section .text.HAL_CAN_GetState,"ax",%progbits
  7759. 4329 .align 1
  7760. 4330 .global HAL_CAN_GetState
  7761. 4331 .syntax unified
  7762. 4332 .thumb
  7763. 4333 .thumb_func
  7764. 4335 HAL_CAN_GetState:
  7765. 4336 .LFB163:
  7766. 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7767. 2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7768. 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
  7769. 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7770. 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7771. 2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group6 Peripheral State and Error functions
  7772. 2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN Peripheral State functions
  7773. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 135
  7774. 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
  7775. 2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
  7776. 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  7777. 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Peripheral State and Error functions #####
  7778. 2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
  7779. 2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
  7780. 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This subsection provides functions allowing to :
  7781. 2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetState() : Return the CAN state.
  7782. 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetError() : Return the CAN error codes if any.
  7783. 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ResetError(): Reset the CAN error codes if any.
  7784. 2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7785. 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
  7786. 2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
  7787. 2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7788. 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7789. 2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7790. 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return the CAN state.
  7791. 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7792. 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7793. 2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL state
  7794. 2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7795. 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef HAL_CAN_GetState(const CAN_HandleTypeDef *hcan)
  7796. 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7797. 4337 .loc 1 2333 1
  7798. 4338 .cfi_startproc
  7799. 4339 @ args = 0, pretend = 0, frame = 16
  7800. 4340 @ frame_needed = 1, uses_anonymous_args = 0
  7801. 4341 @ link register save eliminated.
  7802. 4342 0000 80B4 push {r7}
  7803. 4343 .LCFI184:
  7804. 4344 .cfi_def_cfa_offset 4
  7805. 4345 .cfi_offset 7, -4
  7806. 4346 0002 85B0 sub sp, sp, #20
  7807. 4347 .LCFI185:
  7808. 4348 .cfi_def_cfa_offset 24
  7809. 4349 0004 00AF add r7, sp, #0
  7810. 4350 .LCFI186:
  7811. 4351 .cfi_def_cfa_register 7
  7812. 4352 0006 7860 str r0, [r7, #4]
  7813. 2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  7814. 4353 .loc 1 2334 24
  7815. 4354 0008 7B68 ldr r3, [r7, #4]
  7816. 4355 000a 93F82030 ldrb r3, [r3, #32]
  7817. 4356 000e FB73 strb r3, [r7, #15]
  7818. 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7819. 2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  7820. 4357 .loc 1 2336 6
  7821. 4358 0010 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  7822. 4359 0012 012B cmp r3, #1
  7823. 4360 0014 02D0 beq .L229
  7824. 4361 .loc 1 2336 38 discriminator 1
  7825. 4362 0016 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  7826. 4363 0018 022B cmp r3, #2
  7827. 4364 001a 12D1 bne .L230
  7828. 4365 .L229:
  7829. 2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  7830. 2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7831. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 136
  7832. 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check sleep mode acknowledge flag */
  7833. 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
  7834. 4366 .loc 1 2340 14
  7835. 4367 001c 7B68 ldr r3, [r7, #4]
  7836. 4368 001e 1B68 ldr r3, [r3]
  7837. 4369 .loc 1 2340 24
  7838. 4370 0020 5B68 ldr r3, [r3, #4]
  7839. 4371 .loc 1 2340 30
  7840. 4372 0022 03F00203 and r3, r3, #2
  7841. 4373 .loc 1 2340 8
  7842. 4374 0026 002B cmp r3, #0
  7843. 4375 0028 02D0 beq .L231
  7844. 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7845. 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep mode is active */
  7846. 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** state = HAL_CAN_STATE_SLEEP_ACTIVE;
  7847. 4376 .loc 1 2343 13
  7848. 4377 002a 0423 movs r3, #4
  7849. 4378 002c FB73 strb r3, [r7, #15]
  7850. 4379 002e 08E0 b .L230
  7851. 4380 .L231:
  7852. 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7853. 2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check sleep mode request flag */
  7854. 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((hcan->Instance->MCR & CAN_MCR_SLEEP) != 0U)
  7855. 4381 .loc 1 2346 19
  7856. 4382 0030 7B68 ldr r3, [r7, #4]
  7857. 4383 0032 1B68 ldr r3, [r3]
  7858. 4384 .loc 1 2346 29
  7859. 4385 0034 1B68 ldr r3, [r3]
  7860. 4386 .loc 1 2346 35
  7861. 4387 0036 03F00203 and r3, r3, #2
  7862. 4388 .loc 1 2346 13
  7863. 4389 003a 002B cmp r3, #0
  7864. 4390 003c 01D0 beq .L230
  7865. 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7866. 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep mode request is pending */
  7867. 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** state = HAL_CAN_STATE_SLEEP_PENDING;
  7868. 4391 .loc 1 2349 13
  7869. 4392 003e 0323 movs r3, #3
  7870. 4393 0040 FB73 strb r3, [r7, #15]
  7871. 4394 .L230:
  7872. 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7873. 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  7874. 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7875. 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Neither sleep mode request nor sleep mode acknowledge */
  7876. 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7877. 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7878. 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7879. 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return CAN state */
  7880. 2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return state;
  7881. 4395 .loc 1 2358 10
  7882. 4396 0042 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  7883. 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7884. 4397 .loc 1 2359 1
  7885. 4398 0044 1846 mov r0, r3
  7886. 4399 0046 1437 adds r7, r7, #20
  7887. 4400 .LCFI187:
  7888. 4401 .cfi_def_cfa_offset 4
  7889. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 137
  7890. 4402 0048 BD46 mov sp, r7
  7891. 4403 .LCFI188:
  7892. 4404 .cfi_def_cfa_register 13
  7893. 4405 @ sp needed
  7894. 4406 004a 5DF8047B ldr r7, [sp], #4
  7895. 4407 .LCFI189:
  7896. 4408 .cfi_restore 7
  7897. 4409 .cfi_def_cfa_offset 0
  7898. 4410 004e 7047 bx lr
  7899. 4411 .cfi_endproc
  7900. 4412 .LFE163:
  7901. 4414 .section .text.HAL_CAN_GetError,"ax",%progbits
  7902. 4415 .align 1
  7903. 4416 .global HAL_CAN_GetError
  7904. 4417 .syntax unified
  7905. 4418 .thumb
  7906. 4419 .thumb_func
  7907. 4421 HAL_CAN_GetError:
  7908. 4422 .LFB164:
  7909. 2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7910. 2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7911. 2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return the CAN error code.
  7912. 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7913. 2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7914. 2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval CAN Error Code
  7915. 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7916. 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetError(const CAN_HandleTypeDef *hcan)
  7917. 2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7918. 4423 .loc 1 2368 1
  7919. 4424 .cfi_startproc
  7920. 4425 @ args = 0, pretend = 0, frame = 8
  7921. 4426 @ frame_needed = 1, uses_anonymous_args = 0
  7922. 4427 @ link register save eliminated.
  7923. 4428 0000 80B4 push {r7}
  7924. 4429 .LCFI190:
  7925. 4430 .cfi_def_cfa_offset 4
  7926. 4431 .cfi_offset 7, -4
  7927. 4432 0002 83B0 sub sp, sp, #12
  7928. 4433 .LCFI191:
  7929. 4434 .cfi_def_cfa_offset 16
  7930. 4435 0004 00AF add r7, sp, #0
  7931. 4436 .LCFI192:
  7932. 4437 .cfi_def_cfa_register 7
  7933. 4438 0006 7860 str r0, [r7, #4]
  7934. 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return CAN error code */
  7935. 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return hcan->ErrorCode;
  7936. 4439 .loc 1 2370 14
  7937. 4440 0008 7B68 ldr r3, [r7, #4]
  7938. 4441 000a 5B6A ldr r3, [r3, #36]
  7939. 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  7940. 4442 .loc 1 2371 1
  7941. 4443 000c 1846 mov r0, r3
  7942. 4444 000e 0C37 adds r7, r7, #12
  7943. 4445 .LCFI193:
  7944. 4446 .cfi_def_cfa_offset 4
  7945. 4447 0010 BD46 mov sp, r7
  7946. 4448 .LCFI194:
  7947. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 138
  7948. 4449 .cfi_def_cfa_register 13
  7949. 4450 @ sp needed
  7950. 4451 0012 5DF8047B ldr r7, [sp], #4
  7951. 4452 .LCFI195:
  7952. 4453 .cfi_restore 7
  7953. 4454 .cfi_def_cfa_offset 0
  7954. 4455 0016 7047 bx lr
  7955. 4456 .cfi_endproc
  7956. 4457 .LFE164:
  7957. 4459 .section .text.HAL_CAN_ResetError,"ax",%progbits
  7958. 4460 .align 1
  7959. 4461 .global HAL_CAN_ResetError
  7960. 4462 .syntax unified
  7961. 4463 .thumb
  7962. 4464 .thumb_func
  7963. 4466 HAL_CAN_ResetError:
  7964. 4467 .LFB165:
  7965. 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  7966. 2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
  7967. 2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Reset the CAN error code.
  7968. 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
  7969. 2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
  7970. 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
  7971. 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
  7972. 2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ResetError(CAN_HandleTypeDef *hcan)
  7973. 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  7974. 4468 .loc 1 2380 1
  7975. 4469 .cfi_startproc
  7976. 4470 @ args = 0, pretend = 0, frame = 16
  7977. 4471 @ frame_needed = 1, uses_anonymous_args = 0
  7978. 4472 @ link register save eliminated.
  7979. 4473 0000 80B4 push {r7}
  7980. 4474 .LCFI196:
  7981. 4475 .cfi_def_cfa_offset 4
  7982. 4476 .cfi_offset 7, -4
  7983. 4477 0002 85B0 sub sp, sp, #20
  7984. 4478 .LCFI197:
  7985. 4479 .cfi_def_cfa_offset 24
  7986. 4480 0004 00AF add r7, sp, #0
  7987. 4481 .LCFI198:
  7988. 4482 .cfi_def_cfa_register 7
  7989. 4483 0006 7860 str r0, [r7, #4]
  7990. 2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
  7991. 4484 .loc 1 2381 21
  7992. 4485 0008 0023 movs r3, #0
  7993. 4486 000a FB73 strb r3, [r7, #15]
  7994. 2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
  7995. 4487 .loc 1 2382 24
  7996. 4488 000c 7B68 ldr r3, [r7, #4]
  7997. 4489 000e 93F82030 ldrb r3, [r3, #32]
  7998. 4490 0012 BB73 strb r3, [r7, #14]
  7999. 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  8000. 2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
  8001. 4491 .loc 1 2384 6
  8002. 4492 0014 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
  8003. 4493 0016 012B cmp r3, #1
  8004. 4494 0018 02D0 beq .L236
  8005. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 139
  8006. 4495 .loc 1 2384 38 discriminator 1
  8007. 4496 001a BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
  8008. 4497 001c 022B cmp r3, #2
  8009. 4498 001e 03D1 bne .L237
  8010. 4499 .L236:
  8011. 2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
  8012. 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  8013. 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset CAN error code */
  8014. 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = 0U;
  8015. 4500 .loc 1 2388 21
  8016. 4501 0020 7B68 ldr r3, [r7, #4]
  8017. 4502 0022 0022 movs r2, #0
  8018. 4503 0024 5A62 str r2, [r3, #36]
  8019. 4504 0026 07E0 b .L238
  8020. 4505 .L237:
  8021. 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  8022. 2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
  8023. 2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  8024. 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
  8025. 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
  8026. 4506 .loc 1 2393 21
  8027. 4507 0028 7B68 ldr r3, [r7, #4]
  8028. 4508 002a 5B6A ldr r3, [r3, #36]
  8029. 4509 002c 43F48022 orr r2, r3, #262144
  8030. 4510 0030 7B68 ldr r3, [r7, #4]
  8031. 4511 0032 5A62 str r2, [r3, #36]
  8032. 2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  8033. 2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
  8034. 4512 .loc 1 2395 12
  8035. 4513 0034 0123 movs r3, #1
  8036. 4514 0036 FB73 strb r3, [r7, #15]
  8037. 4515 .L238:
  8038. 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  8039. 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
  8040. 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return the status */
  8041. 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
  8042. 4516 .loc 1 2399 10
  8043. 4517 0038 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  8044. 2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  8045. 4518 .loc 1 2400 1
  8046. 4519 003a 1846 mov r0, r3
  8047. 4520 003c 1437 adds r7, r7, #20
  8048. 4521 .LCFI199:
  8049. 4522 .cfi_def_cfa_offset 4
  8050. 4523 003e BD46 mov sp, r7
  8051. 4524 .LCFI200:
  8052. 4525 .cfi_def_cfa_register 13
  8053. 4526 @ sp needed
  8054. 4527 0040 5DF8047B ldr r7, [sp], #4
  8055. 4528 .LCFI201:
  8056. 4529 .cfi_restore 7
  8057. 4530 .cfi_def_cfa_offset 0
  8058. 4531 0044 7047 bx lr
  8059. 4532 .cfi_endproc
  8060. 4533 .LFE165:
  8061. 4535 .text
  8062. 4536 .Letext0:
  8063. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 140
  8064. 4537 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  8065. 4538 .file 4 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  8066. 4539 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  8067. 4540 .file 6 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
  8068. 4541 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
  8069. 4542 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_can.h"
  8070. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 141
  8071. DEFINED SYMBOLS
  8072. *ABS*:00000000 stm32f3xx_hal_can.c
  8073. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:20 .rodata:00000000 $d
  8074. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:25 .text.HAL_CAN_Init:00000000 $t
  8075. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:31 .text.HAL_CAN_Init:00000000 HAL_CAN_Init
  8076. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:754 .text.HAL_CAN_MspInit:00000000 HAL_CAN_MspInit
  8077. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:369 .text.HAL_CAN_Init:00000254 $d
  8078. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:374 .text.HAL_CAN_Init:0000025c $t
  8079. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:661 .text.HAL_CAN_DeInit:00000000 $t
  8080. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:667 .text.HAL_CAN_DeInit:00000000 HAL_CAN_DeInit
  8081. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1334 .text.HAL_CAN_Stop:00000000 HAL_CAN_Stop
  8082. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:796 .text.HAL_CAN_MspDeInit:00000000 HAL_CAN_MspDeInit
  8083. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:742 .text.HAL_CAN_DeInit:0000005c $d
  8084. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:748 .text.HAL_CAN_MspInit:00000000 $t
  8085. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:790 .text.HAL_CAN_MspDeInit:00000000 $t
  8086. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:832 .text.HAL_CAN_ConfigFilter:00000000 $t
  8087. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:838 .text.HAL_CAN_ConfigFilter:00000000 HAL_CAN_ConfigFilter
  8088. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1210 .text.HAL_CAN_ConfigFilter:0000025c $d
  8089. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1215 .text.HAL_CAN_Start:00000000 $t
  8090. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1221 .text.HAL_CAN_Start:00000000 HAL_CAN_Start
  8091. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1328 .text.HAL_CAN_Stop:00000000 $t
  8092. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1445 .text.HAL_CAN_RequestSleep:00000000 $t
  8093. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1451 .text.HAL_CAN_RequestSleep:00000000 HAL_CAN_RequestSleep
  8094. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1521 .text.HAL_CAN_WakeUp:00000000 $t
  8095. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1527 .text.HAL_CAN_WakeUp:00000000 HAL_CAN_WakeUp
  8096. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1630 .text.HAL_CAN_WakeUp:0000007c $d
  8097. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1635 .text.HAL_CAN_IsSleepActive:00000000 $t
  8098. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1641 .text.HAL_CAN_IsSleepActive:00000000 HAL_CAN_IsSleepActive
  8099. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1709 .text.HAL_CAN_AddTxMessage:00000000 $t
  8100. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:1715 .text.HAL_CAN_AddTxMessage:00000000 HAL_CAN_AddTxMessage
  8101. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2064 .text.HAL_CAN_AddTxMessage:00000230 $d
  8102. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2069 .text.HAL_CAN_AbortTxRequest:00000000 $t
  8103. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2075 .text.HAL_CAN_AbortTxRequest:00000000 HAL_CAN_AbortTxRequest
  8104. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2187 .text.HAL_CAN_AbortTxRequest:00000098 $d
  8105. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2192 .text.HAL_CAN_GetTxMailboxesFreeLevel:00000000 $t
  8106. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2198 .text.HAL_CAN_GetTxMailboxesFreeLevel:00000000 HAL_CAN_GetTxMailboxesFreeLevel
  8107. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2297 .text.HAL_CAN_IsTxMessagePending:00000000 $t
  8108. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2303 .text.HAL_CAN_IsTxMessagePending:00000000 HAL_CAN_IsTxMessagePending
  8109. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2382 .text.HAL_CAN_IsTxMessagePending:00000054 $d
  8110. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2387 .text.HAL_CAN_GetTxTimestamp:00000000 $t
  8111. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2393 .text.HAL_CAN_GetTxTimestamp:00000000 HAL_CAN_GetTxTimestamp
  8112. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2499 .text.HAL_CAN_GetTxTimestamp:00000074 $d
  8113. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2504 .text.HAL_CAN_GetRxMessage:00000000 $t
  8114. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2510 .text.HAL_CAN_GetRxMessage:00000000 HAL_CAN_GetRxMessage
  8115. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2924 .text.HAL_CAN_GetRxMessage:00000258 $d
  8116. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2929 .text.HAL_CAN_GetRxFifoFillLevel:00000000 $t
  8117. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:2935 .text.HAL_CAN_GetRxFifoFillLevel:00000000 HAL_CAN_GetRxFifoFillLevel
  8118. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3021 .text.HAL_CAN_GetRxFifoFillLevel:00000064 $d
  8119. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3026 .text.HAL_CAN_ActivateNotification:00000000 $t
  8120. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3032 .text.HAL_CAN_ActivateNotification:00000000 HAL_CAN_ActivateNotification
  8121. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3109 .text.HAL_CAN_ActivateNotification:0000005c $d
  8122. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3115 .text.HAL_CAN_DeactivateNotification:00000000 $t
  8123. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3121 .text.HAL_CAN_DeactivateNotification:00000000 HAL_CAN_DeactivateNotification
  8124. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3199 .text.HAL_CAN_DeactivateNotification:0000005c $d
  8125. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3205 .text.HAL_CAN_IRQHandler:00000000 $t
  8126. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3211 .text.HAL_CAN_IRQHandler:00000000 HAL_CAN_IRQHandler
  8127. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3789 .text.HAL_CAN_TxMailbox0CompleteCallback:00000000 HAL_CAN_TxMailbox0CompleteCallback
  8128. ARM GAS C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s page 142
  8129. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3915 .text.HAL_CAN_TxMailbox0AbortCallback:00000000 HAL_CAN_TxMailbox0AbortCallback
  8130. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3831 .text.HAL_CAN_TxMailbox1CompleteCallback:00000000 HAL_CAN_TxMailbox1CompleteCallback
  8131. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3957 .text.HAL_CAN_TxMailbox1AbortCallback:00000000 HAL_CAN_TxMailbox1AbortCallback
  8132. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3873 .text.HAL_CAN_TxMailbox2CompleteCallback:00000000 HAL_CAN_TxMailbox2CompleteCallback
  8133. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3999 .text.HAL_CAN_TxMailbox2AbortCallback:00000000 HAL_CAN_TxMailbox2AbortCallback
  8134. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4083 .text.HAL_CAN_RxFifo0FullCallback:00000000 HAL_CAN_RxFifo0FullCallback
  8135. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4041 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 HAL_CAN_RxFifo0MsgPendingCallback
  8136. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4167 .text.HAL_CAN_RxFifo1FullCallback:00000000 HAL_CAN_RxFifo1FullCallback
  8137. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4125 .text.HAL_CAN_RxFifo1MsgPendingCallback:00000000 HAL_CAN_RxFifo1MsgPendingCallback
  8138. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4209 .text.HAL_CAN_SleepCallback:00000000 HAL_CAN_SleepCallback
  8139. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4251 .text.HAL_CAN_WakeUpFromRxMsgCallback:00000000 HAL_CAN_WakeUpFromRxMsgCallback
  8140. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4293 .text.HAL_CAN_ErrorCallback:00000000 HAL_CAN_ErrorCallback
  8141. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3783 .text.HAL_CAN_TxMailbox0CompleteCallback:00000000 $t
  8142. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3825 .text.HAL_CAN_TxMailbox1CompleteCallback:00000000 $t
  8143. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3867 .text.HAL_CAN_TxMailbox2CompleteCallback:00000000 $t
  8144. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3909 .text.HAL_CAN_TxMailbox0AbortCallback:00000000 $t
  8145. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3951 .text.HAL_CAN_TxMailbox1AbortCallback:00000000 $t
  8146. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:3993 .text.HAL_CAN_TxMailbox2AbortCallback:00000000 $t
  8147. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4035 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 $t
  8148. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4077 .text.HAL_CAN_RxFifo0FullCallback:00000000 $t
  8149. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4119 .text.HAL_CAN_RxFifo1MsgPendingCallback:00000000 $t
  8150. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4161 .text.HAL_CAN_RxFifo1FullCallback:00000000 $t
  8151. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4203 .text.HAL_CAN_SleepCallback:00000000 $t
  8152. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4245 .text.HAL_CAN_WakeUpFromRxMsgCallback:00000000 $t
  8153. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4287 .text.HAL_CAN_ErrorCallback:00000000 $t
  8154. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4329 .text.HAL_CAN_GetState:00000000 $t
  8155. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4335 .text.HAL_CAN_GetState:00000000 HAL_CAN_GetState
  8156. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4415 .text.HAL_CAN_GetError:00000000 $t
  8157. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4421 .text.HAL_CAN_GetError:00000000 HAL_CAN_GetError
  8158. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4460 .text.HAL_CAN_ResetError:00000000 $t
  8159. C:\Users\zl835\AppData\Local\Temp\cc4Qs4t1.s:4466 .text.HAL_CAN_ResetError:00000000 HAL_CAN_ResetError
  8160. UNDEFINED SYMBOLS
  8161. assert_failed
  8162. HAL_GetTick